diff --git a/doc/languages-frameworks/perl.xml b/doc/languages-frameworks/perl.xml index dfb463b99912..149fcb275a09 100644 --- a/doc/languages-frameworks/perl.xml +++ b/doc/languages-frameworks/perl.xml @@ -177,5 +177,19 @@ you need it. +
Cross-compiling modules + +Nixpkgs has experimental support for cross-compiling Perl +modules. In many cases, it will just work out of the box, even for +modules with native extensions. Sometimes, however, the Makefile.PL +for a module may (indirectly) import a native module. In that case, +you will need to make a stub for that module that will satisfy the +Makefile.PL and install it into +lib/perl5/site_perl/cross_perl/${perl.version}. +See the postInstall for DBI for +an example. + +
+ diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix index 6098b057a370..3b01f4fed35a 100644 --- a/nixos/doc/manual/default.nix +++ b/nixos/doc/manual/default.nix @@ -87,7 +87,7 @@ let echo "for hints about the offending path)." exit 1 fi - ${libxslt.bin}/bin/xsltproc \ + ${buildPackages.libxslt.bin}/bin/xsltproc \ --stringparam revision '${revision}' \ -o $out ${./options-to-docbook.xsl} $optionsXML ''; @@ -139,7 +139,7 @@ let manual-combined = runCommand "nixos-manual-combined" { inherit sources; - buildInputs = [ libxml2 libxslt ]; + nativeBuildInputs = [ buildPackages.libxml2 buildPackages.libxslt ]; meta.description = "The NixOS manual as plain docbook XML"; } '' @@ -194,7 +194,7 @@ let olinkDB = runCommand "manual-olinkdb" { inherit sources; - buildInputs = [ libxml2 libxslt ]; + nativeBuildInputs = [ buildPackages.libxml2 buildPackages.libxslt ]; } '' xsltproc \ @@ -244,7 +244,7 @@ in rec { # Generate the NixOS manual. manual = runCommand "nixos-manual" { inherit sources; - buildInputs = [ libxml2 libxslt ]; + nativeBuildInputs = [ buildPackages.libxml2 buildPackages.libxslt ]; meta.description = "The NixOS manual in HTML format"; allowedReferences = ["out"]; } @@ -302,7 +302,7 @@ in rec { # Generate the NixOS manpages. manpages = runCommand "nixos-manpages" { inherit sources; - buildInputs = [ libxml2 libxslt ]; + nativeBuildInputs = [ buildPackages.libxml2 buildPackages.libxslt ]; allowedReferences = ["out"]; } '' diff --git a/nixos/modules/config/i18n.nix b/nixos/modules/config/i18n.nix index 46b22fc12854..6bf8c653e113 100644 --- a/nixos/modules/config/i18n.nix +++ b/nixos/modules/config/i18n.nix @@ -10,7 +10,7 @@ with lib; i18n = { glibcLocales = mkOption { type = types.path; - default = pkgs.glibcLocales.override { + default = pkgs.buildPackages.glibcLocales.override { allLocales = any (x: x == "all") config.i18n.supportedLocales; locales = config.i18n.supportedLocales; }; diff --git a/nixos/modules/config/no-x-libs.nix b/nixos/modules/config/no-x-libs.nix index d8980944adc0..b9d5b2b903e7 100644 --- a/nixos/modules/config/no-x-libs.nix +++ b/nixos/modules/config/no-x-libs.nix @@ -36,6 +36,7 @@ with lib; networkmanager-vpnc = pkgs.networkmanager-vpnc.override { withGnome = false; }; networkmanager-iodine = pkgs.networkmanager-iodine.override { withGnome = false; }; pinentry = pkgs.pinentry_ncurses; + gobjectIntrospection = pkgs.gobjectIntrospection.override { x11Support = false; }; }; }; } diff --git a/nixos/modules/config/zram.nix b/nixos/modules/config/zram.nix index ad41ad4f3d7c..ae1b0a6c8e11 100644 --- a/nixos/modules/config/zram.nix +++ b/nixos/modules/config/zram.nix @@ -93,7 +93,7 @@ in serviceConfig = { Type = "oneshot"; RemainAfterExit = true; - ExecStop = "${pkgs.stdenv.shell} -c 'echo 1 > /sys/class/block/${dev}/reset'"; + ExecStop = "${pkgs.runtimeShell} -c 'echo 1 > /sys/class/block/${dev}/reset'"; }; script = '' set -u diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix index 50c085dd7ee2..eafc9869315a 100644 --- a/nixos/modules/hardware/video/nvidia.nix +++ b/nixos/modules/hardware/video/nvidia.nix @@ -75,10 +75,10 @@ in # Create /dev/nvidia-uvm when the nvidia-uvm module is loaded. services.udev.extraRules = '' - KERNEL=="nvidia", RUN+="${pkgs.stdenv.shell} -c 'mknod -m 666 /dev/nvidiactl c $(grep nvidia-frontend /proc/devices | cut -d \ -f 1) 255'" - KERNEL=="nvidia_modeset", RUN+="${pkgs.stdenv.shell} -c 'mknod -m 666 /dev/nvidia-modeset c $(grep nvidia-frontend /proc/devices | cut -d \ -f 1) 254'" - KERNEL=="card*", SUBSYSTEM=="drm", DRIVERS=="nvidia", RUN+="${pkgs.stdenv.shell} -c 'mknod -m 666 /dev/nvidia%n c $(grep nvidia-frontend /proc/devices | cut -d \ -f 1) %n'" - KERNEL=="nvidia_uvm", RUN+="${pkgs.stdenv.shell} -c 'mknod -m 666 /dev/nvidia-uvm c $(grep nvidia-uvm /proc/devices | cut -d \ -f 1) 0'" + KERNEL=="nvidia", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidiactl c $(grep nvidia-frontend /proc/devices | cut -d \ -f 1) 255'" + KERNEL=="nvidia_modeset", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia-modeset c $(grep nvidia-frontend /proc/devices | cut -d \ -f 1) 254'" + KERNEL=="card*", SUBSYSTEM=="drm", DRIVERS=="nvidia", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia%n c $(grep nvidia-frontend /proc/devices | cut -d \ -f 1) %n'" + KERNEL=="nvidia_uvm", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia-uvm c $(grep nvidia-uvm /proc/devices | cut -d \ -f 1) 0'" ''; boot.blacklistedKernelModules = [ "nouveau" "nvidiafb" ]; diff --git a/nixos/modules/misc/nixpkgs.nix b/nixos/modules/misc/nixpkgs.nix index 11bd148d5dee..9217250eec29 100644 --- a/nixos/modules/misc/nixpkgs.nix +++ b/nixos/modules/misc/nixpkgs.nix @@ -61,7 +61,7 @@ in inherit (config.nixpkgs) config overlays system; } ''; - default = import ../../.. { inherit (cfg) config overlays system; }; + default = import ../../.. { inherit (cfg) config overlays system crossSystem; }; type = pkgsType; example = literalExample ''import {}''; description = '' @@ -130,6 +130,18 @@ in ''; }; + crossSystem = mkOption { + type = types.nullOr types.attrs; + default = null; + description = '' + The description of the system we're cross-compiling to, or null + if this isn't a cross-compile. See the description of the + crossSystem argument in the nixpkgs manual. + + Ignored when nixpkgs.pkgs is set. + ''; + }; + system = mkOption { type = types.str; example = "i686-linux"; diff --git a/nixos/modules/programs/rootston.nix b/nixos/modules/programs/rootston.nix index 1946b1db657b..842d9e6cfb48 100644 --- a/nixos/modules/programs/rootston.nix +++ b/nixos/modules/programs/rootston.nix @@ -6,7 +6,7 @@ let cfg = config.programs.rootston; rootstonWrapped = pkgs.writeScriptBin "rootston" '' - #! ${pkgs.stdenv.shell} + #! ${pkgs.runtimeShell} if [[ "$#" -ge 1 ]]; then exec ${pkgs.rootston}/bin/rootston "$@" else diff --git a/nixos/modules/programs/ssh.nix b/nixos/modules/programs/ssh.nix index 0935bf0cae71..36289080a82a 100644 --- a/nixos/modules/programs/ssh.nix +++ b/nixos/modules/programs/ssh.nix @@ -13,7 +13,7 @@ let askPasswordWrapper = pkgs.writeScript "ssh-askpass-wrapper" '' - #! ${pkgs.stdenv.shell} -e + #! ${pkgs.runtimeShell} -e export DISPLAY="$(systemctl --user show-environment | ${pkgs.gnused}/bin/sed 's/^DISPLAY=\(.*\)/\1/; t; d')" exec ${askPassword} ''; diff --git a/nixos/modules/security/audit.nix b/nixos/modules/security/audit.nix index 7ac21fd96507..2b22bdd9f0ae 100644 --- a/nixos/modules/security/audit.nix +++ b/nixos/modules/security/audit.nix @@ -13,7 +13,7 @@ let }; disableScript = pkgs.writeScript "audit-disable" '' - #!${pkgs.stdenv.shell} -eu + #!${pkgs.runtimeShell} -eu # Explicitly disable everything, as otherwise journald might start it. auditctl -D auditctl -e 0 -a task,never @@ -23,7 +23,7 @@ let # put in the store like this. At the same time, it doesn't feel like a huge deal and working # around that is a pain so I'm leaving it like this for now. startScript = pkgs.writeScript "audit-start" '' - #!${pkgs.stdenv.shell} -eu + #!${pkgs.runtimeShell} -eu # Clear out any rules we may start with auditctl -D @@ -43,7 +43,7 @@ let ''; stopScript = pkgs.writeScript "audit-stop" '' - #!${pkgs.stdenv.shell} -eu + #!${pkgs.runtimeShell} -eu # Clear the rules auditctl -D diff --git a/nixos/modules/security/sudo.nix b/nixos/modules/security/sudo.nix index a57f14bb5ae1..e0ec77a29594 100644 --- a/nixos/modules/security/sudo.nix +++ b/nixos/modules/security/sudo.nix @@ -215,7 +215,7 @@ in { src = pkgs.writeText "sudoers-in" cfg.configFile; } # Make sure that the sudoers file is syntactically valid. # (currently disabled - NIXOS-66) - "${pkgs.sudo}/sbin/visudo -f $src -c && cp $src $out"; + "${pkgs.buildPackages.sudo}/sbin/visudo -f $src -c && cp $src $out"; target = "sudoers"; mode = "0440"; }; diff --git a/nixos/modules/services/continuous-integration/buildkite-agent.nix b/nixos/modules/services/continuous-integration/buildkite-agent.nix index 0a0c9f665d25..03af9a7859ec 100644 --- a/nixos/modules/services/continuous-integration/buildkite-agent.nix +++ b/nixos/modules/services/continuous-integration/buildkite-agent.nix @@ -18,7 +18,7 @@ let hooksDir = let mkHookEntry = name: value: '' cat > $out/${name} <= 2.0 # provides a /bin/sh by default. - sh = pkgs.stdenv.shell; + sh = pkgs.runtimeShell; binshDeps = pkgs.writeReferencesToFile sh; in pkgs.runCommand "nix.conf" { extraOptions = cfg.extraOptions; } '' diff --git a/nixos/modules/services/misc/nixos-manual.nix b/nixos/modules/services/misc/nixos-manual.nix index 5d0f2abd13a9..b8253956d54f 100644 --- a/nixos/modules/services/misc/nixos-manual.nix +++ b/nixos/modules/services/misc/nixos-manual.nix @@ -43,7 +43,7 @@ let helpScript = pkgs.writeScriptBin "nixos-help" '' - #! ${pkgs.stdenv.shell} -e + #! ${pkgs.runtimeShell} -e browser="$BROWSER" if [ -z "$browser" ]; then browser="$(type -P xdg-open || true)" diff --git a/nixos/modules/services/misc/ssm-agent.nix b/nixos/modules/services/misc/ssm-agent.nix index a57fbca86fb6..e951a4c7ffa8 100644 --- a/nixos/modules/services/misc/ssm-agent.nix +++ b/nixos/modules/services/misc/ssm-agent.nix @@ -8,7 +8,7 @@ let # in nixpkgs doesn't seem to work properly on NixOS, so let's just fake the two fields SSM # looks for. See https://github.com/aws/amazon-ssm-agent/issues/38 for upstream fix. fake-lsb-release = pkgs.writeScriptBin "lsb_release" '' - #!${pkgs.stdenv.shell} + #!${pkgs.runtimeShell} case "$1" in -i) echo "nixos";; diff --git a/nixos/modules/services/monitoring/apcupsd.nix b/nixos/modules/services/monitoring/apcupsd.nix index 9abd6e9ab641..839116de6265 100644 --- a/nixos/modules/services/monitoring/apcupsd.nix +++ b/nixos/modules/services/monitoring/apcupsd.nix @@ -38,7 +38,7 @@ let ]; shellCmdsForEventScript = eventname: commands: '' - echo "#!${pkgs.stdenv.shell}" > "$out/${eventname}" + echo "#!${pkgs.runtimeShell}" > "$out/${eventname}" echo '${commands}' >> "$out/${eventname}" chmod a+x "$out/${eventname}" ''; diff --git a/nixos/modules/services/monitoring/smartd.nix b/nixos/modules/services/monitoring/smartd.nix index b8d9e58a5a82..fecae4ca1b36 100644 --- a/nixos/modules/services/monitoring/smartd.nix +++ b/nixos/modules/services/monitoring/smartd.nix @@ -14,7 +14,7 @@ let nx = cfg.notifications.x11; smartdNotify = pkgs.writeScript "smartd-notify.sh" '' - #! ${pkgs.stdenv.shell} + #! ${pkgs.runtimeShell} ${optionalString nm.enable '' { ${pkgs.coreutils}/bin/cat << EOF diff --git a/nixos/modules/services/network-filesystems/xtreemfs.nix b/nixos/modules/services/network-filesystems/xtreemfs.nix index 0c6714563d8a..95d7641e8b53 100644 --- a/nixos/modules/services/network-filesystems/xtreemfs.nix +++ b/nixos/modules/services/network-filesystems/xtreemfs.nix @@ -11,7 +11,7 @@ let home = cfg.homeDir; startupScript = class: configPath: pkgs.writeScript "xtreemfs-osd.sh" '' - #! ${pkgs.stdenv.shell} + #! ${pkgs.runtimeShell} JAVA_HOME="${pkgs.jdk}" JAVADIR="${xtreemfs}/share/java" JAVA_CALL="$JAVA_HOME/bin/java -ea -cp $JAVADIR/XtreemFS.jar:$JAVADIR/BabuDB.jar:$JAVADIR/Flease.jar:$JAVADIR/protobuf-java-2.5.0.jar:$JAVADIR/Foundation.jar:$JAVADIR/jdmkrt.jar:$JAVADIR/jdmktk.jar:$JAVADIR/commons-codec-1.3.jar" diff --git a/nixos/modules/services/network-filesystems/yandex-disk.nix b/nixos/modules/services/network-filesystems/yandex-disk.nix index 4de206641331..44b0edf62018 100644 --- a/nixos/modules/services/network-filesystems/yandex-disk.nix +++ b/nixos/modules/services/network-filesystems/yandex-disk.nix @@ -99,10 +99,10 @@ in exit 1 fi - ${pkgs.su}/bin/su -s ${pkgs.stdenv.shell} ${u} \ + ${pkgs.su}/bin/su -s ${pkgs.runtimeShell} ${u} \ -c '${pkgs.yandex-disk}/bin/yandex-disk token -p ${cfg.password} ${cfg.username} ${dir}/token' - ${pkgs.su}/bin/su -s ${pkgs.stdenv.shell} ${u} \ + ${pkgs.su}/bin/su -s ${pkgs.runtimeShell} ${u} \ -c '${pkgs.yandex-disk}/bin/yandex-disk start --no-daemon -a ${dir}/token -d ${cfg.directory} --exclude-dirs=${cfg.excludes}' ''; diff --git a/nixos/modules/services/networking/amuled.nix b/nixos/modules/services/networking/amuled.nix index fc7d56a24fa7..9898f164c5cf 100644 --- a/nixos/modules/services/networking/amuled.nix +++ b/nixos/modules/services/networking/amuled.nix @@ -68,7 +68,7 @@ in ''; script = '' - ${pkgs.su}/bin/su -s ${pkgs.stdenv.shell} ${user} \ + ${pkgs.su}/bin/su -s ${pkgs.runtimeShell} ${user} \ -c 'HOME="${cfg.dataDir}" ${pkgs.amuleDaemon}/bin/amuled' ''; }; diff --git a/nixos/modules/services/networking/firewall.nix b/nixos/modules/services/networking/firewall.nix index bce48c8f65e5..20c0b0acf165 100644 --- a/nixos/modules/services/networking/firewall.nix +++ b/nixos/modules/services/networking/firewall.nix @@ -54,7 +54,7 @@ let ''; writeShScript = name: text: let dir = pkgs.writeScriptBin name '' - #! ${pkgs.stdenv.shell} -e + #! ${pkgs.runtimeShell} -e ${text} ''; in "${dir}/bin/${name}"; diff --git a/nixos/modules/services/networking/flashpolicyd.nix b/nixos/modules/services/networking/flashpolicyd.nix index 5ba85178179b..5b83ce131389 100644 --- a/nixos/modules/services/networking/flashpolicyd.nix +++ b/nixos/modules/services/networking/flashpolicyd.nix @@ -22,7 +22,7 @@ let flashpolicydWrapper = pkgs.writeScriptBin "flashpolicyd" '' - #! ${pkgs.stdenv.shell} + #! ${pkgs.runtimeShell} exec ${flashpolicyd}/Perl_xinetd/in.flashpolicyd.pl \ --file=${pkgs.writeText "flashpolixy.xml" cfg.policy} \ 2> /dev/null diff --git a/nixos/modules/services/networking/nftables.nix b/nixos/modules/services/networking/nftables.nix index 56b942054140..ad7c013a5449 100644 --- a/nixos/modules/services/networking/nftables.nix +++ b/nixos/modules/services/networking/nftables.nix @@ -116,7 +116,7 @@ in include "${cfg.rulesetFile}" ''; checkScript = pkgs.writeScript "nftables-check" '' - #! ${pkgs.stdenv.shell} -e + #! ${pkgs.runtimeShell} -e if $(${pkgs.kmod}/bin/lsmod | grep -q ip_tables); then echo "Unload ip_tables before using nftables!" 1>&2 exit 1 diff --git a/nixos/modules/services/networking/rdnssd.nix b/nixos/modules/services/networking/rdnssd.nix index 95833d31e99d..a102242eae71 100644 --- a/nixos/modules/services/networking/rdnssd.nix +++ b/nixos/modules/services/networking/rdnssd.nix @@ -6,7 +6,7 @@ with lib; let mergeHook = pkgs.writeScript "rdnssd-merge-hook" '' - #! ${pkgs.stdenv.shell} -e + #! ${pkgs.runtimeShell} -e ${pkgs.openresolv}/bin/resolvconf -u ''; in diff --git a/nixos/modules/services/printing/cupsd.nix b/nixos/modules/services/printing/cupsd.nix index 4c7f58d1d8bc..ecab8cfc7df9 100644 --- a/nixos/modules/services/printing/cupsd.nix +++ b/nixos/modules/services/printing/cupsd.nix @@ -124,7 +124,7 @@ in listenAddresses = mkOption { type = types.listOf types.str; - default = [ "127.0.0.1:631" ]; + default = [ "localhost:631" ]; example = [ "*:631" ]; description = '' A list of addresses and ports on which to listen. @@ -321,7 +321,10 @@ in ''} ''; - serviceConfig.PrivateTmp = true; + serviceConfig = { + PrivateTmp = true; + RuntimeDirectory = [ "cups" ]; + }; }; systemd.services.cups-browsed = mkIf avahiEnabled diff --git a/nixos/modules/services/security/torify.nix b/nixos/modules/services/security/torify.nix index a29cb3f33dae..08da726437ea 100644 --- a/nixos/modules/services/security/torify.nix +++ b/nixos/modules/services/security/torify.nix @@ -7,7 +7,7 @@ let torify = pkgs.writeTextFile { name = "tsocks"; text = '' - #!${pkgs.stdenv.shell} + #!${pkgs.runtimeShell} TSOCKS_CONF_FILE=${pkgs.writeText "tsocks.conf" cfg.tsocks.config} LD_PRELOAD="${pkgs.tsocks}/lib/libtsocks.so $LD_PRELOAD" "$@" ''; executable = true; diff --git a/nixos/modules/services/security/torsocks.nix b/nixos/modules/services/security/torsocks.nix index 1b5a05b21e77..c60c745443bc 100644 --- a/nixos/modules/services/security/torsocks.nix +++ b/nixos/modules/services/security/torsocks.nix @@ -23,7 +23,7 @@ let wrapTorsocks = name: server: pkgs.writeTextFile { name = name; text = '' - #!${pkgs.stdenv.shell} + #!${pkgs.runtimeShell} TORSOCKS_CONF_FILE=${pkgs.writeText "torsocks.conf" (configFile server)} ${pkgs.torsocks}/bin/torsocks "$@" ''; executable = true; diff --git a/nixos/modules/services/torrent/transmission.nix b/nixos/modules/services/torrent/transmission.nix index dd6b585b7e23..4911a64c95d0 100644 --- a/nixos/modules/services/torrent/transmission.nix +++ b/nixos/modules/services/torrent/transmission.nix @@ -90,7 +90,7 @@ in # 1) Only the "transmission" user and group have access to torrents. # 2) Optionally update/force specific fields into the configuration file. serviceConfig.ExecStartPre = '' - ${pkgs.stdenv.shell} -c "mkdir -p ${homeDir} ${settingsDir} ${fullSettings.download-dir} ${fullSettings.incomplete-dir} && chmod 770 ${homeDir} ${settingsDir} ${fullSettings.download-dir} ${fullSettings.incomplete-dir} && rm -f ${settingsDir}/settings.json && cp -f ${settingsFile} ${settingsDir}/settings.json" + ${pkgs.runtimeShell} -c "mkdir -p ${homeDir} ${settingsDir} ${fullSettings.download-dir} ${fullSettings.incomplete-dir} && chmod 770 ${homeDir} ${settingsDir} ${fullSettings.download-dir} ${fullSettings.incomplete-dir} && rm -f ${settingsDir}/settings.json && cp -f ${settingsFile} ${settingsDir}/settings.json" ''; serviceConfig.ExecStart = "${pkgs.transmission}/bin/transmission-daemon -f --port ${toString config.services.transmission.port}"; serviceConfig.ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; diff --git a/nixos/modules/services/web-servers/apache-httpd/owncloud.nix b/nixos/modules/services/web-servers/apache-httpd/owncloud.nix index cfddab2f5047..82b8bf3e30db 100644 --- a/nixos/modules/services/web-servers/apache-httpd/owncloud.nix +++ b/nixos/modules/services/web-servers/apache-httpd/owncloud.nix @@ -346,7 +346,7 @@ let postgresql = serverInfo.fullConfig.services.postgresql.package; setupDb = pkgs.writeScript "setup-owncloud-db" '' - #!${pkgs.stdenv.shell} + #!${pkgs.runtimeShell} PATH="${postgresql}/bin" createuser --no-superuser --no-createdb --no-createrole "${config.dbUser}" || true createdb "${config.dbName}" -O "${config.dbUser}" || true diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix index 489bffbee917..7dcc600d2664 100644 --- a/nixos/modules/services/x11/desktop-managers/xfce.nix +++ b/nixos/modules/services/x11/desktop-managers/xfce.nix @@ -128,7 +128,7 @@ in # Set GTK_DATA_PREFIX so that GTK+ can find the Xfce themes. export GTK_DATA_PREFIX=${config.system.path} - ${pkgs.stdenv.shell} ${pkgs.xfce.xinitrc} & + ${pkgs.runtimeShell} ${pkgs.xfce.xinitrc} & waitPID=$! ''; }]; diff --git a/nixos/modules/services/x11/display-managers/slim.nix b/nixos/modules/services/x11/display-managers/slim.nix index 0c4dd1973b53..f645a5c2f078 100644 --- a/nixos/modules/services/x11/display-managers/slim.nix +++ b/nixos/modules/services/x11/display-managers/slim.nix @@ -14,7 +14,7 @@ let default_xserver ${dmcfg.xserverBin} xserver_arguments ${toString dmcfg.xserverArgs} sessiondir ${dmcfg.session.desktops} - login_cmd exec ${pkgs.stdenv.shell} ${dmcfg.session.script} "%session" + login_cmd exec ${pkgs.runtimeShell} ${dmcfg.session.script} "%session" halt_cmd ${config.systemd.package}/sbin/shutdown -h now reboot_cmd ${config.systemd.package}/sbin/shutdown -r now logfile /dev/stderr diff --git a/nixos/modules/system/activation/activation-script.nix b/nixos/modules/system/activation/activation-script.nix index 8c9b35fe524f..c563614caaaf 100644 --- a/nixos/modules/system/activation/activation-script.nix +++ b/nixos/modules/system/activation/activation-script.nix @@ -61,7 +61,7 @@ in apply = set: { script = '' - #! ${pkgs.stdenv.shell} + #! ${pkgs.runtimeShell} systemConfig=@out@ diff --git a/nixos/modules/system/boot/kexec.nix b/nixos/modules/system/boot/kexec.nix index b7821f9509f1..14ebe66e6320 100644 --- a/nixos/modules/system/boot/kexec.nix +++ b/nixos/modules/system/boot/kexec.nix @@ -1,21 +1,22 @@ -{ config, pkgs, ... }: +{ config, pkgs, lib, ... }: { - environment.systemPackages = [ pkgs.kexectools ]; + config = lib.mkIf (pkgs.kexectools != null) { + environment.systemPackages = [ pkgs.kexectools ]; - systemd.services."prepare-kexec" = - { description = "Preparation for kexec"; - wantedBy = [ "kexec.target" ]; - before = [ "systemd-kexec.service" ]; - unitConfig.DefaultDependencies = false; - serviceConfig.Type = "oneshot"; - path = [ pkgs.kexectools ]; - script = - '' - p=$(readlink -f /nix/var/nix/profiles/system) - if ! [ -d $p ]; then exit 1; fi - exec kexec --load $p/kernel --initrd=$p/initrd --append="$(cat $p/kernel-params) init=$p/init" - ''; - }; - -} \ No newline at end of file + systemd.services."prepare-kexec" = + { description = "Preparation for kexec"; + wantedBy = [ "kexec.target" ]; + before = [ "systemd-kexec.service" ]; + unitConfig.DefaultDependencies = false; + serviceConfig.Type = "oneshot"; + path = [ pkgs.kexectools ]; + script = + '' + p=$(readlink -f /nix/var/nix/profiles/system) + if ! [ -d $p ]; then exit 1; fi + exec kexec --load $p/kernel --initrd=$p/initrd --append="$(cat $p/kernel-params) init=$p/init" + ''; + }; + }; +} diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix index 1590708dab18..e2cff1c1bd94 100644 --- a/nixos/modules/system/boot/loader/grub/grub.nix +++ b/nixos/modules/system/boot/loader/grub/grub.nix @@ -40,7 +40,7 @@ let { splashImage = f cfg.splashImage; grub = f grub; grubTarget = f (grub.grubTarget or ""); - shell = "${pkgs.stdenv.shell}"; + shell = "${pkgs.runtimeShell}"; fullName = (builtins.parseDrvName realGrub.name).name; fullVersion = (builtins.parseDrvName realGrub.name).version; grubEfi = f grubEfi; @@ -536,7 +536,7 @@ in btrfsprogs = pkgs.btrfs-progs; }; in pkgs.writeScript "install-grub.sh" ('' - #!${pkgs.stdenv.shell} + #!${pkgs.runtimeShell} set -e export PERL5LIB=${makePerlPath (with pkgs.perlPackages; [ FileSlurp XMLLibXML XMLSAX XMLSAXBase ListCompare ])} ${optionalString cfg.enableCryptodisk "export GRUB_ENABLE_CRYPTODISK=y"} diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix index df450be8c401..55bb6d3449c5 100644 --- a/nixos/modules/system/boot/stage-1.nix +++ b/nixos/modules/system/boot/stage-1.nix @@ -30,6 +30,50 @@ let # mounting `/`, like `/` on a loopback). fileSystems = filter utils.fsNeededForBoot config.system.build.fileSystems; + # A utility for enumerating the shared-library dependencies of a program + findLibs = pkgs.writeShellScriptBin "find-libs" '' + set -euo pipefail + + declare -A seen + declare -a left + + patchelf="${pkgs.buildPackages.patchelf}/bin/patchelf" + + function add_needed { + rpath="$($patchelf --print-rpath $1)" + dir="$(dirname $1)" + for lib in $($patchelf --print-needed $1); do + left+=("$lib" "$rpath" "$dir") + done + } + + add_needed $1 + + while [ ''${#left[@]} -ne 0 ]; do + next=''${left[0]} + rpath=''${left[1]} + ORIGIN=''${left[2]} + left=("''${left[@]:3}") + if [ -z ''${seen[$next]+x} ]; then + seen[$next]=1 + IFS=: read -ra paths <<< $rpath + res= + for path in "''${paths[@]}"; do + path=$(eval "echo $path") + if [ -f "$path/$next" ]; then + res="$path/$next" + echo "$res" + add_needed "$res" + break + fi + done + if [ -z "$res" ]; then + echo "Couldn't satisfy dependency $next" >&2 + exit 1 + fi + fi + done + ''; # Some additional utilities needed in stage 1, like mount, lvm, fsck # etc. We don't want to bring in all of those packages, so we just @@ -37,7 +81,7 @@ let # we just copy what we need from Glibc and use patchelf to make it # work. extraUtils = pkgs.runCommandCC "extra-utils" - { buildInputs = [pkgs.nukeReferences]; + { nativeBuildInputs = [pkgs.buildPackages.nukeReferences]; allowedReferences = [ "out" ]; # prevent accidents like glibc being included in the initrd } '' @@ -103,9 +147,7 @@ let # Copy all of the needed libraries find $out/bin $out/lib -type f | while read BIN; do echo "Copying libs for executable $BIN" - LDD="$(ldd $BIN)" || continue - LIBS="$(echo "$LDD" | awk '{print $3}' | sed '/^$/d')" - for LIB in $LIBS; do + for LIB in $(${findLibs}/bin/find-libs $BIN); do TGT="$out/lib/$(basename $LIB)" if [ ! -f "$TGT" ]; then SRC="$(readlink -e $LIB)" @@ -132,6 +174,7 @@ let fi done + if [ -z "${toString pkgs.stdenv.isCross}" ]; then # Make sure that the patchelf'ed binaries still work. echo "testing patched programs..." $out/bin/ash -c 'echo hello world' | grep "hello world" @@ -144,6 +187,7 @@ let $out/bin/mdadm --version ${config.boot.initrd.extraUtilsCommandsTest} + fi ''; # */ @@ -245,7 +289,7 @@ let { src = "${pkgs.kmod-blacklist-ubuntu}/modprobe.conf"; } '' target=$out - ${pkgs.perl}/bin/perl -0pe 's/## file: iwlwifi.conf(.+?)##/##/s;' $src > $out + ${pkgs.buildPackages.perl}/bin/perl -0pe 's/## file: iwlwifi.conf(.+?)##/##/s;' $src > $out ''; symlink = "/etc/modprobe.d/ubuntu.conf"; } diff --git a/nixos/modules/system/boot/stage-2.nix b/nixos/modules/system/boot/stage-2.nix index 8db6d2d2f734..78afbd8dbc12 100644 --- a/nixos/modules/system/boot/stage-2.nix +++ b/nixos/modules/system/boot/stage-2.nix @@ -10,6 +10,7 @@ let bootStage2 = pkgs.substituteAll { src = ./stage-2-init.sh; shellDebug = "${pkgs.bashInteractive}/bin/bash"; + shell = "${pkgs.bash}/bin/bash"; isExecutable = true; inherit (config.nix) readOnlyStore; inherit (config.networking) useHostResolvConf; diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix index aff46ea861a2..92c9ee0c4691 100644 --- a/nixos/modules/system/boot/systemd.nix +++ b/nixos/modules/system/boot/systemd.nix @@ -241,37 +241,37 @@ let } (mkIf (config.preStart != "") { serviceConfig.ExecStartPre = makeJobScript "${name}-pre-start" '' - #! ${pkgs.stdenv.shell} -e + #! ${pkgs.runtimeShell} -e ${config.preStart} ''; }) (mkIf (config.script != "") { serviceConfig.ExecStart = makeJobScript "${name}-start" '' - #! ${pkgs.stdenv.shell} -e + #! ${pkgs.runtimeShell} -e ${config.script} '' + " " + config.scriptArgs; }) (mkIf (config.postStart != "") { serviceConfig.ExecStartPost = makeJobScript "${name}-post-start" '' - #! ${pkgs.stdenv.shell} -e + #! ${pkgs.runtimeShell} -e ${config.postStart} ''; }) (mkIf (config.reload != "") { serviceConfig.ExecReload = makeJobScript "${name}-reload" '' - #! ${pkgs.stdenv.shell} -e + #! ${pkgs.runtimeShell} -e ${config.reload} ''; }) (mkIf (config.preStop != "") { serviceConfig.ExecStop = makeJobScript "${name}-pre-stop" '' - #! ${pkgs.stdenv.shell} -e + #! ${pkgs.runtimeShell} -e ${config.preStop} ''; }) (mkIf (config.postStop != "") { serviceConfig.ExecStopPost = makeJobScript "${name}-post-stop" '' - #! ${pkgs.stdenv.shell} -e + #! ${pkgs.runtimeShell} -e ${config.postStop} ''; }) diff --git a/nixos/modules/tasks/kbd.nix b/nixos/modules/tasks/kbd.nix index 7fb3cbc5c1bc..fbe42b8e8f04 100644 --- a/nixos/modules/tasks/kbd.nix +++ b/nixos/modules/tasks/kbd.nix @@ -13,7 +13,7 @@ let isUnicode = hasSuffix "UTF-8" (toUpper config.i18n.defaultLocale); optimizedKeymap = pkgs.runCommand "keymap" { - nativeBuildInputs = [ pkgs.kbd ]; + nativeBuildInputs = [ pkgs.buildPackages.kbd ]; LOADKEYS_KEYMAP_PATH = "${kbdEnv}/share/keymaps/**"; } '' loadkeys -b ${optionalString isUnicode "-u"} "${config.i18n.consoleKeyMap}" > $out diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix index 95641c03b14c..4039e4e51632 100644 --- a/nixos/modules/tasks/network-interfaces.nix +++ b/nixos/modules/tasks/network-interfaces.nix @@ -26,7 +26,7 @@ let executable = true; destination = "/bin/bridge-stp"; text = '' - #!${pkgs.stdenv.shell} -e + #!${pkgs.runtimeShell} -e export PATH="${pkgs.mstpd}/bin" BRIDGES=(${concatStringsSep " " (attrNames rstpBridges)}) @@ -64,7 +64,7 @@ let # udev script that configures a physical wlan device and adds virtual interfaces wlanDeviceUdevScript = device: interfaceList: pkgs.writeScript "wlan-${device}-udev-script" '' - #!${pkgs.stdenv.shell} + #!${pkgs.runtimeShell} # Change the wireless phy device to a predictable name. if [ -e "/sys/class/net/${device}/phy80211/name" ]; then @@ -1158,7 +1158,7 @@ in # The script creates the required, new WLAN interfaces interfaces and configures the # existing, default interface. curInterfaceScript = device: current: new: pkgs.writeScript "udev-run-script-wlan-interfaces-${device}.sh" '' - #!${pkgs.stdenv.shell} + #!${pkgs.runtimeShell} # Change the wireless phy device to a predictable name. ${pkgs.iw}/bin/iw phy `${pkgs.coreutils}/bin/cat /sys/class/net/$INTERFACE/phy80211/name` set name ${device} @@ -1177,7 +1177,7 @@ in # Udev script to execute for a new WLAN interface. The script configures the new WLAN interface. newInterfaceScript = device: new: pkgs.writeScript "udev-run-script-wlan-interfaces-${new._iName}.sh" '' - #!${pkgs.stdenv.shell} + #!${pkgs.runtimeShell} # Configure the new interface ${pkgs.iw}/bin/iw dev ${new._iName} set type ${new.type} ${optionalString (new.type == "mesh" && new.meshID!=null) "${pkgs.iw}/bin/iw dev ${device} set meshid ${new.meshID}"} diff --git a/nixos/modules/virtualisation/amazon-init.nix b/nixos/modules/virtualisation/amazon-init.nix index a7362423eb46..8032b2c6d7ca 100644 --- a/nixos/modules/virtualisation/amazon-init.nix +++ b/nixos/modules/virtualisation/amazon-init.nix @@ -2,7 +2,7 @@ let script = '' - #!${pkgs.stdenv.shell} -eu + #!${pkgs.runtimeShell} -eu echo "attempting to fetch configuration from EC2 user data..." diff --git a/nixos/modules/virtualisation/azure-agent.nix b/nixos/modules/virtualisation/azure-agent.nix index 6817eb837a01..201d5f71ba34 100644 --- a/nixos/modules/virtualisation/azure-agent.nix +++ b/nixos/modules/virtualisation/azure-agent.nix @@ -47,7 +47,7 @@ let }; provisionedHook = pkgs.writeScript "provisioned-hook" '' - #!${pkgs.stdenv.shell} + #!${pkgs.runtimeShell} ${config.systemd.package}/bin/systemctl start provisioned.target ''; diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index 4038454b2d2f..e54a5fe7d40c 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -33,7 +33,7 @@ let in pkgs.writeScript "container-init" '' - #! ${pkgs.stdenv.shell} -e + #! ${pkgs.runtimeShell} -e # Initialise the container side of the veth pair. if [ "$PRIVATE_NETWORK" = 1 ]; then @@ -223,7 +223,7 @@ let serviceDirectives = cfg: { ExecReload = pkgs.writeScript "reload-container" '' - #! ${pkgs.stdenv.shell} -e + #! ${pkgs.runtimeShell} -e ${pkgs.nixos-container}/bin/nixos-container run "$INSTANCE" -- \ bash --login -c "''${SYSTEM_PATH:-/nix/var/nix/profiles/system}/bin/switch-to-configuration test" ''; diff --git a/nixos/modules/virtualisation/openvswitch.nix b/nixos/modules/virtualisation/openvswitch.nix index 4218a3840fc1..38b138e06326 100644 --- a/nixos/modules/virtualisation/openvswitch.nix +++ b/nixos/modules/virtualisation/openvswitch.nix @@ -169,7 +169,7 @@ in { mkdir -p ${runDir}/ipsec/{etc/racoon,etc/init.d/,usr/sbin/} ln -fs ${pkgs.ipsecTools}/bin/setkey ${runDir}/ipsec/usr/sbin/setkey ln -fs ${pkgs.writeScript "racoon-restart" '' - #!${pkgs.stdenv.shell} + #!${pkgs.runtimeShell} /var/run/current-system/sw/bin/systemctl $1 racoon ''} ${runDir}/ipsec/etc/init.d/racoon ''; diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix index c5b1cc5375a4..674f230c8104 100644 --- a/nixos/modules/virtualisation/qemu-vm.nix +++ b/nixos/modules/virtualisation/qemu-vm.nix @@ -30,7 +30,7 @@ let # Shell script to start the VM. startVM = '' - #! ${pkgs.stdenv.shell} + #! ${pkgs.runtimeShell} NIX_DISK_IMAGE=$(readlink -f ''${NIX_DISK_IMAGE:-${config.virtualisation.diskImage}}) diff --git a/nixos/tests/printing.nix b/nixos/tests/printing.nix index 2d3ecaf94cfa..989008830613 100644 --- a/nixos/tests/printing.nix +++ b/nixos/tests/printing.nix @@ -39,7 +39,9 @@ import ./make-test.nix ({pkgs, ... }: { $client->waitForUnit("cups.service"); $client->sleep(10); # wait until cups is fully initialized $client->succeed("lpstat -r") =~ /scheduler is running/ or die; - $client->succeed("lpstat -H") =~ "localhost:631" or die; + # Test that UNIX socket is used for connections. + $client->succeed("lpstat -H") =~ "/var/run/cups/cups.sock" or die; + # Test that HTTP server is available too. $client->succeed("curl --fail http://localhost:631/"); $client->succeed("curl --fail http://server:631/"); $server->fail("curl --fail --connect-timeout 2 http://client:631/"); diff --git a/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix b/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix index 486a52ef6672..685f9c159b65 100644 --- a/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix +++ b/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix @@ -28,6 +28,8 @@ stdenv.mkDerivation rec { "--sysconfdir=/etc" ] ++ stdenv.lib.optional useGTK2 "--with-gtk2"; + NIX_CFLAGS_COMPILE = [ "-Wno-error=deprecated-declarations" ]; + installFlags = [ "localstatedir=\${TMPDIR}" "sysconfdir=\${out}/etc" diff --git a/pkgs/applications/misc/pytrainer/default.nix b/pkgs/applications/misc/pytrainer/default.nix index 5b4b043ef667..dcbd14198f76 100644 --- a/pkgs/applications/misc/pytrainer/default.nix +++ b/pkgs/applications/misc/pytrainer/default.nix @@ -1,18 +1,18 @@ -{ stdenv, fetchFromGitHub, perl, python2Packages, sqlite, gpsbabel +{ stdenv, fetchFromGitHub, perl, python, sqlite, gpsbabel , withWebKit ? false }: let # Pytrainer needs a matplotlib with GTK backend. Also ensure we are # using the pygtk with glade support as needed by pytrainer. - matplotlibGtk = python2Packages.matplotlib.override { + matplotlibGtk = python.pkgs.matplotlib.override { enableGtk2 = true; - pygtk = python2Packages.pyGtkGlade; + pygtk = python.pkgs.pyGtkGlade; }; in -python2Packages.buildPythonApplication rec { +python.pkgs.buildPythonApplication rec { name = "pytrainer-${version}"; version = "1.12.0"; @@ -40,7 +40,7 @@ python2Packages.buildPythonApplication rec { --replace "'mysqlclient'," "" ''; - propagatedBuildInputs = with python2Packages; [ + propagatedBuildInputs = with python.pkgs; [ dateutil lxml matplotlibGtk pyGtkGlade sqlalchemy sqlalchemy_migrate psycopg2 ] ++ stdenv.lib.optional withWebKit [ pywebkitgtk ]; @@ -50,6 +50,10 @@ python2Packages.buildPythonApplication rec { dontPatchELF = true; dontStrip = true; + checkPhase = '' + ${python.interpreter} -m unittest discover + ''; + meta = with stdenv.lib; { homepage = https://github.com/pytrainer/pytrainer/wiki; description = "Application for logging and graphing sporting excursions"; diff --git a/pkgs/applications/science/spyder/default.nix b/pkgs/applications/science/spyder/default.nix index 04a5def81e69..ed6e6334a5d7 100644 --- a/pkgs/applications/science/spyder/default.nix +++ b/pkgs/applications/science/spyder/default.nix @@ -10,11 +10,11 @@ buildPythonApplication rec { pname = "spyder"; - version = "3.2.6"; + version = "3.2.7"; src = fetchPypi { inherit pname version; - sha256 = "87d6a4f5ee1aac4284461ee3584c3ade50cb53feb3fe35abebfdfb9be18c526a"; + sha256 = "b5bb8fe0a556930dc09b68fa2741a0de3da6488843ec960e0c62f1f3b2e08e2f"; }; # Somehow setuptools can't find pyqt5. Maybe because the dist-info folder is missing? diff --git a/pkgs/applications/version-management/nbstripout/default.nix b/pkgs/applications/version-management/nbstripout/default.nix index c4c09094edd4..324bbf690d56 100644 --- a/pkgs/applications/version-management/nbstripout/default.nix +++ b/pkgs/applications/version-management/nbstripout/default.nix @@ -3,7 +3,7 @@ with python2Packages; buildPythonApplication rec { name = "${pname}-${version}"; - version = "0.3.0"; + version = "0.3.1"; pname = "nbstripout"; # Mercurial should be added as a build input but because it's a Python @@ -14,7 +14,7 @@ buildPythonApplication rec { src = fetchPypi { inherit pname version; - sha256 = "126xhjma4a0k7gq58hbqglhb3rai0a576azz7g8gmqjr3kl0264v"; + sha256 = "b997c99b8bbb865988202d2f005cdaabb2598b07dad891c302a147a5871a4a95"; }; # for some reason, darwin uses /bin/sh echo native instead of echo binary, so diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix index 8e94ccfa49bc..ae910b76c708 100644 --- a/pkgs/build-support/bintools-wrapper/default.nix +++ b/pkgs/build-support/bintools-wrapper/default.nix @@ -5,7 +5,8 @@ # script that sets up the right environment variables so that the # compiler and the linker just "work". -{ name ? "", stdenvNoCC, nativeTools, noLibc ? false, nativeLibc, nativePrefix ? "" +{ name ? "" +, stdenvNoCC, nativeTools, propagateDoc ? !nativeTools, noLibc ? false, nativeLibc, nativePrefix ? "" , bintools ? null, libc ? null , coreutils ? null, shell ? stdenvNoCC.shell, gnugrep ? null , extraPackages ? [], extraBuildCommands ? "" @@ -15,7 +16,7 @@ with stdenvNoCC.lib; -assert nativeTools -> nativePrefix != ""; +assert nativeTools -> !propagateDoc && nativePrefix != ""; assert !nativeTools -> bintools != null && coreutils != null && gnugrep != null; assert !(nativeLibc && noLibc); @@ -83,7 +84,7 @@ stdenv.mkDerivation { inherit targetPrefix infixSalt; - outputs = [ "out" "info" "man" ]; + outputs = [ "out" ] ++ optionals propagateDoc [ "man" "info" ]; passthru = { inherit bintools libc nativeTools nativeLibc nativePrefix; @@ -111,7 +112,7 @@ stdenv.mkDerivation { '' set -u - mkdir -p $out/bin {$out,$info,$man}/nix-support + mkdir -p $out/bin $out/nix-support wrap() { local dst="$1" @@ -244,28 +245,27 @@ stdenv.mkDerivation { '') + optionalString (!nativeTools) '' - ## ## User env support ## # Propagate the underling unwrapped bintools so that if you - # install the wrapper, you get tools like objdump, the manpages, - # etc. as well (same for any binaries of libc). + # install the wrapper, you get tools like objdump (same for any + # binaries of libc). printWords ${bintools_bin} ${if libc == null then "" else libc_bin} > $out/nix-support/propagated-user-env-packages + '' + + optionalString propagateDoc '' ## ## Man page and info support ## - printWords ${bintools.info or ""} \ - >> $info/nix-support/propagated-build-inputs - printWords ${bintools.man or ""} \ - >> $man/nix-support/propagated-build-inputs + mkdir -p $man/nix-support $info/nix-support + printWords ${bintools.man or ""} >> $man/nix-support/propagated-build-inputs + printWords ${bintools.info or ""} >> $info/nix-support/propagated-build-inputs '' + '' - ## ## Hardening support ## @@ -293,8 +293,8 @@ stdenv.mkDerivation { ## ## Extra custom steps ## - '' + + extraBuildCommands; inherit dynamicLinker expand-response-params; diff --git a/pkgs/build-support/cc-wrapper/add-flags.sh b/pkgs/build-support/cc-wrapper/add-flags.sh index d8b42244607a..604aaf6b6cf0 100644 --- a/pkgs/build-support/cc-wrapper/add-flags.sh +++ b/pkgs/build-support/cc-wrapper/add-flags.sh @@ -9,7 +9,6 @@ var_templates_list=( NIX+CFLAGS_LINK NIX+CXXSTDLIB_COMPILE NIX+CXXSTDLIB_LINK - NIX+GNATFLAGS_COMPILE ) var_templates_bool=( NIX+ENFORCE_NO_NATIVE @@ -51,10 +50,6 @@ if [ -e @out@/nix-support/cc-cflags ]; then NIX_@infixSalt@_CFLAGS_COMPILE="$(< @out@/nix-support/cc-cflags) $NIX_@infixSalt@_CFLAGS_COMPILE" fi -if [ -e @out@/nix-support/gnat-cflags ]; then - NIX_@infixSalt@_GNATFLAGS_COMPILE="$(< @out@/nix-support/gnat-cflags) $NIX_@infixSalt@_GNATFLAGS_COMPILE" -fi - if [ -e @out@/nix-support/cc-ldflags ]; then NIX_@infixSalt@_LDFLAGS+=" $(< @out@/nix-support/cc-ldflags)" fi diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index 8de2366ff5f5..43cd87fb4597 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -5,24 +5,22 @@ # script that sets up the right environment variables so that the # compiler and the linker just "work". -{ name ? "", stdenvNoCC, nativeTools, noLibc ? false, nativeLibc, nativePrefix ? "" +{ name ? "" +, stdenvNoCC, nativeTools, propagateDoc ? !nativeTools, noLibc ? false, nativeLibc, nativePrefix ? "" , cc ? null, libc ? null, bintools, coreutils ? null, shell ? stdenvNoCC.shell -, zlib ? null, extraPackages ? [], extraBuildCommands ? "" +, extraPackages ? [], extraBuildCommands ? "" , isGNU ? false, isClang ? cc.isClang or false, gnugrep ? null , buildPackages ? {} }: with stdenvNoCC.lib; -assert nativeTools -> nativePrefix != ""; +assert nativeTools -> !propagateDoc && nativePrefix != ""; assert !nativeTools -> cc != null && coreutils != null && gnugrep != null; assert !(nativeLibc && noLibc); assert (noLibc || nativeLibc) == (libc == null); -# For ghdl (the vhdl language provider to gcc) we need zlib in the wrapper. -assert cc.langVhdl or false -> zlib != null; - let stdenv = stdenvNoCC; inherit (stdenv) hostPlatform targetPlatform; @@ -84,7 +82,7 @@ stdenv.mkDerivation { inherit targetPrefix infixSalt; - outputs = [ "out" "man" ]; + outputs = [ "out" ] ++ optionals propagateDoc [ "man" "info" ]; passthru = { # "cc" is the generic name for a C compiler, but there is no one for package @@ -115,7 +113,7 @@ stdenv.mkDerivation { '' set -u - mkdir -p $out/bin $out/nix-support $man/nix-support + mkdir -p $out/bin $out/nix-support wrap() { local dst="$1" @@ -188,17 +186,6 @@ stdenv.mkDerivation { + optionalString cc.langGo or false '' wrap ${targetPrefix}gccgo ${./cc-wrapper.sh} $ccPath/${targetPrefix}gccgo - '' - - + optionalString cc.langAda or false '' - wrap ${targetPrefix}gnatgcc ${./cc-wrapper.sh} $ccPath/${targetPrefix}gnatgcc - wrap ${targetPrefix}gnatmake ${./gnat-wrapper.sh} $ccPath/${targetPrefix}gnatmake - wrap ${targetPrefix}gnatbind ${./gnat-wrapper.sh} $ccPath/${targetPrefix}gnatbind - wrap ${targetPrefix}gnatlink ${./gnatlink-wrapper.sh} $ccPath/${targetPrefix}gnatlink - '' - - + optionalString cc.langVhdl or false '' - ln -s $ccPath/${targetPrefix}ghdl $out/bin/${targetPrefix}ghdl ''; propagatedBuildInputs = [ bintools ]; @@ -246,7 +233,6 @@ stdenv.mkDerivation { '' + optionalString (!nativeTools) '' - ## ## Initial CFLAGS ## @@ -262,33 +248,21 @@ stdenv.mkDerivation { ccLDFlags+=" -L${cc_solib}/lib" ccCFlags+=" -B${cc_solib}/lib" - ${optionalString cc.langVhdl or false '' - ccLDFlags+=" -L${zlib.out}/lib" - ''} - - # Find the gcc libraries path (may work only without multilib). - ${optionalString cc.langAda or false '' - basePath=`echo ${cc_solib}/lib/*/*/*` - ccCFlags+=" -B$basePath -I$basePath/adainclude" - gnatCFlags="-aI$basePath/adainclude -aO$basePath/adalib" - echo "$gnatCFlags" > $out/nix-support/gnat-cflags - ''} - echo "$ccLDFlags" > $out/nix-support/cc-ldflags echo "$ccCFlags" > $out/nix-support/cc-cflags + '' + + optionalString propagateDoc '' ## - ## User env support + ## Man page and info support ## - # Propagate the wrapped cc so that if you install the wrapper, - # you get tools like gcov, the manpages, etc. as well (including - # for binutils and Glibc). + mkdir -p $man/nix-support $info/nix-support printWords ${cc.man or ""} > $man/nix-support/propagated-user-env-packages + printWords ${cc.info or ""} > $info/nix-support/propagated-user-env-packages '' + '' - ## ## Hardening support ## @@ -308,8 +282,8 @@ stdenv.mkDerivation { ## ## Extra custom steps ## - '' + + extraBuildCommands; inherit expand-response-params; diff --git a/pkgs/build-support/cc-wrapper/gnat-wrapper.sh b/pkgs/build-support/cc-wrapper/gnat-wrapper.sh deleted file mode 100644 index a86c9fe4ada4..000000000000 --- a/pkgs/build-support/cc-wrapper/gnat-wrapper.sh +++ /dev/null @@ -1,122 +0,0 @@ -#! @shell@ -set -eu -o pipefail +o posix -shopt -s nullglob - -if (( "${NIX_DEBUG:-0}" >= 7 )); then - set -x -fi - -# N.B. Gnat is not used during bootstrapping, so we don't need to -# worry about the old bash empty array `set -u` workarounds. - -path_backup="$PATH" - -# phase separation makes this look useless -# shellcheck disable=SC2157 -if [ -n "@coreutils_bin@" ]; then - PATH="@coreutils_bin@/bin" -fi - -source @out@/nix-support/utils.sh - -if [ -z "${NIX_@infixSalt@_GNAT_WRAPPER_FLAGS_SET:-}" ]; then - source @out@/nix-support/add-flags.sh -fi - - -# Figure out if linker flags should be passed. GCC prints annoying -# warnings when they are not needed. -dontLink=0 -nonFlagArgs=0 - -for i in "$@"; do - if [ "$i" = -c ]; then - dontLink=1 - elif [ "$i" = -M ]; then - dontLink=1 - elif [ "${i:0:1}" != - ]; then - nonFlagArgs=1 - fi -done - -# If we pass a flag like -Wl, then gcc will call the linker unless it -# can figure out that it has to do something else (e.g., because of a -# "-c" flag). So if no non-flag arguments are given, don't pass any -# linker flags. This catches cases like "gcc" (should just print -# "gcc: no input files") and "gcc -v" (should print the version). -if [ "$nonFlagArgs" = 0 ]; then - dontLink=1 -fi - - -# Optionally filter out paths not refering to the store. -params=("$@") -if [[ "${NIX_ENFORCE_PURITY:-}" = 1 && -n "$NIX_STORE" ]]; then - rest=() - for p in "${params[@]}"; do - if [ "${p:0:3}" = -L/ ] && badPath "${p:2}"; then - skip "${p:2}" - elif [ "${p:0:3}" = -I/ ] && badPath "${p:2}"; then - skip "${p:2}" - elif [ "${p:0:4}" = -aI/ ] && badPath "${p:3}"; then - skip "${p:2}" - elif [ "${p:0:4}" = -aO/ ] && badPath "${p:3}"; then - skip "${p:2}" - else - rest+=("$p") - fi - done - params=("${rest[@]}") -fi - - -# Clear march/mtune=native -- they bring impurity. -if [ "$NIX_@infixSalt@_ENFORCE_NO_NATIVE" = 1 ]; then - rest=() - for p in "${params[@]}"; do - if [[ "$p" = -m*=native ]]; then - skip "$p" - else - rest+=("$p") - fi - done - params=("${rest[@]}") -fi - - -# Add the flags for the GNAT compiler proper. -extraAfter=($NIX_@infixSalt@_GNATFLAGS_COMPILE) -extraBefore=() - -if [ "$(basename "$0")x" = "gnatmakex" ]; then - extraBefore=("--GNATBIND=@out@/bin/gnatbind" "--GNATLINK=@out@/bin/gnatlink ") -fi - -#if [ "$dontLink" != 1 ]; then -# # Add the flags that should be passed to the linker (and prevent -# # `ld-wrapper' from adding NIX_@infixSalt@_LDFLAGS again). -# for i in $NIX_@infixSalt@_LDFLAGS_BEFORE; do -# extraBefore+=("-largs" "$i") -# done -# for i in $NIX_@infixSalt@_LDFLAGS; do -# if [ "${i:0:3}" = -L/ ]; then -# extraAfter+=("$i") -# else -# extraAfter+=("-largs" "$i") -# fi -# done -# export NIX_@infixSalt@_LDFLAGS_SET=1 -#fi - -# Optionally print debug info. -if (( "${NIX_DEBUG:-0}" >= 1 )); then - echo "extra flags before to @prog@:" >&2 - printf " %q\n" "${extraBefore[@]}" >&2 - echo "original flags to @prog@:" >&2 - printf " %q\n" "${params[@]}" >&2 - echo "extra flags after to @prog@:" >&2 - printf " %q\n" "${extraAfter[@]}" >&2 -fi - -PATH="$path_backup" -exec @prog@ "${extraBefore[@]}" "${params[@]}" "${extraAfter[@]}" diff --git a/pkgs/build-support/cc-wrapper/gnatlink-wrapper.sh b/pkgs/build-support/cc-wrapper/gnatlink-wrapper.sh deleted file mode 100644 index 0944d74e431b..000000000000 --- a/pkgs/build-support/cc-wrapper/gnatlink-wrapper.sh +++ /dev/null @@ -1,40 +0,0 @@ -#! @shell@ -set -eu -o pipefail +o posix -shopt -s nullglob - -if (( "${NIX_DEBUG:-0}" >= 7 )); then - set -x -fi - -# N.B. Gnat is not used during bootstrapping, so we don't need to -# worry about the old bash empty array `set -u` workarounds. - -# Add the flags for the GNAT compiler proper. -extraAfter=("--GCC=@out@/bin/gcc") -extraBefore=() - -## Add the flags that should be passed to the linker (and prevent -## `ld-wrapper' from adding NIX_@infixSalt@_LDFLAGS again). -#for i in $NIX_@infixSalt@_LDFLAGS_BEFORE; do -# extraBefore+=("-largs" "$i") -#done -#for i in $NIX_@infixSalt@_LDFLAGS; do -# if [ "${i:0:3}" = -L/ ]; then -# extraAfter+=("$i") -# else -# extraAfter+=("-largs" "$i") -# fi -#done -#export NIX_@infixSalt@_LDFLAGS_SET=1 - -# Optionally print debug info. -if (( "${NIX_DEBUG:-0}" >= 1 )); then - echo "extra flags before to @prog@:" >&2 - printf " %q\n" "${extraBefore[@]}" >&2 - echo "original flags to @prog@:" >&2 - printf " %q\n" "$@" >&2 - echo "extra flags after to @prog@:" >&2 - printf " %q\n" "${extraAfter[@]}" >&2 -fi - -exec @prog@ "${extraBefore[@]}" "$@" "${extraAfter[@]}" diff --git a/pkgs/build-support/cc-wrapper/utils.sh b/pkgs/build-support/cc-wrapper/utils.sh index 4b2b13809181..9215fe2dc397 100644 --- a/pkgs/build-support/cc-wrapper/utils.sh +++ b/pkgs/build-support/cc-wrapper/utils.sh @@ -25,7 +25,11 @@ mangleVarBool() { for infix in "${role_infixes[@]}"; do local inputVar="${var/+/${infix}}" if [ -v "$inputVar" ]; then - let "${outputVar} |= ${!inputVar}" + # "1" in the end makes `let` return success error code when + # expression itself evaluates to zero. + # We don't use `|| true` because that would silence actual + # syntax errors from bad variable values. + let "${outputVar} |= ${!inputVar:-0}" "1" fi done } diff --git a/pkgs/build-support/gcc-wrapper-old/add-flags b/pkgs/build-support/gcc-wrapper-old/add-flags deleted file mode 100644 index 93da917a5415..000000000000 --- a/pkgs/build-support/gcc-wrapper-old/add-flags +++ /dev/null @@ -1,28 +0,0 @@ -# `-B@out@/bin' forces cc to use ld-wrapper.sh when calling ld. -export NIX_CFLAGS_COMPILE="-B@out@/bin/ $NIX_CFLAGS_COMPILE" - -if test -e @out@/nix-support/libc-cflags; then - export NIX_CFLAGS_COMPILE="$(cat @out@/nix-support/libc-cflags) $NIX_CFLAGS_COMPILE" -fi - -if test -e @out@/nix-support/cc-cflags; then - export NIX_CFLAGS_COMPILE="$(cat @out@/nix-support/cc-cflags) $NIX_CFLAGS_COMPILE" -fi - -if test -e @out@/nix-support/gnat-cflags; then - export NIX_GNATFLAGS_COMPILE="$(cat @out@/nix-support/gnat-cflags) $NIX_GNATFLAGS_COMPILE" -fi - -if test -e @out@/nix-support/libc-ldflags; then - export NIX_LDFLAGS="$NIX_LDFLAGS $(cat @out@/nix-support/libc-ldflags)" -fi - -if test -e @out@/nix-support/cc-ldflags; then - export NIX_LDFLAGS="$NIX_LDFLAGS $(cat @out@/nix-support/cc-ldflags)" -fi - -if test -e @out@/nix-support/libc-ldflags-before; then - export NIX_LDFLAGS_BEFORE="$(cat @out@/nix-support/libc-ldflags-before) $NIX_LDFLAGS_BEFORE" -fi - -export NIX_CC_WRAPPER_FLAGS_SET=1 diff --git a/pkgs/build-support/gcc-wrapper-old/builder.sh b/pkgs/build-support/gcc-wrapper-old/builder.sh deleted file mode 100644 index 22e32814927e..000000000000 --- a/pkgs/build-support/gcc-wrapper-old/builder.sh +++ /dev/null @@ -1,215 +0,0 @@ -source $stdenv/setup - - -mkdir -p $out/bin -mkdir -p $out/nix-support - - -if test -z "$nativeLibc"; then - dynamicLinker="$libc/lib/$dynamicLinker" - echo $dynamicLinker > $out/nix-support/dynamic-linker - - if test -e $libc/lib/32/ld-linux.so.2; then - echo $libc/lib/32/ld-linux.so.2 > $out/nix-support/dynamic-linker-m32 - fi - - # The "-B$libc/lib/" flag is a quick hack to force gcc to link - # against the crt1.o from our own glibc, rather than the one in - # /usr/lib. (This is only an issue when using an `impure' - # compiler/linker, i.e., one that searches /usr/lib and so on.) - # - # Unfortunately, setting -B appears to override the default search - # path. Thus, the gcc-specific "../includes-fixed" directory is - # now longer searched and glibc's header fails to - # compile, because it uses "#include_next " to find the - # limits.h file in ../includes-fixed. To remedy the problem, - # another -idirafter is necessary to add that directory again. - echo "-B$libc/lib/ -idirafter $libc_dev/include -idirafter $gcc/lib/gcc/*/*/include-fixed" > $out/nix-support/libc-cflags - - echo "-L$libc/lib" > $out/nix-support/libc-ldflags - - # The dynamic linker is passed in `ldflagsBefore' to allow - # explicit overrides of the dynamic linker by callers to gcc/ld - # (the *last* value counts, so ours should come first). - echo "-dynamic-linker" $dynamicLinker > $out/nix-support/libc-ldflags-before -fi - -if test -n "$nativeTools"; then - gccPath="$nativePrefix/bin" - ldPath="$nativePrefix/bin" -else - if test -e "$gcc/lib64"; then - gccLDFlags="$gccLDFlags -L$gcc_lib/lib64" - fi - gccLDFlags="$gccLDFlags -L$gcc_lib/lib" - if [ -n "$langVhdl" ]; then - gccLDFlags="$gccLDFlags -L$zlib/lib" - fi - echo "$gccLDFlags" > $out/nix-support/cc-ldflags - - # GCC shows $gcc/lib in `gcc -print-search-dirs', but not - # $gcc/lib64 (even though it does actually search there...).. - # This confuses libtool. So add it to the compiler tool search - # path explicitly. - if test -e "$gcc/lib64"; then - gccCFlags="$gccCFlags -B$gcc/lib64" - fi - - # Find the gcc libraries path (may work only without multilib) - if [ -n "$langAda" ]; then - basePath=`echo $gcc/lib/*/*/*` - gccCFlags="$gccCFlags -B$basePath -I$basePath/adainclude" - - gnatCFlags="-aI$basePath/adainclude -aO$basePath/adalib" - echo "$gnatCFlags" > $out/nix-support/gnat-cflags - fi - echo "$gccCFlags" > $out/nix-support/cc-cflags - - gccPath="$gcc/bin" - # On Illumos/Solaris we might prefer native ld - if test -n "$nativePrefix"; then - ldPath="$nativePrefix/bin" - else - ldPath="$binutils/bin" - fi; -fi - - -doSubstitute() { - local src=$1 - local dst=$2 - local ld="$ldPath/ld" - if $ld -V 2>&1 |grep Solaris; then - # Use Solaris specific linker wrapper - ld="$out/bin/ld-solaris" - fi - # Can't use substitute() here, because replace may not have been - # built yet (in the bootstrap). - sed \ - -e "s^@out@^$out^g" \ - -e "s^@shell@^$shell^g" \ - -e "s^@gcc@^$gcc^g" \ - -e "s^@gccProg@^$gccProg^g" \ - -e "s^@gnatProg@^$gnatProg^g" \ - -e "s^@gnatlinkProg@^$gnatlinkProg^g" \ - -e "s^@binutils@^$binutils^g" \ - -e "s^@coreutils@^$coreutils^g" \ - -e "s^@libc@^$libc^g" \ - -e "s^@libc_bin@^$libc_bin^g" \ - -e "s^@ld@^$ld^g" \ - < "$src" > "$dst" -} - - -# Make wrapper scripts around gcc, g++, and gfortran. Also make symlinks -# cc, c++, and f77. -mkGccWrapper() { - local dst=$1 - local src=$2 - - if ! test -f "$src"; then - echo "$src does not exist (skipping)" - return 1 - fi - - gccProg="$src" - doSubstitute "$gccWrapper" "$dst" - chmod +x "$dst" -} - -mkGnatWrapper() { - local dst=$1 - local src=$2 - - if ! test -f "$src"; then - echo "$src does not exist (skipping)" - return 1 - fi - - gnatProg="$src" - doSubstitute "$gnatWrapper" "$dst" - chmod +x "$dst" -} - -mkGnatLinkWrapper() { - local dst=$1 - local src=$2 - - if ! test -f "$src"; then - echo "$src does not exist (skipping)" - return 1 - fi - - gnatlinkProg="$src" - doSubstitute "$gnatlinkWrapper" "$dst" - chmod +x "$dst" -} - -if mkGccWrapper $out/bin/gcc $gccPath/gcc -then - ln -sv gcc $out/bin/cc -fi - -if mkGccWrapper $out/bin/g++ $gccPath/g++ -then - ln -sv g++ $out/bin/c++ -fi - -mkGccWrapper $out/bin/cpp $gccPath/cpp || true - -if mkGccWrapper $out/bin/gfortran $gccPath/gfortran -then - ln -sv gfortran $out/bin/g77 - ln -sv gfortran $out/bin/f77 -fi - -mkGccWrapper $out/bin/gcj $gccPath/gcj || true - -mkGccWrapper $out/bin/gccgo $gccPath/gccgo || true - -mkGccWrapper $out/bin/gnatgcc $gccPath/gnatgcc || true -mkGnatWrapper $out/bin/gnatmake $gccPath/gnatmake || true -mkGnatWrapper $out/bin/gnatbind $gccPath/gnatbind || true -mkGnatLinkWrapper $out/bin/gnatlink $gccPath/gnatlink || true - -if [ -f $gccPath/ghdl ]; then - ln -sf $gccPath/ghdl $out/bin/ghdl -fi - - -# Create a symlink to as (the assembler). This is useful when a -# gcc-wrapper is installed in a user environment, as it ensures that -# the right assembler is called. -ln -s $ldPath/as $out/bin/as - - -# Make a wrapper around the linker. -doSubstitute "$ldWrapper" "$out/bin/ld" -chmod +x "$out/bin/ld" - -# Copy solaris ld wrapper if needed -if $ldPath/ld -V 2>&1 |grep Solaris; then - # Use Solaris specific linker wrapper - sed -e "s^@ld@^$ldPath/ld^g" < "$ldSolarisWrapper" > "$out/bin/ld-solaris" - chmod +x "$out/bin/ld-solaris" -fi - - -# Emit a setup hook. Also store the path to the original GCC and -# Glibc. -test -n "$gcc" && echo $gcc > $out/nix-support/orig-cc -test -n "$libc" && echo $libc > $out/nix-support/orig-libc - -doSubstitute "$addFlags" "$out/nix-support/add-flags.sh" - -doSubstitute "$setupHook" "$out/nix-support/setup-hook" - -cp -p $utils $out/nix-support/utils.sh - - -# Propagate the wrapped gcc so that if you install the wrapper, you get -# tools like gcov, the manpages, etc. as well (including for binutils -# and Glibc). -if test -z "$nativeTools"; then - printWords $gcc $binutils $libc $libc_bin > $out/nix-support/propagated-user-env-packages -fi diff --git a/pkgs/build-support/gcc-wrapper-old/default.nix b/pkgs/build-support/gcc-wrapper-old/default.nix deleted file mode 100644 index 2c2b2c0e1d5c..000000000000 --- a/pkgs/build-support/gcc-wrapper-old/default.nix +++ /dev/null @@ -1,76 +0,0 @@ -# The Nix `gcc' stdenv.mkDerivation is not directly usable, since it doesn't -# know where the C library and standard header files are. Therefore -# the compiler produced by that package cannot be installed directly -# in a user environment and used from the command line. This -# stdenv.mkDerivation provides a wrapper that sets up the right environment -# variables so that the compiler and the linker just "work". - -{ name ? "", stdenv, lib, nativeTools, nativeLibc, nativePrefix ? "" -, gcc ? null, libc ? null, binutils ? null, coreutils ? null, shell ? stdenv.shell -, zlib ? null -, hostPlatform, targetPlatform, targetPackages -}: - -assert nativeTools -> nativePrefix != ""; -assert !nativeTools -> gcc != null && binutils != null && coreutils != null; -assert !nativeLibc -> libc != null; - -# For ghdl (the vhdl language provider to gcc) we need zlib in the wrapper -assert (gcc != null && gcc ? langVhdl && gcc.langVhdl) -> zlib != null; - -let - - gccVersion = (builtins.parseDrvName gcc.name).version; - gccName = (builtins.parseDrvName gcc.name).name; - - langGo = if nativeTools then false else gcc ? langGo && gcc.langGo; -in - -stdenv.mkDerivation { - name = - (if name != "" then name else gccName + "-wrapper") + - (if gcc != null && gccVersion != "" then "-" + gccVersion else ""); - - builder = ./builder.sh; - setupHook = ./setup-hook.sh; - gccWrapper = ./gcc-wrapper.sh; - gnatWrapper = ./gnat-wrapper.sh; - gnatlinkWrapper = ./gnatlink-wrapper.sh; - ldWrapper = ./ld-wrapper.sh; - ldSolarisWrapper = ./ld-solaris-wrapper.sh; - utils = ./utils.sh; - addFlags = ./add-flags; - - inherit nativeTools nativeLibc nativePrefix gcc; - gcc_lib = lib.getLib gcc; - libc = if nativeLibc then null else libc; - libc_dev = if nativeLibc then null else lib.getDev libc; - libc_bin = if nativeLibc then null else lib.getBin libc; - binutils = if nativeTools then null else lib.getBin binutils; - # The wrapper scripts use 'cat', so we may need coreutils - coreutils = if nativeTools then null else lib.getBin coreutils; - - langC = if nativeTools then true else gcc.langC; - langCC = if nativeTools then true else gcc.langCC; - langFortran = if nativeTools then false else gcc ? langFortran; - langAda = if nativeTools then false else gcc ? langAda && gcc.langAda; - langVhdl = if nativeTools then false else gcc ? langVhdl && gcc.langVhdl; - zlib = if gcc != null && gcc ? langVhdl then zlib else null; - shell = shell + shell.shellPath or ""; - - preferLocalBuild = true; - - meta = - let gcc_ = if gcc != null then gcc else {}; in - (if gcc_ ? meta then removeAttrs gcc.meta ["priority"] else {}) // - { description = - stdenv.lib.attrByPath ["meta" "description"] "System C compiler" gcc_ - + " (wrapper script)"; - }; - - # The dynamic linker has different names on different platforms. - dynamicLinker = - if !nativeLibc then - targetPackages.stdenv.cc.bintools.dynamicLinker - else ""; -} diff --git a/pkgs/build-support/gcc-wrapper-old/gcc-wrapper-old.sh b/pkgs/build-support/gcc-wrapper-old/gcc-wrapper-old.sh deleted file mode 100644 index a9d18036952e..000000000000 --- a/pkgs/build-support/gcc-wrapper-old/gcc-wrapper-old.sh +++ /dev/null @@ -1,146 +0,0 @@ -#! @shell@ -e - -if [ -n "$NIX_CC_WRAPPER_START_HOOK" ]; then - source "$NIX_CC_WRAPPER_START_HOOK" -fi - -if [ -z "$NIX_CC_WRAPPER_FLAGS_SET" ]; then - source @out@/nix-support/add-flags.sh -fi - -source @out@/nix-support/utils.sh - - -# Figure out if linker flags should be passed. GCC prints annoying -# warnings when they are not needed. -dontLink=0 -getVersion=0 -nonFlagArgs=0 - -for i in "$@"; do - if [ "$i" = -c ]; then - dontLink=1 - elif [ "$i" = -S ]; then - dontLink=1 - elif [ "$i" = -E ]; then - dontLink=1 - elif [ "$i" = -E ]; then - dontLink=1 - elif [ "$i" = -M ]; then - dontLink=1 - elif [ "$i" = -MM ]; then - dontLink=1 - elif [ "$i" = -x ]; then - # At least for the cases c-header or c++-header we should set dontLink. - # I expect no one use -x other than making precompiled headers. - dontLink=1 - elif [ "${i:0:1}" != - ]; then - nonFlagArgs=1 - elif [ "$i" = -m32 ]; then - if [ -e @out@/nix-support/dynamic-linker-m32 ]; then - NIX_LDFLAGS="$NIX_LDFLAGS -dynamic-linker $(cat @out@/nix-support/dynamic-linker-m32)" - fi - fi -done - -# If we pass a flag like -Wl, then gcc will call the linker unless it -# can figure out that it has to do something else (e.g., because of a -# "-c" flag). So if no non-flag arguments are given, don't pass any -# linker flags. This catches cases like "gcc" (should just print -# "gcc: no input files") and "gcc -v" (should print the version). -if [ "$nonFlagArgs" = 0 ]; then - dontLink=1 -fi - - -# Optionally filter out paths not refering to the store. -params=("$@") -if [ "$NIX_ENFORCE_PURITY" = 1 -a -n "$NIX_STORE" ]; then - rest=() - n=0 - while [ $n -lt ${#params[*]} ]; do - p=${params[n]} - p2=${params[$((n+1))]} - if [ "${p:0:3}" = -L/ ] && badPath "${p:2}"; then - skip $p - elif [ "$p" = -L ] && badPath "$p2"; then - n=$((n + 1)); skip $p2 - elif [ "${p:0:3}" = -I/ ] && badPath "${p:2}"; then - skip $p - elif [ "$p" = -I ] && badPath "$p2"; then - n=$((n + 1)); skip $p2 - elif [ "$p" = -isystem ] && badPath "$p2"; then - n=$((n + 1)); skip $p2 - else - rest=("${rest[@]}" "$p") - fi - n=$((n + 1)) - done - params=("${rest[@]}") -fi - - -# Add the flags for the C compiler proper. -extraAfter=($NIX_CFLAGS_COMPILE) -extraBefore=() - -# When enforcing purity, pretend gcc can't find the current date and -# time -if [ "$NIX_ENFORCE_PURITY" = 1 ]; then - extraAfter+=('-D__DATE__="Jan 01 1970"' - '-D__TIME__="00:00:01"' - ) -fi - - -if [ "$dontLink" != 1 ]; then - - # Add the flags that should only be passed to the compiler when - # linking. - extraAfter+=($NIX_CFLAGS_LINK) - - # Add the flags that should be passed to the linker (and prevent - # `ld-wrapper' from adding NIX_LDFLAGS again). - for i in $NIX_LDFLAGS_BEFORE; do - extraBefore=(${extraBefore[@]} "-Wl,$i") - done - for i in $NIX_LDFLAGS; do - if [ "${i:0:3}" = -L/ ]; then - extraAfter+=("$i") - else - extraAfter+=("-Wl,$i") - fi - done - export NIX_LDFLAGS_SET=1 -fi - -# As a very special hack, if the arguments are just `-v', then don't -# add anything. This is to prevent `gcc -v' (which normally prints -# out the version number and returns exit code 0) from printing out -# `No input files specified' and returning exit code 1. -if [ "$*" = -v ]; then - extraAfter=() - extraBefore=() -fi - -# Optionally print debug info. -if [ -n "$NIX_DEBUG" ]; then - echo "original flags to @prog@:" >&2 - for i in "${params[@]}"; do - echo " $i" >&2 - done - echo "extraBefore flags to @prog@:" >&2 - for i in ${extraBefore[@]}; do - echo " $i" >&2 - done - echo "extraAfter flags to @prog@:" >&2 - for i in ${extraAfter[@]}; do - echo " $i" >&2 - done -fi - -if [ -n "$NIX_CC_WRAPPER_EXEC_HOOK" ]; then - source "$NIX_CC_WRAPPER_EXEC_HOOK" -fi - -exec @prog@ ${extraBefore[@]} "${params[@]}" "${extraAfter[@]}" diff --git a/pkgs/build-support/gcc-wrapper-old/gcc-wrapper.sh b/pkgs/build-support/gcc-wrapper-old/gcc-wrapper.sh deleted file mode 100644 index 8f12f08ddc7c..000000000000 --- a/pkgs/build-support/gcc-wrapper-old/gcc-wrapper.sh +++ /dev/null @@ -1,147 +0,0 @@ -#! @shell@ -e - -if test -n "$NIX_CC_WRAPPER_START_HOOK"; then - source "$NIX_CC_WRAPPER_START_HOOK" -fi - -if test -z "$NIX_CC_WRAPPER_FLAGS_SET"; then - source @out@/nix-support/add-flags.sh -fi - -source @out@/nix-support/utils.sh - - -# Figure out if linker flags should be passed. GCC prints annoying -# warnings when they are not needed. -dontLink=0 -getVersion=0 -nonFlagArgs=0 - -for i in "$@"; do - if test "$i" = "-c"; then - dontLink=1 - elif test "$i" = "-S"; then - dontLink=1 - elif test "$i" = "-E"; then - dontLink=1 - elif test "$i" = "-E"; then - dontLink=1 - elif test "$i" = "-M"; then - dontLink=1 - elif test "$i" = "-MM"; then - dontLink=1 - elif test "$i" = "-x"; then - # At least for the cases c-header or c++-header we should set dontLink. - # I expect no one use -x other than making precompiled headers. - dontLink=1 - elif test "${i:0:1}" != "-"; then - nonFlagArgs=1 - elif test "$i" = "-m32"; then - if test -e @out@/nix-support/dynamic-linker-m32; then - NIX_LDFLAGS="$NIX_LDFLAGS -dynamic-linker $(cat @out@/nix-support/dynamic-linker-m32)" - fi - fi -done - -# If we pass a flag like -Wl, then gcc will call the linker unless it -# can figure out that it has to do something else (e.g., because of a -# "-c" flag). So if no non-flag arguments are given, don't pass any -# linker flags. This catches cases like "gcc" (should just print -# "gcc: no input files") and "gcc -v" (should print the version). -if test "$nonFlagArgs" = "0"; then - dontLink=1 -fi - - -# Optionally filter out paths not refering to the store. -params=("$@") -if test "$NIX_ENFORCE_PURITY" = "1" -a -n "$NIX_STORE"; then - rest=() - n=0 - while test $n -lt ${#params[*]}; do - p=${params[n]} - p2=${params[$((n+1))]} - if test "${p:0:3}" = "-L/" && badPath "${p:2}"; then - skip $p - elif test "$p" = "-L" && badPath "$p2"; then - n=$((n + 1)); skip $p2 - elif test "${p:0:3}" = "-I/" && badPath "${p:2}"; then - skip $p - elif test "$p" = "-I" && badPath "$p2"; then - n=$((n + 1)); skip $p2 - elif test "$p" = "-isystem" && badPath "$p2"; then - n=$((n + 1)); skip $p2 - else - rest=("${rest[@]}" "$p") - fi - n=$((n + 1)) - done - params=("${rest[@]}") -fi - - -# Add the flags for the C compiler proper. -extraAfter=($NIX_CFLAGS_COMPILE) -extraBefore=() - -if test "$dontLink" != "1"; then - - # Add the flags that should only be passed to the compiler when - # linking. - extraAfter=(${extraAfter[@]} $NIX_CFLAGS_LINK) - - # Add the flags that should be passed to the linker (and prevent - # `ld-wrapper' from adding NIX_LDFLAGS again). - for i in $NIX_LDFLAGS_BEFORE; do - extraBefore=(${extraBefore[@]} "-Wl,$i") - done - for i in $NIX_LDFLAGS; do - if test "${i:0:3}" = "-L/"; then - extraAfter=(${extraAfter[@]} "$i") - else - extraAfter=(${extraAfter[@]} "-Wl,$i") - fi - done - export NIX_LDFLAGS_SET=1 -fi - -# As a very special hack, if the arguments are just `-v', then don't -# add anything. This is to prevent `gcc -v' (which normally prints -# out the version number and returns exit code 0) from printing out -# `No input files specified' and returning exit code 1. -if test "$*" = "-v"; then - extraAfter=() - extraBefore=() -fi - -# Optionally print debug info. -if test "$NIX_DEBUG" = "1"; then - echo "original flags to @gccProg@:" >&2 - for i in "${params[@]}"; do - echo " $i" >&2 - done - echo "extraBefore flags to @gccProg@:" >&2 - for i in ${extraBefore[@]}; do - echo " $i" >&2 - done - echo "extraAfter flags to @gccProg@:" >&2 - for i in ${extraAfter[@]}; do - echo " $i" >&2 - done -fi - -if test -n "$NIX_CC_WRAPPER_EXEC_HOOK"; then - source "$NIX_CC_WRAPPER_EXEC_HOOK" -fi - - -# Call the real `gcc'. Filter out warnings from stderr about unused -# `-B' flags, since they confuse some programs. Deep bash magic to -# apply grep to stderr (by swapping stdin/stderr twice). -if test -z "$NIX_CC_NEEDS_GREP"; then - @gccProg@ ${extraBefore[@]} "${params[@]}" ${extraAfter[@]} -else - (@gccProg@ ${extraBefore[@]} "${params[@]}" ${extraAfter[@]} 3>&2 2>&1 1>&3- \ - | (grep -v 'file path prefix' || true); exit ${PIPESTATUS[0]}) 3>&2 2>&1 1>&3- - exit $? -fi diff --git a/pkgs/build-support/gcc-wrapper-old/gnat-wrapper.sh b/pkgs/build-support/gcc-wrapper-old/gnat-wrapper.sh deleted file mode 100644 index f6fa4b18400a..000000000000 --- a/pkgs/build-support/gcc-wrapper-old/gnat-wrapper.sh +++ /dev/null @@ -1,113 +0,0 @@ -#! @shell@ -e - -if test -n "$NIX_GNAT_WRAPPER_START_HOOK"; then - source "$NIX_GNAT_WRAPPER_START_HOOK" -fi - -if test -z "$NIX_GNAT_WRAPPER_FLAGS_SET"; then - source @out@/nix-support/add-flags.sh -fi - -source @out@/nix-support/utils.sh - - -# Figure out if linker flags should be passed. GCC prints annoying -# warnings when they are not needed. -dontLink=0 -getVersion=0 -nonFlagArgs=0 - -for i in "$@"; do - if test "$i" = "-c"; then - dontLink=1 - elif test "$i" = "-M"; then - dontLink=1 - elif test "${i:0:1}" != "-"; then - nonFlagArgs=1 - elif test "$i" = "-m32"; then - if test -e @out@/nix-support/dynamic-linker-m32; then - NIX_LDFLAGS="$NIX_LDFLAGS -dynamic-linker $(cat @out@/nix-support/dynamic-linker-m32)" - fi - fi -done - -# If we pass a flag like -Wl, then gcc will call the linker unless it -# can figure out that it has to do something else (e.g., because of a -# "-c" flag). So if no non-flag arguments are given, don't pass any -# linker flags. This catches cases like "gcc" (should just print -# "gcc: no input files") and "gcc -v" (should print the version). -if test "$nonFlagArgs" = "0"; then - dontLink=1 -fi - - -# Optionally filter out paths not refering to the store. -params=("$@") -if test "$NIX_ENFORCE_PURITY" = "1" -a -n "$NIX_STORE"; then - rest=() - n=0 - while test $n -lt ${#params[*]}; do - p=${params[n]} - p2=${params[$((n+1))]} - if test "${p:0:3}" = "-L/" && badPath "${p:2}"; then - skip $p - elif test "${p:0:3}" = "-I/" && badPath "${p:2}"; then - skip $p - elif test "${p:0:4}" = "-aI/" && badPath "${p:3}"; then - skip $p - elif test "${p:0:4}" = "-aO/" && badPath "${p:3}"; then - skip $p - else - rest=("${rest[@]}" "$p") - fi - n=$((n + 1)) - done - params=("${rest[@]}") -fi - - -# Add the flags for the GNAT compiler proper. -extraAfter=($NIX_GNATFLAGS_COMPILE) -extraBefore=() - -if [ "`basename $0`x" = "gnatmakex" ]; then - extraBefore=("--GNATBIND=@out@/bin/gnatbind --GNATLINK=@out@/bin/gnatlink ") -fi - -# Add the flags that should be passed to the linker (and prevent -# `ld-wrapper' from adding NIX_LDFLAGS again). -#for i in $NIX_LDFLAGS_BEFORE; do -# extraBefore=(${extraBefore[@]} "-largs $i") -#done - -# Optionally print debug info. -if test "$NIX_DEBUG" = "1"; then - echo "original flags to @gnatProg@:" >&2 - for i in "${params[@]}"; do - echo " $i" >&2 - done - echo "extraBefore flags to @gnatProg@:" >&2 - for i in ${extraBefore[@]}; do - echo " $i" >&2 - done - echo "extraAfter flags to @gnatProg@:" >&2 - for i in ${extraAfter[@]}; do - echo " $i" >&2 - done -fi - -if test -n "$NIX_GNAT_WRAPPER_EXEC_HOOK"; then - source "$NIX_GNAT_WRAPPER_EXEC_HOOK" -fi - - -# Call the real `gcc'. Filter out warnings from stderr about unused -# `-B' flags, since they confuse some programs. Deep bash magic to -# apply grep to stderr (by swapping stdin/stderr twice). -if test -z "$NIX_GNAT_NEEDS_GREP"; then - @gnatProg@ ${extraBefore[@]} "${params[@]}" ${extraAfter[@]} -else - (@gnatProg@ ${extraBefore[@]} "${params[@]}" ${extraAfter[@]} 3>&2 2>&1 1>&3- \ - | (grep -v 'file path prefix' || true); exit ${PIPESTATUS[0]}) 3>&2 2>&1 1>&3- - exit $? -fi diff --git a/pkgs/build-support/gcc-wrapper-old/gnatlink-wrapper.sh b/pkgs/build-support/gcc-wrapper-old/gnatlink-wrapper.sh deleted file mode 100644 index 25907108b4db..000000000000 --- a/pkgs/build-support/gcc-wrapper-old/gnatlink-wrapper.sh +++ /dev/null @@ -1,43 +0,0 @@ -#! @shell@ -e - -# Add the flags for the GNAT compiler proper. -extraAfter="--GCC=@out@/bin/gcc" -extraBefore=() - -# Add the flags that should be passed to the linker (and prevent -# `ld-wrapper' from adding NIX_LDFLAGS again). -#for i in $NIX_LDFLAGS_BEFORE; do -# extraBefore=(${extraBefore[@]} "-largs $i") -#done - -# Optionally print debug info. -if test "$NIX_DEBUG" = "1"; then - echo "original flags to @gnatlinkProg@:" >&2 - for i in "$@"; do - echo " $i" >&2 - done - echo "extraBefore flags to @gnatlinkProg@:" >&2 - for i in ${extraBefore[@]}; do - echo " $i" >&2 - done - echo "extraAfter flags to @gnatlinkProg@:" >&2 - for i in ${extraAfter[@]}; do - echo " $i" >&2 - done -fi - -if test -n "$NIX_GNAT_WRAPPER_EXEC_HOOK"; then - source "$NIX_GNAT_WRAPPER_EXEC_HOOK" -fi - - -# Call the real `gcc'. Filter out warnings from stderr about unused -# `-B' flags, since they confuse some programs. Deep bash magic to -# apply grep to stderr (by swapping stdin/stderr twice). -if test -z "$NIX_GNAT_NEEDS_GREP"; then - @gnatlinkProg@ ${extraBefore[@]} "$@" ${extraAfter[@]} -else - (@gnatlinkProg@ ${extraBefore[@]} "$@" ${extraAfter[@]} 3>&2 2>&1 1>&3- \ - | (grep -v 'file path prefix' || true); exit ${PIPESTATUS[0]}) 3>&2 2>&1 1>&3- - exit $? -fi diff --git a/pkgs/build-support/gcc-wrapper-old/ld-solaris-wrapper.sh b/pkgs/build-support/gcc-wrapper-old/ld-solaris-wrapper.sh deleted file mode 100755 index 263ea5408e9a..000000000000 --- a/pkgs/build-support/gcc-wrapper-old/ld-solaris-wrapper.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!@shell@ - -set -e -set -u - -# I've also tried adding -z direct and -z lazyload, but it gave too many problems with C++ exceptions :'( -# Also made sure libgcc would not be lazy-loaded, as suggested here: https://www.illumos.org/issues/2534#note-3 -# but still no success. -cmd="@ld@ -z ignore" - -args=("$@"); - -# This loop makes sure all -L arguments are before -l arguments, or ld may complain it cannot find a library. -# GNU binutils does not have this problem: -# http://stackoverflow.com/questions/5817269/does-the-order-of-l-and-l-options-in-the-gnu-linker-matter -i=0; -while [[ $i -lt $# ]]; do - case "${args[$i]}" in - -L) cmd="$cmd ${args[$i]} ${args[($i+1)]}"; i=($i+1); ;; - -L*) cmd="$cmd ${args[$i]}" ;; - *) ;; - esac - i=($i+1); -done - -i=0; -while [[ $i -lt $# ]]; do - case "${args[$i]}" in - -L) i=($i+1); ;; - -L*) ;; - *) cmd="$cmd ${args[$i]}" ;; - esac - i=($i+1); -done - -# Trace: -set -x -exec $cmd - -exit 0 diff --git a/pkgs/build-support/gcc-wrapper-old/ld-wrapper.sh b/pkgs/build-support/gcc-wrapper-old/ld-wrapper.sh deleted file mode 100644 index db50d25cb3b9..000000000000 --- a/pkgs/build-support/gcc-wrapper-old/ld-wrapper.sh +++ /dev/null @@ -1,166 +0,0 @@ -#! @shell@ -e - -if test -n "$NIX_LD_WRAPPER_START_HOOK"; then - source "$NIX_LD_WRAPPER_START_HOOK" -fi - -if test -z "$NIX_CC_WRAPPER_FLAGS_SET"; then - source @out@/nix-support/add-flags.sh -fi - -source @out@/nix-support/utils.sh - - -# Optionally filter out paths not refering to the store. -params=("$@") -if test "$NIX_ENFORCE_PURITY" = "1" -a -n "$NIX_STORE" \ - -a \( -z "$NIX_IGNORE_LD_THROUGH_GCC" -o -z "$NIX_LDFLAGS_SET" \); then - rest=() - n=0 - while test $n -lt ${#params[*]}; do - p=${params[n]} - p2=${params[$((n+1))]} - if test "${p:0:3}" = "-L/" && badPath "${p:2}"; then - skip $p - elif test "$p" = "-L" && badPath "$p2"; then - n=$((n + 1)); skip $p2 - elif test "$p" = "-rpath" && badPath "$p2"; then - n=$((n + 1)); skip $p2 - elif test "$p" = "-dynamic-linker" && badPath "$p2"; then - n=$((n + 1)); skip $p2 - elif test "${p:0:1}" = "/" && badPath "$p"; then - # We cannot skip this; barf. - echo "impure path \`$p' used in link" >&2 - exit 1 - elif test "${p:0:9}" = "--sysroot"; then - # Our ld is not built with sysroot support (Can we fix that?) - : - else - rest=("${rest[@]}" "$p") - fi - n=$((n + 1)) - done - params=("${rest[@]}") -fi - - -extra=() -extraBefore=() - -if test -z "$NIX_LDFLAGS_SET"; then - extra+=($NIX_LDFLAGS) - extraBefore+=($NIX_LDFLAGS_BEFORE) -fi - -extra+=($NIX_LDFLAGS_AFTER) - - -# Add all used dynamic libraries to the rpath. -if test "$NIX_DONT_SET_RPATH" != "1"; then - - libPath="" - addToLibPath() { - local path="$1" - if test "${path:0:1}" != "/"; then return 0; fi - case "$path" in - *..*|*./*|*/.*|*//*) - local path2 - if path2=$(readlink -f "$path"); then - path="$path2" - fi - ;; - esac - case $libPath in - *\ $path\ *) return 0 ;; - esac - libPath="$libPath $path " - } - - addToRPath() { - # If the path is not in the store, don't add it to the rpath. - # This typically happens for libraries in /tmp that are later - # copied to $out/lib. If not, we're screwed. - if test "${1:0:${#NIX_STORE}}" != "$NIX_STORE"; then return 0; fi - case $rpath in - *\ $1\ *) return 0 ;; - esac - rpath="$rpath $1 " - } - - libs="" - addToLibs() { - libs="$libs $1" - } - - rpath="" - - # First, find all -L... switches. - allParams=("${params[@]}" ${extra[@]}) - n=0 - while test $n -lt ${#allParams[*]}; do - p=${allParams[n]} - p2=${allParams[$((n+1))]} - if test "${p:0:3}" = "-L/"; then - addToLibPath ${p:2} - elif test "$p" = "-L"; then - addToLibPath ${p2} - n=$((n + 1)) - elif test "$p" = "-l"; then - addToLibs ${p2} - n=$((n + 1)) - elif test "${p:0:2}" = "-l"; then - addToLibs ${p:2} - elif test "$p" = "-dynamic-linker"; then - # Ignore the dynamic linker argument, or it - # will get into the next 'elif'. We don't want - # the dynamic linker path rpath to go always first. - n=$((n + 1)) - elif [[ "$p" =~ ^[^-].*\.so($|\.) ]]; then - # This is a direct reference to a shared library, so add - # its directory to the rpath. - path="$(dirname "$p")"; - addToRPath "${path}" - fi - n=$((n + 1)) - done - - # Second, for each directory in the library search path (-L...), - # see if it contains a dynamic library used by a -l... flag. If - # so, add the directory to the rpath. - # It's important to add the rpath in the order of -L..., so - # the link time chosen objects will be those of runtime linking. - - for i in $libPath; do - for j in $libs; do - if test -f "$i/lib$j.so"; then - addToRPath $i - break - fi - done - done - - - # Finally, add `-rpath' switches. - for i in $rpath; do - extra=(${extra[@]} -rpath $i) - done -fi - - -# Optionally print debug info. -if test "$NIX_DEBUG" = "1"; then - echo "original flags to @ld@:" >&2 - for i in "${params[@]}"; do - echo " $i" >&2 - done - echo "extra flags to @ld@:" >&2 - for i in ${extra[@]}; do - echo " $i" >&2 - done -fi - -if test -n "$NIX_LD_WRAPPER_EXEC_HOOK"; then - source "$NIX_LD_WRAPPER_EXEC_HOOK" -fi - -exec @ld@ ${extraBefore[@]} "${params[@]}" ${extra[@]} diff --git a/pkgs/build-support/gcc-wrapper-old/setup-hook.sh b/pkgs/build-support/gcc-wrapper-old/setup-hook.sh deleted file mode 100644 index ad3ffeffbbbc..000000000000 --- a/pkgs/build-support/gcc-wrapper-old/setup-hook.sh +++ /dev/null @@ -1,33 +0,0 @@ -gccWrapperOld_addCVars () { - if test -d $1/include; then - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem $1/include" - fi - - if test -d $1/lib64; then - export NIX_LDFLAGS="$NIX_LDFLAGS -L$1/lib64" - fi - - if test -d $1/lib; then - export NIX_LDFLAGS="$NIX_LDFLAGS -L$1/lib" - fi -} - -envBuildBuildHooks+=(gccWrapperOld_addCVars) - -# Note: these come *after* $out in the PATH (see setup.sh). - -if test -n "@gcc@"; then - addToSearchPath PATH @gcc@/bin -fi - -if test -n "@binutils@"; then - addToSearchPath PATH @binutils@/bin -fi - -if test -n "@libc@"; then - addToSearchPath PATH @libc_bin@/bin -fi - -if test -n "@coreutils@"; then - addToSearchPath PATH @coreutils@/bin -fi diff --git a/pkgs/build-support/gcc-wrapper-old/utils.sh b/pkgs/build-support/gcc-wrapper-old/utils.sh deleted file mode 100644 index fa19f91bf5d2..000000000000 --- a/pkgs/build-support/gcc-wrapper-old/utils.sh +++ /dev/null @@ -1,26 +0,0 @@ -skip () { - if test "$NIX_DEBUG" = "1"; then - echo "skipping impure path $1" >&2 - fi -} - - -# Checks whether a path is impure. E.g., `/lib/foo.so' is impure, but -# `/nix/store/.../lib/foo.so' isn't. -badPath() { - local p=$1 - - # Relative paths are okay (since they're presumably relative to - # the temporary build directory). - if test "${p:0:1}" != "/"; then return 1; fi - - @extraPathTests@ - - # Otherwise, the path should refer to the store or some temporary - # directory (including the build directory). - test \ - "$p" != "/dev/null" -a \ - "${p:0:${#NIX_STORE}}" != "$NIX_STORE" -a \ - "${p:0:4}" != "/tmp" -a \ - "${p:0:${#NIX_BUILD_TOP}}" != "$NIX_BUILD_TOP" -} diff --git a/pkgs/build-support/kernel/modules-closure.nix b/pkgs/build-support/kernel/modules-closure.nix index a527770adcd7..d82e279799ba 100644 --- a/pkgs/build-support/kernel/modules-closure.nix +++ b/pkgs/build-support/kernel/modules-closure.nix @@ -9,7 +9,7 @@ stdenvNoCC.mkDerivation { name = kernel.name + "-shrunk"; builder = ./modules-closure.sh; - buildInputs = [ nukeReferences kmod ]; + nativeBuildInputs = [ nukeReferences kmod ]; inherit kernel firmware rootModules allowMissing; allowedReferences = ["out"]; } diff --git a/pkgs/data/misc/cacert/default.nix b/pkgs/data/misc/cacert/default.nix index 91af84c42245..23875b985ba9 100644 --- a/pkgs/data/misc/cacert/default.nix +++ b/pkgs/data/misc/cacert/default.nix @@ -20,6 +20,8 @@ stdenv.mkDerivation rec { src = nss.src; + outputs = [ "out" "unbundled" ]; + nativeBuildInputs = [ python ]; configurePhase = '' @@ -50,6 +52,10 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -pv $out/etc/ssl/certs cp -v ca-bundle.crt $out/etc/ssl/certs + # install individual certs in unbundled output + mkdir -pv $unbundled/etc/ssl/certs + cp -v *.crt $unbundled/etc/ssl/certs + rm -f $unbundled/etc/ssl/certs/ca-bundle.crt # not wanted in unbundled ''; setupHook = ./setup-hook.sh; diff --git a/pkgs/data/misc/poppler-data/default.nix b/pkgs/data/misc/poppler-data/default.nix index f0f6505cb247..5c8e0970518b 100644 --- a/pkgs/data/misc/poppler-data/default.nix +++ b/pkgs/data/misc/poppler-data/default.nix @@ -1,18 +1,14 @@ -{ fetchurl, stdenv }: +{ fetchurl, stdenv, cmake, ninja }: stdenv.mkDerivation rec { - name = "poppler-data-0.4.7"; + name = "poppler-data-0.4.8"; src = fetchurl { url = "http://poppler.freedesktop.org/${name}.tar.gz"; - sha256 = "1pm7wg6xqj4sppb5az4pa7psfdk4yxxkw52j85bm9fksibcb0lp7"; + sha256 = "0wi8yyynladny51r4q53z7ygh7y491ayp8nqqv6wqqzjc60s35hh"; }; - postPatch = '' - sed -i 's,$(datadir)/pkgconfig,$(prefix)/lib/pkgconfig,g' Makefile - ''; - - installFlags = [ "prefix=$(out)" ]; + nativeBuildInputs = [ cmake ninja ]; meta = with stdenv.lib; { homepage = https://poppler.freedesktop.org/; diff --git a/pkgs/data/misc/tzdata/default.nix b/pkgs/data/misc/tzdata/default.nix index ada2ed997dad..6c8fd6229a3f 100644 --- a/pkgs/data/misc/tzdata/default.nix +++ b/pkgs/data/misc/tzdata/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, buildPackages }: stdenv.mkDerivation rec { name = "tzdata-${version}"; @@ -28,8 +28,23 @@ stdenv.mkDerivation rec { "MANDIR=$(man)/share/man" "AWK=awk" "CFLAGS=-DHAVE_LINK=0" + "cc=${stdenv.cc.targetPrefix}cc" + "AR=${stdenv.cc.targetPrefix}ar" ]; + depsBuildBuild = [ buildPackages.stdenv.cc ]; + + installFlags = [ "ZIC=./zic-native" ]; + + preInstall = '' + mv zic.o zic.o.orig + mv zic zic.orig + make $makeFlags cc=cc AR=ar zic + mv zic zic-native + mv zic.o.orig zic.o + mv zic.orig zic + ''; + postInstall = '' rm $out/share/zoneinfo-posix diff --git a/pkgs/development/compilers/gcc/4.5/default.nix b/pkgs/development/compilers/gcc/4.5/default.nix deleted file mode 100644 index c63867a1d2db..000000000000 --- a/pkgs/development/compilers/gcc/4.5/default.nix +++ /dev/null @@ -1,472 +0,0 @@ -{ stdenv, targetPackages, fetchurl, noSysDirs -, langC ? true, langCC ? true, langFortran ? false -, langJava ? false -, langAda ? false -, langVhdl ? false -, profiledCompiler ? false -, staticCompiler ? false -, enableShared ? true -, texinfo ? null -, perl ? null # optional, for texi2pod (then pod2man); required for Java -, gmp, mpfr, libmpc, gettext, which -, libelf # optional, for link-time optimizations (LTO) -, ppl ? null, cloogppl ? null # optional, for the Graphite optimization framework -, zlib ? null, boehmgc ? null -, zip ? null, unzip ? null, pkgconfig ? null, gtk2 ? null, libart_lgpl ? null -, libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null -, libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null -, libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null -, gnatboot ? null -, enableMultilib ? false -, name ? "gcc" -, libcCross ? null -, crossStageStatic ? false -, gnat ? null -, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd -, stripped ? true -, buildPlatform, hostPlatform, targetPlatform -, buildPackages -}: - -assert langJava -> zip != null && unzip != null - && zlib != null && boehmgc != null - && perl != null; # for `--enable-java-home' -assert langAda -> gnatboot != null; -assert langVhdl -> gnat != null; - -# LTO needs libelf and zlib. -assert libelf != null -> zlib != null; - -with stdenv.lib; -with builtins; - -let version = "4.5.4"; - javaEcj = fetchurl { - # The `$(top_srcdir)/ecj.jar' file is automatically picked up at - # `configure' time. - - # XXX: Eventually we might want to take it from upstream. - url = "ftp://sourceware.org/pub/java/ecj-4.3.jar"; - sha256 = "0jz7hvc0s6iydmhgh5h2m15yza7p2rlss2vkif30vm9y77m97qcx"; - }; - - # Antlr (optional) allows the Java `gjdoc' tool to be built. We want a - # binary distribution here to allow the whole chain to be bootstrapped. - javaAntlr = fetchurl { - url = http://www.antlr.org/download/antlr-3.1.3.jar; - sha256 = "1f41j0y4kjydl71lqlvr73yagrs2jsg1fjymzjz66mjy7al5lh09"; - }; - - xlibs = [ - libX11 libXt libSM libICE libXtst libXrender libXrandr libXi - xproto renderproto xextproto inputproto randrproto - ]; - - javaAwtGtk = langJava && gtk2 != null; - - /* Platform flags */ - platformFlags = let - gccArch = targetPlatform.platform.gcc.arch or null; - gccCpu = targetPlatform.platform.gcc.cpu or null; - gccAbi = targetPlatform.platform.gcc.abi or null; - gccFpu = targetPlatform.platform.gcc.fpu or null; - gccFloat = targetPlatform.platform.gcc.float or null; - gccMode = targetPlatform.platform.gcc.mode or null; - in - optional (gccArch != null) "--with-arch=${gccArch}" ++ - optional (gccCpu != null) "--with-cpu=${gccCpu}" ++ - optional (gccAbi != null) "--with-abi=${gccAbi}" ++ - optional (gccFpu != null) "--with-fpu=${gccFpu}" ++ - optional (gccFloat != null) "--with-float=${gccFloat}" ++ - optional (gccMode != null) "--with-mode=${gccMode}"; - - /* Cross-gcc settings */ - crossMingw = (targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt"); - - crossConfigureFlags = - # Ensure that -print-prog-name is able to find the correct programs. - [ "--with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as" - "--with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" ] ++ - (if crossMingw && crossStageStatic then [ - "--with-headers=${libcCross}/include" - "--with-gcc" - "--with-gnu-as" - "--with-gnu-ld" - "--with-gnu-ld" - "--disable-shared" - "--disable-nls" - "--disable-debug" - "--enable-sjlj-exceptions" - "--enable-threads=win32" - "--disable-win32-registry" - ] else if crossStageStatic then [ - "--disable-libssp" - "--disable-nls" - "--without-headers" - "--disable-threads" - "--disable-libmudflap" - "--disable-libgomp" - "--disable-shared" - "--disable-decimal-float" # libdecnumber requires libc - ] else [ - "--with-headers=${libcCross}/include" - "--enable-__cxa_atexit" - "--enable-long-long" - ] ++ - (if crossMingw then [ - "--enable-threads=win32" - "--enable-sjlj-exceptions" - "--enable-hash-synchronization" - "--enable-version-specific-runtime-libs" - "--enable-libssp" - "--disable-nls" - "--with-dwarf2" - ] else [ - "--enable-threads=posix" - "--enable-nls" - "--disable-decimal-float" # No final libdecnumber (it may work only in 386) - ])); - stageNameAddon = if crossStageStatic then "-stage-static" else - "-stage-final"; - crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else ""; - -in - -# We need all these X libraries when building AWT with GTK+. -assert gtk2 != null -> (filter (x: x == null) xlibs) == []; - -stdenv.mkDerivation ({ - name = "${name}-${version}" + crossNameAddon; - - builder = ../builder.sh; - - src = (import ./sources.nix) { - inherit fetchurl optional version; - inherit langC langCC langFortran langJava langAda; - }; - - hardeningDisable = [ "format" ] ++ optional (name != "gnat") "all"; - - outputs = [ "out" "man" "info" ] - ++ optional (!(hostPlatform.is64bit && langAda)) "lib"; - - setOutputFlags = false; - NIX_NO_SELF_RPATH = true; - - libc_dev = stdenv.cc.libc_dev; - - patches = - [ ] - ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch - ++ optional noSysDirs ./no-sys-dirs.patch - # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its - # target libraries and tools. - ++ optional langAda ../gnat-cflags.patch - ++ optional langVhdl ./ghdl-ortho-cflags.patch - ++ [ ../struct-ucontext-4.5.patch ] # glibc-2.26 - ; - - postPatch = - if (stdenv.system == "i586-pc-gnu" - || (libcCross != null # e.g., building `gcc.crossDrv' - && libcCross ? crossConfig - && libcCross.crossConfig == "i586-pc-gnu") - || (targetPlatform != hostPlatform && targetPlatform.config == "i586-pc-gnu" - && libcCross != null)) - then - # On GNU/Hurd glibc refers to Hurd & Mach headers and libpthread is not - # in glibc, so add the right `-I' flags to the default spec string. - assert libcCross != null -> libpthreadCross != null; - let - libc = if libcCross != null then libcCross else stdenv.glibc; - gnu_h = "gcc/config/gnu.h"; - i386_gnu_h = "gcc/config/i386/gnu.h"; - extraCPPDeps = - libc.propagatedBuildInputs - ++ stdenv.lib.optional (libpthreadCross != null) libpthreadCross - ++ stdenv.lib.optional (libpthread != null) libpthread; - extraCPPSpec = - concatStrings (intersperse " " - (map (x: "-I${x.dev or x}/include") extraCPPDeps)); - extraLibSpec = - if libpthreadCross != null - then "-L${libpthreadCross}/lib ${libpthreadCross.TARGET_LDFLAGS}" - else "-L${libpthread}/lib"; - in - '' echo "augmenting \`CPP_SPEC' in \`${i386_gnu_h}' with \`${extraCPPSpec}'..." - sed -i "${i386_gnu_h}" \ - -es'|CPP_SPEC *"\(.*\)$|CPP_SPEC "${extraCPPSpec} \1|g' - - echo "augmenting \`LIB_SPEC' in \`${gnu_h}' with \`${extraLibSpec}'..." - sed -i "${gnu_h}" \ - -es'|LIB_SPEC *"\(.*\)$|LIB_SPEC "${extraLibSpec} \1|g' - - echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc.dev}/include'..." - sed -i "${gnu_h}" \ - -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc.dev}/include"|g' - sed -i gcc/config/t-gnu \ - -es'|NATIVE_SYSTEM_HEADER_DIR.*$|NATIVE_SYSTEM_HEADER_DIR = ${libc.dev}/include|g' - '' - else if targetPlatform != hostPlatform || stdenv.cc.libc != null then - # On NixOS, use the right path to the dynamic linker instead of - # `/lib/ld*.so'. - let - libc = if libcCross != null then libcCross else stdenv.cc.libc; - in - '' echo "fixing the \`GLIBC_DYNAMIC_LINKER' and \`UCLIBC_DYNAMIC_LINKER' macros..." - for header in "gcc/config/"*-gnu.h "gcc/config/"*"/"*.h - do - grep -q LIBC_DYNAMIC_LINKER "$header" || continue - echo " fixing \`$header'..." - sed -i "$header" \ - -e 's|define[[:blank:]]*\([UCG]\+\)LIBC_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define \1LIBC_DYNAMIC_LINKER\2 "${libc.out}\3"|g' - done - '' - else null; - - # TODO(@Ericson2314): Make passthru instead. Weird to avoid mass rebuild, - crossStageStatic = targetPlatform == hostPlatform || crossStageStatic; - inherit noSysDirs profiledCompiler staticCompiler langJava - libcCross crossMingw; - - depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ texinfo which gettext ] - ++ optional (perl != null) perl; - - # For building runtime libs - depsBuildTarget = - if hostPlatform == buildPlatform then [ - targetPackages.stdenv.cc.bintools # newly-built gcc will be used - ] else assert targetPlatform == hostPlatform; [ # build != host == target - stdenv.cc - ]; - - buildInputs = [ - gmp mpfr libmpc libelf - targetPackages.stdenv.cc.bintools # For linking code at run-time - ] ++ (optional (ppl != null) ppl) - ++ (optional (cloogppl != null) cloogppl) - ++ (optional (zlib != null) zlib) - ++ (optional langJava boehmgc) - ++ (optionals langJava [zip unzip]) - ++ (optionals javaAwtGtk ([gtk2 pkgconfig libart_lgpl] ++ xlibs)) - ++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools]) - ++ (optionals langAda [gnatboot]) - ++ (optionals langVhdl [gnat]) - ; - - # TODO(@Ericson2314): Always pass "--target" and always prefix. - configurePlatforms = - # TODO(@Ericson2314): Figure out what's going wrong with Arm - if buildPlatform == hostPlatform && hostPlatform == targetPlatform && targetPlatform.isArm - then [] - else [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; - - configureFlags = - # Basic dependencies - [ - "--with-gmp=${gmp.dev}" - "--with-mpfr=${mpfr.dev}" - "--with-mpc=${libmpc}" - ] ++ - optional (libelf != null) "--with-libelf=${libelf}" ++ - optional (!(crossMingw && crossStageStatic)) - "--with-native-system-header-dir=${getDev stdenv.cc.libc}/include" ++ - - # Basic configuration - [ - "--disable-libstdcxx-pch" - "--without-included-gettext" - "--with-system-zlib" - "--enable-languages=${ - concatStrings (intersperse "," - ( optional langC "c" - ++ optional langCC "c++" - ++ optional langFortran "fortran" - ++ optional langJava "java" - ++ optional langAda "ada" - ++ optional langVhdl "vhdl" - ) - ) - }" - ] ++ - optional (!enableMultilib) "--disable-multilib" ++ - optional (!enableShared) "--disable-shared" ++ - - # Optional features - optional (cloogppl != null) "--with-cloog=${cloogppl}" ++ - optional (ppl != null) "--with-ppl=${ppl}" ++ - - # Java options - optionals langJava [ - "--with-ecj-jar=${javaEcj}" - - # Follow Sun's layout for the convenience of IcedTea/OpenJDK. See - # . - "--enable-java-home" - "--with-java-home=\${prefix}/lib/jvm/jre" - ] ++ - optional javaAwtGtk "--enable-java-awt=gtk" ++ - optional (langJava && javaAntlr != null) "--with-antlr-jar=${javaAntlr}" ++ - - # Ada - optional langAda "--enable-libada" ++ - - platformFlags ++ - optional (targetPlatform != hostPlatform) crossConfigureFlags ++ - - # Platform-specific flags - optional (targetPlatform == hostPlatform && targetPlatform.isi686) "--with-arch=i686" ++ - # Trick that should be taken out once we have a mipsel-linux not loongson2f - optional (targetPlatform == hostPlatform && stdenv.system == "mipsel-linux") "--with-arch=loongson2f" - ; - - targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null; - - /* For cross-built gcc (build != host == target) */ - crossAttrs = { - dontStrip = true; - }; - - # Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find the - # library headers and binaries, regarless of the language being compiled. - # - # Note: When building the Java AWT GTK+ peer, the build system doesn't honor - # `--with-gmp' et al., e.g., when building - # `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just add - # them to $CPATH and $LIBRARY_PATH in this case. - # - # Likewise, the LTO code doesn't find zlib. - # - # Cross-compiling, we need gcc not to read ./specs in order to build the g++ - # compiler (after the specs for the cross-gcc are created). Having - # LIBRARY_PATH= makes gcc read the specs from ., and the build breaks. - - CPATH = optionals (targetPlatform == hostPlatform) (makeSearchPathOutput "dev" "include" ([] - ++ optional (zlib != null) zlib - ++ optional langJava boehmgc - ++ optionals javaAwtGtk xlibs - ++ optionals javaAwtGtk [ gmp mpfr ] - ++ optional (libpthread != null) libpthread - ++ optional (libpthreadCross != null) libpthreadCross - - # On GNU/Hurd glibc refers to Mach & Hurd - # headers. - ++ optionals (libcCross != null && libcCross ? propagatedBuildInputs) - libcCross.propagatedBuildInputs - )); - - LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath ([] - ++ optional (zlib != null) zlib - ++ optional langJava boehmgc - ++ optionals javaAwtGtk xlibs - ++ optionals javaAwtGtk [ gmp mpfr ] - ++ optional (libpthread != null) libpthread) - ); - - EXTRA_TARGET_FLAGS = optionals - (targetPlatform != hostPlatform && libcCross != null) - ([ - "-idirafter ${libcCross.dev}/include" - ] ++ optionals (! crossStageStatic) [ - "-B${libcCross.out}/lib" - ]); - - EXTRA_TARGET_LDFLAGS = optionals - (targetPlatform != hostPlatform && libcCross != null) - ([ - "-Wl,-L${libcCross.out}/lib" - ] ++ (if crossStageStatic then [ - "-B${libcCross.out}/lib" - ] else [ - "-Wl,-rpath,${libcCross.out}/lib" - "-Wl,-rpath-link,${libcCross.out}/lib" - ]) ++ optionals (libpthreadCross != null) [ - "-L${libpthreadCross}/lib" - "-Wl,${libpthreadCross.TARGET_LDFLAGS}" - ]); - - passthru = { - inherit langC langCC langAda langFortran langVhdl enableMultilib version; - isGNU = true; - hardeningUnsupportedFlags = [ "stackprotector" ]; - }; - - enableParallelBuilding = !langAda; - - meta = { - homepage = http://gcc.gnu.org/; - license = stdenv.lib.licenses.gpl3Plus; # runtime support libraries are typically LGPLv3+ - description = "GNU Compiler Collection, version ${version}" - + (if stripped then "" else " (with debugging info)"); - - longDescription = '' - The GNU Compiler Collection includes compiler front ends for C, C++, - Objective-C, Fortran, OpenMP for C/C++/Fortran, Java, and Ada, as well - as libraries for these languages (libstdc++, libgcj, libgomp,...). - - GCC development is a part of the GNU Project, aiming to improve the - compiler used in the GNU system including the GNU/Linux variant. - ''; - - maintainers = [ - stdenv.lib.maintainers.viric - ]; - - # Volunteers needed for the {Cyg,Dar}win ports of *PPL. - # gnatboot is not available out of linux platforms, so we disable the darwin build - # for the gnat (ada compiler). - platforms = stdenv.lib.platforms.linux ++ optionals (langAda == false) [ "i686-darwin" ]; - }; -} - -// optionalAttrs (targetPlatform != hostPlatform || libcCross != null) { - # `builder.sh' sets $CPP, which leads configure to use "gcc -E" instead of, - # say, "i586-pc-gnu-gcc -E" when building `gcc.crossDrv'. - # FIXME: Fix `builder.sh' directly in the next stdenv-update. - postUnpack = "unset CPP"; -} - -// optionalAttrs (targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt" && crossStageStatic) { - makeFlags = [ "all-gcc" "all-target-libgcc" ]; - installTargets = "install-gcc install-target-libgcc"; -} - -# GCC 4.5.2 doesn't support the `install-strip' target, so let `stdenv' do -# the stripping by default. -// optionalAttrs (!stripped) { dontStrip = true; } - -// optionalAttrs langVhdl rec { - name = "ghdl-0.29"; - - ghdlSrc = fetchurl { - url = "http://ghdl.free.fr/ghdl-0.29.tar.bz2"; - sha256 = "15mlinr1lwljwll9ampzcfcrk9bk0qpdks1kxlvb70xf9zhh2jva"; - }; - - # Ghdl has some timestamps checks, storing file timestamps in '.cf' files. - # As we will change the timestamps to 1970-01-01 00:00:01, we also set the - # content of that .cf to that value. This way ghdl does not complain on - # the installed object files from the basic libraries (ieee, ...) - postInstallGhdl = '' - pushd $out - find . -name "*.cf" -exec \ - sed 's/[0-9]*\.000" /19700101000001.000" /g' -i {} \; - popd - ''; - - postUnpack = '' - tar xvf ${ghdlSrc} - mv ghdl-*/vhdl gcc*/gcc - rm -Rf ghdl-* - ''; - - meta = { - homepage = http://ghdl.free.fr/; - license = stdenv.lib.licenses.gpl2Plus; - description = "Complete VHDL simulator, using the GCC technology (gcc ${version})"; - maintainers = with stdenv.lib.maintainers; [viric]; - platforms = with stdenv.lib.platforms; linux; - }; - -}) diff --git a/pkgs/development/compilers/gcc/4.5/ghdl-ortho-cflags.patch b/pkgs/development/compilers/gcc/4.5/ghdl-ortho-cflags.patch deleted file mode 100644 index 901534591c8f..000000000000 --- a/pkgs/development/compilers/gcc/4.5/ghdl-ortho-cflags.patch +++ /dev/null @@ -1,111 +0,0 @@ -diff --git a/gcc/vhdl/Make-lang.in b/gcc/vhdl/Make-lang.in -index 8f481df..681ac59 100644 ---- a/gcc/vhdl/Make-lang.in -+++ b/gcc/vhdl/Make-lang.in -@@ -96,7 +96,7 @@ AGCC_GCCOBJ_DIR=../ - AGCC_INC_FLAGS=-I$(AGCC_GCCOBJ_DIR)/gcc -I$(AGCC_GCCSRC_DIR)/include \ - -I$(AGCC_GCCSRC_DIR)/gcc -I$(AGCC_GCCSRC_DIR)/gcc/config \ - -I$(AGCC_GCCSRC_DIR)/libcpp/include --AGCC_CFLAGS=-g -Wall -DIN_GCC $(AGCC_INC_FLAGS) -+AGCC_CFLAGS=-g -Wall -DIN_GCC $(AGCC_INC_FLAGS) $(CFLAGS) $(INCLUDES) - - AGCC_LOCAL_OBJS=ortho-lang.o - -@@ -140,7 +140,7 @@ ghdl$(exeext): force - - # Ghdl libraries. - ghdllib: ghdl$(exeext) $(GCC_PASSES) force -- $(MAKE_IN_VHDL) GRT_FLAGS="-O -g" ghdllib -+ $(MAKE_IN_VHDL) GRT_FLAGS="-O -g $(CFLAGS)" ghdllib - - # Build hooks: - -diff --git a/gcc/vhdl/Makefile.in b/gcc/vhdl/Makefile.in -index d754c6c..07abc4a 100644 ---- a/gcc/vhdl/Makefile.in -+++ b/gcc/vhdl/Makefile.in -@@ -80,7 +80,8 @@ T_CPPFLAGS = - X_ADAFLAGS = - T_ADAFLAGS = - --ADAC = $(CC) -+# Never use the bootstrapped compiler, as it may not be built for ada -+ADAC = gcc - - ECHO = echo - CHMOD = chmod -diff --git a/gcc/vhdl/ortho-lang.c b/gcc/vhdl/ortho-lang.c -index 84aeb92..8eddd42 100644 ---- a/gcc/vhdl/ortho-lang.c -+++ b/gcc/vhdl/ortho-lang.c -@@ -16,6 +16,7 @@ - #include "options.h" - #include "real.h" --#include "tree-gimple.h" -+#include "gimple.h" -+#include "tree.h" - #include "function.h" - #include "cgraph.h" - #include "target.h" -@@ -680,38 +681,10 @@ type_for_mode (enum machine_mode mode, int unsignedp) - - const struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER; - --/* Tree code classes. */ -- --#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) TYPE, -- --const enum tree_code_class tree_code_type[] = { --#include "tree.def" -- 'x' --}; --#undef DEFTREECODE -- --/* Table indexed by tree code giving number of expression -- operands beyond the fixed part of the node structure. -- Not used for types or decls. */ -- --#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) LENGTH, -- --const unsigned char tree_code_length[] = { --#include "tree.def" -- 0 --}; --#undef DEFTREECODE -- --#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) NAME, --const char * const tree_code_name[] = { --#include "tree.def" -- "@@dummy" --}; --#undef DEFTREECODE - - union lang_tree_node - GTY((desc ("0"), -- chain_next ("(union lang_tree_node *) GENERIC_NEXT (&%h.generic)"))) -+ chain_next ("(union lang_tree_node *) TREE_CHAIN (&%h.generic)"))) - { - union tree_node GTY ((tag ("0"))) generic; - }; -@@ -1162,7 +1135,7 @@ new_access_type (tree dtype) - res = make_node (POINTER_TYPE); - TREE_TYPE (res) = NULL_TREE; - /* Seems necessary. */ -- TYPE_MODE (res) = Pmode; -+ SET_TYPE_MODE (res, Pmode); - layout_type (res); - return res; - } -diff --git a/gcc/vhdl/Make-lang.in b/gcc/vhdl/Make-lang.in -index e201f64..f36fb97 100644 ---- a/gcc/vhdl/Make-lang.in -+++ b/gcc/vhdl/Make-lang.in -@@ -132,7 +132,7 @@ ghdl1$(exeext): $(AGCC_OBJS) $(AGCC_DEPS) force - -cargs $(CFLAGS) $(GHDL_ADAFLAGS) - $(GNATMAKE) -o $@ -aI$(srcdir)/vhdl -aOvhdl ortho_gcc-main \ - -bargs -E -cargs $(CFLAGS) $(GHDL_ADAFLAGS) \ -- -largs $(AGCC_OBJS) $(LIBS) $(GMPLIBS) -+ -largs $(AGCC_OBJS) $(LIBS) $(GMPLIBS) $(CLOOGLIBS) $(PPLLIBS) - - # The driver for ghdl. - ghdl$(exeext): force diff --git a/pkgs/development/compilers/gcc/4.5/no-sys-dirs.patch b/pkgs/development/compilers/gcc/4.5/no-sys-dirs.patch deleted file mode 100644 index 8128fa87da5f..000000000000 --- a/pkgs/development/compilers/gcc/4.5/no-sys-dirs.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff -ru gcc-4.3.1-orig/gcc/cppdefault.c gcc-4.3.1/gcc/cppdefault.c ---- gcc-4.3.1-orig/gcc/cppdefault.c 2007-07-26 10:37:01.000000000 +0200 -+++ gcc-4.3.1/gcc/cppdefault.c 2008-06-25 17:48:23.000000000 +0200 -@@ -41,6 +41,10 @@ - # undef CROSS_INCLUDE_DIR - #endif - -+#undef LOCAL_INCLUDE_DIR -+#undef SYSTEM_INCLUDE_DIR -+#undef STANDARD_INCLUDE_DIR -+ - const struct default_include cpp_include_defaults[] - #ifdef INCLUDE_DEFAULTS - = INCLUDE_DEFAULTS; -diff -ru gcc-4.3.1-orig/gcc/gcc.c gcc-4.3.1/gcc/gcc.c ---- gcc-4.3.1-orig/gcc/gcc.c 2008-03-02 23:55:19.000000000 +0100 -+++ gcc-4.3.1/gcc/gcc.c 2008-06-25 17:52:53.000000000 +0200 -@@ -1478,10 +1478,10 @@ - /* Default prefixes to attach to command names. */ - - #ifndef STANDARD_STARTFILE_PREFIX_1 --#define STANDARD_STARTFILE_PREFIX_1 "/lib/" -+#define STANDARD_STARTFILE_PREFIX_1 "" - #endif - #ifndef STANDARD_STARTFILE_PREFIX_2 --#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/" -+#define STANDARD_STARTFILE_PREFIX_2 "" - #endif - - #ifdef CROSS_DIRECTORY_STRUCTURE /* Don't use these prefixes for a cross compiler. */ ---- gcc-4.3.1-orig/gcc/Makefile.in 2008-05-11 20:54:15.000000000 +0200 -+++ gcc-4.3.1/gcc/Makefile.in 2008-06-25 17:48:23.000000000 +0200 -@@ -378,7 +378,11 @@ - MD5_H = $(srcdir)/../include/md5.h - - # Default native SYSTEM_HEADER_DIR, to be overridden by targets. --NATIVE_SYSTEM_HEADER_DIR = /usr/include -+# Nix: we override NATIVE_SYSTEM_HEADER_DIR in order to prevent -+# `fixinc' from fixing header files in /usr/include. However, -+# NATIVE_SYSTEM_HEADER_DIR must point to an existing directory, so set -+# it to some dummy directory. -+NATIVE_SYSTEM_HEADER_DIR = $(NIX_FIXINC_DUMMY) - # Default cross SYSTEM_HEADER_DIR, to be overridden by targets. - CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@ - -@@ -3277,7 +3281,7 @@ - -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \ - -DGPLUSPLUS_TOOL_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/$(target_noncanonical)\" \ - -DGPLUSPLUS_BACKWARD_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/backward\" \ -- -DLOCAL_INCLUDE_DIR=\"$(local_includedir)\" \ -+ -DLOCAL_INCLUDE_DIR=\"/no-such-dir\" \ - -DCROSS_INCLUDE_DIR=\"$(CROSS_SYSTEM_HEADER_DIR)\" \ - -DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\" \ - -DPREFIX=\"$(prefix)/\" \ diff --git a/pkgs/development/compilers/gcc/4.5/sources.nix b/pkgs/development/compilers/gcc/4.5/sources.nix deleted file mode 100644 index 71e1e483cacd..000000000000 --- a/pkgs/development/compilers/gcc/4.5/sources.nix +++ /dev/null @@ -1,26 +0,0 @@ -/* Automatically generated by `update-gcc.sh', do not edit. - For GCC 4.5.4. */ -{ fetchurl, optional, version, langC, langCC, langFortran, langJava, langAda }: - -assert version == "4.5.4"; -optional /* langC */ true (fetchurl { - url = "mirror://gcc/releases/gcc-${version}/gcc-core-${version}.tar.bz2"; - sha256 = "894d90f72cbfc8707e330fa2b1847c443fa97cf9b7f26e86be554709510e624a"; -}) ++ -optional langCC (fetchurl { - url = "mirror://gcc/releases/gcc-${version}/gcc-g++-${version}.tar.bz2"; - sha256 = "f7e3bab5e22713fbce46c2acb35fb727748473a34a942ce00393d75e1b09b6b9"; -}) ++ -optional langFortran (fetchurl { - url = "mirror://gcc/releases/gcc-${version}/gcc-fortran-${version}.tar.bz2"; - sha256 = "cf0803b4f5334a526dd8da1b2171d6724f50c17346b2d5c509b6abc973d2ef34"; -}) ++ -optional langJava (fetchurl { - url = "mirror://gcc/releases/gcc-${version}/gcc-java-${version}.tar.bz2"; - sha256 = "c98398da6f8c4c7d1758e291089d99853fdd27112cd3f146b7a8c26e6d762a23"; -}) ++ -optional langAda (fetchurl { - url = "mirror://gcc/releases/gcc-${version}/gcc-ada-${version}.tar.bz2"; - sha256 = "8abddae15be65572b4d639bd9818057019bb4a45da4decfc6451511c8d580c5e"; -}) ++ -[] diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix index 36adfd075df2..0a6ea59e5ac4 100644 --- a/pkgs/development/compilers/gcc/4.8/default.nix +++ b/pkgs/development/compilers/gcc/4.8/default.nix @@ -3,8 +3,6 @@ , langObjC ? targetPlatform.isDarwin , langObjCpp ? targetPlatform.isDarwin , langJava ? false -, langAda ? false -, langVhdl ? false , langGo ? false , profiledCompiler ? false , staticCompiler ? false @@ -21,13 +19,11 @@ , libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null , libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null , x11Support ? langJava -, gnatboot ? null , enableMultilib ? false , enablePlugin ? hostPlatform == buildPlatform # Whether to support user-supplied plug-ins , name ? "gcc" , libcCross ? null , crossStageStatic ? false -, gnat ? null , libpthread ? null, libpthreadCross ? null # required for GNU/Hurd , stripped ? true , gnused ? null @@ -39,8 +35,6 @@ assert langJava -> zip != null && unzip != null && zlib != null && boehmgc != null && perl != null; # for `--enable-java-home' -assert langAda -> gnatboot != null; -assert langVhdl -> gnat != null; # We enable the isl cloog backend. assert cloog != null -> isl != null; @@ -68,9 +62,6 @@ let version = "4.8.5"; ++ optional enableParallelBuilding ../parallel-bconfig.patch ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch ++ optional noSysDirs ../no-sys-dirs.patch - # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its - # target libraries and tools. - ++ optional langAda ../gnat-cflags.patch ++ optional langFortran ../gfortran-driving.patch ++ optional hostPlatform.isDarwin ../gfortran-darwin-NXConstStr.patch ++ [(fetchpatch { @@ -279,8 +270,6 @@ stdenv.mkDerivation ({ ++ (optionals langJava [ boehmgc zip unzip ]) ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs)) ++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools]) - ++ (optionals langAda [gnatboot]) - ++ (optionals langVhdl [gnat]) # The builder relies on GNU sed (for instance, Darwin's `sed' fails with # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. @@ -330,8 +319,6 @@ stdenv.mkDerivation ({ ++ optional langCC "c++" ++ optional langFortran "fortran" ++ optional langJava "java" - ++ optional langAda "ada" - ++ optional langVhdl "vhdl" ++ optional langGo "go" ++ optional langObjC "objc" ++ optional langObjCpp "obj-c++" @@ -369,9 +356,6 @@ stdenv.mkDerivation ({ optional javaAwtGtk "--enable-java-awt=gtk" ++ optional (langJava && javaAntlr != null) "--with-antlr-jar=${javaAntlr}" ++ - # Ada - optional langAda "--enable-libada" ++ - platformFlags ++ optional (targetPlatform != hostPlatform) crossConfigureFlags ++ optional (!bootstrap) "--disable-bootstrap" ++ @@ -464,7 +448,7 @@ stdenv.mkDerivation ({ ]); passthru = { - inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo version; + inherit langC langCC langObjC langObjCpp langFortran langGo version; isGNU = true; hardeningUnsupportedFlags = [ "stackprotector" ]; }; @@ -490,13 +474,11 @@ stdenv.mkDerivation ({ maintainers = with stdenv.lib.maintainers; [ viric peti ]; - # gnatboot is not available out of linux platforms, so we disable the darwin build - # for the gnat (ada compiler). platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.freebsd ++ stdenv.lib.platforms.illumos ++ - optionals (langAda == false) stdenv.lib.platforms.darwin; + stdenv.lib.platforms.darwin; }; } diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix index c436da678fd9..5dfdbd02cbfd 100644 --- a/pkgs/development/compilers/gcc/4.9/default.nix +++ b/pkgs/development/compilers/gcc/4.9/default.nix @@ -3,8 +3,6 @@ , langObjC ? targetPlatform.isDarwin , langObjCpp ? targetPlatform.isDarwin , langJava ? false -, langAda ? false -, langVhdl ? false , langGo ? false , profiledCompiler ? false , staticCompiler ? false @@ -21,13 +19,11 @@ , libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null , libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null , x11Support ? langJava -, gnatboot ? null , enableMultilib ? false , enablePlugin ? hostPlatform == buildPlatform # Whether to support user-supplied plug-ins , name ? "gcc" , libcCross ? null , crossStageStatic ? false -, gnat ? null , libpthread ? null, libpthreadCross ? null # required for GNU/Hurd , stripped ? true , gnused ? null @@ -39,8 +35,6 @@ assert langJava -> zip != null && unzip != null && zlib != null && boehmgc != null && perl != null; # for `--enable-java-home' -assert langAda -> gnatboot != null; -assert langVhdl -> gnat != null; # We enable the isl cloog backend. assert cloog != null -> isl != null; @@ -69,9 +63,6 @@ let version = "4.9.4"; ++ optionals enableParallelBuilding [ ../parallel-bconfig.patch ./parallel-strsignal.patch ] ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch ++ optional noSysDirs ../no-sys-dirs.patch - # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its - # target libraries and tools. - ++ optional langAda ../gnat-cflags.patch ++ optional langFortran ../gfortran-driving.patch ++ [ ../struct-ucontext.patch ../struct-sigaltstack-4.9.patch ] # glibc-2.26 ; @@ -284,8 +275,6 @@ stdenv.mkDerivation ({ ++ (optionals langJava [ boehmgc zip unzip ]) ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs)) ++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools]) - ++ (optionals langAda [gnatboot]) - ++ (optionals langVhdl [gnat]) # The builder relies on GNU sed (for instance, Darwin's `sed' fails with # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. @@ -338,8 +327,6 @@ stdenv.mkDerivation ({ ++ optional langCC "c++" ++ optional langFortran "fortran" ++ optional langJava "java" - ++ optional langAda "ada" - ++ optional langVhdl "vhdl" ++ optional langGo "go" ++ optional langObjC "objc" ++ optional langObjCpp "obj-c++" @@ -377,9 +364,6 @@ stdenv.mkDerivation ({ optional javaAwtGtk "--enable-java-awt=gtk" ++ optional (langJava && javaAntlr != null) "--with-antlr-jar=${javaAntlr}" ++ - # Ada - optional langAda "--enable-libada" ++ - platformFlags ++ optional (targetPlatform != hostPlatform) crossConfigureFlags ++ optional (!bootstrap) "--disable-bootstrap" ++ @@ -472,7 +456,7 @@ stdenv.mkDerivation ({ ]); passthru = - { inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo version; isGNU = true; }; + { inherit langC langCC langObjC langObjCpp langFortran langGo version; isGNU = true; }; inherit enableParallelBuilding enableMultilib; @@ -495,13 +479,11 @@ stdenv.mkDerivation ({ maintainers = with stdenv.lib.maintainers; [ viric peti ]; - # gnatboot is not available out of linux platforms, so we disable the darwin build - # for the gnat (ada compiler). platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.freebsd ++ stdenv.lib.platforms.illumos ++ - optionals (langAda == false) stdenv.lib.platforms.darwin; + stdenv.lib.platforms.darwin; }; } diff --git a/pkgs/development/compilers/gcc/5/default.nix b/pkgs/development/compilers/gcc/5/default.nix index b9ca8696d4e3..e42bb736676d 100644 --- a/pkgs/development/compilers/gcc/5/default.nix +++ b/pkgs/development/compilers/gcc/5/default.nix @@ -3,8 +3,6 @@ , langObjC ? targetPlatform.isDarwin , langObjCpp ? targetPlatform.isDarwin , langJava ? false -, langAda ? false -, langVhdl ? false , langGo ? false , profiledCompiler ? false , staticCompiler ? false @@ -21,13 +19,11 @@ , libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null , libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null , x11Support ? langJava -, gnatboot ? null , enableMultilib ? false , enablePlugin ? hostPlatform == buildPlatform # Whether to support user-supplied plug-ins , name ? "gcc" , libcCross ? null , crossStageStatic ? false -, gnat ? null , libpthread ? null, libpthreadCross ? null # required for GNU/Hurd , stripped ? true , gnused ? null @@ -40,8 +36,6 @@ assert langJava -> zip != null && unzip != null && zlib != null && boehmgc != null && perl != null; # for `--enable-java-home' -assert langAda -> gnatboot != null; -assert langVhdl -> gnat != null; # LTO needs libelf and zlib. assert libelf != null -> zlib != null; @@ -67,9 +61,6 @@ let version = "5.5.0"; [ ../use-source-date-epoch.patch ] ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch ++ optional noSysDirs ../no-sys-dirs.patch - # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its - # target libraries and tools. - ++ optional langAda ../gnat-cflags.patch ++ optional langFortran ../gfortran-driving.patch # This could be applied unconditionally but I don't want to cause a full @@ -306,8 +297,6 @@ stdenv.mkDerivation ({ ++ (optionals langJava [ boehmgc zip unzip ]) ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs)) ++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools]) - ++ (optionals langAda [gnatboot]) - ++ (optionals langVhdl [gnat]) # The builder relies on GNU sed (for instance, Darwin's `sed' fails with # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. @@ -359,8 +348,6 @@ stdenv.mkDerivation ({ ++ optional langCC "c++" ++ optional langFortran "fortran" ++ optional langJava "java" - ++ optional langAda "ada" - ++ optional langVhdl "vhdl" ++ optional langGo "go" ++ optional langObjC "objc" ++ optional langObjCpp "obj-c++" @@ -393,9 +380,6 @@ stdenv.mkDerivation ({ optional javaAwtGtk "--enable-java-awt=gtk" ++ optional (langJava && javaAntlr != null) "--with-antlr-jar=${javaAntlr}" ++ - # Ada - optional langAda "--enable-libada" ++ - platformFlags ++ optional (targetPlatform != hostPlatform) crossConfigureFlags ++ optional (!bootstrap) "--disable-bootstrap" ++ @@ -489,7 +473,7 @@ stdenv.mkDerivation ({ ]); passthru = - { inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo version; isGNU = true; }; + { inherit langC langCC langObjC langObjCpp langFortran langGo version; isGNU = true; }; inherit enableParallelBuilding enableMultilib; @@ -512,12 +496,10 @@ stdenv.mkDerivation ({ maintainers = with stdenv.lib.maintainers; [ viric peti ]; - # gnatboot is not available out of linux platforms, so we disable the darwin build - # for the gnat (ada compiler). platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.freebsd ++ - optionals (langAda == false) stdenv.lib.platforms.darwin; + stdenv.lib.platforms.darwin; }; } diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix index df0c1578daed..cf71f51627c9 100644 --- a/pkgs/development/compilers/gcc/6/default.nix +++ b/pkgs/development/compilers/gcc/6/default.nix @@ -3,8 +3,6 @@ , langObjC ? targetPlatform.isDarwin , langObjCpp ? targetPlatform.isDarwin , langJava ? false -, langAda ? false -, langVhdl ? false , langGo ? false , profiledCompiler ? false , staticCompiler ? false @@ -21,13 +19,11 @@ , libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null , libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null , x11Support ? langJava -, gnatboot ? null , enableMultilib ? false , enablePlugin ? hostPlatform == buildPlatform # Whether to support user-supplied plug-ins , name ? "gcc" , libcCross ? null , crossStageStatic ? false -, gnat ? null , libpthread ? null, libpthreadCross ? null # required for GNU/Hurd , stripped ? true , gnused ? null @@ -40,8 +36,6 @@ assert langJava -> zip != null && unzip != null && zlib != null && boehmgc != null && perl != null; # for `--enable-java-home' -assert langAda -> gnatboot != null; -assert langVhdl -> gnat != null; # LTO needs libelf and zlib. assert libelf != null -> zlib != null; @@ -66,9 +60,6 @@ let version = "6.4.0"; [ ../use-source-date-epoch.patch ] ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch ++ optional noSysDirs ../no-sys-dirs.patch - # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its - # target libraries and tools. - ++ optional langAda ../gnat-cflags.patch ++ optional langFortran ../gfortran-driving.patch ++ [ ../struct-ucontext.patch ../struct-sigaltstack.patch ] # glibc-2.26 ++ optional langJava [ ../struct-ucontext-libjava.patch ] # glibc-2.26 @@ -306,8 +297,6 @@ stdenv.mkDerivation ({ ++ (optionals langJava [ boehmgc zip unzip ]) ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs)) ++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools]) - ++ (optionals langAda [gnatboot]) - ++ (optionals langVhdl [gnat]) # The builder relies on GNU sed (for instance, Darwin's `sed' fails with # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. @@ -363,8 +352,6 @@ stdenv.mkDerivation ({ ++ optional langCC "c++" ++ optional langFortran "fortran" ++ optional langJava "java" - ++ optional langAda "ada" - ++ optional langVhdl "vhdl" ++ optional langGo "go" ++ optional langObjC "objc" ++ optional langObjCpp "obj-c++" @@ -397,9 +384,6 @@ stdenv.mkDerivation ({ optional javaAwtGtk "--enable-java-awt=gtk" ++ optional (langJava && javaAntlr != null) "--with-antlr-jar=${javaAntlr}" ++ - # Ada - optional langAda "--enable-libada" ++ - platformFlags ++ optional (targetPlatform != hostPlatform) crossConfigureFlags ++ optional (!bootstrap) "--disable-bootstrap" ++ @@ -492,7 +476,7 @@ stdenv.mkDerivation ({ ]); passthru = - { inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo version; isGNU = true; }; + { inherit langC langCC langObjC langObjCpp langFortran langGo version; isGNU = true; }; inherit enableParallelBuilding enableMultilib; @@ -515,12 +499,10 @@ stdenv.mkDerivation ({ maintainers = with stdenv.lib.maintainers; [ viric peti ]; - # gnatboot is not available out of linux platforms, so we disable the darwin build - # for the gnat (ada compiler). platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.freebsd ++ - optionals (langAda == false) stdenv.lib.platforms.darwin; + stdenv.lib.platforms.darwin; }; } diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix index e8997b1efb06..8e7cd3d3fab8 100644 --- a/pkgs/development/compilers/gcc/7/default.nix +++ b/pkgs/development/compilers/gcc/7/default.nix @@ -3,8 +3,6 @@ , langObjC ? targetPlatform.isDarwin , langObjCpp ? targetPlatform.isDarwin , langJava ? false -, langAda ? false -, langVhdl ? false , langGo ? false , profiledCompiler ? false , staticCompiler ? false @@ -21,13 +19,11 @@ , libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null , libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null , x11Support ? langJava -, gnatboot ? null , enableMultilib ? false , enablePlugin ? hostPlatform == buildPlatform # Whether to support user-supplied plug-ins , name ? "gcc" , libcCross ? null , crossStageStatic ? false -, gnat ? null , libpthread ? null, libpthreadCross ? null # required for GNU/Hurd , stripped ? true , gnused ? null @@ -40,8 +36,6 @@ assert langJava -> zip != null && unzip != null && zlib != null && boehmgc != null && perl != null; # for `--enable-java-home' -assert langAda -> gnatboot != null; -assert langVhdl -> gnat != null; # LTO needs libelf and zlib. assert libelf != null -> zlib != null; @@ -70,10 +64,9 @@ let version = "7.3.0"; url = "https://git.busybox.net/buildroot/plain/package/gcc/7.1.0/0900-remove-selftests.patch?id=11271540bfe6adafbc133caf6b5b902a816f5f02"; sha256 = "0mrvxsdwip2p3l17dscpc1x8vhdsciqw1z5q9i6p5g9yg1cqnmgs"; }) - # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its - # target libraries and tools. - ++ optional langAda ../gnat-cflags.patch - ++ optional langFortran ../gfortran-driving.patch; + ++ optional langFortran ../gfortran-driving.patch + # https://gcc.gnu.org/ml/gcc-patches/2018-02/msg00633.html + ++ optional targetPlatform.isRiscV ./riscv-pthread-reentrant.patch; javaEcj = fetchurl { # The `$(top_srcdir)/ecj.jar' file is automatically picked up at @@ -306,8 +299,6 @@ stdenv.mkDerivation ({ ++ (optionals langJava [ boehmgc zip unzip ]) ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs)) ++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools]) - ++ (optionals langAda [gnatboot]) - ++ (optionals langVhdl [gnat]) # The builder relies on GNU sed (for instance, Darwin's `sed' fails with # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. @@ -359,8 +350,6 @@ stdenv.mkDerivation ({ ++ optional langCC "c++" ++ optional langFortran "fortran" ++ optional langJava "java" - ++ optional langAda "ada" - ++ optional langVhdl "vhdl" ++ optional langGo "go" ++ optional langObjC "objc" ++ optional langObjCpp "obj-c++" @@ -393,8 +382,6 @@ stdenv.mkDerivation ({ optional javaAwtGtk "--enable-java-awt=gtk" ++ optional (langJava && javaAntlr != null) "--with-antlr-jar=${javaAntlr}" ++ - # Ada - optional langAda "--enable-libada" ++ platformFlags ++ optional (targetPlatform != hostPlatform) crossConfigureFlags ++ @@ -488,7 +475,7 @@ stdenv.mkDerivation ({ ]); passthru = - { inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo version; isGNU = true; }; + { inherit langC langCC langObjC langObjCpp langFortran langGo version; isGNU = true; }; inherit enableParallelBuilding enableMultilib; @@ -511,12 +498,10 @@ stdenv.mkDerivation ({ maintainers = with stdenv.lib.maintainers; [ ]; - # gnatboot is not available out of linux platforms, so we disable the darwin build - # for the gnat (ada compiler). platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.freebsd ++ - optionals (langAda == false) stdenv.lib.platforms.darwin; + stdenv.lib.platforms.darwin; }; } diff --git a/pkgs/development/compilers/gcc/7/riscv-pthread-reentrant.patch b/pkgs/development/compilers/gcc/7/riscv-pthread-reentrant.patch new file mode 100644 index 000000000000..c7527ffb2b16 --- /dev/null +++ b/pkgs/development/compilers/gcc/7/riscv-pthread-reentrant.patch @@ -0,0 +1,13 @@ +Index: gcc/config/riscv/linux.h +=================================================================== +--- a/gcc/config/riscv/linux.h (revision 257620) ++++ b/gcc/config/riscv/linux.h (revision 257621) +@@ -47,6 +47,8 @@ + + #define ICACHE_FLUSH_FUNC "__riscv_flush_icache" + ++#define CPP_SPEC "%{pthread:-D_REENTRANT}" ++ + #define LINK_SPEC "\ + -melf" XLEN_SPEC "lriscv \ + %{shared} \ diff --git a/pkgs/development/compilers/gcc/builder.sh b/pkgs/development/compilers/gcc/builder.sh index 1796c83385e5..a3250f4021a5 100644 --- a/pkgs/development/compilers/gcc/builder.sh +++ b/pkgs/development/compilers/gcc/builder.sh @@ -287,8 +287,6 @@ postInstall() { # See https://bugs.gentoo.org/show_bug.cgi?id=301299#c31 paxmark r $out/libexec/gcc/*/*/{cc1,cc1plus} - eval "$postInstallGhdl" - # Two identical man pages are shipped (moving and compressing is done later) ln -sf gcc.1 "$out"/share/man/man1/g++.1 } diff --git a/pkgs/development/compilers/gcc/gnat-cflags.patch b/pkgs/development/compilers/gcc/gnat-cflags.patch deleted file mode 100644 index bf2acf065e9b..000000000000 --- a/pkgs/development/compilers/gcc/gnat-cflags.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/libada/Makefile.in b/libada/Makefile.in -index f5057a0..337e0c6 100644 ---- a/libada/Makefile.in -+++ b/libada/Makefile.in -@@ -55,7 +55,7 @@ GCC_WARN_CFLAGS = $(LOOSE_WARN) - WARN_CFLAGS = @warn_cflags@ - - TARGET_LIBGCC2_CFLAGS= --GNATLIBCFLAGS= -g -O2 -+GNATLIBCFLAGS= -g -O2 $(CFLAGS) - GNATLIBCFLAGS_FOR_C = $(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS) -fexceptions \ - -DIN_RTS @have_getipinfo@ - ---- a/gcc/ada/gcc-interface/Makefile.in -+++ b/gcc/ada/gcc-interface/Makefile.in -@@ -105,7 +105,7 @@ ADAFLAGS = -W -Wall -gnatpg -gnata - SOME_ADAFLAGS =-gnata - FORCE_DEBUG_ADAFLAGS = -g - GNATLIBFLAGS = -gnatpg -nostdinc --GNATLIBCFLAGS = -g -O2 -+GNATLIBCFLAGS = -g -O2 $(CFLAGS_FOR_TARGET) - # Pretend that _Unwind_GetIPInfo is available for the target by default. This - # should be autodetected during the configuration of libada and passed down to - # here, but we need something for --disable-libada and hope for the best. -@@ -193,7 +193,7 @@ RTSDIR = rts$(subst /,_,$(MULTISUBDIR)) - # Link flags used to build gnat tools. By default we prefer to statically - # link with libgcc to avoid a dependency on shared libgcc (which is tricky - # to deal with as it may conflict with the libgcc provided by the system). --GCC_LINK_FLAGS=-static-libgcc -+GCC_LINK_FLAGS=-static-libgcc $(CFLAGS_FOR_TARGET) - - # End of variables for you to override. - diff --git a/pkgs/development/compilers/gcc/snapshot/default.nix b/pkgs/development/compilers/gcc/snapshot/default.nix index c1306d374d5d..e41e8789c9ed 100644 --- a/pkgs/development/compilers/gcc/snapshot/default.nix +++ b/pkgs/development/compilers/gcc/snapshot/default.nix @@ -3,8 +3,6 @@ , langObjC ? targetPlatform.isDarwin , langObjCpp ? targetPlatform.isDarwin , langJava ? false -, langAda ? false -, langVhdl ? false , langGo ? false , profiledCompiler ? false , staticCompiler ? false @@ -21,13 +19,11 @@ , libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null , libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null , x11Support ? langJava -, gnatboot ? null , enableMultilib ? false , enablePlugin ? hostPlatform == buildPlatform # Whether to support user-supplied plug-ins , name ? "gcc" , libcCross ? null , crossStageStatic ? false -, gnat ? null , libpthread ? null, libpthreadCross ? null # required for GNU/Hurd , stripped ? true , gnused ? null @@ -41,8 +37,6 @@ assert langJava -> zip != null && unzip != null && zlib != null && boehmgc != null && perl != null; # for `--enable-java-home' -assert langAda -> gnatboot != null; -assert langVhdl -> gnat != null; # LTO needs libelf and zlib. assert libelf != null -> zlib != null; @@ -67,9 +61,6 @@ let version = "7-20170409"; [ ] ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch ++ optional noSysDirs ../no-sys-dirs.patch - # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its - # target libraries and tools. - ++ optional langAda ../gnat-cflags.patch ++ optional langFortran ../gfortran-driving.patch; javaEcj = fetchurl { @@ -278,8 +269,6 @@ stdenv.mkDerivation ({ ++ (optionals langJava [ boehmgc zip unzip ]) ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs)) ++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools]) - ++ (optionals langAda [gnatboot]) - ++ (optionals langVhdl [gnat]) # The builder relies on GNU sed (for instance, Darwin's `sed' fails with # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. @@ -331,8 +320,6 @@ stdenv.mkDerivation ({ ++ optional langCC "c++" ++ optional langFortran "fortran" ++ optional langJava "java" - ++ optional langAda "ada" - ++ optional langVhdl "vhdl" ++ optional langGo "go" ++ optional langObjC "objc" ++ optional langObjCpp "obj-c++" @@ -365,9 +352,6 @@ stdenv.mkDerivation ({ optional javaAwtGtk "--enable-java-awt=gtk" ++ optional (langJava && javaAntlr != null) "--with-antlr-jar=${javaAntlr}" ++ - # Ada - optional langAda "--enable-libada" ++ - platformFlags ++ optional (targetPlatform != hostPlatform) crossConfigureFlags ++ optional (!bootstrap) "--disable-bootstrap" ++ @@ -460,7 +444,7 @@ stdenv.mkDerivation ({ ]); passthru = - { inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo version; isGNU = true; }; + { inherit langC langCC langObjC langObjCpp langFortran langGo version; isGNU = true; }; inherit enableParallelBuilding enableMultilib; @@ -483,12 +467,10 @@ stdenv.mkDerivation ({ maintainers = with stdenv.lib.maintainers; [ ]; - # gnatboot is not available out of linux platforms, so we disable the darwin build - # for the gnat (ada compiler). platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.freebsd ++ - optionals (langAda == false) stdenv.lib.platforms.darwin; + stdenv.lib.platforms.darwin; broken = true; }; diff --git a/pkgs/development/compilers/ghdl/default.nix b/pkgs/development/compilers/ghdl/default.nix deleted file mode 100644 index eaf9949b52da..000000000000 --- a/pkgs/development/compilers/ghdl/default.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ stdenv, fetchFromGitHub, gnat, zlib, llvm_35, ncurses, clang, flavour ? "mcode" }: - -# mcode only works on x86, while the llvm flavour works on both x86 and x86_64. - - -assert flavour == "llvm" || flavour == "mcode"; - -let - inherit (stdenv.lib) optional; - inherit (stdenv.lib) optionals; - version = "0.33"; -in -stdenv.mkDerivation rec { - name = "ghdl-${flavour}-${version}"; - - src = fetchFromGitHub { - owner = "tgingold"; - repo = "ghdl"; - rev = "v${version}"; - sha256 = "0g72rk2yzr0lrpncq2c1qcv71w3mi2hjq84r1yzgjr6d0qm87r2a"; - }; - - buildInputs = [ gnat zlib ] ++ optionals (flavour == "llvm") [ clang ncurses ]; - - configureFlags = optional (flavour == "llvm") "--with-llvm=${llvm_35}"; - - patchPhase = '' - # Disable warnings-as-errors, because there are warnings (unused things) - sed -i s/-gnatwae/-gnatwa/ Makefile.in ghdl.gpr.in - ''; - - hardeningDisable = [ "all" ]; - - enableParallelBuilding = true; - - meta = { - homepage = https://sourceforge.net/p/ghdl-updates/wiki/Home/; - description = "Free VHDL simulator"; - maintainers = with stdenv.lib.maintainers; [viric]; - platforms = with stdenv.lib.platforms; (if flavour == "llvm" then [ "i686-linux" "x86_64-linux" ] - else [ "i686-linux" ]); - license = stdenv.lib.licenses.gpl2Plus; - }; -} diff --git a/pkgs/development/compilers/gnatboot/default.nix b/pkgs/development/compilers/gnatboot/default.nix deleted file mode 100644 index a209e392bc6f..000000000000 --- a/pkgs/development/compilers/gnatboot/default.nix +++ /dev/null @@ -1,48 +0,0 @@ -{stdenv, fetchurl}: - -stdenv.mkDerivation { - name = "gentoo-gnatboot-4.1"; - - src = if stdenv.system == "i686-linux" then - fetchurl { - url = "mirror://gentoo/distfiles/gnatboot-4.1-i386.tar.bz2"; - sha256 = "0665zk71598204bf521vw68i5y6ccqarq9fcxsqp7ccgycb4lysr"; - } - else if stdenv.system == "x86_64-linux" then - fetchurl { - url = "mirror://gentoo/distfiles/gnatboot-4.1-amd64.tar.bz2"; - sha256 = "1li4d52lmbnfs6llcshlbqyik2q2q4bvpir0f7n38nagp0h6j0d4"; - } else throw "Platform not supported"; - - dontStrip=1; - - installPhase = '' - mkdir -p $out - cp -R * $out - set +e - for a in $out/bin/* ; do - patchelf --interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ - --set-rpath $(cat $NIX_CC/nix-support/orig-libc)/lib:$(cat $NIX_CC/nix-support/orig-cc)/lib64:$(cat $NIX_CC/nix-support/orig-cc)/lib $a - done - set -e - mv $out/bin/gnatgcc_2wrap $out/bin/gnatgcc - ln -s $out/bin/gnatgcc $out/bin/gcc - ''; - - passthru = { - langC = true; /* TRICK for gcc-wrapper to wrap it */ - langCC = false; - langFortran = false; - langAda = true; - }; - - meta = { - homepage = http://gentoo.org; - license = stdenv.lib.licenses.gpl3Plus; # runtime support libraries are typically LGPLv3+ - maintainers = [ - stdenv.lib.maintainers.viric - ]; - - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/development/compilers/llvm/4/cmdline-help.patch b/pkgs/development/compilers/llvm/4/cmdline-help.patch new file mode 100644 index 000000000000..a693719c2cfa --- /dev/null +++ b/pkgs/development/compilers/llvm/4/cmdline-help.patch @@ -0,0 +1,39 @@ +From c7a9aa3a697c81432786a5583bf973771c7be15e Mon Sep 17 00:00:00 2001 +From: Don Hinton +Date: Wed, 12 Jul 2017 01:15:46 +0000 +Subject: [PATCH] Fix minor typo introduced in r276404 + +Summary: +A space was added between '-' and 'help' when emitting help output. + +See https://reviews.llvm.org/D22621 for details. + +Reviewers: MaggieYi, vsk + +Reviewed By: vsk + +Subscribers: llvm-commits + +Differential Revision: https://reviews.llvm.org/D35283 + +git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@307745 91177308-0d34-0410-b5e6-96231b3b80d8 +--- + lib/Support/CommandLine.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/Support/CommandLine.cpp b/lib/Support/CommandLine.cpp +index 3889902eea5..79defa5c36c 100644 +--- a/lib/Support/CommandLine.cpp ++++ b/lib/Support/CommandLine.cpp +@@ -1236,7 +1236,7 @@ bool CommandLineParser::ParseCommandLineOptions(int argc, + << ": Not enough positional command line arguments specified!\n" + << "Must specify at least " << NumPositionalRequired + << " positional argument" << (NumPositionalRequired > 1 ? "s" : "") +- << ": See: " << argv[0] << " - help\n"; ++ << ": See: " << argv[0] << " -help\n"; + } + + ErrorParsing = true; +-- +2.14.0 + diff --git a/pkgs/development/compilers/llvm/4/llvm.nix b/pkgs/development/compilers/llvm/4/llvm.nix index 57f76ac5cecb..bc8453f743ad 100644 --- a/pkgs/development/compilers/llvm/4/llvm.nix +++ b/pkgs/development/compilers/llvm/4/llvm.nix @@ -78,6 +78,9 @@ in stdenv.mkDerivation (rec { substituteInPlace lib/esan/esan_sideline_linux.cpp \ --replace 'struct sigaltstack' 'stack_t' ) + '' + # Fix extra space printed in commandline help sometimes, "- help" + '' + patch -p1 -i ${./cmdline-help.patch} '' + stdenv.lib.optionalString stdenv.isAarch64 '' patch -p0 < ${../aarch64.patch} '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' diff --git a/pkgs/development/compilers/llvm/6/llvm.nix b/pkgs/development/compilers/llvm/6/llvm.nix index 307b2e3a3f20..7cb3e88c2f85 100644 --- a/pkgs/development/compilers/llvm/6/llvm.nix +++ b/pkgs/development/compilers/llvm/6/llvm.nix @@ -16,6 +16,7 @@ , debugVersion ? false , enableManpages ? false , enableSharedLibraries ? true +, enableWasm ? true , darwin }: @@ -113,7 +114,9 @@ in stdenv.mkDerivation (rec { "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}" "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.targetPlatform.config}" "-DTARGET_TRIPLE=${stdenv.targetPlatform.config}" - ]; + ] ++ stdenv.lib.optional enableWasm + "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly" + ; postBuild = '' rm -fR $out diff --git a/pkgs/development/compilers/nasm/default.nix b/pkgs/development/compilers/nasm/default.nix index 5394f2bcbbfb..89dd7dc3fdc5 100644 --- a/pkgs/development/compilers/nasm/default.nix +++ b/pkgs/development/compilers/nasm/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "nasm-${version}"; - version = "2.13.02"; + version = "2.13.03"; src = fetchurl { url = "http://www.nasm.us/pub/nasm/releasebuilds/${version}/${name}.tar.bz2"; - sha256 = "1gmvjckxvkmx1kbglgrakc98qhy55xlqlk5flrdihz5yhv92hc4d"; + sha256 = "04bh736zfj3xy5ihh1whshpjxsisv7hqkz954clzdw6kg93qdv33"; }; nativeBuildInputs = [ perl ]; diff --git a/pkgs/development/compilers/openjdk/8.nix b/pkgs/development/compilers/openjdk/8.nix index b74c8a47dde0..24cf1b8a0c93 100644 --- a/pkgs/development/compilers/openjdk/8.nix +++ b/pkgs/development/compilers/openjdk/8.nix @@ -14,9 +14,9 @@ let * The JRE libraries are in directories that depend on the CPU. */ architecture = - if stdenv.system == "i686-linux" then + if stdenv.hostPlatform.system == "i686-linux" then "i386" - else if stdenv.system == "x86_64-linux" then + else if stdenv.hostPlatform.system == "x86_64-linux" then "amd64" else throw "openjdk requires i686-linux or x86_64 linux"; diff --git a/pkgs/development/compilers/openjdk/bootstrap.nix b/pkgs/development/compilers/openjdk/bootstrap.nix index 48a22638813f..668ca552adf1 100644 --- a/pkgs/development/compilers/openjdk/bootstrap.nix +++ b/pkgs/development/compilers/openjdk/bootstrap.nix @@ -1,11 +1,14 @@ -{ stdenv, runCommand, glibc, fetchurl, file +{ stdenv +, runCommand, fetchurl, file , version }: +assert stdenv.hostPlatform.libc == "glibc"; + let # !!! These should be on nixos.org - src = if glibc.system == "x86_64-linux" then + src = if stdenv.hostPlatform.system == "x86_64-linux" then (if version == "8" then fetchurl { url = "https://www.dropbox.com/s/a0lsq2ig4uguky5/openjdk8-bootstrap-x86_64-linux.tar.xz?dl=1"; @@ -17,7 +20,7 @@ let sha256 = "024gg2sgg4labxbc1nhn8lxls2p7d9h3b82hnsahwaja2pm1hbra"; } else throw "No bootstrap for version") - else if glibc.system == "i686-linux" then + else if stdenv.hostPlatform.system == "i686-linux" then (if version == "8" then fetchurl { url = "https://www.dropbox.com/s/rneqjhlerijsw74/openjdk8-bootstrap-i686-linux.tar.xz?dl=1"; @@ -39,22 +42,18 @@ let LIBDIRS="$(find $out -name \*.so\* -exec dirname {} \; | sort | uniq | tr '\n' ':')" - for i in $out/bin/*; do - patchelf --set-interpreter ${glibc.out}/lib/ld-linux*.so.2 $i || true - patchelf --set-rpath "${glibc.out}/lib:$LIBDIRS" $i || true - done - - find $out -name \*.so\* | while read lib; do - patchelf --set-interpreter ${glibc.out}/lib/ld-linux*.so.2 $lib || true - patchelf --set-rpath "${glibc.out}/lib:${stdenv.cc.cc.lib}/lib:$LIBDIRS" $lib || true + find "$out" -type f -print0 | while IFS= read -r -d "" elf; do + isELF "$elf" || continue + patchelf --set-interpreter $(cat "${stdenv.cc}/nix-support/dynamic-linker") "$elf" || true + patchelf --set-rpath "${stdenv.cc.libc}/lib:${stdenv.cc.cc.lib}/lib:$LIBDIRS" "$elf" || true done # Temporarily, while NixOS's OpenJDK bootstrap tarball doesn't have PaX markings: - exes=$(${file}/bin/file $out/bin/* 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//') - for file in $exes; do - paxmark m "$file" + find "$out/bin" -type f -print0 | while IFS= read -r -d "" elf; do + isELF "$elf" || continue + paxmark m "$elf" # On x86 for heap sizes over 700MB disable SEGMEXEC and PAGEEXEC as well. - ${stdenv.lib.optionalString stdenv.isi686 ''paxmark msp "$file"''} + ${stdenv.lib.optionalString stdenv.isi686 ''paxmark msp "$elf"''} done ''; in bootstrap diff --git a/pkgs/development/interpreters/guile/1.8.nix b/pkgs/development/interpreters/guile/1.8.nix index c50a5fbab077..6a2fdbdea436 100644 --- a/pkgs/development/interpreters/guile/1.8.nix +++ b/pkgs/development/interpreters/guile/1.8.nix @@ -1,25 +1,33 @@ -{ fetchurl, stdenv, libtool, readline, gmp -, gawk, makeWrapper }: +{ stdenv, buildPackages +, buildPlatform, hostPlatform +, fetchurl, makeWrapper, gawk, pkgconfig +, libtool, readline, gmp +}: stdenv.mkDerivation rec { name = "guile-1.8.8"; src = fetchurl { - url = "mirror://gnu/guile/" + name + ".tar.gz"; + url = "mirror://gnu/guile/${name}.tar.gz"; sha256 = "0l200a0v7h8bh0cwz6v7hc13ds39cgqsmfrks55b1rbj5vniyiy3"; }; - patches = [ ./cpp-4.5.patch ]; - outputs = [ "out" "dev" "info" ]; setOutputFlags = false; # $dev gets into the library otherwise # GCC 4.6 raises a number of set-but-unused warnings. configureFlags = [ "--disable-error-on-warning" ]; - nativeBuildInputs = [ makeWrapper gawk ]; - propagatedBuildInputs = [ readline gmp libtool ]; - selfNativeBuildInput = true; + depsBuildBuild = [ buildPackages.stdenv.cc ] + ++ stdenv.lib.optional (hostPlatform != buildPlatform) + buildPackages.buildPackages.guile_1_8; + nativeBuildInputs = [ makeWrapper gawk pkgconfig ]; + buildInputs = [ readline libtool ]; + + propagatedBuildInputs = [ gmp ]; + + patches = [ ./cpp-4.5.patch ]; + postInstall = '' wrapProgram $out/bin/guile-snarf --prefix PATH : "${gawk}/bin" @@ -46,17 +54,16 @@ stdenv.mkDerivation rec { setupHook = ./setup-hook.sh; meta = { - description = "GNU Guile, an embeddable Scheme interpreter"; + description = "Embeddable Scheme implementation"; + homepage = http://www.gnu.org/software/guile/; + license = stdenv.lib.licenses.lgpl2Plus; + maintainers = [ stdenv.lib.maintainers.ludo ]; + platforms = stdenv.lib.platforms.unix; + longDescription = '' GNU Guile is an interpreter for the Scheme programming language, packaged as a library that can be embedded into programs to make them extensible. It supports many SRFIs. ''; - - homepage = http://www.gnu.org/software/guile/; - license = stdenv.lib.licenses.lgpl2Plus; - - maintainers = [ stdenv.lib.maintainers.ludo ]; - platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/development/interpreters/guile/2.0.nix b/pkgs/development/interpreters/guile/2.0.nix index 5746300fca09..afd90397e232 100644 --- a/pkgs/development/interpreters/guile/2.0.nix +++ b/pkgs/development/interpreters/guile/2.0.nix @@ -1,6 +1,8 @@ -{ fetchurl, stdenv, libtool, readline, gmp, pkgconfig, boehmgc, libunistring -, libffi, gawk, makeWrapper, fetchpatch, coverageAnalysis ? null, gnu ? null -, hostPlatform +{ stdenv, buildPackages +, buildPlatform, hostPlatform +, fetchpatch, fetchurl, makeWrapper, gawk, pkgconfig +, libffi, libtool, readline, gmp, boehmgc, libunistring +, coverageAnalysis ? null, gnu ? null }: # Do either a coverage analysis build or a standard build. @@ -19,19 +21,19 @@ outputs = [ "out" "dev" "info" ]; setOutputFlags = false; # $dev gets into the library otherwise + depsBuildBuild = [ buildPackages.stdenv.cc ] + ++ stdenv.lib.optional (hostPlatform != buildPlatform) + buildPackages.buildPackages.guile_2_0; nativeBuildInputs = [ makeWrapper gawk pkgconfig ]; buildInputs = [ readline libtool libunistring libffi ]; - propagatedBuildInputs = [ gmp boehmgc ] + propagatedBuildInputs = [ gmp boehmgc ] # XXX: These ones aren't normally needed here, but since # `libguile-2.0.la' reads `-lltdl -lunistring', adding them here will add # the needed `-L' flags. As for why the `.la' file lacks the `-L' flags, # see below. ++ [ libtool libunistring ]; - # A native Guile 2.0 is needed to cross-build Guile. - selfNativeBuildInput = true; - enableParallelBuilding = true; patches = [ ./disable-gc-sensitive-tests.patch ./eai_system.patch ./clang.patch @@ -40,6 +42,7 @@ url = "http://git.savannah.gnu.org/cgit/guile.git/patch/?id=2fbde7f02adb8c6585e9baf6e293ee49cd23d4c4"; sha256 = "0p6c1lmw1iniq03z7x5m65kg3lq543kgvdb4nrxsaxjqf3zhl77v"; }) + ./riscv.patch ] ++ (stdenv.lib.optional (coverageAnalysis != null) ./gcov-file-name.patch); diff --git a/pkgs/development/interpreters/guile/default.nix b/pkgs/development/interpreters/guile/default.nix index e10c5fbb5684..dc6e18ae1afd 100644 --- a/pkgs/development/interpreters/guile/default.nix +++ b/pkgs/development/interpreters/guile/default.nix @@ -1,6 +1,8 @@ -{ fetchurl, stdenv, libtool, readline, gmp, pkgconfig, boehmgc, libunistring -, libffi, gawk, makeWrapper, fetchpatch, coverageAnalysis ? null, gnu ? null -, hostPlatform +{ stdenv, buildPackages +, buildPlatform, hostPlatform +, fetchurl, makeWrapper, gawk, pkgconfig +, libffi, libtool, readline, gmp, boehmgc, libunistring +, coverageAnalysis ? null, gnu ? null }: # Do either a coverage analysis build or a standard build. @@ -20,6 +22,9 @@ outputs = [ "out" "dev" "info" ]; setOutputFlags = false; # $dev gets into the library otherwise + depsBuildBuild = [ buildPackages.stdenv.cc ] + ++ stdenv.lib.optional (hostPlatform != buildPlatform) + buildPackages.buildPackages.guile; nativeBuildInputs = [ makeWrapper gawk pkgconfig ]; buildInputs = [ readline libtool libunistring libffi ]; @@ -30,13 +35,11 @@ # see below. ++ [ libtool libunistring ]; - # A native Guile 2.0 is needed to cross-build Guile. - selfNativeBuildInput = true; - enableParallelBuilding = true; patches = [ ./eai_system.patch + ./riscv.patch ] ++ (stdenv.lib.optional (coverageAnalysis != null) ./gcov-file-name.patch); diff --git a/pkgs/development/interpreters/guile/riscv.patch b/pkgs/development/interpreters/guile/riscv.patch new file mode 100644 index 000000000000..b835e1613838 --- /dev/null +++ b/pkgs/development/interpreters/guile/riscv.patch @@ -0,0 +1,13 @@ +diff --git a/module/system/base/target.scm b/module/system/base/target.scm +index 95ab8d8c9..93616f4a3 100644 +--- a/module/system/base/target.scm ++++ b/module/system/base/target.scm +@@ -86,6 +86,8 @@ + (endianness big)) + ((string=? "aarch64" cpu) + (endianness little)) ++ ((string-match "riscv[1-9][0-9]*" cpu) ++ (endianness little)) + (else + (error "unknown CPU endianness" cpu))))) + diff --git a/pkgs/development/interpreters/perl/MakeMaker-cross.patch b/pkgs/development/interpreters/perl/MakeMaker-cross.patch new file mode 100644 index 000000000000..40626c51f9bd --- /dev/null +++ b/pkgs/development/interpreters/perl/MakeMaker-cross.patch @@ -0,0 +1,17 @@ +diff -Naur a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm +--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm 2017-06-30 17:03:20.000000000 -0400 ++++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm 2018-02-28 10:06:37.031237946 -0500 +@@ -1267,7 +1267,12 @@ + my $value = shift; + return $value if $UNDER_CORE; + my $tvalue = ''; +- require B; ++ eval { ++ require B; ++ }; ++ if ($@) { ++ return $tvalue; ++ } + my $sv = B::svref_2object(\$value); + my $magic = ref($sv) eq 'B::PVMG' ? $sv->MAGIC : undef; + while ( $magic ) { diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix index f7324fc6d01a..0fd55bd8d71b 100644 --- a/pkgs/development/interpreters/perl/default.nix +++ b/pkgs/development/interpreters/perl/default.nix @@ -1,4 +1,6 @@ -{ lib, stdenv, fetchurlBoot, buildPackages, enableThreading ? stdenv ? glibc, fetchpatch }: +{ lib, stdenv, fetchurlBoot, buildPackages +, enableThreading ? stdenv ? glibc, fetchpatch, makeWrapper +}: with lib; @@ -29,7 +31,8 @@ let }; # TODO: Add a "dev" output containing the header files. - outputs = [ "out" "man" "devdoc" ]; + outputs = [ "out" "man" "devdoc" ] ++ + stdenv.lib.optional crossCompiling "dev"; setOutputFlags = false; patches = @@ -45,7 +48,8 @@ let }) ++ optional stdenv.isSunOS ./ld-shared.patch ++ optional stdenv.isDarwin ./cpp-precomp.patch - ++ optional (stdenv.isDarwin && versionAtLeast version "5.24") ./sw_vers.patch; + ++ optional (stdenv.isDarwin && versionAtLeast version "5.24") ./sw_vers.patch + ++ optional crossCompiling ./MakeMaker-cross.patch; postPatch = '' pwd="$(type -P pwd)" @@ -117,6 +121,28 @@ let if stdenv.cc.cc or null != null then stdenv.cc.cc else "/no-such-path" }" /no-such-path \ --replace "$man" /no-such-path + '' + stdenv.lib.optionalString crossCompiling + '' + mkdir -p $dev/lib/perl5/cross_perl/${version} + for dir in cnf/{stub,cpan}; do + cp -r $dir/* $dev/lib/perl5/cross_perl/${version} + done + + mkdir -p $dev/bin + install -m755 miniperl $dev/bin/perl + + export runtimeArch="$(ls $out/lib/perl5/site_perl/${version})" + # wrapProgram should use a runtime-native SHELL by default, but + # it actually uses a buildtime-native one. If we ever fix that, + # we'll need to fix this to use a buildtime-native one. + # + # Adding the arch-specific directory is morally incorrect, as + # miniperl can't load the native modules there. However, it can + # (and sometimes needs to) load and run some of the pure perl + # code there, so we add it anyway. When needed, stubs can be put + # into $dev/lib/perl5/cross_perl/${version}. + wrapProgram $dev/bin/perl --prefix PERL5LIB : \ + "$dev/lib/perl5/cross_perl/${version}:$out/lib/perl5/${version}:$out/lib/perl5/${version}/$runtimeArch" ''; # */ meta = { @@ -139,7 +165,7 @@ let sha256 = "1gh8w9m5if2s0lrx2x8f8grp74d1l6d46m8jglpjm5a1kf55j810"; }; - depsBuildBuild = [ buildPackages.stdenv.cc ]; + depsBuildBuild = [ buildPackages.stdenv.cc makeWrapper ]; postUnpack = '' unpackFile ${perl-cross-src} @@ -150,6 +176,11 @@ let ''; configurePlatforms = [ "build" "host" "target" ]; + + inherit version; + + # TODO merge setup hooks + setupHook = ./setup-hook-cross.sh; }); in rec { perl = perl524; diff --git a/pkgs/development/interpreters/perl/setup-hook-cross.sh b/pkgs/development/interpreters/perl/setup-hook-cross.sh new file mode 100644 index 000000000000..95aae0b2670f --- /dev/null +++ b/pkgs/development/interpreters/perl/setup-hook-cross.sh @@ -0,0 +1,12 @@ +addPerlLibPath () { + addToSearchPath PERL5LIB $1/lib/perl5/site_perl/@version@ + addToSearchPath PERL5LIB $1/lib/perl5/site_perl/cross_perl/@version@ + # Adding the arch-specific directory is morally incorrect, as + # miniperl can't load the native modules there. However, it can + # (and sometimes needs to) load and run some of the pure perl + # code there, so we add it anyway. When needed, stubs can be put + # into $1/lib/perl5/site_perl/cross_perl/@version@ + addToSearchPath PERL5LIB $1/lib/perl5/site_perl/@version@/@runtimeArch@ +} + +addEnvHooks "$targetOffset" addPerlLibPath diff --git a/pkgs/development/libraries/atk/default.nix b/pkgs/development/libraries/atk/default.nix index eb2466590beb..9b1865d77f51 100644 --- a/pkgs/development/libraries/atk/default.nix +++ b/pkgs/development/libraries/atk/default.nix @@ -2,14 +2,14 @@ let pname = "atk"; - version = "2.26.1"; + version = "2.28.1"; in stdenv.mkDerivation rec { name = "${pname}-${version}"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz"; - sha256 = "1jwpx8az0iifw176dc2hl4mmg6gvxzxdkd1qvg4ds7c5hdmzy07g"; + sha256 = "1z7laf6qwv5zsqcnj222dm5f43c6f3liil0cgx4s4s62xjk1wfnd"; }; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/audio/libgme/default.nix b/pkgs/development/libraries/audio/libgme/default.nix index 9a87e31cbd29..ac6f0470a0a8 100644 --- a/pkgs/development/libraries/audio/libgme/default.nix +++ b/pkgs/development/libraries/audio/libgme/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromBitbucket, cmake }: let - version = "0.6.1"; + version = "0.6.2"; in stdenv.mkDerivation { name = "libgme-${version}"; @@ -16,7 +16,7 @@ in stdenv.mkDerivation { owner = "mpyne"; repo = "game-music-emu"; rev = version; - sha256 = "04vwpv3pmjcil1jw5vcnlg45nch5awqs06y3xqdlp3ibx5i4k199"; + sha256 = "00vlbfk5h99dq5rbwxk20dv72dig6wdwpgf83q451avsscky0jvk"; }; buildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/boost/1.66.nix b/pkgs/development/libraries/boost/1.66.nix index 3fd9c1608248..02cf511a6fdf 100644 --- a/pkgs/development/libraries/boost/1.66.nix +++ b/pkgs/development/libraries/boost/1.66.nix @@ -1,4 +1,4 @@ -{ stdenv, callPackage, fetchurl, ... } @ args: +{ stdenv, callPackage, fetchurl, hostPlatform, buildPlatform, ... } @ args: callPackage ./generic.nix (args // rec { version = "1.66_0"; @@ -9,4 +9,5 @@ callPackage ./generic.nix (args // rec { sha256 = "5721818253e6a0989583192f96782c4a98eb6204965316df9f5ad75819225ca9"; }; + toolset = if stdenv.cc.isClang then "clang" else null; }) diff --git a/pkgs/development/libraries/dbus/make-dbus-conf.nix b/pkgs/development/libraries/dbus/make-dbus-conf.nix index 71da22ee3748..c3c41b74f099 100644 --- a/pkgs/development/libraries/dbus/make-dbus-conf.nix +++ b/pkgs/development/libraries/dbus/make-dbus-conf.nix @@ -24,16 +24,17 @@ runCommand "dbus-1" rewritePrefix="file://${dbus}/share/xml/dbus/"/> ''; + nativeBuildInputs = [ libxslt ]; } '' mkdir -p $out - ${libxslt.bin}/bin/xsltproc --nonet \ + xsltproc --nonet \ --stringparam serviceDirectories "$serviceDirectories" \ --stringparam suidHelper "$suidHelper" \ ${./make-system-conf.xsl} ${dbus}/share/dbus-1/system.conf \ > $out/system.conf - ${libxslt.bin}/bin/xsltproc --nonet \ + xsltproc --nonet \ --stringparam serviceDirectories "$serviceDirectories" \ ${./make-session-conf.xsl} ${dbus}/share/dbus-1/session.conf \ > $out/session.conf diff --git a/pkgs/development/libraries/epoxy/default.nix b/pkgs/development/libraries/epoxy/default.nix index 483300b13f57..306c5e756ec3 100644 --- a/pkgs/development/libraries/epoxy/default.nix +++ b/pkgs/development/libraries/epoxy/default.nix @@ -1,28 +1,33 @@ { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, utilmacros, python -, libGLU_combined, libX11 +, libGL, libX11 }: stdenv.mkDerivation rec { name = "epoxy-${version}"; - version = "1.3.1"; + version = "1.5.0"; src = fetchFromGitHub { owner = "anholt"; repo = "libepoxy"; - rev = "v${version}"; - sha256 = "0dfkd4xbp7v5gwsf6qwaraz54yzizf3lj5ymyc0msjn0adq3j5yl"; + rev = "${version}"; + sha256 = "1ixpqb10pmdy3n9nxd5inflig9dal5502ggadcns5b58j6jr0yv0"; }; outputs = [ "out" "dev" ]; nativeBuildInputs = [ autoreconfHook pkgconfig utilmacros python ]; - buildInputs = [ libGLU_combined libX11 ]; + buildInputs = [ libGL libX11 ]; preConfigure = stdenv.lib.optional stdenv.isDarwin '' substituteInPlace configure --replace build_glx=no build_glx=yes substituteInPlace src/dispatch_common.h --replace "PLATFORM_HAS_GLX 0" "PLATFORM_HAS_GLX 1" ''; + # add libGL to rpath because libepoxy dlopen()s libEGL + postFixup = '' + patchelf --set-rpath "${stdenv.lib.makeLibraryPath [ libGL ]}:$(patchelf --print-rpath $out/lib/libepoxy.so.0.0.0)" $out/lib/libepoxy.so.0.0.0 + ''; + meta = with stdenv.lib; { description = "A library for handling OpenGL function pointer management"; homepage = https://github.com/anholt/libepoxy; diff --git a/pkgs/development/libraries/fontconfig/default.nix b/pkgs/development/libraries/fontconfig/default.nix index 9c4116c8f0ba..1109582ad64f 100644 --- a/pkgs/development/libraries/fontconfig/default.nix +++ b/pkgs/development/libraries/fontconfig/default.nix @@ -39,7 +39,8 @@ stdenv.mkDerivation rec { # additionally required for the glibc-2.25 patch; avoid requiring gperf postPatch = '' sed s/CHAR_WIDTH/CHARWIDTH/g -i src/fcobjshash.{h,gperf} - touch src/* + sleep 2 + touch src/fcobjshash.h ''; outputs = [ "bin" "dev" "lib" "out" ]; # $out contains all the config diff --git a/pkgs/development/libraries/gnutls/3.6.nix b/pkgs/development/libraries/gnutls/3.6.nix index 35344dfde7df..7fb1af70a289 100644 --- a/pkgs/development/libraries/gnutls/3.6.nix +++ b/pkgs/development/libraries/gnutls/3.6.nix @@ -1,11 +1,11 @@ { callPackage, fetchurl, ... } @ args: callPackage ./generic.nix (args // rec { - version = "3.6.1"; + version = "3.6.2"; src = fetchurl { url = "mirror://gnupg/gnutls/v3.6/gnutls-${version}.tar.xz"; - sha256 = "1vdsir53ddxyapnxh5fpnfyij3scx3818iri4hl07g4lk4n0vc90"; + sha256 = "07wdffklwmxpa9i50sh5nwrc5ajb47skrldm6rzjc0jf4dxxpmdw"; }; # Skip two tests introduced in 3.5.11. Probable reasons of failure: diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix index 474899d60d77..825d66699071 100644 --- a/pkgs/development/libraries/gobject-introspection/default.nix +++ b/pkgs/development/libraries/gobject-introspection/default.nix @@ -1,6 +1,7 @@ { stdenv, fetchurl, glib, flex, bison, pkgconfig, libffi, python , libintlOrEmpty, cctools, cairo, gnome3 , substituteAll, nixStoreDir ? builtins.storeDir +, x11Support ? true }: # now that gobjectIntrospection creates large .gir files (eg gtk3 case) # it may be worth thinking about using multiple derivation outputs @@ -43,12 +44,11 @@ stdenv.mkDerivation rec { src = ./absolute_shlib_path.patch; inherit nixStoreDir; }) - # https://github.com/NixOS/nixpkgs/issues/34080 + ] ++ stdenv.lib.optional x11Support # https://github.com/NixOS/nixpkgs/issues/34080 (substituteAll { src = ./absolute_gir_path.patch; cairoLib = "${getLib cairo}/lib"; - }) - ]; + }); passthru = { updateScript = gnome3.updateScript { diff --git a/pkgs/development/libraries/gtk+/3.x.nix b/pkgs/development/libraries/gtk+/3.x.nix index d2b32502d1df..189af86708ef 100644 --- a/pkgs/development/libraries/gtk+/3.x.nix +++ b/pkgs/development/libraries/gtk+/3.x.nix @@ -11,15 +11,13 @@ assert cupsSupport -> cups != null; with stdenv.lib; -let - version = "3.22.26"; -in stdenv.mkDerivation rec { name = "gtk+3-${version}"; + version = "3.22.28"; src = fetchurl { url = "mirror://gnome/sources/gtk+/${gnome3.versionBranch version}/gtk+-${version}.tar.xz"; - sha256 = "61eef0d320e541976e2dfe445729f12b5ade53050ee9de6184235cb60cd4b967"; + sha256 = "d299612b018cfed7b2c689168ab52b668023708e17c335eb592260d186f15e1f"; }; outputs = [ "out" "dev" ]; diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix index 2c38387eb837..bb68ae94a7f0 100644 --- a/pkgs/development/libraries/harfbuzz/default.nix +++ b/pkgs/development/libraries/harfbuzz/default.nix @@ -5,7 +5,7 @@ }: let - version = "1.7.1"; + version = "1.7.5"; inherit (stdenv.lib) optional optionals optionalString; in @@ -14,7 +14,7 @@ stdenv.mkDerivation { src = fetchurl { url = "http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${version}.tar.bz2"; - sha256 = "9645a6e83313b690602017f18d4eb2adf81f2e54c6fc4471e19331304965154e"; + sha256 = "84574e1b1f65ca694cb8fb6905309665c0368af18a312357f8ff886ee2f29563"; }; outputs = [ "out" "dev" ]; diff --git a/pkgs/development/libraries/http-parser/default.nix b/pkgs/development/libraries/http-parser/default.nix index 60a1435462b7..b17fc48c7e9a 100644 --- a/pkgs/development/libraries/http-parser/default.nix +++ b/pkgs/development/libraries/http-parser/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, python2Packages, utillinux, fixDarwinDylibNames }: let - version = "2.7.0"; + version = "2.8.0"; in stdenv.mkDerivation { name = "http-parser-${version}"; src = fetchurl { url = "https://github.com/joyent/http-parser/archive/v${version}.tar.gz"; - sha256 = "0rqij6v6wv1giwx4prfa082kw1nka5d9vlb06zkc8mwszq1vzidh"; + sha256 = "17a7k3nxv2p1sp2x5d89wr51vk770753vz6qnlp2gz7nkgwwcxvj"; }; patches = [ ./build-shared.patch ]; diff --git a/pkgs/development/libraries/imlib2/default.nix b/pkgs/development/libraries/imlib2/default.nix index 54c70197af4d..18b42ea4b4fa 100644 --- a/pkgs/development/libraries/imlib2/default.nix +++ b/pkgs/development/libraries/imlib2/default.nix @@ -5,11 +5,11 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "imlib2-1.4.10"; + name = "imlib2-1.5.0"; src = fetchurl { url = "mirror://sourceforge/enlightenment/${name}.tar.bz2"; - sha256 = "0wm2q2xlkbm71k7mw2jyzbxgzylrkcj5yh6nq58w5gybhp98qs9z"; + sha256 = "0kg28b5wp886hiy12v7abdybrvlymb7g3nvg0ysn2y8h883s5w8m"; }; buildInputs = [ libjpeg libtiff giflib libpng bzip2 freetype libid3tag ] diff --git a/pkgs/development/libraries/jansson/default.nix b/pkgs/development/libraries/jansson/default.nix index 2fbb2e3948ce..b1167efdfee6 100644 --- a/pkgs/development/libraries/jansson/default.nix +++ b/pkgs/development/libraries/jansson/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl}: stdenv.mkDerivation rec { - name = "jansson-2.10"; + name = "jansson-2.11"; src = fetchurl { url = "http://www.digip.org/jansson/releases/${name}.tar.gz"; - sha256 = "0iv4rxsnamqm3ldpg7dyhjq0x9cp023nc7ac820jdd3pwb8ml8bq"; + sha256 = "1x5jllzzqamq6kahx9d9a5mrarm9m3f30vfxvcqpi6p4mcnz91bf"; }; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/lcms2/default.nix b/pkgs/development/libraries/lcms2/default.nix index 6fde8305da50..5d307dcfa7ad 100644 --- a/pkgs/development/libraries/lcms2/default.nix +++ b/pkgs/development/libraries/lcms2/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, libtiff, libjpeg, zlib }: stdenv.mkDerivation rec { - name = "lcms2-2.8"; + name = "lcms2-2.9"; src = fetchurl { url = "mirror://sourceforge/lcms/${name}.tar.gz"; - sha256 = "08pvl289g0mbznzx5l6ibhaldsgx41kwvdn2c974ga9fkli2pl36"; + sha256 = "083xisy6z01zhm7p7rgk4bx9d6zlr8l20qkfv1g29ylnhgwzvij8"; }; outputs = [ "bin" "dev" "out" ]; diff --git a/pkgs/development/libraries/libatomic_ops/default.nix b/pkgs/development/libraries/libatomic_ops/default.nix index 714e9361440c..fe4cd3ca0a97 100644 --- a/pkgs/development/libraries/libatomic_ops/default.nix +++ b/pkgs/development/libraries/libatomic_ops/default.nix @@ -12,6 +12,8 @@ stdenv.mkDerivation rec { sha256 ="1rif2hjscq5mh639nsnjhb90c01gnmy1sbmj6x6hsn1xmpnj95r1"; }; + outputs = [ "out" "dev" "doc" ]; + # https://github.com/ivmai/libatomic_ops/pull/32 patches = if hostPlatform.isRiscV then [ ./riscv.patch ] else null; diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix index e5e1e2e7a399..3eb7325132a8 100644 --- a/pkgs/development/libraries/libdrm/default.nix +++ b/pkgs/development/libraries/libdrm/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, valgrind-light }: stdenv.mkDerivation rec { - name = "libdrm-2.4.89"; + name = "libdrm-2.4.90"; src = fetchurl { url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2"; - sha256 = "629f9782aabbb4809166de5f24d26fe0766055255038f16935602d89f136a02e"; + sha256 = "db37ec8f1dbaa2c192ad9903c8d0988b858ae88031e96f169bf76aaf705db68b"; }; outputs = [ "out" "dev" "bin" ]; diff --git a/pkgs/development/libraries/libdvdcss/default.nix b/pkgs/development/libraries/libdvdcss/default.nix index 63978cfd740f..66cb5215a8a9 100644 --- a/pkgs/development/libraries/libdvdcss/default.nix +++ b/pkgs/development/libraries/libdvdcss/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "libdvdcss-${version}"; - version = "1.4.0"; + version = "1.4.1"; buildInputs = stdenv.lib.optional stdenv.isDarwin IOKit; src = fetchurl { url = "http://get.videolan.org/libdvdcss/${version}/${name}.tar.bz2"; - sha256 = "0nl45ifc4xcb196snv9d6hinfw614cqpzcqp92dg43c0hickg290"; + sha256 = "1b7awvyahivglp7qmgx2g5005kc5npv257gw7wxdprjsnx93f1zb"; }; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/libevdev/default.nix b/pkgs/development/libraries/libevdev/default.nix index 090a12f63de1..5bcb9a1ede22 100644 --- a/pkgs/development/libraries/libevdev/default.nix +++ b/pkgs/development/libraries/libevdev/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, python }: stdenv.mkDerivation rec { - name = "libevdev-1.5.7"; + name = "libevdev-1.5.8"; src = fetchurl { url = "https://www.freedesktop.org/software/libevdev/${name}.tar.xz"; - sha256 = "08nl3p6226k51zph52fhilxvi3b31spp6fz8szzrglzhl8vrxrd1"; + sha256 = "0vac7n1miqdprikq4g63vsk681q8v416r0nbh2xai7b08qgdi0v0"; }; buildInputs = [ python ]; diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix index a02aefb0a742..6f36199bd1a5 100644 --- a/pkgs/development/libraries/libgcrypt/default.nix +++ b/pkgs/development/libraries/libgcrypt/default.nix @@ -21,18 +21,18 @@ stdenv.mkDerivation rec { # The build enables -O2 by default for everything else. hardeningDisable = stdenv.lib.optional stdenv.cc.isClang "fortify"; - depsBuildBuild = stdenv.lib.optional stdenv.isCross buildPackages.stdenv.cc; + depsBuildBuild = [ buildPackages.stdenv.cc ]; buildInputs = [ libgpgerror ] ++ stdenv.lib.optional stdenv.isDarwin gettext ++ stdenv.lib.optional enableCapabilities libcap; - preConfigure = if stdenv.isCross then '' + preConfigure = stdenv.lib.optionalString stdenv.isCross '' # This is intentional: gpg-error-config is a shell script that will work during the build mkdir -p "$NIX_BUILD_TOP"/bin ln -s ${libgpgerror.dev}/bin/gpg-error-config "$NIX_BUILD_TOP/bin" export PATH="$NIX_BUILD_TOP/bin:$PATH" - '' else null; + ''; # Make sure libraries are correct for .pc and .la files # Also make sure includes are fixed for callers who don't use libgpgcrypt-config diff --git a/pkgs/development/libraries/libgsf/default.nix b/pkgs/development/libraries/libgsf/default.nix index 6e036522b1cb..54a17d94a598 100644 --- a/pkgs/development/libraries/libgsf/default.nix +++ b/pkgs/development/libraries/libgsf/default.nix @@ -4,11 +4,11 @@ let inherit (stdenv.lib) optionals; in stdenv.mkDerivation rec { - name = "libgsf-1.14.41"; + name = "libgsf-1.14.42"; src = fetchurl { url = "mirror://gnome/sources/libgsf/1.14/${name}.tar.xz"; - sha256 = "1lq87wnrsjbjafpk3c8xwd56gqx319fhck9xkg2da88hd9c9h2qm"; + sha256 = "1hhdz0ymda26q6bl5ygickkgrh998lxqq4z9i8dzpcvqna3zpzr9"; }; nativeBuildInputs = [ pkgconfig intltool ]; diff --git a/pkgs/development/libraries/libidn2/default.nix b/pkgs/development/libraries/libidn2/default.nix index 521fe00b56d7..d375785e497e 100644 --- a/pkgs/development/libraries/libidn2/default.nix +++ b/pkgs/development/libraries/libidn2/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, libiconv, libunistring, help2man, ronn }: +{ fetchurl, stdenv, libiconv, libunistring, help2man, ronn, buildPackages }: with stdenv.lib; @@ -15,8 +15,10 @@ stdenv.mkDerivation rec { patches = optional stdenv.isDarwin ./fix-error-darwin.patch; - buildInputs = [ libunistring ronn ] - ++ optionals stdenv.isDarwin [ libiconv help2man ]; + nativeBuildInputs = [ ronn ] + ++ optional stdenv.isDarwin help2man; + buildInputs = [ libunistring ] ++ optional stdenv.isDarwin libiconv; + depsBuildBuild = [ buildPackages.stdenv.cc ]; meta = { homepage = "https://www.gnu.org/software/libidn/#libidn2"; diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix index dc88df31fbfd..0e2458a38959 100644 --- a/pkgs/development/libraries/libinput/default.nix +++ b/pkgs/development/libraries/libinput/default.nix @@ -16,11 +16,11 @@ in with stdenv.lib; stdenv.mkDerivation rec { name = "libinput-${version}"; - version = "1.9.4"; + version = "1.10.0"; src = fetchurl { url = "http://www.freedesktop.org/software/libinput/${name}.tar.xz"; - sha256 = "142icwzpirwddl7ghfmynxpnsbjg53rjxpzv4arjsaiw9r6bvk8b"; + sha256 = "0mrzsf0349d1g68lizkzxw7vaw459fl8xhl7v0s8njb31hp2riy2"; }; outputs = [ "out" "dev" ]; diff --git a/pkgs/development/libraries/libkate/default.nix b/pkgs/development/libraries/libkate/default.nix index 77f047b4c586..6c7e5881a784 100644 --- a/pkgs/development/libraries/libkate/default.nix +++ b/pkgs/development/libraries/libkate/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, libogg, libpng }: stdenv.mkDerivation rec { - name = "libkate-0.3.8"; + name = "libkate-0.4.1"; src = fetchurl { url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/libkate/${name}.tar.gz"; - sha256 = "00d6561g31la9bb8q99b7l4rvi67yiwm50ky8dhlsjd88h7rks2n"; + sha256 = "0s3vr2nxfxlf1k75iqpp4l78yf4gil3f0v778kvlngbchvaq23n4"; }; buildInputs = [ libogg libpng ]; diff --git a/pkgs/development/libraries/libmbim/default.nix b/pkgs/development/libraries/libmbim/default.nix index 1c8e65dafd4b..431770ef12d1 100644 --- a/pkgs/development/libraries/libmbim/default.nix +++ b/pkgs/development/libraries/libmbim/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, glib, python, udev, libgudev }: stdenv.mkDerivation rec { - name = "libmbim-1.14.2"; + name = "libmbim-1.16.0"; src = fetchurl { url = "https://www.freedesktop.org/software/libmbim/${name}.tar.xz"; - sha256 = "1krirl9881dnx7l29zhvagk2qlhi26vpvkzdifjklhrjhimzxji2"; + sha256 = "1hpsjc7bzmakzvj8z9fffvqknc38fa8ridpmklq46jyxxnz51jn8"; }; outputs = [ "out" "dev" "man" ]; diff --git a/pkgs/development/libraries/libmicrohttpd/default.nix b/pkgs/development/libraries/libmicrohttpd/default.nix index 35928e6dbf96..2e7c913e6a8d 100644 --- a/pkgs/development/libraries/libmicrohttpd/default.nix +++ b/pkgs/development/libraries/libmicrohttpd/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "libmicrohttpd-${version}"; - version = "0.9.58"; + version = "0.9.59"; src = fetchurl { url = "mirror://gnu/libmicrohttpd/${name}.tar.gz"; - sha256 = "1wq17qvizis7bsyvyw1gnfycvivssncngziddnyrbzv2dhvy24bs"; + sha256 = "0g4jgnv43yddr9yxrqg11632rip0lg5c53gmy5wy3c0i1dywv74v"; }; outputs = [ "out" "dev" "devdoc" "info" ]; diff --git a/pkgs/development/libraries/libmng/default.nix b/pkgs/development/libraries/libmng/default.nix index ff627499855c..749a5d60e467 100644 --- a/pkgs/development/libraries/libmng/default.nix +++ b/pkgs/development/libraries/libmng/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, zlib, libpng, libjpeg, lcms2 }: stdenv.mkDerivation rec { - name = "libmng-2.0.2"; + name = "libmng-2.0.3"; src = fetchurl { url = "mirror://sourceforge/libmng/${name}.tar.xz"; - sha256 = "0l5wa3b9rr4zl49zbbjpapqyccqjwzkzw1ph3p4pk9p5h73h9317"; + sha256 = "1lvxnpds0vcf0lil6ia2036ghqlbl740c4d2sz0q5g6l93fjyija"; }; outputs = [ "out" "dev" "devdoc" ]; diff --git a/pkgs/development/libraries/libmodplug/default.nix b/pkgs/development/libraries/libmodplug/default.nix index 600d7faace20..858004910160 100644 --- a/pkgs/development/libraries/libmodplug/default.nix +++ b/pkgs/development/libraries/libmodplug/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl }: let - version = "0.8.8.5"; + version = "0.8.9.0"; in stdenv.mkDerivation rec { name = "libmodplug-${version}"; @@ -15,6 +15,6 @@ in stdenv.mkDerivation rec { src = fetchurl { url = "mirror://sourceforge/project/modplug-xmms/libmodplug/${version}/${name}.tar.gz"; - sha256 = "1bfsladg7h6vnii47dd66f5vh1ir7qv12mfb8n36qiwrxq92sikp"; + sha256 = "1pnri98a603xk47smnxr551svbmgbzcw018mq1k6srbrq6kaaz25"; }; } diff --git a/pkgs/development/libraries/libqmi/default.nix b/pkgs/development/libraries/libqmi/default.nix index afa8a0451ac0..a0f5ac737679 100644 --- a/pkgs/development/libraries/libqmi/default.nix +++ b/pkgs/development/libraries/libqmi/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, glib, python, libgudev, libmbim }: stdenv.mkDerivation rec { - name = "libqmi-1.18.0"; + name = "libqmi-1.20.0"; src = fetchurl { url = "https://www.freedesktop.org/software/libqmi/${name}.tar.xz"; - sha256 = "1v4cz3nsmh7nn3smhlhwzrb7yh6l1f270bwf40qacxayjdajr950"; + sha256 = "1d3fca477sdwbv4bsq1cl98qc8sixrzp0gqjcmjj8mlwfk9qqhi1"; }; outputs = [ "out" "dev" "devdoc" ]; diff --git a/pkgs/development/libraries/libraw1394/default.nix b/pkgs/development/libraries/libraw1394/default.nix index c767ef9a9ea7..39d5c64f64fc 100644 --- a/pkgs/development/libraries/libraw1394/default.nix +++ b/pkgs/development/libraries/libraw1394/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "libraw1394-2.1.1"; + name = "libraw1394-2.1.2"; src = fetchurl { url = "mirror://kernel/linux/libs/ieee1394/${name}.tar.gz"; - sha256 = "0x6az154wr7wv3945485grjvpk604khv34dbaph6vmc1zdasqq59"; + sha256 = "0z5md84941ky5l7afayx2z6j0sk0mildxbjajq6niznd44ky7i6x"; }; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/libseccomp/default.nix b/pkgs/development/libraries/libseccomp/default.nix index 023c51c2b14f..d953fd12e68b 100644 --- a/pkgs/development/libraries/libseccomp/default.nix +++ b/pkgs/development/libraries/libseccomp/default.nix @@ -9,6 +9,8 @@ stdenv.mkDerivation rec { sha256 = "0mdiyfljrkfl50q1m3ws8yfcyfjwf1zgkvcva8ffcwncji18zhkz"; }; + outputs = [ "out" "lib" "dev" "man" ]; + buildInputs = [ getopt makeWrapper ]; patchPhase = '' diff --git a/pkgs/development/libraries/libspatialite/default.nix b/pkgs/development/libraries/libspatialite/default.nix index 19ccc9159a3e..253c5365c8a3 100644 --- a/pkgs/development/libraries/libspatialite/default.nix +++ b/pkgs/development/libraries/libspatialite/default.nix @@ -3,11 +3,11 @@ with lib; stdenv.mkDerivation rec { - name = "libspatialite-4.2.0"; + name = "libspatialite-4.3.0a"; src = fetchurl { url = "http://www.gaia-gis.it/gaia-sins/libspatialite-sources/${name}.tar.gz"; - sha256 = "0b9ipmp09y2ij7yajyjsh0zcwps8n5g88lzfzlkph33lail8l4wz"; + sha256 = "16d4lpl7xrm9zy4gphy6nwanpjp8wn9g4wq2i2kh8abnlhq01448"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/development/libraries/libunistring/default.nix b/pkgs/development/libraries/libunistring/default.nix index 8d1f5115bdf0..e3be66e8b1ca 100644 --- a/pkgs/development/libraries/libunistring/default.nix +++ b/pkgs/development/libraries/libunistring/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "libunistring-${version}"; - version = "0.9.8"; + version = "0.9.9"; src = fetchurl { url = "mirror://gnu/libunistring/${name}.tar.gz"; - sha256 = "1x9wnpzg7vxyjpnzab6vw0afbcijfbd57qrrkqrppynh0nyz54mp"; + sha256 = "0jm8pr469y7ybb90ll8k1585rciqm8ckzif0laipqhp5z440rsgm"; }; outputs = [ "out" "dev" "info" "doc" ]; diff --git a/pkgs/development/libraries/libunwind/default.nix b/pkgs/development/libraries/libunwind/default.nix index 6afdac3fdf5c..b901d352808e 100644 --- a/pkgs/development/libraries/libunwind/default.nix +++ b/pkgs/development/libraries/libunwind/default.nix @@ -33,4 +33,6 @@ stdenv.mkDerivation rec { platforms = platforms.linux; license = licenses.mit; }; + + passthru.supportsHost = !stdenv.hostPlatform.isRiscV; } diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix index 59fd95eefeee..e8877c7f54b6 100644 --- a/pkgs/development/libraries/libuv/default.nix +++ b/pkgs/development/libraries/libuv/default.nix @@ -2,14 +2,14 @@ , ApplicationServices, CoreServices }: stdenv.mkDerivation rec { - version = "1.19.1"; + version = "1.19.2"; name = "libuv-${version}"; src = fetchFromGitHub { owner = "libuv"; repo = "libuv"; rev = "v${version}"; - sha256 = "020jap4xvjns1rgb2kvpf1nib3f2d5fyqh04afgkk32hiag0kn66"; + sha256 = "118r8wigm65107fm7kzfz7gc4awy8xxg0knvwnshx1j40ks08x9z"; }; postPatch = let diff --git a/pkgs/development/libraries/libva-utils/default.nix b/pkgs/development/libraries/libva-utils/default.nix index fad721059124..95d4be08548a 100644 --- a/pkgs/development/libraries/libva-utils/default.nix +++ b/pkgs/development/libraries/libva-utils/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { owner = "01org"; repo = "libva-utils"; rev = version; - sha256 = "02n51cvp8bzzjk4fargwvgh7z71y8spg24hqgaawbp3p3ahh7xxi"; + sha256 = "113wdmi4r0qligizj9zmd4a8ml1996x9g2zp2i4pmhb8frv9m8j2"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; diff --git a/pkgs/development/libraries/libva/default.nix b/pkgs/development/libraries/libva/default.nix index 7979eaec7742..6b8c3631fb37 100644 --- a/pkgs/development/libraries/libva/default.nix +++ b/pkgs/development/libraries/libva/default.nix @@ -6,13 +6,14 @@ stdenv.mkDerivation rec { name = "libva-${lib.optionalString (!minimal) "full-"}${version}"; - version = "2.0.0"; + version = "2.1.0"; + # update libva-utils and vaapiIntel as well src = fetchFromGitHub { owner = "01org"; repo = "libva"; rev = version; - sha256 = "1x8rlmv5wfqjz3j87byrxb4d9vp5b4lrrin2fx254nwl3aqy15hy"; + sha256 = "1a60lrgr65hx9b2qp0gjky1298c4d4zp3ap6vnmmz850sxx5rm8w"; }; outputs = [ "dev" "out" ]; diff --git a/pkgs/development/libraries/libwacom/default.nix b/pkgs/development/libraries/libwacom/default.nix index 6674f303739f..8e36edff7edd 100644 --- a/pkgs/development/libraries/libwacom/default.nix +++ b/pkgs/development/libraries/libwacom/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "libwacom-${version}"; - version = "0.26"; + version = "0.28"; src = fetchurl { url = "mirror://sourceforge/linuxwacom/libwacom/${name}.tar.bz2"; - sha256 = "0xpvkjvzaj9blcmw8ha46616bzfivj99kwzvr91clxd6iaf11r63"; + sha256 = "1vv768870597rvwxdb59v6pjn1pxaxg4r6znbb5j3cl828q35mp7"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/development/libraries/libxkbcommon/default.nix b/pkgs/development/libraries/libxkbcommon/default.nix index e730cc6eaabf..faeed680f3d6 100644 --- a/pkgs/development/libraries/libxkbcommon/default.nix +++ b/pkgs/development/libraries/libxkbcommon/default.nix @@ -1,30 +1,35 @@ -{ stdenv, fetchurl, pkgconfig, yacc, flex, xkeyboard_config, libxcb, libX11 }: +{ stdenv, fetchurl, fetchpatch, meson, ninja, pkgconfig, yacc, xkeyboard_config, libxcb, libX11, doxygen }: stdenv.mkDerivation rec { - name = "libxkbcommon-0.7.2"; + name = "libxkbcommon-0.8.0"; src = fetchurl { - url = "http://xkbcommon.org/download/${name}.tar.xz"; - sha256 = "1n5rv5n210kjnkyrvbh04gfwaa7zrmzy1393p8nyqfw66lkxr918"; + url = "https://xkbcommon.org/download/${name}.tar.xz"; + sha256 = "0vgy84vfbig5bqznr137h5arjidnfwrxrdli0pxyn2jfn1fjcag8"; }; - outputs = [ "out" "dev" ]; + outputs = [ "out" "dev" "doc" ]; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ yacc flex xkeyboard_config libxcb ]; + nativeBuildInputs = [ meson ninja pkgconfig yacc doxygen ]; + buildInputs = [ xkeyboard_config libxcb ]; - configureFlags = [ - "--with-xkb-config-root=${xkeyboard_config}/etc/X11/xkb" - "--with-x-locale-root=${libX11.out}/share/X11/locale" + patches = [ + # darwin compatibility + (fetchpatch { + url = https://github.com/xkbcommon/libxkbcommon/commit/edb1c662394578a54b7bbed231d918925e5d8150.patch; + sha256 = "0ydjlir32r3xfsbqhnsx1bz6ags2m908yhf9i09i1s7sgcimbcx5"; + }) ]; - preBuild = stdenv.lib.optionalString stdenv.isDarwin '' - sed -i 's/,--version-script=.*$//' Makefile - ''; + mesonFlags = [ + "-Denable-wayland=false" + "-Dxkb-config-root=${xkeyboard_config}/etc/X11/xkb" + "-Dx-locale-root=${libX11.out}/share/X11/locale" + ]; meta = with stdenv.lib; { description = "A library to handle keyboard descriptions"; - homepage = http://xkbcommon.org; + homepage = https://xkbcommon.org; license = licenses.mit; maintainers = with maintainers; [ garbas ttuegel ]; platforms = with platforms; unix; diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index 3f873022f7ac..fbbfe44e27e8 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -66,7 +66,7 @@ let in let - version = "17.3.3"; + version = "17.3.6"; branch = head (splitString "." version); driverLink = "/run/opengl-driver" + optionalString stdenv.isi686 "-32"; in @@ -81,7 +81,7 @@ stdenv.mkDerivation { "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz" "https://mesa.freedesktop.org/archive/mesa-${version}.tar.xz" ]; - sha256 = "16rpm4rwmzd4kdgipa1gw262jqg3346gih0y3bsc3bgn1vgcbfj1"; + sha256 = "e5915680d44ac9d05defdec529db7459ac9edd441c9845266eff2e2d3e57fbf8"; }; prePatch = "patchShebangs ."; diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix index f8a35e41cd61..abb3020e5fba 100644 --- a/pkgs/development/libraries/ncurses/default.nix +++ b/pkgs/development/libraries/ncurses/default.nix @@ -13,18 +13,12 @@ }: stdenv.mkDerivation rec { - version = "6.0-20171125"; + version = "6.1"; name = "ncurses-${version}" + lib.optionalString (abiVersion == "5") "-abi5-compat"; src = fetchurl { - urls = [ - # Remove this mirror on next upgrade, it's only needed because upstream took ncurses-6.0-20171125.tgz down! - "http://bld1.alpinelinux.org/distfiles/v3.5/ncurses-${version}.tgz" - - "ftp://ftp.invisible-island.net/ncurses/current/ncurses-${version}.tgz" - "https://invisible-mirror.net/archives/ncurses/current/ncurses-${version}.tgz" - ]; - sha256 = "11adzj0k82nlgpfrflabvqn2m7fmhp2y6pd7ivmapynxqb9vvb92"; + url = "mirror://gnu/ncurses/ncurses-${version}.tar.gz"; + sha256 = "05qdmbmrrn88ii9f66rkcmcyzp1kb1ymkx7g040lfkd1nkp7w1da"; }; patches = lib.optional (!stdenv.cc.isClang) ./clang.patch; @@ -127,6 +121,8 @@ stdenv.mkDerivation rec { moveToOutput "bin/tic" "$out" moveToOutput "bin/tput" "$out" moveToOutput "bin/tset" "$out" + moveToOutput "bin/captoinfo" "$out" + moveToOutput "bin/infotocap" "$out" ''; preFixup = lib.optionalString (!hostPlatform.isCygwin) '' diff --git a/pkgs/development/libraries/newt/default.nix b/pkgs/development/libraries/newt/default.nix index c4e019bf3ac6..cd1e51bd19c1 100644 --- a/pkgs/development/libraries/newt/default.nix +++ b/pkgs/development/libraries/newt/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, slang, popt }: stdenv.mkDerivation rec { - name = "newt-0.52.15"; + name = "newt-0.52.20"; src = fetchurl { url = "https://fedorahosted.org/releases/n/e/newt/${name}.tar.gz"; - sha256 = "0hg2l0siriq6qrz6mmzr6l7rpl40ay56c8cak87rb2ks7s952qbs"; + sha256 = "1g3dpfnvaw7vljbr7nzq1rl88d6r8cmrvvng9inphgzwxxmvlrld"; }; patchPhase = '' diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix index ccb04024f643..17805f32afb1 100644 --- a/pkgs/development/libraries/nspr/default.nix +++ b/pkgs/development/libraries/nspr/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl , CoreServices ? null }: -let version = "4.17"; in +let version = "4.18"; in stdenv.mkDerivation { name = "nspr-${version}"; src = fetchurl { url = "mirror://mozilla/nspr/releases/v${version}/src/nspr-${version}.tar.gz"; - sha256 = "158hdn285dsb5rys8wl1wi32dd1axwhqq0r8fwny4aj157m0l2jr"; + sha256 = "0d7vr3wrgp73qbywrvdkikk8vq1s1n9vhf62db80g1zqkg05g5mq"; }; outputs = [ "out" "dev" ]; diff --git a/pkgs/development/libraries/p11-kit/default.nix b/pkgs/development/libraries/p11-kit/default.nix index c5c14ed3b85f..a3d4857d57a9 100644 --- a/pkgs/development/libraries/p11-kit/default.nix +++ b/pkgs/development/libraries/p11-kit/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { name = "p11-kit-${version}"; - version = "0.23.9"; + version = "0.23.10"; src = fetchFromGitHub { owner = "p11-glue"; repo = "p11-kit"; rev = version; - sha256 = "0lyv6m2jflvs23m0i6l64d470p5a315lz6vs4bflsqv8i1zrrcsh"; + sha256 = "0n0wqv028flzvnxllqv8i6x9nv705csl7ddzi0fzvppc9fp2yinp"; }; outputs = [ "out" "dev"]; diff --git a/pkgs/development/libraries/pixman/default.nix b/pkgs/development/libraries/pixman/default.nix index 6b891bdb38c2..e70ffc3eb2f1 100644 --- a/pkgs/development/libraries/pixman/default.nix +++ b/pkgs/development/libraries/pixman/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchpatch, autoconf, automake, libtool, pkgconfig, libpng, glib /*just passthru*/ }: +{ stdenv, fetchurl, fetchpatch, autoconf, automake, libtool, autoreconfHook, pkgconfig, libpng, glib /*just passthru*/ }: stdenv.mkDerivation rec { name = "pixman-${version}"; @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ pkgconfig ] - ++ stdenv.lib.optionals stdenv.cc.isClang [ autoconf automake libtool ]; + ++ stdenv.lib.optionals stdenv.cc.isClang [ autoconf automake libtool autoreconfHook ]; buildInputs = stdenv.lib.optional doCheck libpng; diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix index 5fcb7d386faf..9a3d24fc0b28 100644 --- a/pkgs/development/libraries/poppler/default.nix +++ b/pkgs/development/libraries/poppler/default.nix @@ -1,24 +1,22 @@ -{ stdenv, lib, fetchurl, fetchpatch, pkgconfig, libiconv, libintlOrEmpty +{ stdenv, lib, fetchurl, cmake, ninja, pkgconfig, libiconv, libintlOrEmpty , zlib, curl, cairo, freetype, fontconfig, lcms, libjpeg, openjpeg , withData ? true, poppler_data -, qt4Support ? false, qt4 ? null , qt5Support ? false, qtbase ? null , introspectionSupport ? false, gobjectIntrospection ? null , utils ? false , minimal ? false, suffix ? "glib" -, hostPlatform }: let # beware: updates often break cups-filters build - version = "0.56.0"; - sha256 = "0wviayidfv2ix2ql0d4nl9r1ia6qi5kc1nybd9vjx27dk7gvm7c6"; + version = "0.62.0"; + mkFlag = optset: flag: "-DENABLE_${flag}=${if optset then "on" else "off"}"; in stdenv.mkDerivation rec { name = "poppler-${suffix}-${version}"; src = fetchurl { url = "${meta.homepage}/poppler-${version}.tar.xz"; - inherit sha256; + sha256 = "1ii9ly1pngyvs0aiq2wxpya08hidpl54y7nsb8b1vxnnskgp76jv"; }; outputs = [ "out" "dev" ]; @@ -29,36 +27,19 @@ stdenv.mkDerivation rec { propagatedBuildInputs = with lib; [ zlib freetype fontconfig libjpeg openjpeg ] ++ optionals (!minimal) [ cairo lcms curl ] - ++ optional qt4Support qt4 ++ optional qt5Support qtbase ++ optional introspectionSupport gobjectIntrospection; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ cmake ninja pkgconfig ]; - NIX_CFLAGS_COMPILE = [ "-DQT_NO_DEBUG" ]; - - CXXFLAGS = lib.optional qt5Support "-std=c++11"; - - configureFlags = with lib; - [ - "--enable-xpdf-headers" - "--enable-libcurl" - "--enable-zlib" - "--enable-build-type=release" - ] - ++ optionals minimal [ - "--disable-poppler-glib" "--disable-poppler-cpp" - "--disable-libcurl" - ] - ++ optional (!utils) "--disable-utils" - ++ optional introspectionSupport "--enable-introspection"; - - enableParallelBuilding = true; - - crossAttrs.postPatch = - # there are tests using `strXXX_s` functions that are missing apparently - stdenv.lib.optionalString (hostPlatform.libc or null == "msvcrt") - "sed '/^SUBDIRS =/s/ test / /' -i Makefile.in"; + cmakeFlags = [ + (mkFlag true "XPDF_HEADERS") + (mkFlag (!minimal) "GLIB") + (mkFlag (!minimal) "CPP") + (mkFlag (!minimal) "LIBCURL") + (mkFlag utils "UTILS") + (mkFlag qt5Support "QT5") + ]; meta = with lib; { homepage = https://poppler.freedesktop.org/; diff --git a/pkgs/development/libraries/poppler/qt4.nix b/pkgs/development/libraries/poppler/qt4.nix new file mode 100644 index 000000000000..c82a543413e2 --- /dev/null +++ b/pkgs/development/libraries/poppler/qt4.nix @@ -0,0 +1,44 @@ +# TODO: get rid of this (https://github.com/NixOS/nixpkgs/issues/32883) +{ stdenv, lib, fetchurl, cmake, ninja, pkgconfig, libiconv, libintlOrEmpty +, zlib, curl, cairo, freetype, fontconfig, lcms2, libjpeg, openjpeg +, poppler_data, qt4 +}: + +let + # Last version supporting QT4 + version = "0.61.1"; +in +stdenv.mkDerivation rec { + name = "poppler-qt4-${version}"; + + src = fetchurl { + url = "${meta.homepage}/poppler-${version}.tar.xz"; + sha256 = "1afdrxxkaivvviazxkg5blsf2x24sjkfj92ib0d3q5pm8dihjrhj"; + }; + + outputs = [ "out" "dev" ]; + + buildInputs = [ libiconv poppler_data ] ++ libintlOrEmpty; + + propagatedBuildInputs = [ zlib freetype fontconfig libjpeg openjpeg cairo lcms2 curl qt4 ]; + + nativeBuildInputs = [ cmake ninja pkgconfig ]; + + cmakeFlags = [ + "-DENABLE_XPDF_HEADERS=on" + "-DENABLE_UTILS=off" + ]; + + meta = with lib; { + homepage = https://poppler.freedesktop.org/; + description = "A PDF rendering library"; + + longDescription = '' + Poppler is a PDF rendering library based on the xpdf-3.0 code base. + ''; + + license = licenses.gpl2; + platforms = platforms.all; + maintainers = with maintainers; [ ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/protobuf/3.4.nix b/pkgs/development/libraries/protobuf/3.4.nix index 75f1bb22c248..5a9034a56a80 100644 --- a/pkgs/development/libraries/protobuf/3.4.nix +++ b/pkgs/development/libraries/protobuf/3.4.nix @@ -1,6 +1,6 @@ { callPackage, lib, ... }: lib.overrideDerivation (callPackage ./generic-v3.nix { - version = "3.4.0"; - sha256 = "0385j54kgr71h0cxh5vqr81qs57ack2g2k9mcdbq188v4ckjacyx"; + version = "3.4.1"; + sha256 = "1lzxmbqlnmi34kymnf399azv86gmdbrf71xiad6wc24bzpkzqybb"; }) (attrs: { NIX_CFLAGS_COMPILE = "-Wno-error"; }) diff --git a/pkgs/development/libraries/protobuf/3.5.nix b/pkgs/development/libraries/protobuf/3.5.nix new file mode 100644 index 000000000000..db9cb6f0371b --- /dev/null +++ b/pkgs/development/libraries/protobuf/3.5.nix @@ -0,0 +1,6 @@ +{ callPackage, lib, ... }: + +lib.overrideDerivation (callPackage ./generic-v3.nix { + version = "3.5.1.1"; + sha256 = "1h4xydr5j2zg1888ncn8a1jvqq8fgpgckrmjg6lqzy9jpkvqvfdk"; +}) (attrs: { NIX_CFLAGS_COMPILE = "-Wno-error"; }) diff --git a/pkgs/development/libraries/qt-5/5.10/default.nix b/pkgs/development/libraries/qt-5/5.10/default.nix index 2ff9a46bc772..f957b7633dab 100644 --- a/pkgs/development/libraries/qt-5/5.10/default.nix +++ b/pkgs/development/libraries/qt-5/5.10/default.nix @@ -37,7 +37,9 @@ let srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; }; patches = { - qtbase = [ ./qtbase.patch ] ++ optional stdenv.isDarwin ./qtbase-darwin.patch; + qtbase = [ ./qtbase.patch ] ++ + optionals stdenv.isDarwin [ ./qtbase-darwin.patch + ./restore-pc-files.patch ]; qtdeclarative = [ ./qtdeclarative.patch ]; qtscript = [ ./qtscript.patch ]; qtserialport = [ ./qtserialport.patch ]; diff --git a/pkgs/development/libraries/qt-5/5.10/restore-pc-files.patch b/pkgs/development/libraries/qt-5/5.10/restore-pc-files.patch new file mode 100644 index 000000000000..a012c3f583e3 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.10/restore-pc-files.patch @@ -0,0 +1,27 @@ +diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf +index e6a0d97f1a..b50ce77d51 100644 +--- a/mkspecs/features/qt_module.prf ++++ b/mkspecs/features/qt_module.prf +@@ -266,7 +266,7 @@ load(qt_installs) + load(qt_targets) + + # this builds on top of qt_common +-!internal_module:!lib_bundle:if(unix|mingw) { ++!internal_module:if(unix|mingw) { + CONFIG += create_pc + QMAKE_PKGCONFIG_DESTDIR = pkgconfig + host_build: \ +diff --git a/mkspecs/features/qt_module_headers.prf b/mkspecs/features/qt_module_headers.prf +index 62b88c6fe2..f302f1e202 100644 +--- a/mkspecs/features/qt_module_headers.prf ++++ b/mkspecs/features/qt_module_headers.prf +@@ -102,8 +102,7 @@ git_build: \ + else: \ + INC_PATH = $$MODULE_BASE_INDIR + include($$INC_PATH/include/$$MODULE_INCNAME/headers.pri, "", true) +-!lib_bundle: \ # Headers are embedded into the bundle, so don't install them separately. +- CONFIG += qt_install_headers ++CONFIG += qt_install_headers + + alien_syncqt: return() + diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix index 0625183fb7de..b8b7d0c701dd 100644 --- a/pkgs/development/libraries/sqlite/default.nix +++ b/pkgs/development/libraries/sqlite/default.nix @@ -3,11 +3,11 @@ assert interactive -> readline != null && ncurses != null; stdenv.mkDerivation { - name = "sqlite-3.21.0"; + name = "sqlite-3.22.0"; src = fetchurl { - url = "http://sqlite.org/2017/sqlite-autoconf-3210000.tar.gz"; - sha256 = "1qxvzdjwzw6k0kqjfabj86rnq87xdbwbca7laxxdhnh0fmkm3pfp"; + url = "http://sqlite.org/2018/sqlite-autoconf-3220000.tar.gz"; + sha256 = "04n6hnw2g818d7r92cp2608kd5mhzyysy83k29kbq1mp709an918"; }; outputs = [ "bin" "dev" "out" ]; @@ -31,6 +31,8 @@ stdenv.mkDerivation { "-DSQLITE_ENABLE_UNLOCK_NOTIFY" "-DSQLITE_SOUNDEX" "-DSQLITE_SECURE_DELETE" + "-DSQLITE_MAX_VARIABLE_NUMBER=250000" + "-DSQLITE_MAX_EXPR_DEPTH=10000" ]; # Test for features which may not be available at compile time diff --git a/pkgs/development/libraries/sqlite/sqlite3_analyzer.nix b/pkgs/development/libraries/sqlite/sqlite3_analyzer.nix index d971587ee6ee..1feedb94c158 100644 --- a/pkgs/development/libraries/sqlite/sqlite3_analyzer.nix +++ b/pkgs/development/libraries/sqlite/sqlite3_analyzer.nix @@ -1,11 +1,11 @@ { lib, stdenv, fetchurl, unzip, tcl }: stdenv.mkDerivation { - name = "sqlite3_analyzer-3.20.1"; + name = "sqlite3_analyzer-3.22.0"; src = fetchurl { - url = "https://www.sqlite.org/2017/sqlite-src-3200100.zip"; - sha256 = "0aicmapa99141hjncyxwg66ndhr16nwpbqy27x79fg1ikzhwlnv6"; + url = "https://www.sqlite.org/2018/sqlite-src-3220000.zip"; + sha256 = "04w97jj1659vl84rr73wg1mhj6by8r5075rzpn2xp42n537a7ibv"; }; nativeBuildInputs = [ unzip ]; diff --git a/pkgs/development/libraries/vaapi-intel/default.nix b/pkgs/development/libraries/vaapi-intel/default.nix index a784461c96bc..4e729db4671e 100644 --- a/pkgs/development/libraries/vaapi-intel/default.nix +++ b/pkgs/development/libraries/vaapi-intel/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { owner = "01org"; repo = "libva-intel-driver"; rev = version; - sha256 = "1832nnva3d33wv52bj59bv62q7a807sdxjqqq0my7l9x7a4qdkzz"; + sha256 = "15ag4al9h6b8f8sw1zpighyhsmr5qfqp1882q7r3gsh5g4cnj763"; }; patchPhase = '' diff --git a/pkgs/development/libraries/wayland/protocols.nix b/pkgs/development/libraries/wayland/protocols.nix index 5b1495ccbe1a..ed9866048191 100644 --- a/pkgs/development/libraries/wayland/protocols.nix +++ b/pkgs/development/libraries/wayland/protocols.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "wayland-protocols-${version}"; - version = "1.11"; + version = "1.13"; src = fetchurl { url = "http://wayland.freedesktop.org/releases/${name}.tar.xz"; - sha256 = "0138psvx6fv8z5x2p6xi4iij6m5k62c0qyfsb45xgcf5a4fyxz1s"; + sha256 = "0f4gqvmz53q9d8h0ilhf4z773nb4vskzx11a3d1jycym120bqn07"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/development/libraries/zziplib/default.nix b/pkgs/development/libraries/zziplib/default.nix index 07a6f7ef0889..d43c481c8597 100644 --- a/pkgs/development/libraries/zziplib/default.nix +++ b/pkgs/development/libraries/zziplib/default.nix @@ -1,21 +1,26 @@ -{ fetchurl, stdenv, perl, python2, zip, xmlto, zlib }: +{ docbook_xml_dtd_412, fetchurl, stdenv, perl, python2, zip, xmlto, zlib }: stdenv.mkDerivation rec { name = "zziplib-${version}"; - version = "0.13.67"; + version = "0.13.68"; src = fetchurl { url = "https://github.com/gdraheim/zziplib/archive/v${version}.tar.gz"; - sha256 = "0802kdxwxx9zanpwb4w4wfi3blwhv0ri05mzdgd35j5sva5ify0j"; + sha256 = "0chhl6m02562z6c4hjy568mh11pbq2qngw6g2x924ajr8sdr2q4l"; }; - patchPhase = '' + postPatch = '' sed -i -e s,--export-dynamic,, configure ''; - buildInputs = [ perl python2 zip xmlto zlib ]; + # TODO: still an issue: https://github.com/gdraheim/zziplib/issues/27 - doCheck = true; + buildInputs = [ docbook_xml_dtd_412 perl python2 zip xmlto zlib ]; + + # tests are broken (https://github.com/gdraheim/zziplib/issues/20), + # and test/zziptests.py requires network access + # (https://github.com/gdraheim/zziplib/issues/24) + doCheck = false; meta = with stdenv.lib; { description = "Library to extract data from files archived in a zip file"; diff --git a/pkgs/development/perl-modules/generic/builder.sh b/pkgs/development/perl-modules/generic/builder.sh index 1b8888dd3ceb..937dad971b87 100644 --- a/pkgs/development/perl-modules/generic/builder.sh +++ b/pkgs/development/perl-modules/generic/builder.sh @@ -22,7 +22,7 @@ preConfigure() { fi done - perl Makefile.PL PREFIX=$out INSTALLDIRS=site $makeMakerFlags + perl Makefile.PL PREFIX=$out INSTALLDIRS=site $makeMakerFlags PERL=$(type -P perl) FULLPERL=$perl/bin/perl } diff --git a/pkgs/development/perl-modules/generic/default.nix b/pkgs/development/perl-modules/generic/default.nix index 9e21a141c728..b33861d83eed 100644 --- a/pkgs/development/perl-modules/generic/default.nix +++ b/pkgs/development/perl-modules/generic/default.nix @@ -1,6 +1,6 @@ perl: -{ buildInputs ? [], name, ... } @ attrs: +{ nativeBuildInputs ? [], name, ... } @ attrs: perl.stdenv.mkDerivation ( { @@ -27,6 +27,7 @@ perl.stdenv.mkDerivation ( { name = "perl-" + name; builder = ./builder.sh; - buildInputs = buildInputs ++ [ perl ]; + nativeBuildInputs = nativeBuildInputs ++ [ (perl.dev or perl) ]; + inherit perl; } ) diff --git a/pkgs/development/python-modules/MechanicalSoup/default.nix b/pkgs/development/python-modules/MechanicalSoup/default.nix index b5d202af50a4..63eb93a207cd 100644 --- a/pkgs/development/python-modules/MechanicalSoup/default.nix +++ b/pkgs/development/python-modules/MechanicalSoup/default.nix @@ -3,15 +3,13 @@ , pytestrunner, requests-mock, pytestcov, pytest }: - buildPythonPackage rec { - name = "${pname}-${version}"; pname = "MechanicalSoup"; - version = "0.9.0.post4"; + version = "0.10.0"; src = fetchPypi { inherit pname version; - sha256 = "ce8f822afbc9bef1499be417e8d5deecd0cd32606420165700e89477955f03ab"; + sha256 = "22423efd025c3eedb06f41d3ff1127174a59f40dc560e82dce143956976195bf"; }; checkInputs = [ pytest pytestrunner requests-mock pytestcov ]; diff --git a/pkgs/development/python-modules/absl-py/default.nix b/pkgs/development/python-modules/absl-py/default.nix index 5e295bb9516e..5acbf12aafc3 100644 --- a/pkgs/development/python-modules/absl-py/default.nix +++ b/pkgs/development/python-modules/absl-py/default.nix @@ -6,12 +6,11 @@ buildPythonPackage rec { pname = "absl-py"; - version = "0.1.9"; - name = "${pname}-${version}"; + version = "0.1.10"; src = fetchPypi { inherit pname version; - sha256 = "1c787e3bc7ef8fea7a8a79cf36b0c550b4bd66e13c05d1352fbc5786488befb0"; + sha256 = "908eba9a96a37c10f10074aba57d685070b814906b02a1ea2cf54bb10a6b8c74"; }; propagatedBuildInputs = [ six ]; diff --git a/pkgs/development/python-modules/affinity/default.nix b/pkgs/development/python-modules/affinity/default.nix index f2cb2ef6445e..4eaaf56b441f 100644 --- a/pkgs/development/python-modules/affinity/default.nix +++ b/pkgs/development/python-modules/affinity/default.nix @@ -1,13 +1,17 @@ -{ lib, buildPythonPackage, fetchPypi }: +{ lib, buildPythonPackage, fetchPypi, isPy3k }: buildPythonPackage rec { - name = "${pname}-${version}"; pname = "affinity"; version = "0.1.0"; + + # syntax error + disabled = isPy3k; + src = fetchPypi { inherit pname version; sha256 = "1i6j7kszvnzh5vh9k48cqwx2kzf73a6abgv9s6bf0j2zmfjl2wb6"; }; + meta = { description = "control processor affinity on windows and linux"; homepage = http://cheeseshop.python.org/pypi/affinity; diff --git a/pkgs/development/python-modules/aiohttp-jinja2/default.nix b/pkgs/development/python-modules/aiohttp-jinja2/default.nix new file mode 100644 index 000000000000..7b3bd6bbcc52 --- /dev/null +++ b/pkgs/development/python-modules/aiohttp-jinja2/default.nix @@ -0,0 +1,26 @@ +{ lib, stdenv, buildPythonPackage, fetchPypi, aiohttp, jinja2, pytest, pytest-aiohttp }: + +buildPythonPackage rec { + pname = "aiohttp-jinja2"; + version = "0.16.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "1ps182yrc5g9ph55927a7ssqx6m9kx0bivfxpaj8sa3znrdkl94d"; + }; + + propagatedBuildInputs = [ aiohttp jinja2 ]; + + checkInputs = [ pytest pytest-aiohttp ]; + + checkPhase = '' + py.test + ''; + + meta = with lib; { + description = "Jinja2 support for aiohttp"; + homepage = https://github.com/aio-libs/aiohttp_jinja2; + license = licenses.asl20; + maintainers = with maintainers; [ peterhoeg ]; + }; +} diff --git a/pkgs/development/python-modules/aniso8601/default.nix b/pkgs/development/python-modules/aniso8601/default.nix index ba60922856ef..04df5d2fde84 100644 --- a/pkgs/development/python-modules/aniso8601/default.nix +++ b/pkgs/development/python-modules/aniso8601/default.nix @@ -3,7 +3,7 @@ buildPythonPackage rec { pname = "aniso8601"; - version = "2.0.0"; + version = "2.0.1"; name = "${pname}-${version}"; meta = with stdenv.lib; { @@ -16,6 +16,6 @@ buildPythonPackage rec { src = fetchPypi { inherit pname version; - sha256 = "085786415d3550e89785ffbedaa9bb37d41de0707a1268bdbba11249064b71d1"; + sha256 = "b7215a41e5194a829dc87d1ea5039315be85a6158ba15c8157a284c29fa6808b"; }; } diff --git a/pkgs/development/python-modules/apsw/default.nix b/pkgs/development/python-modules/apsw/default.nix index 3e7e970da6c0..c16fb3c4c46b 100644 --- a/pkgs/development/python-modules/apsw/default.nix +++ b/pkgs/development/python-modules/apsw/default.nix @@ -1,22 +1,21 @@ -{ stdenv, buildPythonPackage, fetchurl +{ stdenv, buildPythonPackage, fetchPypi , sqlite, isPyPy }: buildPythonPackage rec { pname = "apsw"; - version = "3.7.6.2-r1"; - name = "${pname}-${version}"; + version = "3.9.2-r1"; disabled = isPyPy; - src = fetchurl { - url = "http://apsw.googlecode.com/files/${name}.zip"; - sha256 = "cb121b2bce052609570a2f6def914c0aa526ede07b7096dddb78624d77f013eb"; + src = fetchPypi { + inherit pname version; + sha256 = "dab96fd164dde9e59f7f27228291498217fa0e74048e2c08c7059d7e39589270"; }; buildInputs = [ sqlite ]; # python: double free or corruption (fasttop): 0x0000000002fd4660 *** - doCheck = false; +# doCheck = false; meta = with stdenv.lib; { description = "A Python wrapper for the SQLite embedded relational database engine"; diff --git a/pkgs/development/python-modules/asgiref/default.nix b/pkgs/development/python-modules/asgiref/default.nix index f40adc91b4bc..a556cd3c87f2 100644 --- a/pkgs/development/python-modules/asgiref/default.nix +++ b/pkgs/development/python-modules/asgiref/default.nix @@ -1,15 +1,23 @@ -{ stdenv, buildPythonPackage, fetchurl, six, async-timeout }: +{ stdenv, buildPythonPackage, fetchFromGitHub, async-timeout, pytest, pytest-asyncio }: buildPythonPackage rec { version = "2.2.0"; pname = "asgiref"; - name = "${pname}-${version}"; - src = fetchurl { - url = "mirror://pypi/a/asgiref/${name}.tar.gz"; - sha256 = "1fmrd749hqxwicnivvgrcw812gbj2zm49zcnkghh9yxbkjfcvxcv"; + # PyPI tarball doesn't include tests directory + src = fetchFromGitHub { + owner = "django"; + repo = pname; + rev = version; + sha256 = "0jsdkgwzswm1jbfm6d100yfvfzpic8v6ysydcnn798bbpwclj8ip"; }; - propagatedBuildInputs = [ six async-timeout ]; + propagatedBuildInputs = [ async-timeout ]; + + checkInputs = [ pytest pytest-asyncio ]; + + checkPhase = '' + py.test + ''; meta = with stdenv.lib; { description = "Reference ASGI adapters and channel layers"; diff --git a/pkgs/development/python-modules/astral/default.nix b/pkgs/development/python-modules/astral/default.nix index c6a3ac47aa70..488c5ed66512 100644 --- a/pkgs/development/python-modules/astral/default.nix +++ b/pkgs/development/python-modules/astral/default.nix @@ -1,19 +1,21 @@ -{ stdenv, buildPythonPackage, fetchPypi, pytz, pytest }: +{ stdenv, buildPythonPackage, fetchPypi, pytz, requests, pytest }: buildPythonPackage rec { pname = "astral"; - version = "1.5"; + version = "1.6"; src = fetchPypi { inherit pname version; - sha256 = "527628fbfe90c1596c3950ff84ebd07ecc10c8fb1044c903a0519b5057700cb6"; + sha256 = "874b397ddbf0a4c1d8d644b21c2481e8a96b61343f820ad52d8a322d61a15083"; }; - propagatedBuildInputs = [ pytz ]; + propagatedBuildInputs = [ pytz requests ]; checkInputs = [ pytest ]; checkPhase = '' - py.test -k "not test_GoogleLocator" + # https://github.com/sffjunkie/astral/pull/13 + touch src/test/.api_key + py.test -m "not webtest" ''; meta = with stdenv.lib; { diff --git a/pkgs/development/python-modules/asynctest/default.nix b/pkgs/development/python-modules/asynctest/default.nix index 2b0348a87581..a0f408764a0d 100644 --- a/pkgs/development/python-modules/asynctest/default.nix +++ b/pkgs/development/python-modules/asynctest/default.nix @@ -2,7 +2,7 @@ buildPythonPackage rec { pname = "asynctest"; - version = "0.11.1"; + version = "0.12.0"; disabled = pythonOlder "3.4"; @@ -11,7 +11,7 @@ buildPythonPackage rec { owner = "Martiusweb"; repo = pname; rev = "v${version}"; - sha256 = "1vvh5vbq2fbz6426figs85z8779r7svb4dp2v3xynhhv05nh2y6v"; + sha256 = "0rcb3kz2m0iwvgxpx2avfz9cqsd9xbaq93zykr2fki3ikmnp3vyg"; }; postPatch = '' diff --git a/pkgs/development/python-modules/behave/default.nix b/pkgs/development/python-modules/behave/default.nix index 80acc58f6544..60160b128a46 100644 --- a/pkgs/development/python-modules/behave/default.nix +++ b/pkgs/development/python-modules/behave/default.nix @@ -5,14 +5,14 @@ }: buildPythonApplication rec { pname = "behave"; - version = "1.2.5"; + version = "1.2.6"; name = "${pname}-${version}"; disabled = pythonAtLeast "3.6"; src = fetchPypi { inherit pname version; - sha256 = "81b731ac5187e31e4aad2594944fa914943683a9818320846d037c5ebd6d5d0b"; + sha256 = "b9662327aa53294c1351b0a9c369093ccec1d21026f050c3bd9b3e5cccf81a86"; }; checkInputs = [ mock nose pyhamcrest ]; diff --git a/pkgs/development/python-modules/bibtexparser/default.nix b/pkgs/development/python-modules/bibtexparser/default.nix index 50e389a9e14b..06d7c689e659 100644 --- a/pkgs/development/python-modules/bibtexparser/default.nix +++ b/pkgs/development/python-modules/bibtexparser/default.nix @@ -1,20 +1,31 @@ { lib , buildPythonPackage -, fetchPypi +, fetchFromGitHub +, pyparsing +, future +, nose +, glibcLocales }: buildPythonPackage rec { pname = "bibtexparser"; version = "1.0.1"; - name = "${pname}-${version}"; - src = fetchPypi { - inherit pname version; - sha256 = "cc41cdd8332c2bf44b97daf1f135f4f267c3b744c33976655cd270b66f964c0a"; + # PyPI tarball does not ship tests + src = fetchFromGitHub { + owner = "sciunto-org"; + repo = "python-${pname}"; + rev = "v${version}"; + sha256 = "0lmlarkfbq2hp1wa04a62245jr2mqizqsdlgilj5aq6vy92gr6ai"; }; - # No tests in archive - doCheck = false; + propagatedBuildInputs = [ pyparsing future ]; + + checkInputs = [ nose glibcLocales ]; + + checkPhase = '' + LC_ALL="en_US.UTF-8" nosetests + ''; meta = { description = "Bibtex parser for python 2.7 and 3.3 and newer"; diff --git a/pkgs/development/python-modules/binaryornot/default.nix b/pkgs/development/python-modules/binaryornot/default.nix new file mode 100644 index 000000000000..2f0b01a5c23d --- /dev/null +++ b/pkgs/development/python-modules/binaryornot/default.nix @@ -0,0 +1,27 @@ +{ lib, buildPythonPackage, fetchPypi, chardet, hypothesis }: + +buildPythonPackage rec { + pname = "binaryornot"; + version = "0.4.4"; + + src = fetchPypi { + inherit pname version; + sha256 = "359501dfc9d40632edc9fac890e19542db1a287bbcfa58175b66658392018061"; + }; + + prePatch = '' + # See https://github.com/audreyr/binaryornot/issues/40 + substituteInPlace tests/test_check.py \ + --replace "average_size=512" "average_size=128" + ''; + + propagatedBuildInputs = [ chardet ]; + + checkInputs = [ hypothesis ]; + + meta = with lib; { + homepage = https://github.com/audreyr/binaryornot; + description = "Ultra-lightweight pure Python package to check if a file is binary or text"; + license = licenses.bsd3; + }; +} diff --git a/pkgs/development/python-modules/blaze/default.nix b/pkgs/development/python-modules/blaze/default.nix index 74e327fd3423..b3c56a618e8e 100644 --- a/pkgs/development/python-modules/blaze/default.nix +++ b/pkgs/development/python-modules/blaze/default.nix @@ -1,6 +1,6 @@ { lib , buildPythonPackage -, fetchurl +, fetchFromGitHub , pytest , contextlib2 , cytoolz @@ -27,9 +27,11 @@ buildPythonPackage rec { pname = "blaze"; version = "0.11.3"; - src = fetchurl { - url = "https://github.com/blaze/blaze/archive/${version}.tar.gz"; - sha256 = "075gqc9d7g284z4nfwv5zbq99ln22w25l4lcndjg3v10kmsjadww"; + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = version; + sha256 = "0w916k125058p40cf7i090f75pgv3cqdb8vwjzqhb9r482fa6717"; }; checkInputs = [ pytest ]; diff --git a/pkgs/development/python-modules/blinkstick/default.nix b/pkgs/development/python-modules/blinkstick/default.nix new file mode 100644 index 000000000000..96f7bfebdeb8 --- /dev/null +++ b/pkgs/development/python-modules/blinkstick/default.nix @@ -0,0 +1,31 @@ +{ lib, buildPythonPackage, fetchPypi, fetchpatch, pyusb }: + +buildPythonPackage rec { + pname = "BlinkStick"; + version = "1.1.8"; + + src = fetchPypi { + inherit pname version; + sha256 = "3edf4b83a3fa1a7bd953b452b76542d54285ff6f1145b6e19f9b5438120fa408"; + }; + + patches = [ + (fetchpatch { + url = https://github.com/arvydas/blinkstick-python/commit/a9227d0.patch; + sha256 = "1mcmxlnkbfxwp84qz32l5rlc7r9anh9yhnqaj1y8rny5s13jb01f"; + }) + (fetchpatch { + url = https://github.com/arvydas/blinkstick-python/pull/54.patch; + sha256 = "1gjq6xbai794bbdyrv82i96l1a7qkwvlhzd6sa937dy5ivv6s6hl"; + }) + ]; + + propagatedBuildInputs = [ pyusb ]; + + meta = with lib; { + description = "Python package to control BlinkStick USB devices"; + homepage = https://pypi.python.org/pypi/BlinkStick/; + license = licenses.bsd3; + maintainers = with maintainers; [ np ]; + }; +} diff --git a/pkgs/development/python-modules/bootstrapped-pip/default.nix b/pkgs/development/python-modules/bootstrapped-pip/default.nix index 37c3ea5d72ac..86e45e17ed55 100644 --- a/pkgs/development/python-modules/bootstrapped-pip/default.nix +++ b/pkgs/development/python-modules/bootstrapped-pip/default.nix @@ -9,9 +9,9 @@ let }; setuptools_source = fetchPypi { pname = "setuptools"; - version = "38.4.0"; + version = "38.4.1"; format = "wheel"; - sha256 = "155c2ec9fdcc00c3973d966b416e1cf3a1e7ce75f4c09fb760b23f94b935926e"; + sha256 = "22f8bcff5ce7fd1867785701769eaba42b79331d0abf890974a9288787dc015b"; }; # TODO: Shouldn't be necessary anymore for pip > 9.0.1! diff --git a/pkgs/development/python-modules/boto3/default.nix b/pkgs/development/python-modules/boto3/default.nix index eaab00312055..ccada6dd1404 100644 --- a/pkgs/development/python-modules/boto3/default.nix +++ b/pkgs/development/python-modules/boto3/default.nix @@ -13,13 +13,13 @@ buildPythonPackage rec { pname = "boto3"; - version = "1.4.8"; + version = "1.6.0"; src = fetchFromGitHub { owner = "boto"; repo = "boto3"; rev = version; - sha256 = "11ysd7a9l5y98q7b7az56phsj2m7w90abf4jabwrknp2c43sq9bi"; + sha256 = "14d60wc5kff2gjkrm0yfz0179s0qg3f1qqldv8hnf37ny6yvfwn3"; }; propagatedBuildInputs = [ botocore jmespath s3transfer ] ++ lib.optionals (!isPy3k) [ futures ]; diff --git a/pkgs/development/python-modules/botocore/default.nix b/pkgs/development/python-modules/botocore/default.nix index e363136615ea..5276fdb9329d 100644 --- a/pkgs/development/python-modules/botocore/default.nix +++ b/pkgs/development/python-modules/botocore/default.nix @@ -12,11 +12,11 @@ buildPythonPackage rec { name = "${pname}-${version}"; pname = "botocore"; - version = "1.8.45"; + version = "1.9.3"; src = fetchPypi { inherit pname version; - sha256 = "8f91b648a216dc945783d1539c013fc08a9e65ecc4fc5aae017bdd5961fd3468"; + sha256 = "d5b892ab86cd3e8d6cb570dd5275bf1c600cbbf9f07a40a22bcdd9023c0e844f"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/buildout-nix/default.nix b/pkgs/development/python-modules/buildout-nix/default.nix index c4cde583f05b..5c21757421b2 100644 --- a/pkgs/development/python-modules/buildout-nix/default.nix +++ b/pkgs/development/python-modules/buildout-nix/default.nix @@ -2,12 +2,12 @@ buildPythonPackage rec { pname = "zc.buildout"; - version = "2.11.0"; + version = "2.11.1"; name = "${pname}-nix-${version}"; src = fetchurl { url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${pname}-${version}.tar.gz"; - sha256 = "092b0a147d5fb4e79ee0afde665570f85738e714463854f9e4f7f38d0b27ea82"; + sha256 = "08017dcd8f4b60b48b7d830da835a9350c07e7f383fa56d45925ab5144400281"; }; patches = [ ./nix.patch ]; diff --git a/pkgs/development/python-modules/cached-property/default.nix b/pkgs/development/python-modules/cached-property/default.nix index 6ab5015a1e79..5daa505429ed 100644 --- a/pkgs/development/python-modules/cached-property/default.nix +++ b/pkgs/development/python-modules/cached-property/default.nix @@ -1,19 +1,28 @@ { lib , buildPythonPackage -, fetchPypi +, fetchFromGitHub +, pytest , freezegun }: buildPythonPackage rec { pname = "cached-property"; - version = "1.3.1"; + version = "1.4.0"; - src = fetchPypi { - inherit pname version; - sha256 = "6562f0be134957547421dda11640e8cadfa7c23238fc4e0821ab69efdb1095f3"; + # conftest.py is missing in PyPI tarball + # https://github.com/pydanny/cached-property/pull/87 + src = fetchFromGitHub { + owner = "pydanny"; + repo = pname; + rev = version; + sha256 = "0w7709grs4yqhfbnn7lva2fgyphvh43xcfqhi95lhh8sjad3xwkw"; }; - checkInputs = [ freezegun ]; + checkInputs = [ pytest freezegun ]; + + checkPhase = '' + py.test + ''; meta = { description = "A decorator for caching properties in classes"; @@ -22,4 +31,4 @@ buildPythonPackage rec { platforms = lib.platforms.unix; maintainers = with lib.maintainers; [ ericsagnes ]; }; -} \ No newline at end of file +} diff --git a/pkgs/development/python-modules/cachetools/1.nix b/pkgs/development/python-modules/cachetools/1.nix index edfe965fa800..6daa735cfaed 100644 --- a/pkgs/development/python-modules/cachetools/1.nix +++ b/pkgs/development/python-modules/cachetools/1.nix @@ -3,12 +3,12 @@ buildPythonPackage rec { name = "${pname}-${version}"; pname = "cachetools"; - version = "1.1.3"; + version = "2.0.1"; disabled = isPyPy; # a test fails src = fetchPypi { inherit pname version; - sha256 = "0js7qx5pa8ibr8487lcf0x3a7w0xml0wa17snd6hjs0857kqhn20"; + sha256 = "ede01f2d3cbd6ddc9e35e16c2b0ce011d8bb70ce0dbaf282f5b4df24b213bc5d"; }; meta = with stdenv.lib; { diff --git a/pkgs/development/python-modules/can/default.nix b/pkgs/development/python-modules/can/default.nix index fbb53828d2af..395122b4da9e 100644 --- a/pkgs/development/python-modules/can/default.nix +++ b/pkgs/development/python-modules/can/default.nix @@ -8,11 +8,11 @@ buildPythonPackage rec { pname = "python-can"; - version = "2.0.0"; + version = "2.1.0"; src = fetchPypi { inherit pname version; - sha256 = "1c6zfd29ck9ffdklfb5xgxvfl52xdaqd89isykkypm1ll97yk2fs"; + sha256 = "4a5c01dd67feeda35f88e6c12ea14ac8cabd426b9be0cc5f9fd083fe90a9dbfc"; }; propagatedBuildInputs = [ pyserial ]; diff --git a/pkgs/development/python-modules/cffi/default.nix b/pkgs/development/python-modules/cffi/default.nix index 5e186a8f2f8d..cd643806c3a7 100644 --- a/pkgs/development/python-modules/cffi/default.nix +++ b/pkgs/development/python-modules/cffi/default.nix @@ -2,12 +2,12 @@ if isPyPy then null else buildPythonPackage rec { pname = "cffi"; - version = "1.11.4"; + version = "1.11.5"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "df9083a992b17a28cd4251a3f5c879e0198bb26c9e808c4647e0a18739f1d11d"; + sha256 = "e90f17980e6ab0f3c2f3730e56d1fe9bcba1891eeea58966e89d352492cc74f4"; }; outputs = [ "out" "dev" ]; diff --git a/pkgs/development/python-modules/chainer/default.nix b/pkgs/development/python-modules/chainer/default.nix index b7a58f11a15b..31cd0236a59f 100644 --- a/pkgs/development/python-modules/chainer/default.nix +++ b/pkgs/development/python-modules/chainer/default.nix @@ -6,11 +6,11 @@ buildPythonPackage rec { pname = "chainer"; - version = "3.3.0"; + version = "3.4.0"; src = fetchPypi { inherit pname version; - sha256 = "0669375e5b09d687781a37d6c025ee0a6015f575b4d2c70a2ad09c33b8228f86"; + sha256 = "b7bcd8fc1a39b3602b4a78a0be6012721ba6c8792c4d14773496a4c6d038f886"; }; checkInputs = [ diff --git a/pkgs/development/python-modules/codecov/default.nix b/pkgs/development/python-modules/codecov/default.nix index 93620098446a..6b2063f49922 100644 --- a/pkgs/development/python-modules/codecov/default.nix +++ b/pkgs/development/python-modules/codecov/default.nix @@ -2,15 +2,14 @@ buildPythonPackage rec { pname = "codecov"; - version = "2.0.9"; - name = "${pname}-${version}"; + version = "2.0.15"; src = fetchPypi { inherit pname version; - sha256 = "037h4dcl8xshlq3rj8409p11rpgnyqrhlhfq8j34s94nm0n1h76v"; + sha256 = "8ed8b7c6791010d359baed66f84f061bba5bd41174bf324c31311e8737602788"; }; - buildInputs = [ unittest2 ]; # Tests only + checkInputs = [ unittest2 ]; # Tests only propagatedBuildInputs = [ requests coverage ]; @@ -18,6 +17,9 @@ buildPythonPackage rec { sed -i 's/, "argparse"//' setup.py ''; + # No tests in archive + doCheck = false; + meta = { description = "Python report uploader for Codecov"; homepage = https://codecov.io/; diff --git a/pkgs/development/python-modules/cram/default.nix b/pkgs/development/python-modules/cram/default.nix index c0fc5b177e0a..232a4a19fd85 100644 --- a/pkgs/development/python-modules/cram/default.nix +++ b/pkgs/development/python-modules/cram/default.nix @@ -1,11 +1,10 @@ -{stdenv, lib, buildPythonPackage, fetchPypi, coverage, bash, which, writeText}: +{stdenv, lib, buildPythonPackage, fetchPypi, bash, which, writeText}: buildPythonPackage rec { - name = "${pname}-${version}"; version = "0.7"; pname = "cram"; - buildInputs = [ coverage which ]; + checkInputs = [ which ]; src = fetchPypi { inherit pname version; @@ -13,20 +12,13 @@ buildPythonPackage rec { }; postPatch = '' + patchShebangs scripts/cram substituteInPlace tests/test.t \ --replace "/bin/bash" "${bash}/bin/bash" ''; - # This testing is copied from Makefile. Simply using `make test` doesn't work - # because it uses the unpatched `scripts/cram` executable which has a bad - # shebang. Also, for some reason, coverage fails on one file so let's just - # ignore that one. checkPhase = '' - # scripts/cram tests - #COVERAGE=${coverage}/bin/coverage $out/bin/cram tests - #${coverage}/bin/coverage report --fail-under=100 - COVERAGE=coverage $out/bin/cram tests - coverage report --fail-under=100 --omit="*/_encoding.py,*/__main__.py" + scripts/cram tests ''; meta = { diff --git a/pkgs/development/python-modules/csvkit/default.nix b/pkgs/development/python-modules/csvkit/default.nix index bfabf4376e7a..badf33f8c12e 100644 --- a/pkgs/development/python-modules/csvkit/default.nix +++ b/pkgs/development/python-modules/csvkit/default.nix @@ -1,28 +1,38 @@ -{ stdenv, fetchPypi, buildPythonPackage, - dateutil, dbf, xlrd, sqlalchemy, openpyxl, - agate-excel, agate-dbf, agate-sql, isPy3k }: +{ lib, fetchPypi, buildPythonPackage, isPy3k +, agate, agate-excel, agate-dbf, agate-sql, six +, argparse, ordereddict, simplejson +, glibcLocales, nose, mock, unittest2 +}: buildPythonPackage rec { - name = "${pname}-${version}"; - pname = "csvkit"; - version = "1.0.2"; + pname = "csvkit"; + version = "1.0.2"; - src = fetchPypi { - inherit pname version; - sha256 = "05vfsba9nwh4islszgs18rq8sjkpzqni0cdwvvkw7pi0r63pz2as"; - }; + src = fetchPypi { + inherit pname version; + sha256 = "05vfsba9nwh4islszgs18rq8sjkpzqni0cdwvvkw7pi0r63pz2as"; + }; - propagatedBuildInputs = [ dateutil dbf xlrd sqlalchemy openpyxl - agate-excel agate-dbf agate-sql ]; + propagatedBuildInputs = [ + agate agate-excel agate-dbf agate-sql six + ] ++ lib.optionals (!isPy3k) [ + argparse ordereddict simplejson + ]; - doCheck = !isPy3k; - # (only) python 3 we had 9 failures and 57 errors out of a much larger - # number of tests. + checkInputs = [ + glibcLocales nose + ] ++ lib.optionals (!isPy3k) [ + mock unittest2 + ]; - meta = with stdenv.lib; { - description = "A library of utilities for working with CSV, the king of tabular file formats"; - maintainers = with maintainers; [ vrthra ]; - license = with licenses; [ mit ]; - homepage = https://github.com/wireservice/csvkit; - }; + checkPhase = '' + LC_ALL="en_US.UTF-8" nosetests -e test_csvsql + ''; + + meta = with lib; { + description = "A library of utilities for working with CSV, the king of tabular file formats"; + maintainers = with maintainers; [ vrthra ]; + license = with licenses; [ mit ]; + homepage = https://github.com/wireservice/csvkit; + }; } diff --git a/pkgs/development/python-modules/cupy/default.nix b/pkgs/development/python-modules/cupy/default.nix index e020eafc04c8..bfb296470cf4 100644 --- a/pkgs/development/python-modules/cupy/default.nix +++ b/pkgs/development/python-modules/cupy/default.nix @@ -6,11 +6,11 @@ buildPythonPackage rec { pname = "cupy"; - version = "2.3.0"; + version = "2.4.0"; src = fetchPypi { inherit pname version; - sha256 = "7426f6332cb01513d2a6a687792dfa17c678ff64dd1b19b04559ddd5672c833f"; + sha256 = "96ac44dface1a73673e9c0549fc897f8fa31a7648ff9963dff799ddabd67fde2"; }; checkInputs = [ diff --git a/pkgs/development/python-modules/curtsies/default.nix b/pkgs/development/python-modules/curtsies/default.nix index 8d6052c5299f..d29ad1d64745 100644 --- a/pkgs/development/python-modules/curtsies/default.nix +++ b/pkgs/development/python-modules/curtsies/default.nix @@ -1,4 +1,4 @@ -{ stdenv, buildPythonPackage, fetchPypi, blessings, mock, nose, pyte, pytest, wcwidth }: +{ stdenv, buildPythonPackage, fetchPypi, blessings, mock, nose, pyte, wcwidth, typing }: buildPythonPackage rec { pname = "curtsies"; @@ -8,12 +8,12 @@ buildPythonPackage rec { sha256 = "89c802ec051d01dec6fc983e9856a3706e4ea8265d2940b1f6d504a9e26ed3a9"; }; - propagatedBuildInputs = [ blessings wcwidth pyte ]; + propagatedBuildInputs = [ blessings wcwidth typing ]; - checkInputs = [ nose mock pytest ]; + checkInputs = [ mock pyte nose ]; checkPhase = '' - py.test + nosetests tests ''; meta = with stdenv.lib; { diff --git a/pkgs/development/python-modules/daphne/default.nix b/pkgs/development/python-modules/daphne/default.nix index d90804733ba3..7ead1cacfa66 100644 --- a/pkgs/development/python-modules/daphne/default.nix +++ b/pkgs/development/python-modules/daphne/default.nix @@ -1,19 +1,31 @@ -{ stdenv, buildPythonPackage, fetchPypi, - asgiref, autobahn, twisted, hypothesis +{ stdenv, buildPythonPackage, isPy3k, fetchFromGitHub +, asgiref, autobahn, twisted, pytestrunner +, hypothesis, pytest, pytest-asyncio }: buildPythonPackage rec { pname = "daphne"; - name = "${pname}-${version}"; version = "2.1.0"; - src = fetchPypi { - inherit pname version; - sha256 = "13jv8jn8nf522smwpqdy4lq6cpd06fcgwvgl67i622rid51fj5gb"; + disabled = !isPy3k; + + src = fetchFromGitHub { + owner = "django"; + repo = pname; + rev = version; + sha256 = "1lbpn0l796ar77amqy8dap30zxmsn6as8y2lbmp4lk8m9awscwi8"; }; - buildInputs = [ hypothesis ]; + nativeBuildInputs = [ pytestrunner ]; + propagatedBuildInputs = [ asgiref autobahn twisted ]; + checkInputs = [ hypothesis pytest pytest-asyncio ]; + + checkPhase = '' + # Other tests fail, seems to be due to filesystem access + py.test -k "test_cli or test_utils" + ''; + meta = with stdenv.lib; { description = "Django ASGI (HTTP/WebSocket) server"; license = licenses.bsd3; diff --git a/pkgs/development/python-modules/dask/default.nix b/pkgs/development/python-modules/dask/default.nix index 8a8437767d80..70b4b55f5c6e 100644 --- a/pkgs/development/python-modules/dask/default.nix +++ b/pkgs/development/python-modules/dask/default.nix @@ -12,12 +12,12 @@ buildPythonPackage rec { pname = "dask"; - version = "0.17.0"; + version = "0.17.1"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "4d2b0754d16ddc3f87026c1fc4fa3b589d7604a41d3f6510268f172abc1d0a5e"; + sha256 = "0a6aec8b3489419c97486afd46e30b63caafc642205726a884b7fe488906d359"; }; checkInputs = [ pytest ]; diff --git a/pkgs/development/python-modules/dbf/default.nix b/pkgs/development/python-modules/dbf/default.nix index 2343ea2918b1..ac8087be63ed 100644 --- a/pkgs/development/python-modules/dbf/default.nix +++ b/pkgs/development/python-modules/dbf/default.nix @@ -1,21 +1,24 @@ -{ stdenv, fetchPypi, buildPythonPackage, aenum, isPy3k }: +{ stdenv, fetchPypi, buildPythonPackage, aenum, isPy3k, pythonOlder, enum34, python }: buildPythonPackage rec { pname = "dbf"; version = "0.96.8"; - name = "${pname}-${version}"; src = fetchPypi { inherit pname version; sha256 = "1z8n7s4cka6x9ybh4qpfhj51v2qrk38h2f06npizzhm0hmn6r3v1"; }; - propagatedBuildInputs = [ aenum ]; + propagatedBuildInputs = [ aenum ] ++ stdenv.lib.optional (pythonOlder "3.4") [ enum34 ]; doCheck = !isPy3k; # tests are not yet ported. # https://groups.google.com/forum/#!topic/python-dbase/96rx2xmCG4w + checkPhase = '' + ${python.interpreter} dbf/test.py + ''; + meta = with stdenv.lib; { description = "Pure python package for reading/writing dBase, FoxPro, and Visual FoxPro .dbf files"; homepage = "https://pypi.python.org/pypi/dbf"; diff --git a/pkgs/development/python-modules/deluge-client/default.nix b/pkgs/development/python-modules/deluge-client/default.nix new file mode 100644 index 000000000000..838cc8463872 --- /dev/null +++ b/pkgs/development/python-modules/deluge-client/default.nix @@ -0,0 +1,21 @@ +{ stdenv, buildPythonPackage, fetchPypi }: + +buildPythonPackage rec { + pname = "deluge-client"; + version = "1.2.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "048zfidv08sr4hivdd3xxf1pywhqbnszj5qcn51h2f4y1588fhpf"; + }; + + # it will try to connect to a running instance + doCheck = false; + + meta = with stdenv.lib; { + description = "Lightweight pure-python rpc client for deluge"; + homepage = https://github.com/JohnDoee/deluge-client; + license = licenses.mit; + maintainers = with maintainers; [ peterhoeg ]; + }; +} diff --git a/pkgs/development/python-modules/dj-database-url/default.nix b/pkgs/development/python-modules/dj-database-url/default.nix new file mode 100644 index 000000000000..f334b7efeac6 --- /dev/null +++ b/pkgs/development/python-modules/dj-database-url/default.nix @@ -0,0 +1,20 @@ +{ lib, buildPythonPackage, fetchPypi }: + +buildPythonPackage rec { + pname = "dj-database-url"; + version = "0.5.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "4aeaeb1f573c74835b0686a2b46b85990571159ffc21aa57ecd4d1e1cb334163"; + }; + + # Tests access a DB via network + doCheck = false; + + meta = with lib; { + description = "Use Database URLs in your Django Application"; + homepage = https://github.com/kennethreitz/dj-database-url; + license = licenses.bsd2; + }; +} diff --git a/pkgs/development/python-modules/django-polymorphic/default.nix b/pkgs/development/python-modules/django-polymorphic/default.nix index 8cb68ed1e7dc..2cd112d8150e 100644 --- a/pkgs/development/python-modules/django-polymorphic/default.nix +++ b/pkgs/development/python-modules/django-polymorphic/default.nix @@ -1,18 +1,24 @@ -{ stdenv, buildPythonPackage, fetchPypi, django }: +{ stdenv, buildPythonPackage, fetchFromGitHub, python, django, dj-database-url }: buildPythonPackage rec { pname = "django-polymorphic"; version = "2.0.2"; - name = "${pname}-${version}"; - src = fetchPypi { - inherit pname version; - sha256 = "e1821d7b5874509a158a0f22bebf544330e0944c481c5a3e6da6cac8887e4e88"; + # PyPI tarball is missing some test files + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = "v${version}"; + sha256 = "18p84kdwpfp423vb2n38h840mj3bq0j57jx3cry7c8dznpi0vfi2"; }; - checkInputs = [ django ]; + checkInputs = [ dj-database-url ]; propagatedBuildInputs = [ django ]; + checkPhase = '' + ${python.interpreter} runtests.py + ''; + meta = { homepage = https://github.com/django-polymorphic/django-polymorphic; description = "Improved Django model inheritance with automatic downcasting"; diff --git a/pkgs/development/python-modules/django/2_0.nix b/pkgs/development/python-modules/django/2_0.nix index c1f935e51c61..907d2ba6e000 100644 --- a/pkgs/development/python-modules/django/2_0.nix +++ b/pkgs/development/python-modules/django/2_0.nix @@ -7,13 +7,13 @@ buildPythonPackage rec { pname = "Django"; name = "${pname}-${version}"; - version = "2.0.1"; + version = "2.0.2"; disabled = !isPy3k; src = fetchPypi { inherit pname version; - sha256 = "0by1gswkrzxn594fa26llkzsc410999fq8s0b5d1598jwi5q0syr"; + sha256 = "dc3b61d054f1bced64628c62025d480f655303aea9f408e5996c339a543b45f0"; }; patches = stdenv.lib.optionals withGdal [ diff --git a/pkgs/development/python-modules/ecpy/default.nix b/pkgs/development/python-modules/ecpy/default.nix index 84830e7f2b83..277a5cece567 100644 --- a/pkgs/development/python-modules/ecpy/default.nix +++ b/pkgs/development/python-modules/ecpy/default.nix @@ -1,12 +1,13 @@ -{ stdenv, fetchPypi, buildPythonPackage, hidapi +{ stdenv, fetchPypi, buildPythonPackage, isPy3k, hidapi , pycrypto, pillow, protobuf, future, ecpy }: buildPythonPackage rec { - name = "${pname}-${version}"; pname = "ECPy"; version = "0.8.3"; + disabled = !isPy3k; + src = fetchPypi { inherit pname version; sha256 = "ef3d95419d53368f52fb7d4b883b8df0dfc2dd19a76243422d24981c3e5f27bd"; diff --git a/pkgs/development/python-modules/faker/default.nix b/pkgs/development/python-modules/faker/default.nix index 2d459d625d0a..55750f5bf3b4 100644 --- a/pkgs/development/python-modules/faker/default.nix +++ b/pkgs/development/python-modules/faker/default.nix @@ -1,6 +1,6 @@ { lib, buildPythonPackage, fetchPypi, pythonOlder, # Build inputs - dateutil, six, ipaddress ? null, + dateutil, six, text-unidecode, ipaddress ? null, # Test inputs email_validator, nose, mock, ukpostcodeparser }: @@ -8,12 +8,11 @@ assert pythonOlder "3.3" -> ipaddress != null; buildPythonPackage rec { pname = "Faker"; - version = "0.8.8"; - name = "${pname}-${version}"; + version = "0.8.11"; src = fetchPypi { inherit pname version; - sha256 = "e928cf853ef69d7471421f2a3716a1239e43de0fa9855f4016ee0c9f1057328a"; + sha256 = "126kdy6lj10rwgchzz0lzjabx0zcyskamhn0qib67k69fcksjmq8"; }; checkInputs = [ @@ -26,6 +25,7 @@ buildPythonPackage rec { propagatedBuildInputs = [ dateutil six + text-unidecode ] ++ lib.optional (pythonOlder "3.3") ipaddress; meta = with lib; { diff --git a/pkgs/development/python-modules/flask-script/default.nix b/pkgs/development/python-modules/flask-script/default.nix index ace3cee2d22e..33b44080343f 100644 --- a/pkgs/development/python-modules/flask-script/default.nix +++ b/pkgs/development/python-modules/flask-script/default.nix @@ -1,17 +1,20 @@ -{ lib, buildPythonPackage, fetchurl, flask, pytest }: +{ lib, buildPythonPackage, fetchPypi, flask, pytest }: buildPythonPackage rec { - name = "Flask-Script-${version}"; + pname = "Flask-Script"; version = "2.0.6"; - src = fetchurl { - url = "mirror://pypi/F/Flask-Script/${name}.tar.gz"; + src = fetchPypi { + inherit pname version; sha256 = "0zqh2yq8zk7m9b4xw1ryqmrljkdigfb3hk5155a3b5hkfnn6xxyf"; }; propagatedBuildInputs = [ flask ]; checkInputs = [ pytest ]; + # No tests in archive + doCheck = false; + meta = with lib; { homepage = http://github.com/smurfix/flask-script; description = "Scripting support for Flask"; diff --git a/pkgs/development/python-modules/fonttools/default.nix b/pkgs/development/python-modules/fonttools/default.nix index a8a89f0e8ca7..d7e789b02fa3 100644 --- a/pkgs/development/python-modules/fonttools/default.nix +++ b/pkgs/development/python-modules/fonttools/default.nix @@ -3,16 +3,16 @@ , numpy , pytest , pytestrunner +, glibcLocales }: buildPythonPackage rec { pname = "fonttools"; - version = "3.22.0"; - name = "${pname}-${version}"; + version = "3.24.0"; src = fetchPypi { inherit pname version; - sha256 = "01640dfbc0ba752181b21fe74240b8a7bbf7af75581737245836ada5565bd549"; + sha256 = "d09126f443bc8797d1b7e76274e65f4c169c04722745953ecf536451b1d9a15f"; extension = "zip"; }; @@ -23,8 +23,13 @@ buildPythonPackage rec { checkInputs = [ pytest pytestrunner + glibcLocales ]; + preCheck = '' + export LC_ALL="en_US.UTF-8" + ''; + meta = { homepage = https://github.com/fonttools/fonttools; description = "A library to manipulate font files from Python"; diff --git a/pkgs/development/python-modules/ftputil/default.nix b/pkgs/development/python-modules/ftputil/default.nix new file mode 100644 index 000000000000..d3d338a2c8d3 --- /dev/null +++ b/pkgs/development/python-modules/ftputil/default.nix @@ -0,0 +1,27 @@ +{ lib, buildPythonPackage, fetchPypi, pytest }: + +buildPythonPackage rec { + version = "3.4"; + pname = "ftputil"; + + src = fetchPypi { + inherit pname version; + sha256 = "374b01e174079e91babe2a462fbd6f6c00dbfbfa299dec04239ca4229fbf8762"; + }; + + checkInputs = [ pytest ]; + + checkPhase = '' + touch Makefile + # Disable tests that require network access or access /home + py.test test \ + -k "not test_public_servers and not test_real_ftp \ + and not test_set_parser and not test_repr" + ''; + + meta = with lib; { + description = "High-level FTP client library (virtual file system and more)"; + homepage = http://ftputil.sschwarzer.net/; + license = licenses.bsd2; # "Modified BSD license, says pypi" + }; +} diff --git a/pkgs/development/python-modules/google_cloud_core/default.nix b/pkgs/development/python-modules/google_cloud_core/default.nix index c0ccef3c9591..d9111ac89159 100644 --- a/pkgs/development/python-modules/google_cloud_core/default.nix +++ b/pkgs/development/python-modules/google_cloud_core/default.nix @@ -3,11 +3,11 @@ buildPythonPackage rec { pname = "google-cloud-core"; - version = "0.28.0"; + version = "0.28.1"; src = fetchPypi { inherit pname version; - sha256 = "1h8bx99ksla48zkb7bhkqy66b8prg49dp15alh851vzi9ii2zii7"; + sha256 = "89e8140a288acec20c5e56159461d3afa4073570c9758c05d4e6cb7f2f8cc440"; }; propagatedBuildInputs = [ google_api_core grpcio ]; diff --git a/pkgs/development/python-modules/google_cloud_speech/default.nix b/pkgs/development/python-modules/google_cloud_speech/default.nix index c24e0d88067b..9912316941f9 100644 --- a/pkgs/development/python-modules/google_cloud_speech/default.nix +++ b/pkgs/development/python-modules/google_cloud_speech/default.nix @@ -3,11 +3,11 @@ buildPythonPackage rec { pname = "google-cloud-speech"; - version = "0.32.0"; + version = "0.32.1"; src = fetchPypi { inherit pname version; - sha256 = "2513725e693c3a2fdf22cb3065f3fcb39de2ab962a0cbc5de11a3889834189e1"; + sha256 = "4f9a8ab3eb6630d0c0ca6ac15230dceba7d55d6707d162a84f255139ff780ee9"; }; propagatedBuildInputs = [ setuptools google_api_core google_gax google_cloud_core ]; diff --git a/pkgs/development/python-modules/gpy/default.nix b/pkgs/development/python-modules/gpy/default.nix index bb39746d2967..72415879b412 100644 --- a/pkgs/development/python-modules/gpy/default.nix +++ b/pkgs/development/python-modules/gpy/default.nix @@ -3,12 +3,12 @@ buildPythonPackage rec { pname = "GPy"; - version = "1.8.5"; + version = "1.9.2"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "1562e34629192f209273f454e41614a127c6ef04144cd0eb5992d484721d55d3"; + sha256 = "372e43d41df5c90e0958d3073070994b351a7409c2e5fbd349cffe13bc24c10a"; }; # running tests produces "ImportError: cannot import name 'linalg_cython'" diff --git a/pkgs/development/python-modules/green/default.nix b/pkgs/development/python-modules/green/default.nix new file mode 100644 index 000000000000..81d2a7e204c2 --- /dev/null +++ b/pkgs/development/python-modules/green/default.nix @@ -0,0 +1,21 @@ +{ lib, buildPythonPackage, fetchPypi, isPy3k, colorama, coverage, termstyle, unidecode, mock, backports_shutil_get_terminal_size }: + +buildPythonPackage rec { + pname = "green"; + version = "2.12.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "4c0c163bd2ce2da1f201eb69fd92fc24aaeab884f9e5c5a8c23d507a53336fa8"; + }; + + propagatedBuildInputs = [ + colorama coverage termstyle unidecode + ] ++ lib.optionals (!isPy3k) [ mock backports_shutil_get_terminal_size ]; + + meta = with lib; { + description = "Python test runner"; + homepage = https://github.com/CleanCut/green; + license = licenses.mit; + }; +} diff --git a/pkgs/development/python-modules/guessit/2.0.nix b/pkgs/development/python-modules/guessit/2.0.nix index 59fb650c883d..c8f30746310a 100644 --- a/pkgs/development/python-modules/guessit/2.0.nix +++ b/pkgs/development/python-modules/guessit/2.0.nix @@ -9,12 +9,12 @@ buildPythonPackage rec { pname = "guessit"; - version = "2.0.4"; + version = "2.1.4"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "1cfcgb0px6i9jl8nwkx8j06j4y6p5975a9pfmd8lcacwr8gy4wjg"; + sha256 = "90e6f9fb49246ad27f34f8b9984357e22562ccc3059241cbc08b4fac1d401c56"; }; # Tests require more packages. diff --git a/pkgs/development/python-modules/ha-ffmpeg/default.nix b/pkgs/development/python-modules/ha-ffmpeg/default.nix new file mode 100644 index 000000000000..4259b7ad0537 --- /dev/null +++ b/pkgs/development/python-modules/ha-ffmpeg/default.nix @@ -0,0 +1,28 @@ +{ stdenv, buildPythonPackage, fetchPypi, isPy3k +, ffmpeg, async-timeout }: + +buildPythonPackage rec { + pname = "ha-ffmpeg"; + version = "1.9"; + + disabled = !isPy3k; + + src = fetchPypi { + inherit pname version; + sha256 = "0644j5fqw8p6li6nrnm1rw7nhvsixq1c7gik3f1yx50776yg05i8"; + }; + + buildInputs = [ ffmpeg ]; + + propagatedBuildInputs = [ async-timeout ]; + + # only manual tests + doCheck = false; + + meta = with stdenv.lib; { + homepage = https://github.com/pvizeli/ha-ffmpeg; + description = "Library for home-assistant to handle ffmpeg"; + license = licenses.bsd3; + maintainers = with maintainers; [ peterhoeg ]; + }; +} diff --git a/pkgs/development/python-modules/hyperlink/default.nix b/pkgs/development/python-modules/hyperlink/default.nix index 9886f705d548..53a245c45dcf 100644 --- a/pkgs/development/python-modules/hyperlink/default.nix +++ b/pkgs/development/python-modules/hyperlink/default.nix @@ -1,15 +1,16 @@ -{ stdenv, buildPythonPackage, fetchurl, pytest }: +{ stdenv, buildPythonPackage, fetchPypi, idna, pytest }: buildPythonPackage rec { pname = "hyperlink"; - version = "17.3.1"; - name = pname + "-" + version; + version = "18.0.0"; - src = fetchurl { - url = "mirror://pypi/h/hyperlink/${name}.tar.gz"; - sha256 = "bc4ffdbde9bdad204d507bd8f554f16bba82dd356f6130cb16f41422909c33bc"; + src = fetchPypi { + inherit pname version; + sha256 = "f01b4ff744f14bc5d0a22a6b9f1525ab7d6312cb0ff967f59414bbac52f0a306"; }; + propagatedBuildInputs = [ idna ]; + checkInputs = [ pytest ]; checkPhase = '' diff --git a/pkgs/development/python-modules/ipykernel/default.nix b/pkgs/development/python-modules/ipykernel/default.nix index 018a522a591a..3f09975d66be 100644 --- a/pkgs/development/python-modules/ipykernel/default.nix +++ b/pkgs/development/python-modules/ipykernel/default.nix @@ -13,12 +13,12 @@ buildPythonPackage rec { pname = "ipykernel"; - version = "4.8.1"; + version = "4.8.2"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "fe2837622a4121cbe42b354db1e2ab46c91e807ffcb92f4c2cfd323a75f8737f"; + sha256 = "c091449dd0fad7710ddd9c4a06e8b9e15277da306590bc07a3a1afa6b4453c8f"; }; buildInputs = [ nose ] ++ lib.optional isPy27 mock; diff --git a/pkgs/development/python-modules/kafka-python/default.nix b/pkgs/development/python-modules/kafka-python/default.nix index f5392202d4da..f88a021d53d7 100644 --- a/pkgs/development/python-modules/kafka-python/default.nix +++ b/pkgs/development/python-modules/kafka-python/default.nix @@ -2,12 +2,12 @@ buildPythonPackage rec { name = "${pname}-${version}"; - version = "1.3.5"; + version = "1.4.1"; pname = "kafka-python"; src = fetchPypi { inherit pname version; - sha256 = "19m9fdckxqngrgh0www7g8rgi7z0kq13wkhcqy1r8aa4sxad0f5j"; + sha256 = "596e9b4e302a0dc04d35be159cf23d31c4cba73a218e16fc8cd1be0ad57f8c22"; }; checkInputs = [ pytest six mock ]; diff --git a/pkgs/development/python-modules/konfig/default.nix b/pkgs/development/python-modules/konfig/default.nix new file mode 100644 index 000000000000..e7062bad5ee7 --- /dev/null +++ b/pkgs/development/python-modules/konfig/default.nix @@ -0,0 +1,48 @@ +{ lib, buildPythonPackage, fetchFromGitHub, isPy3k, writeText, configparser, six, pytest, glibcLocales }: + +buildPythonPackage rec { + pname = "konfig"; + version = "1.1"; + + # konfig unconditionaly depend on configparser, even if it is part of + # the standard library in python 3.2 or above. + disabled = isPy3k; + + # PyPI tarball is missing utf8.ini, required for tests + src = fetchFromGitHub { + owner = "mozilla-services"; + repo = pname; + rev = version; + sha256 = "1h780fbrv275dcik4cs3rincza805z6q726b48r4a0qmh5d8160c"; + }; + + propagatedBuildInputs = [ configparser six ]; + + patches = [ (writeText "konfig.patch" '' + diff --git a/setup.py b/setup.py + index 96fd858..bb4db06 100644 + --- a/setup.py + +++ b/setup.py + @@ -20,7 +20,7 @@ setup(name='konfig', + author_email="tarek@mozilla.com", + include_package_data=True, + install_requires = [ + - 'configparser', 'argparse', 'six' + + 'configparser', 'six' + ], + zip_safe=False, + classifiers=classifiers, + '') ]; + + checkInputs = [ pytest glibcLocales ]; + + checkPhase = '' + LC_ALL=en_US.utf8 pytest -v konfig/tests + ''; + + meta = with lib; { + description = "Yet Another Config Parser"; + homepage = "https://github.com/mozilla-services/konfig"; + license = licenses.mpl20; + }; +} diff --git a/pkgs/development/python-modules/ldappool/default.nix b/pkgs/development/python-modules/ldappool/default.nix new file mode 100644 index 000000000000..58ca72a3dc98 --- /dev/null +++ b/pkgs/development/python-modules/ldappool/default.nix @@ -0,0 +1,25 @@ +{ lib, buildPythonPackage, fetchPypi, isPy3k +, pbr, ldap, fixtures, testresources, testtools }: + +buildPythonPackage rec { + name = "ldappool-${version}"; + version = "2.2.0"; + + src = fetchPypi { + pname = "ldappool"; + inherit version; + sha256 = "1akmzf51cjfvmd0nvvm562z1w9vq45zsx6fa72kraqgsgxhnrhqz"; + }; + + nativeBuildInputs = [ pbr ]; + + propagatedBuildInputs = [ ldap ]; + + checkInputs = [ fixtures testresources testtools ]; + + meta = with lib; { + description = "A simple connector pool for python-ldap"; + homepage = https://git.openstack.org/cgit/openstack/ldappool; + license = licenses.mpl20; + }; +} diff --git a/pkgs/development/python-modules/llvmlite/default.nix b/pkgs/development/python-modules/llvmlite/default.nix index d702d8f95b08..b420e7149d75 100644 --- a/pkgs/development/python-modules/llvmlite/default.nix +++ b/pkgs/development/python-modules/llvmlite/default.nix @@ -10,13 +10,13 @@ buildPythonPackage rec { pname = "llvmlite"; - version = "0.21.0"; + version = "0.22.0"; disabled = isPyPy; src = fetchPypi { inherit pname version; - sha256 = "3a5dd0695fdfb9fd47464cd71791b84935bf9642e11f4811d57aa1f2da8cdaa8"; + sha256 = "a0a875f3d502f41f4a24444aa98fbf076a6bf36e2a0b3b4481b22e1c4a3acdc2"; }; propagatedBuildInputs = [ llvm ] ++ stdenv.lib.optional (pythonOlder "3.4") enum34; diff --git a/pkgs/development/python-modules/marionette-harness/mozdevice.nix b/pkgs/development/python-modules/marionette-harness/mozdevice.nix index 00329aa1d3f0..af26c8d071d6 100644 --- a/pkgs/development/python-modules/marionette-harness/mozdevice.nix +++ b/pkgs/development/python-modules/marionette-harness/mozdevice.nix @@ -8,12 +8,12 @@ buildPythonPackage rec { pname = "mozdevice"; - version = "0.50"; + version = "0.52"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "0cfxzhfxdphlzj80vkd3h7m0mg5w7zhb8h6f5lmybliqdiv9vz20"; + sha256 = "5b6fcbc7179c0f09bd99f7f7c42b614bce5f39543fb18b190e408488f987d6b5"; }; propagatedBuildInputs = [ moznetwork mozprocess ]; diff --git a/pkgs/development/python-modules/marionette-harness/mozlog.nix b/pkgs/development/python-modules/marionette-harness/mozlog.nix index 5960848ff63b..dfe91309ea40 100644 --- a/pkgs/development/python-modules/marionette-harness/mozlog.nix +++ b/pkgs/development/python-modules/marionette-harness/mozlog.nix @@ -4,22 +4,25 @@ , fetchPypi , isPy3k , blessings +, mozterm +, six , mozfile }: buildPythonPackage rec { pname = "mozlog"; - version = "3.4"; - name = "${pname}-${version}"; + version = "3.7"; disabled = isPy3k; src = fetchPypi { inherit pname version; - sha256 = "1m4d9i1kzcmkhipfd5czv05f2s84j1byx3cv4y2irjmwq5v6cyiq"; + sha256 = "414141131c4f5e7242e69a939d2b74f4ed8dbac12bef93eee4e7125cd1a131e9"; }; - propagatedBuildInputs = [ blessings mozfile ]; + propagatedBuildInputs = [ blessings mozterm six ]; + + checkInputs = [ mozfile ]; meta = { description = "Mozilla logging library"; diff --git a/pkgs/development/python-modules/marionette-harness/mozprocess.nix b/pkgs/development/python-modules/marionette-harness/mozprocess.nix index b6bea84aa238..80b13d94a2d9 100644 --- a/pkgs/development/python-modules/marionette-harness/mozprocess.nix +++ b/pkgs/development/python-modules/marionette-harness/mozprocess.nix @@ -7,12 +7,12 @@ buildPythonPackage rec { pname = "mozprocess"; - version = "0.25"; + version = "0.26"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "0lfflwjkwvc8bqvsgdib3b78w2pms8nharh3sc3zgsrmqb1mbzks"; + sha256 = "9f471c45bee9ff14e936c6ee216a6cc4941223659c01fa626bce628001d8485c"; }; propagatedBuildInputs = [ mozinfo ]; diff --git a/pkgs/development/python-modules/marionette-harness/mozprofile.nix b/pkgs/development/python-modules/marionette-harness/mozprofile.nix index 5e939d4f3331..a783c125af3a 100644 --- a/pkgs/development/python-modules/marionette-harness/mozprofile.nix +++ b/pkgs/development/python-modules/marionette-harness/mozprofile.nix @@ -9,12 +9,12 @@ buildPythonPackage rec { pname = "mozprofile"; - version = "0.28"; + version = "0.29"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "15xsdhrpbg7hlr6nvb3k3ci33h786hrv12az8j2k7aa9gzjcf8nh"; + sha256 = "92af4b9f527a18997dccb60e846e1844b2428668dadf3ccb1a8cd30c706b25c1"; }; propagatedBuildInputs = [ mozlog mozfile mozhttpd ]; diff --git a/pkgs/development/python-modules/marionette-harness/mozrunner.nix b/pkgs/development/python-modules/marionette-harness/mozrunner.nix index b0c3f6d8bcfa..368ab51845c0 100644 --- a/pkgs/development/python-modules/marionette-harness/mozrunner.nix +++ b/pkgs/development/python-modules/marionette-harness/mozrunner.nix @@ -13,12 +13,12 @@ buildPythonPackage rec { pname = "mozrunner"; - version = "6.13"; + version = "6.14"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "1d5k3a0w1iyyk6l28l65j47grq87zd207h369x4vahq02nrx2g6l"; + sha256 = "a401ea5141cdd15d8f047f19a30ccbeabeb0aea079674b684121acddc5dcf810"; }; propagatedBuildInputs = [ mozdevice mozfile mozinfo mozlog mozprocess diff --git a/pkgs/development/python-modules/marionette-harness/mozversion.nix b/pkgs/development/python-modules/marionette-harness/mozversion.nix index 62605a1d21d3..729f110858c8 100644 --- a/pkgs/development/python-modules/marionette-harness/mozversion.nix +++ b/pkgs/development/python-modules/marionette-harness/mozversion.nix @@ -8,12 +8,12 @@ buildPythonPackage rec { pname = "mozversion"; - version = "1.4"; + version = "1.5"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "15ipddn6bpqxl590cy37fj52vgpa4faw2dax1mwvdxj7b18s3pwh"; + sha256 = "e9b11e4a46bf7a4a11469ea4589c75f3ba50b34b7801e7edf1a09147af8bf70f"; }; propagatedBuildInputs = [ mozlog mozdevice ]; diff --git a/pkgs/development/python-modules/miniupnpc/default.nix b/pkgs/development/python-modules/miniupnpc/default.nix new file mode 100644 index 000000000000..d267cb6a9762 --- /dev/null +++ b/pkgs/development/python-modules/miniupnpc/default.nix @@ -0,0 +1,18 @@ +{ stdenv, buildPythonPackage, fetchPypi }: + +buildPythonPackage rec { + pname = "miniupnpc"; + version = "2.0.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "0ca94zz7sr2x57j218aypxqcwkr23n8js30f3yrvvqbg929nr93y"; + }; + + meta = with stdenv.lib; { + description = "miniUPnP client"; + homepage = http://miniupnp.free.fr/; + license = licenses.mit; + maintainers = with maintainers; [ peterhoeg ]; + }; +} diff --git a/pkgs/development/python-modules/mozterm/default.nix b/pkgs/development/python-modules/mozterm/default.nix new file mode 100644 index 000000000000..6adba7ef2b96 --- /dev/null +++ b/pkgs/development/python-modules/mozterm/default.nix @@ -0,0 +1,16 @@ +{ lib, buildPythonPackage, fetchPypi }: + +buildPythonPackage rec { + pname = "mozterm"; + version = "0.1.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "4ebf8bd772d97c0f557184173f0f96cfca0abfc07e1ae975fbcfa76be50b5561"; + }; + + meta = with lib; { + description = "Terminal abstractions built around the blessings module"; + license = licenses.mpl20; + }; +} diff --git a/pkgs/development/python-modules/msgpack/default.nix b/pkgs/development/python-modules/msgpack/default.nix index 2400a76bd6e1..3068a31f1e29 100644 --- a/pkgs/development/python-modules/msgpack/default.nix +++ b/pkgs/development/python-modules/msgpack/default.nix @@ -6,11 +6,11 @@ buildPythonPackage rec { pname = "msgpack"; - version = "0.5.4"; + version = "0.5.6"; src = fetchPypi { inherit pname version; - sha256 = "13ckbs2qc4dww7fddnm9cw116j4spgxqab49ijmj6jr178ypwl80"; + sha256 = "0ee8c8c85aa651be3aa0cd005b5931769eaa658c948ce79428766f1bd46ae2c3"; }; checkPhase = '' diff --git a/pkgs/development/python-modules/neovim/default.nix b/pkgs/development/python-modules/neovim/default.nix index 6fcd82aca9e5..c4b2a7e9cc89 100644 --- a/pkgs/development/python-modules/neovim/default.nix +++ b/pkgs/development/python-modules/neovim/default.nix @@ -11,11 +11,11 @@ buildPythonPackage rec { pname = "neovim"; - version = "0.2.1"; + version = "0.2.3"; src = fetchPypi { inherit pname version; - sha256 = "16vzxmp7f6dl20n30j5cwwvrjj5h3c2ch8ldbss31anf36nirsdp"; + sha256 = "989d720dc7636aa4260aa7774fa79aa524f51515b262eb8d7e9ba4336f758a99"; }; checkInputs = [ nose ]; diff --git a/pkgs/development/python-modules/netdisco/default.nix b/pkgs/development/python-modules/netdisco/default.nix index 96de3ee2836a..105607fe375a 100644 --- a/pkgs/development/python-modules/netdisco/default.nix +++ b/pkgs/development/python-modules/netdisco/default.nix @@ -1,4 +1,4 @@ -{ stdenv, buildPythonPackage, isPy3k, fetchFromGitHub, requests, zeroconf, netifaces, pytest }: +{ stdenv, buildPythonPackage, isPy3k, fetchFromGitHub, fetchpatch, requests, zeroconf, netifaces, pytest }: buildPythonPackage rec { pname = "netdisco"; @@ -14,6 +14,12 @@ buildPythonPackage rec { sha256 = "170s9py8rw07cfgwvv7mf69g8jjg32m2rgw8x3kbvjqlmrdijxmm"; }; + # Allow newer zeroconf versions + patches = fetchpatch { + url = "${meta.homepage}/commit/78f83046a2a0d77527274c8be9c3fd75737c19d0.patch"; + sha256 = "098zkwqg9181vavw97yhi9rsdsf023gnapg4gkr1n0awz3f3l9nm"; + }; + propagatedBuildInputs = [ requests zeroconf netifaces ]; checkInputs = [ pytest ]; @@ -24,7 +30,7 @@ buildPythonPackage rec { meta = with stdenv.lib; { description = "Python library to scan local network for services and devices"; - homepage = https://github.com/home-assistant/netdisco/; + homepage = https://github.com/home-assistant/netdisco; license = licenses.asl20; platforms = platforms.unix; maintainers = with maintainers; [ dotlambda ]; diff --git a/pkgs/development/python-modules/networkx/default.nix b/pkgs/development/python-modules/networkx/default.nix index f6fc4139c858..3388aef9cef1 100644 --- a/pkgs/development/python-modules/networkx/default.nix +++ b/pkgs/development/python-modules/networkx/default.nix @@ -3,32 +3,24 @@ , fetchPypi , nose , decorator -, isPy36 -, isPyPy }: buildPythonPackage rec { pname = "networkx"; - version = "1.11"; - - # Currently broken on PyPy. - # https://github.com/networkx/networkx/pull/1361 - disabled = isPyPy; + version = "2.1"; src = fetchPypi { inherit pname version; - sha256 = "1f74s56xb4ggixiq0vxyfxsfk8p20c7a099lpcf60izv1php03hd"; + extension = "zip"; + sha256 = "64272ca418972b70a196cb15d9c85a5a6041f09a2f32e0d30c0255f25d458bb1"; }; checkInputs = [ nose ]; propagatedBuildInputs = [ decorator ]; - # 17 failures with 3.6 https://github.com/networkx/networkx/issues/2396#issuecomment-304437299 - doCheck = !(isPy36); - meta = { homepage = "https://networkx.github.io/"; description = "Library for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks"; license = lib.licenses.bsd3; }; -} \ No newline at end of file +} diff --git a/pkgs/development/python-modules/nipype/default.nix b/pkgs/development/python-modules/nipype/default.nix index a38f23d5536f..30ee2b28561a 100644 --- a/pkgs/development/python-modules/nipype/default.nix +++ b/pkgs/development/python-modules/nipype/default.nix @@ -29,11 +29,11 @@ assert !isPy3k -> configparser != null; buildPythonPackage rec { pname = "nipype"; - version = "1.0.0"; + version = "1.0.1"; src = fetchPypi { inherit pname version; - sha256 = "4c14c6cae1f530f89d76fa8136d52488b1daf3a02179da65121b76eaf4a6f0ea"; + sha256 = "47f62fda3d6b9a37aa407a6b78c80e91240aa71e61191ed00da68b02839fe258"; }; doCheck = false; # fails with TypeError: None is not callable diff --git a/pkgs/development/python-modules/numba/default.nix b/pkgs/development/python-modules/numba/default.nix index 97aad8c09285..e62fff7bca35 100644 --- a/pkgs/development/python-modules/numba/default.nix +++ b/pkgs/development/python-modules/numba/default.nix @@ -14,12 +14,12 @@ }: buildPythonPackage rec { - version = "0.36.2"; + version = "0.37.0"; pname = "numba"; src = fetchPypi { inherit pname version; - sha256 = "d61597808ce511e81b64e32da664f52beb7d947bf834dde8b8b60b29d205e5c2"; + sha256 = "c62121b2d384d8b4d244ef26c1cf8bb5cb819278a80b893bf41918ad6d391258"; }; NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-I${libcxx}/include/c++/v1"; diff --git a/pkgs/development/python-modules/numpy/default.nix b/pkgs/development/python-modules/numpy/default.nix index f32f417c3917..3fce29cd8cda 100644 --- a/pkgs/development/python-modules/numpy/default.nix +++ b/pkgs/development/python-modules/numpy/default.nix @@ -2,13 +2,13 @@ buildPythonPackage rec { pname = "numpy"; - version = "1.14.0"; + version = "1.14.1"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; extension = "zip"; - sha256 = "3de643935b212307b420248018323a44ec51987a336d1d747c1322afc3c099fb"; + sha256 = "fa0944650d5d3fb95869eaacd8eedbd2d83610c85e271bd9d3495ffa9bc4dc9c"; }; disabled = isPyPy; diff --git a/pkgs/development/python-modules/paramz/default.nix b/pkgs/development/python-modules/paramz/default.nix index 3d9fd2afacae..daca12f66c09 100644 --- a/pkgs/development/python-modules/paramz/default.nix +++ b/pkgs/development/python-modules/paramz/default.nix @@ -2,12 +2,12 @@ buildPythonPackage rec { pname = "paramz"; - version = "0.8.5"; + version = "0.9.1"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "297e59b48e57e78e15f547b1af8b21ddfd19a6312d70b9dc07c7262711adfed9"; + sha256 = "8a5a2fe5cdb033eb869c49e81fde2a9d0055fadb53a8af1665a7f48f320179cf"; }; propagatedBuildInputs = [ numpy scipy six decorator ]; diff --git a/pkgs/development/python-modules/pendulum/default.nix b/pkgs/development/python-modules/pendulum/default.nix index 12d5c82d511a..2d3ccf83a8a5 100644 --- a/pkgs/development/python-modules/pendulum/default.nix +++ b/pkgs/development/python-modules/pendulum/default.nix @@ -2,11 +2,11 @@ buildPythonPackage rec { pname = "pendulum"; - version = "1.4.1"; + version = "1.4.2"; src = fetchPypi { inherit pname version; - sha256 = "3f16fb759e6126dd89d49886f8100caa72e5ab36563bc148b4f7eddfa0099c0f"; + sha256 = "39a255776528afe11ea0d57814f9bf3729c1e0b99063af2e5c6cfd750c3e1f7f"; }; propagatedBuildInputs = [ dateutil pytzdata tzlocal ]; diff --git a/pkgs/development/python-modules/phonenumbers/default.nix b/pkgs/development/python-modules/phonenumbers/default.nix index 14e59ce3a955..e00aeb5d70de 100644 --- a/pkgs/development/python-modules/phonenumbers/default.nix +++ b/pkgs/development/python-modules/phonenumbers/default.nix @@ -2,12 +2,12 @@ buildPythonPackage rec { pname = "phonenumbers"; - version = "8.8.9"; + version = "8.9.0"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "d819299c3aa8f85f248295ab8559e202af429b4017301b122a0b4c387aed10d2"; + sha256 = "2cb4822ba895200b06f46a788e852d6ae8200fdc97e1d7c86b0ee10c99d4ff3a"; }; meta = { diff --git a/pkgs/development/python-modules/plotly/default.nix b/pkgs/development/python-modules/plotly/default.nix index a202ef8b85a5..fb5a5c93a12f 100644 --- a/pkgs/development/python-modules/plotly/default.nix +++ b/pkgs/development/python-modules/plotly/default.nix @@ -10,12 +10,12 @@ buildPythonPackage rec { pname = "plotly"; - version = "2.4.0"; + version = "2.4.1"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "8e7ee039231fec52b0b38d45e7470f70b117f6527b08cc922d74992f4d082858"; + sha256 = "f588991dce15437debd825eca935c8cfbabf438cdc0dcd2ce7a88f429d982f69"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/pomegranate/default.nix b/pkgs/development/python-modules/pomegranate/default.nix index 77b373de259a..e611e2ea5b10 100644 --- a/pkgs/development/python-modules/pomegranate/default.nix +++ b/pkgs/development/python-modules/pomegranate/default.nix @@ -3,7 +3,6 @@ buildPythonPackage rec { pname = "pomegranate"; version = "0.8.1"; - name = "${pname}-${version}"; src = fetchFromGitHub { repo = pname; @@ -21,5 +20,9 @@ buildPythonPackage rec { homepage = https://github.com/jmschrei/pomegranate; license = licenses.mit; maintainers = with maintainers; [ rybern ]; + + # "pomegranate does not yet work with networkx 2.0" + # see https://github.com/jmschrei/pomegranate/issues/209 + broken = true; }; } diff --git a/pkgs/development/python-modules/prov/default.nix b/pkgs/development/python-modules/prov/default.nix index 8866382ea8f2..f5f5b719b060 100644 --- a/pkgs/development/python-modules/prov/default.nix +++ b/pkgs/development/python-modules/prov/default.nix @@ -7,6 +7,8 @@ , six , pydotplus , rdflib +, pydot +, glibcLocales }: buildPythonPackage rec { @@ -18,6 +20,10 @@ buildPythonPackage rec { sha256 = "640dc158d931403bc6c1a0ad80702caae71f810bac21f90ec605865c8444b7bb"; }; + prePatch = '' + substituteInPlace setup.py --replace "six==1.10.0" "six>=1.10.0" + ''; + propagatedBuildInputs = [ lxml networkx @@ -26,7 +32,15 @@ buildPythonPackage rec { pydotplus rdflib ]; - doCheck = false; # takes ~60 mins + + checkInputs = [ + pydot + glibcLocales + ]; + + preCheck = '' + export LC_ALL="en_US.utf-8" + ''; meta = with stdenv.lib; { description = "A Python library for W3C Provenance Data Model (PROV)"; diff --git a/pkgs/development/python-modules/pybfd/default.nix b/pkgs/development/python-modules/pybfd/default.nix index 0ac437bfb293..8f074943dd32 100644 --- a/pkgs/development/python-modules/pybfd/default.nix +++ b/pkgs/development/python-modules/pybfd/default.nix @@ -1,7 +1,8 @@ { lib, fetchFromGitHub, buildPythonPackage, isPyPy, isPy3k, libbfd, libopcodes }: buildPythonPackage rec { - name = "pybfd-0.1.1.2017-12-31"; + pname = "pybfd"; + version = "-0.1.1.2017-12-31"; disabled = isPyPy || isPy3k; diff --git a/pkgs/development/python-modules/pycups/default.nix b/pkgs/development/python-modules/pycups/default.nix new file mode 100644 index 000000000000..28dff352e389 --- /dev/null +++ b/pkgs/development/python-modules/pycups/default.nix @@ -0,0 +1,22 @@ +{ stdenv, lib, buildPythonPackage, fetchurl, cups, libiconv }: + +buildPythonPackage rec { + pname = "pycups"; + version = "1.9.73"; + + src = fetchurl { + url = "http://cyberelk.net/tim/data/pycups/pycups-${version}.tar.bz2"; + sha256 = "c381be011889ca6f728598578c89c8ac9f7ab1e95b614474df9f2fa831ae5335"; + }; + + buildInputs = [ cups ] ++ lib.optional stdenv.isDarwin libiconv; + + # Wants to connect to CUPS + doCheck = false; + + meta = with lib; { + description = "Python bindings for libcups"; + homepage = http://cyberelk.net/tim/software/pycups/; + license = with licenses; [ gpl2Plus ]; + }; +} diff --git a/pkgs/development/python-modules/pydub/default.nix b/pkgs/development/python-modules/pydub/default.nix index 819c6ffe4892..6450cb7c70eb 100644 --- a/pkgs/development/python-modules/pydub/default.nix +++ b/pkgs/development/python-modules/pydub/default.nix @@ -3,10 +3,10 @@ buildPythonPackage rec { name = "${pname}-${version}"; pname = "pydub"; - version = "0.20.0"; + version = "0.21.0"; src = fetchPypi { inherit pname version; - sha256 = "0hqsvvph6ks4kxj0m2q1xvl5bllqmpk78rlqpqhh79schl344xkv"; + sha256 = "27acc5977b0f5220682175d44fda737bbf818143b0832c0c3863b5dde38e197a"; }; patches = [ diff --git a/pkgs/development/python-modules/pymongo/default.nix b/pkgs/development/python-modules/pymongo/default.nix index 577cd9142f95..038b12b3a9e7 100644 --- a/pkgs/development/python-modules/pymongo/default.nix +++ b/pkgs/development/python-modules/pymongo/default.nix @@ -2,12 +2,12 @@ buildPythonPackage rec { pname = "pymongo"; - version = "3.6.0"; + version = "3.6.1"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "c6de26d1e171cdc449745b82f1addbc873d105b8e7335097da991c0fc664a4a8"; + sha256 = "f7ebcb846962ee40374db2d9014a89bea9c983ae63c1877957c3a0a756974796"; }; doCheck = false; diff --git a/pkgs/development/python-modules/pyopencl/default.nix b/pkgs/development/python-modules/pyopencl/default.nix index a2d019374c96..d90ff4581077 100644 --- a/pkgs/development/python-modules/pyopencl/default.nix +++ b/pkgs/development/python-modules/pyopencl/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "pyopencl"; - version = "2018.1"; + version = "2018.1.1"; checkInputs = [ pytest ]; buildInputs = [ opencl-headers ocl-icd ]; @@ -24,7 +24,7 @@ buildPythonPackage rec { src = fetchPypi { inherit pname version; - sha256 = "b692966bbaaa65ef8949ee25660d6b0cc7cbadc7f4a35eb9c5139dfa4dde6d4a"; + sha256 = "29683b47ec729c77a1be4d6fae2bd3718ca4cfcbe14655261a3a14d5bf55530a"; }; # py.test is not needed during runtime, so remove it from `install_requires` diff --git a/pkgs/development/python-modules/pytest-mock/default.nix b/pkgs/development/python-modules/pytest-mock/default.nix index 2694e9c1ea05..defbbdbc0c25 100644 --- a/pkgs/development/python-modules/pytest-mock/default.nix +++ b/pkgs/development/python-modules/pytest-mock/default.nix @@ -1,4 +1,4 @@ -{ lib, buildPythonPackage, fetchPypi, isPy3k, pytest, mock, setuptools_scm }: +{ lib, buildPythonPackage, fetchPypi, fetchpatch, isPy3k, pytest, mock, setuptools_scm }: buildPythonPackage rec { pname = "pytest-mock"; diff --git a/pkgs/development/python-modules/pytest-xdist/default.nix b/pkgs/development/python-modules/pytest-xdist/default.nix index 596ce38ed0ab..38d34a958545 100644 --- a/pkgs/development/python-modules/pytest-xdist/default.nix +++ b/pkgs/development/python-modules/pytest-xdist/default.nix @@ -2,11 +2,11 @@ buildPythonPackage rec { pname = "pytest-xdist"; - version = "1.22.0"; + version = "1.22.2"; src = fetchPypi { inherit pname version; - sha256 = "65228a859191f2c74ee68c127317eefe35eedd3d43fc1431f19240663b0cafcd"; + sha256 = "e8f5744acc270b3e7d915bdb4d5f471670f049b6fbd163d4cbd52203b075d30f"; }; nativeBuildInputs = [ setuptools_scm ]; diff --git a/pkgs/development/python-modules/pytest/default.nix b/pkgs/development/python-modules/pytest/default.nix index 9b7f5cc12de0..7288ad0332b5 100644 --- a/pkgs/development/python-modules/pytest/default.nix +++ b/pkgs/development/python-modules/pytest/default.nix @@ -2,7 +2,7 @@ , setuptools_scm, setuptools, six, pluggy, funcsigs, isPy3k }: buildPythonPackage rec { - version = "3.4.0"; + version = "3.4.1"; pname = "pytest"; preCheck = '' @@ -12,7 +12,7 @@ buildPythonPackage rec { src = fetchPypi { inherit pname version; - sha256 = "6074ea3b9c999bd6d0df5fa9d12dd95ccd23550df2a582f5f5b848331d2e82ca"; + sha256 = "9ddcb879c8cc859d2540204b5399011f842e5e8823674bf429f70ada281b3cc6"; }; checkInputs = [ hypothesis ]; diff --git a/pkgs/development/python-modules/python-daemon/default.nix b/pkgs/development/python-modules/python-daemon/default.nix new file mode 100644 index 000000000000..c44af185a108 --- /dev/null +++ b/pkgs/development/python-modules/python-daemon/default.nix @@ -0,0 +1,23 @@ +{ lib, buildPythonPackage, fetchPypi, mock, testscenarios, docutils, lockfile }: + +buildPythonPackage rec { + pname = "python-daemon"; + version = "2.1.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "261c859be5c12ae7d4286dc6951e87e9e1a70a882a8b41fd926efc1ec4214f73"; + }; + + # A test fail within chroot builds. + doCheck = false; + + buildInputs = [ mock testscenarios ]; + propagatedBuildInputs = [ docutils lockfile ]; + + meta = with lib; { + description = "Library to implement a well-behaved Unix daemon process"; + homepage = https://alioth.debian.org/projects/python-daemon/; + license = [ licenses.gpl3Plus licenses.asl20 ]; + }; +} diff --git a/pkgs/development/python-modules/python-oauth2/default.nix b/pkgs/development/python-modules/python-oauth2/default.nix index 38649ca19859..f4d87dc035c1 100644 --- a/pkgs/development/python-modules/python-oauth2/default.nix +++ b/pkgs/development/python-modules/python-oauth2/default.nix @@ -6,11 +6,11 @@ buildPythonPackage rec { pname = "python-oauth2"; - version = "1.0.1"; + version = "1.1.0"; src = fetchPypi { inherit pname version; - sha256 = "0a1d0qnlgm07wq9r9bbm5jqkqry73w34m87p0141bk76lg7bb0sm"; + sha256 = "b24da812837c19183df1924e80a22ba0a1869582dea8b04a9ecd807b04dbc525"; }; # attempts to run mysql doCheck = false; diff --git a/pkgs/development/python-modules/pytools/default.nix b/pkgs/development/python-modules/pytools/default.nix index 2bf7413c6005..1fba3303e3fe 100644 --- a/pkgs/development/python-modules/pytools/default.nix +++ b/pkgs/development/python-modules/pytools/default.nix @@ -10,11 +10,11 @@ buildPythonPackage rec { pname = "pytools"; - version = "2017.6"; + version = "2018.1"; src = fetchPypi { inherit pname version; - sha256 = "80f1bba4469d473c1b3969bc8e188c03bcc94d35807a889ceebbfc78e3208115"; + sha256 = "0063b87285cb1172e3602a996bfd7342bf407361cf67b562cb6d806f70422e71"; }; checkInputs = [ pytest ]; diff --git a/pkgs/development/python-modules/rednose/default.nix b/pkgs/development/python-modules/rednose/default.nix new file mode 100644 index 000000000000..d9736dcb6f39 --- /dev/null +++ b/pkgs/development/python-modules/rednose/default.nix @@ -0,0 +1,24 @@ +{ lib, buildPythonPackage, fetchPypi, nose, six, colorama, termstyle }: + +buildPythonPackage rec { + pname = "rednose"; + version = "1.3.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "6da77917788be277b70259edc0bb92fc6f28fe268b765b4ea88206cc3543a3e1"; + }; + + prePatch = '' + substituteInPlace setup.py --replace "six==1.10.0" "six>=1.10.0" + ''; + + checkInputs = [ six ]; + propagatedBuildInputs = [ nose colorama termstyle ]; + + meta = with lib; { + description = "A python nose plugin adding color to console results"; + homepage = https://github.com/JBKahn/rednose; + license = licenses.mit; + }; +} diff --git a/pkgs/development/python-modules/regex/default.nix b/pkgs/development/python-modules/regex/default.nix index dc7b91a54a81..234088d1f519 100644 --- a/pkgs/development/python-modules/regex/default.nix +++ b/pkgs/development/python-modules/regex/default.nix @@ -7,11 +7,11 @@ buildPythonPackage rec { pname = "regex"; - version = "2018.02.08"; + version = "2018.02.21"; src = fetchPypi { inherit pname version; - sha256 = "2353c0e983c4029caf32016f1dddef623c3117ac282a818468c6d2f5d541698d"; + sha256 = "b44624a38d07d3c954c84ad302c29f7930f4bf01443beef5589e9157b14e2a29"; }; postCheck = '' diff --git a/pkgs/development/python-modules/restructuredtext_lint/default.nix b/pkgs/development/python-modules/restructuredtext_lint/default.nix index e58066cbef4d..af1f28d6d72d 100644 --- a/pkgs/development/python-modules/restructuredtext_lint/default.nix +++ b/pkgs/development/python-modules/restructuredtext_lint/default.nix @@ -11,12 +11,12 @@ buildPythonPackage rec { pname = "restructuredtext_lint"; - version = "1.1.2"; + version = "1.1.3"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "9201d354e22c27be61cf6d8212da6e10c875eec7ec8d1bdb1067b2a5ba931637"; + sha256 = "c48ca9a84c312b262809f041fe47dcfaedc9ee4879b3e1f9532f745c182b4037"; }; checkInputs = [ nose flake8 pyyaml testtools ]; diff --git a/pkgs/development/python-modules/setuptools/default.nix b/pkgs/development/python-modules/setuptools/default.nix index b8fd011c4ea6..cd07a64ae49b 100644 --- a/pkgs/development/python-modules/setuptools/default.nix +++ b/pkgs/development/python-modules/setuptools/default.nix @@ -8,13 +8,13 @@ # Should use buildPythonPackage here somehow stdenv.mkDerivation rec { pname = "setuptools"; - version = "38.4.0"; + version = "38.4.1"; name = "${python.libPrefix}-${pname}-${version}"; src = fetchPypi { inherit pname version; extension = "zip"; - sha256 = "6501fc32f505ec5b3ed36ec65ba48f1b975f52cf2ea101c7b73a08583fd12f75"; + sha256 = "3b5f74bd33b046a121f052632f248b580f5e83848bb4cebda9e38741a445a969"; }; nativeBuildInputs = [ unzip wrapPython ]; diff --git a/pkgs/development/python-modules/sphinx/default.nix b/pkgs/development/python-modules/sphinx/default.nix index 2256bcc7310f..fb37279ea847 100644 --- a/pkgs/development/python-modules/sphinx/default.nix +++ b/pkgs/development/python-modules/sphinx/default.nix @@ -27,10 +27,10 @@ buildPythonPackage rec { name = "${pname}-${version}"; pname = "Sphinx"; - version = "1.7.0"; + version = "1.7.1"; src = fetchPypi { inherit pname version; - sha256 = "278b7923f3f4ed2a1d1359f0ae94d89ac90ddd4189e8362f4b4d3baa2afe6b4a"; + sha256 = "da987de5fcca21a4acc7f67a86a363039e67ac3e8827161e61b91deb131c0ee8"; }; LC_ALL = "en_US.UTF-8"; diff --git a/pkgs/development/python-modules/sqlalchemy/default.nix b/pkgs/development/python-modules/sqlalchemy/default.nix index 18540cb63f8d..00ea37e3adae 100644 --- a/pkgs/development/python-modules/sqlalchemy/default.nix +++ b/pkgs/development/python-modules/sqlalchemy/default.nix @@ -11,11 +11,11 @@ buildPythonPackage rec { pname = "SQLAlchemy"; name = "${pname}-${version}"; - version = "1.2.3"; + version = "1.2.4"; src = fetchPypi { inherit pname version; - sha256 = "9e9ec143e2e246f385cfb2de8daa89d2fa466279addcb7be9e102988fdf33d24"; + sha256 = "6997507af46b10630e13b605ac278b78885fd683d038896dbee0e7ec41d809d2"; }; checkInputs = [ diff --git a/pkgs/development/python-modules/sqlmap/default.nix b/pkgs/development/python-modules/sqlmap/default.nix index 0fa889b88f26..5d5e6d4bfd2b 100644 --- a/pkgs/development/python-modules/sqlmap/default.nix +++ b/pkgs/development/python-modules/sqlmap/default.nix @@ -5,12 +5,12 @@ buildPythonPackage rec { pname = "sqlmap"; - version = "1.2.2"; + version = "1.2.3"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "6256e0d5ab6d465152c8a8a21bdb97b50e155255d6bedd586ce214ed7a1fb9d7"; + sha256 = "0db9d1dd2e9624befff25f7e1a356f32366e4f05fd7e1a1783499816416ae28e"; }; # No tests in archive diff --git a/pkgs/development/python-modules/sseclient/default.nix b/pkgs/development/python-modules/sseclient/default.nix new file mode 100644 index 000000000000..9ac04e18e4f6 --- /dev/null +++ b/pkgs/development/python-modules/sseclient/default.nix @@ -0,0 +1,24 @@ +{ stdenv, buildPythonPackage, fetchPypi +, requests, six +, backports_unittest-mock, pluggy, pytest, pytestrunner }: + +buildPythonPackage rec { + pname = "sseclient"; + version = "0.0.19"; + + src = fetchPypi { + inherit pname version; + sha256 = "7a2ea3f4c8525ae9a677bc8193df5db88e23bcaafcc34938a1ee665975703a9f"; + }; + + propagatedBuildInputs = [ requests six ]; + + checkInputs = [ backports_unittest-mock pytest pytestrunner ]; + + meta = with stdenv.lib; { + description = "Client library for reading Server Sent Event streams"; + homepage = https://github.com/btubbs/sseclient; + license = licenses.mit; + maintainers = with maintainers; [ peterhoeg ]; + }; +} diff --git a/pkgs/development/python-modules/stripe/default.nix b/pkgs/development/python-modules/stripe/default.nix index 7e7aa4756bbe..95da0ec9b4f8 100644 --- a/pkgs/development/python-modules/stripe/default.nix +++ b/pkgs/development/python-modules/stripe/default.nix @@ -1,10 +1,9 @@ -{ stdenv, buildPythonPackage, fetchPypi -, unittest2, mock, requests }: +{ lib, buildPythonPackage, fetchPypi, isPy3k +, unittest2, mock, requests, simplejson }: buildPythonPackage rec { pname = "stripe"; - version = "1.77.2"; - name = "${pname}-${version}"; + version = "1.79.1"; # Tests require network connectivity and there's no easy way to disable # them. ~ C. @@ -12,14 +11,14 @@ buildPythonPackage rec { src = fetchPypi { inherit pname version; - sha256 = "3bcd55108dd2c0e853a91147ee843bc375f35767e64d0f7680e5bd82ddb7fbf1"; + sha256 = "2ec19bf8ad588ec04b36c35f359196fa1991f9ad911b1686ac2a12651a154947"; }; - buildInputs = [ unittest2 mock ]; + checkInputs = [ unittest2 mock ]; - propagatedBuildInputs = [ requests ]; + propagatedBuildInputs = [ requests ] ++ lib.optional (!isPy3k) simplejson; - meta = with stdenv.lib; { + meta = with lib; { description = "Stripe Python bindings"; homepage = https://github.com/stripe/stripe-python; license = licenses.mit; diff --git a/pkgs/development/python-modules/termstyle/default.nix b/pkgs/development/python-modules/termstyle/default.nix new file mode 100644 index 000000000000..0a1c4e764129 --- /dev/null +++ b/pkgs/development/python-modules/termstyle/default.nix @@ -0,0 +1,20 @@ +{ lib, buildPythonPackage, fetchPypi }: + +buildPythonPackage rec { + pname = "termstyle"; + version = "0.1.11"; + + src = fetchPypi { + inherit pname version; + sha256 = "ef74b83698ea014112040cf32b1a093c1ab3d91c4dd18ecc03ec178fd99c9f9f"; + }; + + # Only manual tests + doCheck = false; + + meta = with lib; { + description = "Console colouring for python"; + homepage = "https://pypi.python.org/pypi/python-termstyle/0.1.10"; + license = licenses.bsdOriginal; + }; +} diff --git a/pkgs/development/python-modules/text-unidecode/default.nix b/pkgs/development/python-modules/text-unidecode/default.nix new file mode 100644 index 000000000000..94aebc595123 --- /dev/null +++ b/pkgs/development/python-modules/text-unidecode/default.nix @@ -0,0 +1,23 @@ +{ lib, buildPythonPackage, fetchPypi, pytest }: + +buildPythonPackage rec { + pname = "text-unidecode"; + version = "1.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "5a1375bb2ba7968740508ae38d92e1f889a0832913cb1c447d5e2046061a396d"; + }; + + checkInputs = [ pytest ]; + + checkPhase = '' + py.test + ''; + + meta = with lib; { + description = "The most basic Text::Unidecode port"; + homepage = https://github.com/kmike/text-unidecode; + license = licenses.artistic1; + }; +} diff --git a/pkgs/development/python-modules/textacy/default.nix b/pkgs/development/python-modules/textacy/default.nix index 333c4825f0f9..47b8b04c4f6a 100644 --- a/pkgs/development/python-modules/textacy/default.nix +++ b/pkgs/development/python-modules/textacy/default.nix @@ -25,11 +25,11 @@ buildPythonPackage rec { name = "${pname}-${version}"; pname = "textacy"; - version = "0.5.0"; + version = "0.6.0"; src = fetchPypi { inherit pname version; - sha256 = "6fc4603fd52c386081b063ef7aa15ca77e5e937a3064b197359659fccfdeb406"; + sha256 = "70ebd8f6536c1536132c997988a4f27731a2db5a7ca7bab29fb33746b444959f"; }; disabled = isPy27; # 2.7 requires backports.csv diff --git a/pkgs/development/python-modules/tifffile/default.nix b/pkgs/development/python-modules/tifffile/default.nix index 12edef190dcc..6e1baf2f2e95 100644 --- a/pkgs/development/python-modules/tifffile/default.nix +++ b/pkgs/development/python-modules/tifffile/default.nix @@ -3,11 +3,11 @@ buildPythonPackage rec { pname = "tifffile"; - version = "0.13.5"; + version = "0.14.0"; src = fetchPypi { inherit pname version; - sha256 = "bca0fc9eaf609a27ebd99d8466e05d5a6e79389957f17582b70643dbca65e3d8"; + sha256 = "eff44f71782dce38c604921a1b29ddad0d007ac9871d66e9c872fd6fc311334e"; }; checkInputs = [ nose ]; diff --git a/pkgs/development/python-modules/tmdb3/default.nix b/pkgs/development/python-modules/tmdb3/default.nix new file mode 100644 index 000000000000..87b62cd78ac1 --- /dev/null +++ b/pkgs/development/python-modules/tmdb3/default.nix @@ -0,0 +1,20 @@ +{ lib, buildPythonPackage, fetchPypi }: + +buildPythonPackage rec { + pname = "tmdb3"; + version = "0.7.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "9b6e043b8a65d159e7fc8f720badc7ffee5109296e38676c107454e03a895983"; + }; + + # no tests implemented + doCheck = false; + + meta = with lib; { + description = "Python implementation of the v3 API for TheMovieDB.org, allowing access to movie and cast information"; + homepage = https://pypi.python.org/pypi/tmdb3; + license = licenses.bsd3; + }; +} diff --git a/pkgs/development/python-modules/tqdm/default.nix b/pkgs/development/python-modules/tqdm/default.nix index 209ee8ccd6bb..44943cdababd 100644 --- a/pkgs/development/python-modules/tqdm/default.nix +++ b/pkgs/development/python-modules/tqdm/default.nix @@ -11,12 +11,12 @@ buildPythonPackage rec { pname = "tqdm"; - version = "4.19.5"; + version = "4.19.6"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "df32e6f127dc0ccbc675eadb33f749abbcb8f174c5cb9ec49c0cdb73aa737377"; + sha256 = "5ec0d4442358e55cdb4a0471d04c6c831518fd8837f259db5537d90feab380df"; }; buildInputs = [ nose coverage glibcLocales flake8 ]; diff --git a/pkgs/development/python-modules/tunigo/default.nix b/pkgs/development/python-modules/tunigo/default.nix new file mode 100644 index 000000000000..767bb21f0fd4 --- /dev/null +++ b/pkgs/development/python-modules/tunigo/default.nix @@ -0,0 +1,27 @@ +{ lib, buildPythonPackage, fetchFromGitHub, requests, mock, responses, pytest }: + +buildPythonPackage rec { + pname = "tunigo"; + version = "1.0.0"; + + propagatedBuildInputs = [ requests ]; + + src = fetchFromGitHub { + owner = "trygveaa"; + repo = "python-tunigo"; + rev = "v${version}"; + sha256 = "07q9girrjjffzkn8xj4l3ynf9m4psi809zf6f81f54jdb330p2fs"; + }; + + checkInputs = [ mock responses pytest ]; + + checkPhase = '' + py.test + ''; + + meta = with lib; { + description = "Python API for the browse feature of Spotify"; + homepage = https://github.com/trygveaa/python-tunigo; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/python-modules/txtorcon/default.nix b/pkgs/development/python-modules/txtorcon/default.nix index cd2d6c9a3656..09004e9337a0 100644 --- a/pkgs/development/python-modules/txtorcon/default.nix +++ b/pkgs/development/python-modules/txtorcon/default.nix @@ -3,9 +3,8 @@ , GeoIP}: buildPythonPackage rec { - name = "${pname}-${version}"; pname = "txtorcon"; - version = "0.19.3"; + version = "0.20.0"; checkInputs = [ pytest mock lsof GeoIP ]; propagatedBuildInputs = [ @@ -16,16 +15,9 @@ buildPythonPackage rec { src = fetchPypi { inherit pname version; - sha256 = "1za4qag4g2lbw695v4ssxqc2aspdyknnbn2diylwg8q9g5k9cczp"; + sha256 = "dc80cb76b3ddacef6d671c0a088cb1a45274c0858554c32ce55d0f41421c740e"; }; - # ipaddress isn't required for Python 3 although it's in requirements.txt. - # Because ipaddress doesn't install on Python 3, remove the requirement so the - # installation of this package doesn't fail on Python 3. - postPatch = "" + lib.optionalString isPy3k '' - substituteInPlace requirements.txt --replace "ipaddress>=1.0.16" "" - ''; - # Skip a failing test until fixed upstream: # https://github.com/meejah/txtorcon/issues/250 checkPhase = '' diff --git a/pkgs/development/python-modules/virtual-display/default.nix b/pkgs/development/python-modules/virtual-display/default.nix new file mode 100644 index 000000000000..262d2a5d33a0 --- /dev/null +++ b/pkgs/development/python-modules/virtual-display/default.nix @@ -0,0 +1,23 @@ +{ lib, buildPythonPackage, fetchPypi, EasyProcess }: + +buildPythonPackage rec { + pname = "PyVirtualDisplay"; + version = "0.2.1"; + + propagatedBuildInputs = [ EasyProcess ]; + + src = fetchPypi { + inherit pname version; + sha256 = "012883851a992f9c53f0dc6a512765a95cf241bdb734af79e6bdfef95c6e9982"; + }; + + # requires X server + doCheck = false; + + meta = with lib; { + description = "Python wrapper for Xvfb, Xephyr and Xvnc"; + homepage = "https://github.com/ponty/pyvirtualdisplay"; + license = licenses.bsdOriginal; + maintainers = with maintainers; [ layus ]; + }; +} diff --git a/pkgs/development/python-modules/wrapt/default.nix b/pkgs/development/python-modules/wrapt/default.nix new file mode 100644 index 000000000000..badecc776d75 --- /dev/null +++ b/pkgs/development/python-modules/wrapt/default.nix @@ -0,0 +1,23 @@ +{ lib +, buildPythonPackage +, fetchPypi +}: + +buildPythonPackage rec { + pname = "wrapt"; + version = "1.10.11"; + + # No tests in archive + doCheck = false; + + src = fetchPypi { + inherit pname version; + sha256 = "d4d560d479f2c21e1b5443bbd15fe7ec4b37fe7e53d335d3b9b0a7b1226fe3c6"; + }; + + meta = { + description = "Module for decorators, wrappers and monkey patching"; + license = lib.licenses.bsd2; + homepage = https://github.com/GrahamDumpleton/wrapt; + }; +} \ No newline at end of file diff --git a/pkgs/development/python-modules/xarray/default.nix b/pkgs/development/python-modules/xarray/default.nix index afde3f3b45b0..0cf38e80d2d0 100644 --- a/pkgs/development/python-modules/xarray/default.nix +++ b/pkgs/development/python-modules/xarray/default.nix @@ -10,11 +10,11 @@ buildPythonPackage rec { pname = "xarray"; - version = "0.10.0"; + version = "0.10.1"; src = fetchPypi { inherit pname version; - sha256 = "af1449e8df84a6eb09eb1d56c1dc5ac7f24a9563d4f2b9391ff364dc0c62344c"; + sha256 = "cc183c2d7b1788cdaeb895102b1b6c2b6a3544182ff714e92f404c29db93cc9d"; }; checkInputs = [ pytest ]; diff --git a/pkgs/development/python-modules/xdot/default.nix b/pkgs/development/python-modules/xdot/default.nix new file mode 100644 index 000000000000..526376a41632 --- /dev/null +++ b/pkgs/development/python-modules/xdot/default.nix @@ -0,0 +1,21 @@ +{ lib, buildPythonPackage, fetchPypi +, wrapGAppsHook, gobjectIntrospection, pygobject3, graphviz, gnome3 }: + +buildPythonPackage rec { + pname = "xdot"; + version = "0.9"; + + src = fetchPypi { + inherit pname version; + sha256 = "01v9vmgdxz1q2m2vq2b4aqx4ycw7grc0l4is673ygvyg9rk02dx3"; + }; + + nativeBuildInputs = [ wrapGAppsHook ]; + propagatedBuildInputs = [ gobjectIntrospection pygobject3 graphviz gnome3.gtk ]; + + meta = with lib; { + description = "xdot.py is an interactive viewer for graphs written in Graphviz's dot"; + homepage = https://github.com/jrfonseca/xdot.py; + license = licenses.lgpl3Plus; + }; +} diff --git a/pkgs/development/python-modules/yahooweather/default.nix b/pkgs/development/python-modules/yahooweather/default.nix new file mode 100644 index 000000000000..38c060aa8e84 --- /dev/null +++ b/pkgs/development/python-modules/yahooweather/default.nix @@ -0,0 +1,23 @@ +{ lib, buildPythonPackage, fetchPypi, isPy3k }: + +buildPythonPackage rec { + pname = "yahooweather"; + version = "0.10"; + + disabled = !isPy3k; + + src = fetchPypi { + inherit pname version; + sha256 = "0bsxmngkpzvqm50i2cnxjzhpbdhb8s10ly8h5q08696cjihqdkpa"; + }; + + # Tests require network access + doCheck = false; + + meta = with lib; { + description = "Provide an interface to the Yahoo! Weather RSS feed"; + homepage = https://github.com/pvizeli/yahooweather; + license = licenses.bsd2; + maintainers = with maintainers; [ peterhoeg ]; + }; +} diff --git a/pkgs/development/python-modules/zeroconf/default.nix b/pkgs/development/python-modules/zeroconf/default.nix index 5502a8236dae..f3dbf70eecfc 100644 --- a/pkgs/development/python-modules/zeroconf/default.nix +++ b/pkgs/development/python-modules/zeroconf/default.nix @@ -3,12 +3,12 @@ buildPythonPackage rec { pname = "zeroconf"; - version = "0.19.1"; + version = "0.20.0"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "0ykzg730n915qbrq9bn5pn06bv6rb5zawal4sqjyfnjjm66snkj3"; + sha256 = "6e3f1e7b5871e3d1410ac29b9fb85aafc1e2d661ed596b07a6f84559a475efcb"; }; propagatedBuildInputs = [ netifaces six enum-compat ]; diff --git a/pkgs/development/tools/analysis/autoflake/default.nix b/pkgs/development/tools/analysis/autoflake/default.nix index 9522b1cf6b74..ce650adb7ef2 100644 --- a/pkgs/development/tools/analysis/autoflake/default.nix +++ b/pkgs/development/tools/analysis/autoflake/default.nix @@ -3,12 +3,12 @@ with python3Packages; buildPythonApplication rec { pname = "autoflake"; - version = "1.0"; + version = "1.1"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "12k4v8w7awqp83j727y0iwcbjqj3ccvbai7c9m0wgbmq5xkvav8a"; + sha256 = "a74d684a7a02654f74582addc24a3016c06809316cc140457a4fe93a1e6ed131"; }; propagatedBuildInputs = [ pyflakes ]; diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix index 5db0bce21f79..27aa38cfa7e1 100644 --- a/pkgs/development/tools/build-managers/meson/default.nix +++ b/pkgs/development/tools/build-managers/meson/default.nix @@ -1,5 +1,7 @@ -{ lib, python3Packages }: -python3Packages.buildPythonApplication rec { +{ lib, python3Packages, stdenv, targetPlatform, writeTextDir, m4 }: let + targetPrefix = lib.optionalString stdenv.isCross + (targetPlatform.config + "-"); +in python3Packages.buildPythonApplication rec { version = "0.44.0"; pname = "meson"; name = "${pname}-${version}"; @@ -33,6 +35,26 @@ python3Packages.buildPythonApplication rec { setupHook = ./setup-hook.sh; + crossFile = writeTextDir "cross-file.conf" '' + [binaries] + c = '${targetPrefix}cc' + cpp = '${targetPrefix}c++' + ar = '${targetPrefix}ar' + strip = '${targetPrefix}strip' + pkgconfig = 'pkg-config' + + [properties] + needs_exe_wrapper = true + + [host_machine] + system = '${targetPlatform.parsed.kernel.name}' + cpu_family = '${targetPlatform.parsed.cpu.family}' + cpu = '${targetPlatform.parsed.cpu.name}' + endian = ${if targetPlatform.isLittleEndian then "'little'" else "'big'"} + ''; + + inherit (stdenv) cc isCross; + meta = with lib; { homepage = http://mesonbuild.com; description = "SCons-like build system that use python as a front-end language and Ninja as a building backend"; diff --git a/pkgs/development/tools/build-managers/meson/setup-hook.sh b/pkgs/development/tools/build-managers/meson/setup-hook.sh index 8f96e6146be0..341b1ff9e6eb 100644 --- a/pkgs/development/tools/build-managers/meson/setup-hook.sh +++ b/pkgs/development/tools/build-managers/meson/setup-hook.sh @@ -6,11 +6,15 @@ mesonConfigurePhase() { fi # Build release by default. - mesonFlags="--buildtype=${mesonBuildType:-release} $mesonFlags" + if [ -n "@isCross@" ]; then + crossMesonFlags="--cross-file=@crossFile@/cross-file.conf" + fi + + mesonFlags="${crossMesonFlags+$crossMesonFlags }--buildtype=${mesonBuildType:-release} $mesonFlags" echo "meson flags: $mesonFlags ${mesonFlagsArray[@]}" - meson build $mesonFlags "${mesonFlagsArray[@]}" + CC=@cc@/bin/cc CXX=@cc@/bin/c++ meson build $mesonFlags "${mesonFlagsArray[@]}" cd build if ! [[ -v enableParallelBuilding ]]; then @@ -29,7 +33,7 @@ fi mesonCheckPhase() { runHook preCheck - meson test + meson test --print-errorlogs runHook postCheck } diff --git a/pkgs/development/tools/misc/autogen/default.nix b/pkgs/development/tools/misc/autogen/default.nix index 77944297a972..660917ee9f1f 100644 --- a/pkgs/development/tools/misc/autogen/default.nix +++ b/pkgs/development/tools/misc/autogen/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ which pkgconfig perl ] # autogen needs a build autogen when cross-compiling ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - buildPackages.autogen buildPackages.texinfo ]; + buildPackages.buildPackages.autogen buildPackages.texinfo ]; buildInputs = [ guile libxml2 ]; diff --git a/pkgs/development/tools/misc/automake/automake-1.15.x.nix b/pkgs/development/tools/misc/automake/automake-1.16.x.nix similarity index 91% rename from pkgs/development/tools/misc/automake/automake-1.15.x.nix rename to pkgs/development/tools/misc/automake/automake-1.16.x.nix index 507df5def0c1..43efcf462800 100644 --- a/pkgs/development/tools/misc/automake/automake-1.15.x.nix +++ b/pkgs/development/tools/misc/automake/automake-1.16.x.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, perl, autoconf, makeWrapper, doCheck ? false }: stdenv.mkDerivation rec { - name = "automake-1.15.1"; + name = "automake-1.16"; src = fetchurl { url = "mirror://gnu/automake/${name}.tar.xz"; - sha256 = "1bzd9g32dfm4rsbw93ld9x7b5nc1y6i4m6zp032qf1i28a8s6sxg"; + sha256 = "12jvcmkcmd5p14b41w9f7ixd3sca97pymd6lqbkwnl8qn6bjv3zr"; }; nativeBuildInputs = [ autoconf perl ]; diff --git a/pkgs/development/tools/misc/strace/default.nix b/pkgs/development/tools/misc/strace/default.nix index 80d1a75e801d..f5da3f9daa4d 100644 --- a/pkgs/development/tools/misc/strace/default.nix +++ b/pkgs/development/tools/misc/strace/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, perl, libunwind }: +{ stdenv, fetchurl, perl, libunwind, buildPackages }: stdenv.mkDerivation rec { name = "strace-${version}"; @@ -9,11 +9,12 @@ stdenv.mkDerivation rec { sha256 = "0dsw6xcfrmygidp1dj2ch8cl8icrar7789snkb2r8gh78kdqhxjw"; }; + depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ perl ]; - buildInputs = [ libunwind ]; # support -k + buildInputs = stdenv.lib.optional libunwind.supportsHost [ libunwind ]; # support -k - configureFlags = stdenv.lib.optional stdenv.hostPlatform.isAarch64 "--enable-mpers=check"; + configureFlags = stdenv.lib.optional (stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isRiscV) "--enable-mpers=check"; meta = with stdenv.lib; { homepage = http://strace.io/; diff --git a/pkgs/development/tools/parsing/re2c/default.nix b/pkgs/development/tools/parsing/re2c/default.nix index dcf89d1604d9..da1bcced32ec 100644 --- a/pkgs/development/tools/parsing/re2c/default.nix +++ b/pkgs/development/tools/parsing/re2c/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { name = "re2c-${version}"; - version = "0.16"; + version = "1.0.3"; sourceRoot = "${src.name}/re2c"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { owner = "skvadrik"; repo = "re2c"; rev = version; - sha256 = "0cijgmbyx34nwl2jmsswggkgvzy364871rkbxz8biq9x8xrhhjw5"; + sha256 = "0grx7nl9fwcn880v5ssjljhcb9c5p2a6xpwil7zxpmv0rwnr3yqi"; }; nativeBuildInputs = [ autoreconfHook ]; diff --git a/pkgs/development/tools/pew/default.nix b/pkgs/development/tools/pew/default.nix index 6eb3e88a0d13..73046165b1ab 100644 --- a/pkgs/development/tools/pew/default.nix +++ b/pkgs/development/tools/pew/default.nix @@ -29,4 +29,4 @@ with python3Packages; buildPythonApplication rec { platforms = platforms.all; maintainers = with maintainers; [ berdario ]; }; - } \ No newline at end of file + } diff --git a/pkgs/development/tools/pipenv/default.nix b/pkgs/development/tools/pipenv/default.nix index de2e6eb96a81..c5c406ef36c0 100644 --- a/pkgs/development/tools/pipenv/default.nix +++ b/pkgs/development/tools/pipenv/default.nix @@ -2,11 +2,11 @@ with python3Packages; buildPythonApplication rec { name = "${pname}-${version}"; pname = "pipenv"; - version = "10.1.0"; + version = "10.1.2"; src = fetchPypi { inherit pname version; - sha256 = "3732350e3cd8cc033d66748c418bab4b018dc0a4fcf1687f17a103ac44eac0c6"; + sha256 = "ce6dbb305fb1f262dba0dcb50c06591e4d146f7bfe079cc9f0ce3f89c7516ae9"; }; LC_ALL = "en_US.UTF-8"; diff --git a/pkgs/development/tools/vcstool/default.nix b/pkgs/development/tools/vcstool/default.nix index 51e066f3d390..0822b33aef00 100644 --- a/pkgs/development/tools/vcstool/default.nix +++ b/pkgs/development/tools/vcstool/default.nix @@ -6,11 +6,11 @@ with python3Packages; buildPythonApplication rec { name = "${pname}-${version}"; pname = "vcstool"; - version = "0.1.31"; + version = "0.1.33"; src = fetchPypi { inherit pname version; - sha256 = "0n2zkvy2km9ky9lljf1mq5nqyqi5qqzfy2a6sgkjg2grvsk7abxc"; + sha256 = "1140d3ecafb2c42c2c1a309950c7f327b09b548c00fbf6e37c8f44b8a610dfbc"; }; propagatedBuildInputs = [ pyyaml ]; diff --git a/pkgs/development/tools/yq/default.nix b/pkgs/development/tools/yq/default.nix index 6fb7f8440ef4..c911cdb58250 100644 --- a/pkgs/development/tools/yq/default.nix +++ b/pkgs/development/tools/yq/default.nix @@ -1,25 +1,23 @@ -{ stdenv, lib, buildPythonApplication, fetchPypi, pyyaml, jq }: +{ stdenv, lib, buildPythonApplication, fetchPypi, pyyaml, xmltodict, jq }: buildPythonApplication rec { - pname = "yq"; - version = "2.3.4"; + version = "2.4.1"; - propagatedBuildInputs = [ pyyaml jq ]; + propagatedBuildInputs = [ pyyaml xmltodict jq ]; # ValueError: underlying buffer has been detached doCheck = false; src = fetchPypi { inherit pname version; - sha256 = "04ckrlmin8m176iicyfhddp4r0yry5hx306vhfglf8mcp1jkga78"; + sha256 = "4833d4055b0f1c1f1a2fd292421b3472da39c7dc2727d7819efd11065a5fd310"; }; meta = with lib; { description = "Command-line YAML processor - jq wrapper for YAML documents."; - homepage = https://pypi.python.org/pypi/yq; + homepage = https://github.com/kislyuk/yq; license = [ licenses.asl20 ]; maintainers = [ maintainers.womfoo ]; }; - } diff --git a/pkgs/misc/cups/cups-clean-dirty.patch b/pkgs/misc/cups/cups-clean-dirty.patch new file mode 100644 index 000000000000..0bdc8198e8fb --- /dev/null +++ b/pkgs/misc/cups/cups-clean-dirty.patch @@ -0,0 +1,13 @@ +diff --git a/scheduler/main.c b/scheduler/main.c +index 8925c8373..acf031684 100644 +--- a/scheduler/main.c ++++ b/scheduler/main.c +@@ -893,7 +893,7 @@ main(int argc, /* I - Number of command-line args */ + * Write dirty config/state files... + */ + +- if (DirtyCleanTime && current_time >= DirtyCleanTime && cupsArrayCount(Clients) == 0) ++ if (DirtyCleanTime && current_time >= DirtyCleanTime) + cupsdCleanDirty(); + + #ifdef __APPLE__ diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix index db344b32d218..a82afc1e472c 100644 --- a/pkgs/misc/cups/default.nix +++ b/pkgs/misc/cups/default.nix @@ -25,6 +25,7 @@ stdenv.mkDerivation rec { url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/cups-systemd-socket.patch?h=packages/cups"; sha256 = "1ddgdlg9s0l2ph6l8lx1m1lx6k50gyxqi3qiwr44ppq1rxs80ny5"; }) + ./cups-clean-dirty.patch ]; nativeBuildInputs = [ pkgconfig removeReferencesTo ]; @@ -40,7 +41,6 @@ stdenv.mkDerivation rec { configureFlags = [ "--localstatedir=/var" "--sysconfdir=/etc" - "--with-rundir=/run" "--enable-raw-printing" "--enable-threads" ] ++ optionals stdenv.isLinux [ diff --git a/pkgs/os-specific/linux/apparmor/default.nix b/pkgs/os-specific/linux/apparmor/default.nix index 0bb5561e9572..c8e58dfbf6fb 100644 --- a/pkgs/os-specific/linux/apparmor/default.nix +++ b/pkgs/os-specific/linux/apparmor/default.nix @@ -8,6 +8,7 @@ , swig , ncurses , pam +, buildPackages }: let @@ -29,8 +30,8 @@ let }; prePatchCommon = '' - substituteInPlace ./common/Make.rules --replace "/usr/bin/pod2man" "${perl}/bin/pod2man" - substituteInPlace ./common/Make.rules --replace "/usr/bin/pod2html" "${perl}/bin/pod2html" + substituteInPlace ./common/Make.rules --replace "/usr/bin/pod2man" "${buildPackages.perl}/bin/pod2man" + substituteInPlace ./common/Make.rules --replace "/usr/bin/pod2html" "${buildPackages.perl}/bin/pod2html" substituteInPlace ./common/Make.rules --replace "/usr/include/linux/capability.h" "${linuxHeaders}/include/linux/capability.h" substituteInPlace ./common/Make.rules --replace "/usr/share/man" "share/man" ''; @@ -70,9 +71,10 @@ let swig ncurses which + perl ]; - buildInputs = [ + buildInputs = stdenv.lib.optionals (!stdenv.isCross) [ perl python ]; @@ -87,11 +89,12 @@ let inherit patches; postPatch = "cd ./libraries/libapparmor"; - configureFlags = "--with-python --with-perl"; + # https://gitlab.com/apparmor/apparmor/issues/1 + configureFlags = stdenv.lib.optionalString (!stdenv.isCross) "--with-python --with-perl"; - outputs = [ "out" "python" ]; + outputs = if stdenv.isCross then [ "out" ] else [ "out" "python" ]; - postInstall = '' + postInstall = stdenv.lib.optionalString (!stdenv.isCross) '' mkdir -p $python/lib mv $out/lib/python* $python/lib/ ''; diff --git a/pkgs/os-specific/linux/fuse/common.nix b/pkgs/os-specific/linux/fuse/common.nix index b9ac015f4591..a10a4f466c7c 100644 --- a/pkgs/os-specific/linux/fuse/common.nix +++ b/pkgs/os-specific/linux/fuse/common.nix @@ -4,6 +4,7 @@ , fusePackages, utillinux, gettext , autoconf, automake, libtool , meson, ninja, pkgconfig +, autoreconfHook }: let @@ -18,6 +19,8 @@ in stdenv.mkDerivation rec { sha256 = sha256Hash; }; + preAutoreconf = "touch config.rpath"; + patches = stdenv.lib.optional (!isFuse3 && stdenv.isAarch64) @@ -30,8 +33,7 @@ in stdenv.mkDerivation rec { nativeBuildInputs = if isFuse3 then [ meson ninja pkgconfig ] - else [ autoconf automake libtool ]; - buildInputs = stdenv.lib.optional (!isFuse3) gettext; + else [ autoreconfHook gettext ]; outputs = [ "out" ] ++ stdenv.lib.optional isFuse3 "common"; diff --git a/pkgs/os-specific/linux/iputils/default.nix b/pkgs/os-specific/linux/iputils/default.nix index a7fbcce31753..3fc4f3b23774 100644 --- a/pkgs/os-specific/linux/iputils/default.nix +++ b/pkgs/os-specific/linux/iputils/default.nix @@ -24,16 +24,21 @@ stdenv.mkDerivation rec { # Disable idn usage w/musl: https://github.com/iputils/iputils/pull/111 makeFlags = [ "USE_GNUTLS=no" ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "USE_IDN=no"; + depsBuildBuild = [ opensp SGMLSpm docbook_sgml_dtd_31 ]; buildInputs = [ - libsysfs opensp openssl libcap docbook_sgml_dtd_31 SGMLSpm libgcrypt nettle + libsysfs openssl libcap libgcrypt nettle ] ++ stdenv.lib.optional (!stdenv.hostPlatform.isMusl) libidn; - buildFlags = "man all ninfod"; + # ninfod probably could build on cross, but the Makefile doesn't pass --host etc to the sub configure... + buildFlags = "man all" + stdenv.lib.optionalString (!stdenv.isCross) " ninfod"; installPhase = '' mkdir -p $out/bin - cp -p ping tracepath clockdiff arping rdisc ninfod/ninfod $out/bin/ + cp -p ping tracepath clockdiff arping rdisc $out/bin/ + if [ -x ninfod/ninfod ]; then + cp -p ninfod/ninfod $out/bin + fi mkdir -p $out/share/man/man8 cp -p \ diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix index 8107f7d96575..01cab57f7196 100644 --- a/pkgs/os-specific/linux/kernel-headers/default.nix +++ b/pkgs/os-specific/linux/kernel-headers/default.nix @@ -39,14 +39,6 @@ let echo "${version}-default" > $out/include/config/kernel.release ''; - # !!! hacky - fixupPhase = '' - ln -s asm $out/include/asm-$platform - if test "$platform" = "i386" -o "$platform" = "x86_64"; then - ln -s asm $out/include/asm-x86 - fi - ''; - meta = with lib; { description = "Header files and scripts for Linux kernel"; license = licenses.gpl2; diff --git a/pkgs/os-specific/linux/libaio/default.nix b/pkgs/os-specific/linux/libaio/default.nix index 1e85182d6c35..e2be136adee1 100644 --- a/pkgs/os-specific/linux/libaio/default.nix +++ b/pkgs/os-specific/linux/libaio/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, fetchpatch }: stdenv.mkDerivation rec { version = "0.3.110"; @@ -9,6 +9,11 @@ stdenv.mkDerivation rec { sha256 = "0zjzfkwd1kdvq6zpawhzisv7qbq1ffs343i5fs9p498pcf7046g0"; }; + patches = [ (fetchpatch { + url = https://pagure.io/libaio/c/da47c32b2ff39e52fbed1622c34b86bc88d7c217.patch; + sha256 = "1kqpiswjn549s3w3m89bw5qkl7bw5pvq6gp5cdzd926ymlgivj5c"; + }) ]; + makeFlags = "prefix=$(out)"; hardeningDisable = stdenv.lib.optional (stdenv.isi686) "stackprotector"; diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index fc72728cbabe..1e4df0d3f0ef 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -9,12 +9,13 @@ , patchelf , getent , hostPlatform +, buildPackages }: assert stdenv.isLinux; let - pythonLxmlEnv = python3Packages.python.withPackages ( ps: with ps; [ python3Packages.lxml ]); + pythonLxmlEnv = buildPackages.python3Packages.python.withPackages ( ps: with ps; [ python3Packages.lxml ]); in stdenv.mkDerivation rec { version = "237"; @@ -33,14 +34,16 @@ in stdenv.mkDerivation rec { [ pkgconfig intltool gperf libxslt gettext docbook_xsl docbook_xml_dtd_42 docbook_xml_dtd_45 ninja meson coreutils # meson calls date, stat etc. - pythonLxmlEnv glibcLocales - patchelf getent + glibcLocales + patchelf getent m4 ]; buildInputs = [ linuxHeaders libcap kmod xz pam acl - /* cryptsetup */ libuuid m4 glib libgcrypt libgpgerror libidn2 + /* cryptsetup */ libuuid glib libgcrypt libgpgerror libidn2 libmicrohttpd kexectools libseccomp libffi audit lz4 bzip2 libapparmor iptables gnu-efi + # This is actually native, but we already pull it from buildPackages + pythonLxmlEnv ]; #dontAddPrefix = true; @@ -77,6 +80,12 @@ in stdenv.mkDerivation rec { "-Dsysvinit-path=" "-Dsysvrcnd-path=" + + "-Dkill-path=${coreutils}/bin/kill" + "-Dkmod-path=${kmod}/bin/kmod" + "-Dsulogin-path=${utillinux}/bin/sulogin" + "-Dmount-path=${utillinux}/bin/mount" + "-Dumount-path=${utillinux}/bin/umount" ]; preConfigure = '' @@ -124,7 +133,7 @@ in stdenv.mkDerivation rec { for i in src/basic/generate-gperfs.py src/resolve/generate-dns_type-gperf.py src/test/generate-sym-test.py ; do substituteInPlace $i \ - --replace "#!/usr/bin/env python" "#!${python3Packages.python}/bin/python" + --replace "#!/usr/bin/env python" "#!${buildPackages.python3Packages.python}/bin/python" done substituteInPlace src/journal/catalog.c \ diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix index e8a2b3428496..618ba42e7416 100644 --- a/pkgs/os-specific/linux/util-linux/default.nix +++ b/pkgs/os-specific/linux/util-linux/default.nix @@ -30,7 +30,8 @@ in stdenv.mkDerivation rec { crossAttrs = { # Work around use of `AC_RUN_IFELSE'. - preConfigure = "export scanf_cv_type_modifier=ms"; + preConfigure = "export scanf_cv_type_modifier=ms" + lib.optionalString (systemd != null) + "\nconfigureFlags+=\" --with-systemd --with-systemdsystemunitdir=$bin/lib/systemd/system/\""; }; preConfigure = lib.optionalString (systemd != null) '' diff --git a/pkgs/servers/dns/bind/default.nix b/pkgs/servers/dns/bind/default.nix index c0176db15769..55368ac9a4dc 100644 --- a/pkgs/servers/dns/bind/default.nix +++ b/pkgs/servers/dns/bind/default.nix @@ -1,5 +1,6 @@ { stdenv, lib, fetchurl, openssl, libtool, perl, libxml2 -, enableSeccomp ? false, libseccomp ? null }: +, enableSeccomp ? false, libseccomp ? null, buildPackages +}: assert enableSeccomp -> libseccomp != null; @@ -24,6 +25,8 @@ stdenv.mkDerivation rec { STD_CDEFINES = [ "-DDIG_SIGCHASE=1" ]; # support +sigchase + depsBuildBuild = [ buildPackages.stdenv.cc ]; + configureFlags = [ "--localstatedir=/var" "--with-libtool" @@ -39,6 +42,11 @@ stdenv.mkDerivation rec { "--without-pkcs11" "--without-purify" "--without-python" + "--with-randomdev=/dev/random" + "--with-ecdsa" + "--with-gost" + "--without-eddsa" + "--with-aes" ] ++ lib.optional enableSeccomp "--enable-seccomp"; postInstall = '' diff --git a/pkgs/servers/home-assistant/appdaemon.nix b/pkgs/servers/home-assistant/appdaemon.nix new file mode 100644 index 000000000000..db6380bcf128 --- /dev/null +++ b/pkgs/servers/home-assistant/appdaemon.nix @@ -0,0 +1,62 @@ +{ lib, python3, fetchpatch }: + +let + python = python3.override { + packageOverrides = self: super: { + + aiohttp = super.aiohttp.overridePythonAttrs (oldAttrs: rec { + version = "2.3.10"; + src = oldAttrs.src.override { + inherit version; + sha256 = "8adda6583ba438a4c70693374e10b60168663ffa6564c5c75d3c7a9055290964"; + }; + }); + + yarl = super.yarl.overridePythonAttrs (oldAttrs: rec { + version = "1.1.0"; + src = oldAttrs.src.override { + inherit version; + sha256 = "6af895b45bd49254cc309ac0fe6e1595636a024953d710e01114257736184698"; + }; + }); + + aiohttp-jinja2 = super.aiohttp-jinja2.overridePythonAttrs (oldAttrs: rec { + version = "0.15.0"; + src = oldAttrs.src.override { + inherit version; + sha256 = "0f390693f46173d8ffb95669acbb0e2a3ec54ecce676703510ad47f1a6d9dc83"; + }; + }); + + }; + }; + +in python.pkgs.buildPythonApplication rec { + pname = "appdaemon"; + version = "3.0.0b4"; + + src = python.pkgs.fetchPypi { + inherit pname version; + sha256 = "0dfc37ecd8e1344001d4970d32813c581aba1385cf3b82c69f8b7df2eca6c019"; + }; + + patches = fetchpatch { + url = "${meta.homepage}/pull/252.patch"; + sha256 = "164qvgdibd2645yxm4n16bhnan13wrchfi70jp2ff806fwdg9mg0"; + }; + + propagatedBuildInputs = with python.pkgs; [ + aiohttp aiohttp-jinja2 astral bcrypt daemonize feedparser iso8601 + jinja2 pyyaml requests sseclient voluptuous websocket_client yarl + ]; + + # no tests implemented + doCheck = false; + + meta = with lib; { + description = "Sandboxed python execution environment for writing automation apps for Home Assistant"; + homepage = https://github.com/home-assistant/appdaemon; + license = licenses.mit; + maintainers = with maintainers; [ peterhoeg dotlambda ]; + }; +} diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 6f5843a81679..5791aac0278f 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -99,8 +99,8 @@ "envisalink" = ps: with ps; [ ]; "fan.xiaomi_miio" = ps: with ps; [ ]; "feedreader" = ps: with ps; [ feedparser ]; - "ffmpeg" = ps: with ps; [ ]; - "frontend" = ps: with ps; [ ]; + "ffmpeg" = ps: with ps; [ ha-ffmpeg ]; + "frontend" = ps: with ps; [ user-agents ]; "gc100" = ps: with ps; [ ]; "goalfeed" = ps: with ps; [ ]; "google" = ps: with ps; [ google_api_python_client oauth2client ]; @@ -280,7 +280,7 @@ "sensor.crimereports" = ps: with ps; [ ]; "sensor.cups" = ps: with ps; [ ]; "sensor.darksky" = ps: with ps; [ ]; - "sensor.deluge" = ps: with ps; [ ]; + "sensor.deluge" = ps: with ps; [ deluge-client ]; "sensor.deutsche_bahn" = ps: with ps; [ ]; "sensor.dht" = ps: with ps; [ ]; "sensor.discogs" = ps: with ps; [ discogs_client ]; @@ -376,7 +376,7 @@ "sensor.xbox_live" = ps: with ps; [ ]; "sensor.yahoo_finance" = ps: with ps; [ ]; "sensor.yr" = ps: with ps; [ xmltodict ]; - "sensor.yweather" = ps: with ps; [ ]; + "sensor.yweather" = ps: with ps; [ yahooweather ]; "sensor.zestimate" = ps: with ps; [ xmltodict ]; "shiftr" = ps: with ps; [ paho-mqtt ]; "skybell" = ps: with ps; [ ]; @@ -387,7 +387,7 @@ "switch.acer_projector" = ps: with ps; [ pyserial ]; "switch.anel_pwrctrl" = ps: with ps; [ ]; "switch.broadlink" = ps: with ps; [ ]; - "switch.deluge" = ps: with ps; [ ]; + "switch.deluge" = ps: with ps; [ deluge-client ]; "switch.digitalloggers" = ps: with ps; [ ]; "switch.dlink" = ps: with ps; [ ]; "switch.edimax" = ps: with ps; [ ]; @@ -423,7 +423,7 @@ "twilio" = ps: with ps; [ twilio ]; "upcloud" = ps: with ps; [ ]; "updater" = ps: with ps; [ distro ]; - "upnp" = ps: with ps; [ ]; + "upnp" = ps: with ps; [ miniupnpc ]; "usps" = ps: with ps; [ ]; "vacuum.roomba" = ps: with ps; [ ]; "vacuum.xiaomi_miio" = ps: with ps; [ ]; @@ -439,7 +439,7 @@ "weather.darksky" = ps: with ps; [ ]; "weather.metoffice" = ps: with ps; [ ]; "weather.openweathermap" = ps: with ps; [ ]; - "weather.yweather" = ps: with ps; [ ]; + "weather.yweather" = ps: with ps; [ yahooweather ]; "wemo" = ps: with ps; [ ]; "wink" = ps: with ps; [ ]; "xiaomi_aqara" = ps: with ps; [ ]; diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index bfdfd4a15483..75f8b309a406 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -28,6 +28,13 @@ let sha256 = "af7315c9fa99e0bfd195a21106c82c81619b42f0bd9b6e287b797c6b6b6a9918"; }; }); + astral = super.astral.overridePythonAttrs (oldAttrs: rec { + version = "1.5"; + src = oldAttrs.src.override { + inherit version; + sha256 = "527628fbfe90c1596c3950ff84ebd07ecc10c8fb1044c903a0519b5057700cb6"; + }; + }); hass-frontend = super.callPackage ./frontend.nix { }; }; }; diff --git a/pkgs/servers/http/nginx/modules.nix b/pkgs/servers/http/nginx/modules.nix index 780f20017982..32d1523547e6 100644 --- a/pkgs/servers/http/nginx/modules.nix +++ b/pkgs/servers/http/nginx/modules.nix @@ -2,13 +2,17 @@ { brotli = { - src = fetchFromGitHub { - owner = "google"; + src = let gitsrc = pkgs.fetchFromGitHub { + owner = "eustas"; repo = "ngx_brotli"; - rev = "bfd2885b2da4d763fed18f49216bb935223cd34b"; - sha256 = "04yx1n0wi3l2x37jd1ynl9951qxkn8xp42yv0mfp1qz9svips81n"; - fetchSubmodules = true; - }; + rev = "8cd9dd5fc232d3a01644584921e52dae99034779"; + sha256 = "0ap1kf51hzb8yvvxjkcj9hnmsmmd5drcay64hd4n7vybf9dqw6g6"; + }; in pkgs.runCommandNoCC "ngx_brotli-src" {} '' + cp -a ${gitsrc} $out + substituteInPlace $out/config \ + --replace /usr/local ${lib.getDev pkgs.brotli} + ''; + inputs = [ pkgs.brotli ]; }; rtmp ={ diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix index 02a620cee531..f7b894111e46 100644 --- a/pkgs/servers/sql/postgresql/default.nix +++ b/pkgs/servers/sql/postgresql/default.nix @@ -93,33 +93,33 @@ let in { postgresql93 = common { - version = "9.3.20"; + version = "9.3.21"; psqlSchema = "9.3"; - sha256 = "1jp6lac4b0q6hb28yrdsl0ymzn75gg59hvp5zasarf3mf3b8l4zb"; + sha256 = "1q2038rvqa00rpk8sjbnwb19x64fcyjphw9x087432hq918vrfmr"; }; postgresql94 = common { - version = "9.4.15"; + version = "9.4.16"; psqlSchema = "9.4"; - sha256 = "1i5c67gg4fj38hk07h6w6m4mqak84bhnblqsjbpiamg4x33v7gqj"; + sha256 = "10ay2cy3m4g66jwvxknc0f0w6mv2v7vm0dzkq92s9n7446v65g6w"; }; postgresql95 = common { - version = "9.5.10"; + version = "9.5.11"; psqlSchema = "9.5"; - sha256 = "10gjfn16bhzkmlqfsn384w49db0j39bg3n4majwxdpjd17g7lpcl"; + sha256 = "1pf8fwx8a6vn344b80a1bf2p4hjg06sh69kb2qwswxbsw9scv0l1"; }; postgresql96 = common { - version = "9.6.6"; + version = "9.6.7"; psqlSchema = "9.6"; - sha256 = "0m417h30s18rwa7yzkqqcdb22ifpcda2fpg2cyx8bxvjp3ydz71r"; + sha256 = "1ii4lrw8sncnz5g0fss1011shjhmbajzzhxx4f0bgsniq7rkvgif"; }; postgresql100 = common { - version = "10.1"; + version = "10.2"; psqlSchema = "10.0"; - sha256 = "04z7lm4h94625vbncwv98svycqr942n3q47ailqaczkszqjlxjrw"; + sha256 = "1bav2iyi93h866skrrlqlvsp4sfv1sfww1s305zpzffxcadh0cpy"; }; } diff --git a/pkgs/shells/bash/4.4.nix b/pkgs/shells/bash/4.4.nix index 63c7fbc7a0e0..04a036982893 100644 --- a/pkgs/shells/bash/4.4.nix +++ b/pkgs/shells/bash/4.4.nix @@ -36,9 +36,7 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" ]; - outputs = [ "out" "dev" "doc" "info" ] - # the man pages are small and useful enough, so include them in $out in interactive builds - ++ stdenv.lib.optional (!interactive) "man"; + outputs = [ "out" "dev" "man" "doc" "info" ]; NIX_CFLAGS_COMPILE = '' -DSYS_BASHRC="/etc/bashrc" diff --git a/pkgs/shells/bash/bash-4.4-patches.nix b/pkgs/shells/bash/bash-4.4-patches.nix index 741fb675d614..2d5128120295 100644 --- a/pkgs/shells/bash/bash-4.4-patches.nix +++ b/pkgs/shells/bash/bash-4.4-patches.nix @@ -13,4 +13,11 @@ patch: [ (patch "010" "01lfhrkdsdkdz8ypzapr614ras23x7ckjnr60aa5bzkaqprccrc4") (patch "011" "038p7mhnq9m65g505hi3827jkf9f35nd1cy00w8mwafpyxp44mnx") (patch "012" "0gh6lbb1rwpk44pvbamm6vzdfi50xnwkqd9v7s8cjwk3pz973hps") +(patch "013" "1djkx0w9v62q78gz3jsvamj1jq53i6hbfrfhhsw86ihwpjnfy98v") +(patch "014" "0z5ikcq9zyxw79d0z36r5p0mspnb5piavbv03jmlan1wnknmrxx7") +(patch "015" "09n307fi1j257abhm295k6ksmnzw47ka2zhnr0i5lbdnpvn04xnk") +(patch "016" "1cgi1y6mifm8hsgv4avj5ih76535js3qba1sqwbfvp7si76927sh") +(patch "017" "0w6jpj2giakji1ir83rpkx1y7n7xqppah3j748m6dm38hywr0gvp") +(patch "018" "1k58h4wxbsg7r4rwhrvzx5hfbapba2nxjysbhh6qp6ki5ys99i2v") +(patch "019" "07n1i5610lbs672x1s8g82qn3qfj06s0ip3z80sri0g8vxp0s5r7") ] diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix index 0791d9e18568..734119491a0b 100644 --- a/pkgs/stdenv/adapters.nix +++ b/pkgs/stdenv/adapters.nix @@ -75,22 +75,11 @@ rec { in stdenv // { mkDerivation = { nativeBuildInputs ? [] - , selfNativeBuildInput ? args.crossAttrs.selfNativeBuildInput or false , ... } @ args: - let - # *BuildInputs exists temporarily as another name for - # *HostInputs. - - # The base stdenv already knows that nativeBuildInputs and - # buildInputs should be built with the usual gcc-wrapper - # And the same for propagatedBuildInputs. - nativeDrv = stdenv.mkDerivation args; - in stdenv.mkDerivation (args // { nativeBuildInputs = nativeBuildInputs - ++ stdenv.lib.optional selfNativeBuildInput nativeDrv # without proper `file` command, libtool sometimes fails # to recognize 64-bit DLLs ++ stdenv.lib.optional (hostPlatform.config == "x86_64-w64-mingw32") pkgs.file diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix index 27b3c176a2a7..dfa190ee984e 100644 --- a/pkgs/stdenv/darwin/default.nix +++ b/pkgs/stdenv/darwin/default.nix @@ -61,12 +61,14 @@ in rec { libcxx, allowedRequisites ? null}: let + name = "bootstrap-stage${toString step}"; + buildPackages = lib.optionalAttrs (last ? stdenv) { inherit (last) stdenv; }; - coreutils = { name = "coreutils-9.9.9"; outPath = bootstrapTools; }; - gnugrep = { name = "gnugrep-9.9.9"; outPath = bootstrapTools; }; + coreutils = { name = "${name}-coreutils"; outPath = bootstrapTools; }; + gnugrep = { name = "${name}-gnugrep"; outPath = bootstrapTools; }; bintools = import ../../build-support/bintools-wrapper { inherit shell; @@ -76,7 +78,7 @@ in rec { nativeLibc = false; inherit buildPackages coreutils gnugrep; libc = last.pkgs.darwin.Libsystem; - bintools = { name = "binutils-9.9.9"; outPath = bootstrapTools; }; + bintools = { name = "${name}-binutils"; outPath = bootstrapTools; }; }; cc = if isNull last then "/dev/null" else import ../../build-support/cc-wrapper { @@ -86,21 +88,22 @@ in rec { extraPackages = lib.optional (libcxx != null) libcxx; nativeTools = false; + propagateDoc = false; nativeLibc = false; inherit buildPackages coreutils gnugrep bintools; libc = last.pkgs.darwin.Libsystem; isClang = true; - cc = { name = "clang-9.9.9"; outPath = bootstrapTools; }; + cc = { name = "${name}-clang"; outPath = bootstrapTools; }; }; thisStdenv = import ../generic { + name = "${name}-stdenv-darwin"; + inherit config shell extraNativeBuildInputs extraBuildInputs; allowedRequisites = if allowedRequisites == null then null else allowedRequisites ++ [ cc.expand-response-params cc.bintools ]; - name = "stdenv-darwin-boot-${toString step}"; - buildPlatform = localSystem; hostPlatform = localSystem; targetPlatform = localSystem; @@ -146,7 +149,7 @@ in rec { overrides = self: super: with stage0; rec { darwin = super.darwin // { Libsystem = stdenv.mkDerivation { - name = "bootstrap-Libsystem"; + name = "bootstrap-stage0-Libsystem"; buildCommand = '' mkdir -p $out ln -s ${bootstrapTools}/lib $out/lib @@ -157,7 +160,7 @@ in rec { }; libcxx = stdenv.mkDerivation { - name = "bootstrap-libcxx"; + name = "bootstrap-stage0-libcxx"; phases = [ "installPhase" "fixupPhase" ]; installPhase = '' mkdir -p $out/lib $out/include @@ -169,7 +172,7 @@ in rec { }; libcxxabi = stdenv.mkDerivation { - name = "bootstrap-libcxxabi"; + name = "bootstrap-stage0-libcxxabi"; buildCommand = '' mkdir -p $out/lib ln -s ${bootstrapTools}/lib/libc++abi.dylib $out/lib/libc++abi.dylib @@ -325,11 +328,11 @@ in rec { inherit binutils binutils-raw; }; in import ../generic rec { + name = "stdenv-darwin"; + inherit config; inherit (pkgs.stdenv) fetchurlBoot; - name = "stdenv-darwin"; - buildPlatform = localSystem; hostPlatform = localSystem; targetPlatform = localSystem; diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index 9e19d199a5da..d61675aed927 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -66,7 +66,7 @@ let let thisStdenv = import ../generic { - name = "stdenv-linux-boot"; + name = "${name}-stdenv-linux"; buildPlatform = localSystem; hostPlatform = localSystem; targetPlatform = localSystem; @@ -88,7 +88,9 @@ let cc = if isNull prevStage.gcc-unwrapped then null else lib.makeOverridable (import ../../build-support/cc-wrapper) { + name = "${name}-gcc-wrapper"; nativeTools = false; + propagateDoc = false; nativeLibc = false; buildPackages = lib.optionalAttrs (prevStage ? stdenv) { inherit (prevStage) stdenv; @@ -98,7 +100,6 @@ let isGNU = true; libc = getLibc prevStage; inherit (prevStage) coreutils gnugrep; - name = name; stdenvNoCC = prevStage.ccWrapperStdenv; }; @@ -138,7 +139,7 @@ in # Build a dummy stdenv with no GCC or working fetchurl. This is # because we need a stdenv to build the GCC wrapper and fetchurl. (prevStage: stageFun prevStage { - name = null; + name = "bootstrap-stage0"; overrides = self: super: { # We thread stage0's stdenv through under this name so downstream stages @@ -152,7 +153,7 @@ in # create a dummy Glibc here, which will be used in the stdenv of # stage1. ${localSystem.libc} = self.stdenv.mkDerivation { - name = "bootstrap-${localSystem.libc}"; + name = "bootstrap-stage0-${localSystem.libc}"; buildCommand = '' mkdir -p $out ln -s ${bootstrapTools}/lib $out/lib @@ -164,13 +165,13 @@ in }; gcc-unwrapped = bootstrapTools; binutils = import ../../build-support/bintools-wrapper { + name = "bootstrap-stage0-binutils-wrapper"; nativeTools = false; nativeLibc = false; buildPackages = { }; libc = getLibc self; inherit (self) stdenvNoCC coreutils gnugrep; bintools = bootstrapTools; - name = "bootstrap-binutils-wrapper"; }; coreutils = bootstrapTools; gnugrep = bootstrapTools; @@ -189,7 +190,7 @@ in # simply re-export those packages in the middle stage(s) using the # overrides attribute and the inherit syntax. (prevStage: stageFun prevStage { - name = "bootstrap-gcc-wrapper"; + name = "bootstrap-stage1"; # Rebuild binutils to use from stage2 onwards. overrides = self: super: { @@ -213,7 +214,7 @@ in # 2nd stdenv that contains our own rebuilt binutils and is used for # compiling our own Glibc. (prevStage: stageFun prevStage { - name = "bootstrap-gcc-wrapper"; + name = "bootstrap-stage2"; overrides = self: super: { inherit (prevStage) @@ -234,7 +235,7 @@ in # one uses the rebuilt Glibc from stage2. It still uses the recent # binutils and rest of the bootstrap tools, including GCC. (prevStage: stageFun prevStage { - name = "bootstrap-gcc-wrapper"; + name = "bootstrap-stage3"; overrides = self: super: rec { inherit (prevStage) @@ -262,7 +263,7 @@ in # Construct a fourth stdenv that uses the new GCC. But coreutils is # still from the bootstrap tools. (prevStage: stageFun prevStage { - name = ""; + name = "bootstrap-stage4"; overrides = self: super: { # Zlib has to be inherited and not rebuilt in this stage, @@ -291,7 +292,6 @@ in bintools = self.binutils; libc = getLibc self; inherit (self) stdenvNoCC coreutils gnugrep; - name = ""; shell = self.bash + "/bin/bash"; }; }; @@ -310,6 +310,8 @@ in (prevStage: { inherit config overlays; stdenv = import ../generic rec { + name = "stdenv-linux"; + buildPlatform = localSystem; hostPlatform = localSystem; targetPlatform = localSystem; diff --git a/pkgs/tools/admin/awscli/default.nix b/pkgs/tools/admin/awscli/default.nix index 4c6a91ec321b..eb735a04abb9 100644 --- a/pkgs/tools/admin/awscli/default.nix +++ b/pkgs/tools/admin/awscli/default.nix @@ -1,48 +1,40 @@ -{ stdenv -, buildPythonPackage -, fetchPypi -, botocore -, bcdoc -, s3transfer -, six -, colorama -, docutils -, rsa -, pyyaml +{ lib +, python , groff , less }: let - colorama_3_7 = colorama.overrideAttrs (old: rec { - name = "${pname}-${version}"; - pname = "colorama"; - version = "0.3.7"; - src = old.src.override { - inherit version; - sha256 = "0avqkn6362v7k2kg3afb35g4sfdvixjgy890clip4q174p9whhz0"; + py = python.override { + packageOverrides = self: super: { + colorama = super.colorama.overridePythonAttrs (oldAttrs: rec { + version = "0.3.7"; + src = oldAttrs.src.override { + inherit version; + sha256 = "0avqkn6362v7k2kg3afb35g4sfdvixjgy890clip4q174p9whhz0"; + }; + }); }; - }); + }; -in buildPythonPackage rec { +in py.pkgs.buildPythonApplication rec { pname = "awscli"; - version = "1.14.41"; - namePrefix = ""; + version = "1.14.47"; - src = fetchPypi { + src = py.pkgs.fetchPypi { inherit pname version; - sha256 = "8cf2a52d56f26e22e2fbd7b72649ef1d3de8930df7a730d7f27418d129bb3a6a"; + sha256 = "269483910c820ae5b4f60021375f07e4f1c23f86505e1b9e29243880a660c1d8"; }; # No tests included doCheck = false; - propagatedBuildInputs = [ + propagatedBuildInputs = with py.pkgs; [ botocore bcdoc s3transfer six - colorama_3_7 + colorama docutils rsa pyyaml @@ -58,10 +50,10 @@ in buildPythonPackage rec { rm $out/bin/aws.cmd ''; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://aws.amazon.com/cli/; description = "Unified tool to manage your AWS services"; - license = stdenv.lib.licenses.asl20; + license = licenses.asl20; maintainers = with maintainers; [ muflax ]; }; } diff --git a/pkgs/tools/compression/lzip/default.nix b/pkgs/tools/compression/lzip/default.nix index 298e490be873..25d09e6e947b 100644 --- a/pkgs/tools/compression/lzip/default.nix +++ b/pkgs/tools/compression/lzip/default.nix @@ -2,16 +2,16 @@ stdenv.mkDerivation rec { name = "lzip-${version}"; - version = "1.19"; + version = "1.20"; buildInputs = [ texinfo ]; src = fetchurl { url = "mirror://savannah/lzip/${name}.tar.gz"; - sha256 = "1abbch762gv8rjr579q3qyyk6c80plklbv2mw4x0vg71dgsw9bgz"; + sha256 = "0319q59kb8g324wnj7xzbr7vvlx5bcs13lr34j0zb3kqlyjq2fy9"; }; - configureFlags = "CPPFLAGS=-DNDEBUG CFLAGS=-O3 CXXFLAGS=-O3"; + configureFlags = "CPPFLAGS=-DNDEBUG CFLAGS=-O3 CXXFLAGS=-O3" + stdenv.lib.optionalString stdenv.isCross " CXX=${stdenv.cc.targetPrefix}c++"; setupHook = ./lzip-setup-hook.sh; diff --git a/pkgs/tools/filesystems/btrfs-progs/default.nix b/pkgs/tools/filesystems/btrfs-progs/default.nix index fb24e1394b7b..09f004f28440 100644 --- a/pkgs/tools/filesystems/btrfs-progs/default.nix +++ b/pkgs/tools/filesystems/btrfs-progs/default.nix @@ -2,14 +2,14 @@ , asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, libxslt, zstd }: -let version = "4.14.1"; in +let version = "4.15.1"; in stdenv.mkDerivation rec { name = "btrfs-progs-${version}"; src = fetchurl { url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz"; - sha256 = "1palnddw3d50kyflwk1j4xapbc6jniid6j5i9dsr8l8a7nkv7ich"; + sha256 = "15izak6jg6pqr6ha9447cdrdj9k6kfiarvwlrj53cpvrsv02l437"; }; nativeBuildInputs = [ diff --git a/pkgs/tools/filesystems/e2fsprogs/default.nix b/pkgs/tools/filesystems/e2fsprogs/default.nix index 6326cda35397..62eab06c387c 100644 --- a/pkgs/tools/filesystems/e2fsprogs/default.nix +++ b/pkgs/tools/filesystems/e2fsprogs/default.nix @@ -1,11 +1,11 @@ { stdenv, buildPackages, fetchurl, pkgconfig, libuuid, gettext, texinfo }: stdenv.mkDerivation rec { - name = "e2fsprogs-1.43.8"; + name = "e2fsprogs-1.43.9"; src = fetchurl { url = "mirror://sourceforge/e2fsprogs/${name}.tar.gz"; - sha256 = "1pn33rap3lcjm3gx07pmgyhx4j634gja63phmi4g5dq8yj0z8ciz"; + sha256 = "15rqvkzylqqckshfy7vmk15k7wds2rh3k1pwrkrs684p3g0gzq2v"; }; outputs = [ "bin" "dev" "out" "man" "info" ]; diff --git a/pkgs/tools/misc/you-get/default.nix b/pkgs/tools/misc/you-get/default.nix index 5ae99d239391..795c2ab191d1 100644 --- a/pkgs/tools/misc/you-get/default.nix +++ b/pkgs/tools/misc/you-get/default.nix @@ -2,7 +2,7 @@ buildPythonApplication rec { pname = "you-get"; - version = "0.4.1025"; + version = "0.4.1040"; # Tests aren't packaged, but they all hit the real network so # probably aren't suitable for a build environment anyway. @@ -10,7 +10,7 @@ buildPythonApplication rec { src = fetchPypi { inherit pname version; - sha256 = "1dbalpwhzn39kgswjy84720wfjssa087adavbwig53krsjdvhj6k"; + sha256 = "fdc9021e8b1cf936aad4bd6c74b80ea8fa3573b807c41242ba781e247f8c8ca8"; }; meta = with stdenv.lib; { diff --git a/pkgs/tools/networking/dhcp/default.nix b/pkgs/tools/networking/dhcp/default.nix index 1812e95dcbb7..8b1ac864a434 100644 --- a/pkgs/tools/networking/dhcp/default.nix +++ b/pkgs/tools/networking/dhcp/default.nix @@ -4,19 +4,15 @@ stdenv.mkDerivation rec { name = "dhcp-${version}"; - version = "4.3.4"; + version = "4.3.6-P1"; src = fetchurl { url = "http://ftp.isc.org/isc/dhcp/${version}/${name}.tar.gz"; - sha256 = "0zk0imll6bfyp9p4ndn8h6s4ifijnw5bhixswifr5rnk7pp5l4gm"; + sha256 = "1hx3az6ckvgvybr1ag4k9kqr8zfcpzcww4vpw5gz0mi8y2z7gl9g"; }; patches = - [ # Don't bring down interfaces, because wpa_supplicant doesn't - # recover when the wlan interface goes down. Instead just flush - # all addresses, routes and neighbours of the interface. - ./flush-if.patch - + [ # Make sure that the hostname gets set on reboot. Without this # patch, the hostname doesn't get set properly if the old # hostname (i.e. before reboot) is equal to the new hostname. diff --git a/pkgs/tools/networking/dhcp/flush-if.patch b/pkgs/tools/networking/dhcp/flush-if.patch deleted file mode 100644 index ff72248b0abb..000000000000 --- a/pkgs/tools/networking/dhcp/flush-if.patch +++ /dev/null @@ -1,76 +0,0 @@ -diff --exclude '*~' -rc dhcp-4.1.0p1-orig/client/scripts/linux dhcp-4.1.0p1/client/scripts/linux -*** dhcp-4.1.0p1-orig/client/scripts/linux 2008-05-23 15:56:07.000000000 +0200 ---- dhcp-4.1.0p1/client/scripts/linux 2009-09-29 17:56:57.000000000 +0200 -*************** -*** 67,72 **** ---- 67,80 ---- - exit $exit_status - } - -+ # Delete the old addresses, routes and ARP information for this -+ # interface. -+ flush_if() { -+ ${ip} -4 address flush dev $interface -+ ${ip} -4 route flush dev $interface -+ ${ip} -4 neighbour flush dev $interface -+ } -+ - # Invoke the local dhcp client enter hooks, if they exist. - if [ -f /etc/dhclient-enter-hooks ]; then - exit_status=0 -*************** -*** 150,159 **** - ifconfig $interface:0- inet 0 - fi - if [ x$old_ip_address != x ] && [ x$old_ip_address != x$new_ip_address ]; then -! # IP address changed. Bringing down the interface will delete all routes, -! # and clear the ARP cache. -! ifconfig $interface inet 0 down -! - fi - if [ x$old_ip_address = x ] || [ x$old_ip_address != x$new_ip_address ] || \ - [ x$reason = xBOUND ] || [ x$reason = xREBOOT ]; then ---- 158,165 ---- - ifconfig $interface:0- inet 0 - fi - if [ x$old_ip_address != x ] && [ x$old_ip_address != x$new_ip_address ]; then -! # IP address changed. -! flush_if - fi - if [ x$old_ip_address = x ] || [ x$old_ip_address != x$new_ip_address ] || \ - [ x$reason = xBOUND ] || [ x$reason = xREBOOT ]; then -*************** -*** 189,196 **** - ifconfig $interface:0- inet 0 - fi - if [ x$old_ip_address != x ]; then -! # Shut down interface, which will delete routes and clear arp cache. -! ifconfig $interface inet 0 down - fi - if [ x$alias_ip_address != x ]; then - ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg ---- 195,201 ---- - ifconfig $interface:0- inet 0 - fi - if [ x$old_ip_address != x ]; then -! flush_if - fi - if [ x$alias_ip_address != x ]; then - ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg -*************** -*** 225,231 **** - make_resolv_conf - exit_with_hooks 0 - fi -! ifconfig $interface inet 0 down - exit_with_hooks 1 - fi - ---- 230,236 ---- - make_resolv_conf - exit_with_hooks 0 - fi -! flush_if - exit_with_hooks 1 - fi - diff --git a/pkgs/tools/networking/dhcp/set-hostname.patch b/pkgs/tools/networking/dhcp/set-hostname.patch index 495a8a124be3..7aa9d0814514 100644 --- a/pkgs/tools/networking/dhcp/set-hostname.patch +++ b/pkgs/tools/networking/dhcp/set-hostname.patch @@ -1,14 +1,12 @@ -diff -ru -x '*~' dhcp-4.1.2-P1-orig//client/scripts/linux dhcp-4.1.2-P1//client/scripts/linux ---- dhcp-4.1.2-P1-orig//client/scripts/linux 2010-09-15 00:49:48.000000000 +0200 -+++ dhcp-4.1.2-P1//client/scripts/linux 2011-04-01 16:08:10.984372269 +0200 +--- a/client/scripts/linux 2010-09-15 00:49:48.000000000 +0200 ++++ b/client/scripts/linux 2011-04-01 16:08:10.984372269 +0200 @@ -133,9 +133,7 @@ - [ x$current_hostname = "x(none)" ] || \ - [ x$current_hostname = xlocalhost ] || \ - [ x$current_hostname = x$old_host_name ]; then -- if [ x$new_host_name != x$old_host_name ]; then -- hostname "$new_host_name" -- fi -+ hostname "$new_host_name" - fi - - if [ x$old_ip_address != x ] && [ x$alias_ip_address != x ] && \ + [ "$current_hostname" = '(none)' ] || + [ "$current_hostname" = 'localhost' ] || + [ "$current_hostname" = "$old_host_name" ]; then +- if [ "$new_host_name" != "$old_host_name" ]; then +- hostname "$new_host_name" +- fi ++ hostname "$new_host_name" + fi + fi diff --git a/pkgs/tools/networking/dhcpcd/default.nix b/pkgs/tools/networking/dhcpcd/default.nix index 95e3193fd0f5..02d5a3073f4b 100644 --- a/pkgs/tools/networking/dhcpcd/default.nix +++ b/pkgs/tools/networking/dhcpcd/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, udev }: +{ stdenv, fetchurl, pkgconfig, udev, runtimeShellPackage }: stdenv.mkDerivation rec { # when updating this to >=7, check, see previous reverts: @@ -27,6 +27,11 @@ stdenv.mkDerivation rec { # Check that the udev plugin got built. postInstall = stdenv.lib.optional (udev != null) "[ -e $out/lib/dhcpcd/dev/udev.so ]"; + # TODO shlevy remove once patchShebangs is fixed + postFixup = '' + find $out -type f -print0 | xargs --null sed -i 's|${stdenv.shellPackage}|${runtimeShellPackage}|' + ''; + meta = { description = "A client for the Dynamic Host Configuration Protocol (DHCP)"; homepage = https://roy.marples.name/projects/dhcpcd; diff --git a/pkgs/tools/security/gnupg/22.nix b/pkgs/tools/security/gnupg/22.nix index 89fee90364e8..c47780588cd7 100644 --- a/pkgs/tools/security/gnupg/22.nix +++ b/pkgs/tools/security/gnupg/22.nix @@ -15,11 +15,11 @@ assert guiSupport -> pinentry != null; stdenv.mkDerivation rec { name = "gnupg-${version}"; - version = "2.2.4"; + version = "2.2.5"; src = fetchurl { url = "mirror://gnupg/gnupg/${name}.tar.bz2"; - sha256 = "1v7j8v2ww1knknbrhw3svfrqkmf9ll58iq0dczbsdpqgg1j3w6j0"; + sha256 = "0mzgibq4dpxh3i9anmwg12xdjry28y83icafhx3j3djg5niqk89z"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/tools/security/gnupg/fix-libusb-include-path.patch b/pkgs/tools/security/gnupg/fix-libusb-include-path.patch index 18c4f1107388..a5432f8e3d95 100644 --- a/pkgs/tools/security/gnupg/fix-libusb-include-path.patch +++ b/pkgs/tools/security/gnupg/fix-libusb-include-path.patch @@ -1,10 +1,11 @@ --- a/configure +++ b/configure -@@ -8872,7 +8872,7 @@ +@@ -8987,8 +8987,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking libusb include dir" >&5 $as_echo_n "checking libusb include dir... " >&6; } usb_incdir_found="no" -- for _incdir in "" "/usr/include/libusb-1.0" "/usr/local/include/libusb-1.0"; do +- for _incdir in "" "/usr/include/libusb-1.0" \ +- "/usr/local/include/libusb-1.0" "/usr/pkg/include/libusb-1.0"; do + for _incdir in "$($PKG_CONFIG --variable=includedir libusb-1.0)/libusb-1.0"; do _libusb_save_cppflags=$CPPFLAGS if test -n "${_incdir}"; then diff --git a/pkgs/tools/security/sudo/default.nix b/pkgs/tools/security/sudo/default.nix index 1edd5b60926f..85dba08255da 100644 --- a/pkgs/tools/security/sudo/default.nix +++ b/pkgs/tools/security/sudo/default.nix @@ -51,7 +51,8 @@ stdenv.mkDerivation rec { installFlags="sudoers_uid=$(id -u) sudoers_gid=$(id -g) sysconfdir=$out/etc rundir=$TMPDIR/dummy vardir=$TMPDIR/dummy" ''; - buildInputs = [ coreutils pam groff ]; + nativeBuildInputs = [ groff ]; + buildInputs = [ pam ]; enableParallelBuilding = true; diff --git a/pkgs/tools/text/gawk/default.nix b/pkgs/tools/text/gawk/default.nix index 6783158ca77e..c0c06813dc94 100644 --- a/pkgs/tools/text/gawk/default.nix +++ b/pkgs/tools/text/gawk/default.nix @@ -19,11 +19,11 @@ let inherit (stdenv.lib) optional; in stdenv.mkDerivation rec { - name = "gawk-4.2.0"; + name = "gawk-4.2.1"; src = fetchurl { url = "mirror://gnu/gawk/${name}.tar.xz"; - sha256 = "1wm9lqj77y7xz07zi0n187aqm8zavzxzpm1j53ahxz81q0qwvwyl"; + sha256 = "0lam2zf3n7ak4pig8w46lhx9hzx50kj2v2yj1616mm26wy2rf4fi"; }; # When we do build separate interactive version, it makes sense to always include man. diff --git a/pkgs/tools/text/groff/default.nix b/pkgs/tools/text/groff/default.nix index 6d01c42f93d1..4495a85b2885 100644 --- a/pkgs/tools/text/groff/default.nix +++ b/pkgs/tools/text/groff/default.nix @@ -47,7 +47,7 @@ stdenv.mkDerivation rec { ] ++ stdenv.lib.optionals (ghostscript != null) [ "--with-gs=${ghostscript}/bin/gs" ] ++ stdenv.lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ - "ac_cv_path_PERL=${perl}/bin/perl" + "ac_cv_path_PERL=${buildPackages.perl}/bin/perl" ]; doCheck = true; @@ -103,6 +103,8 @@ stdenv.mkDerivation rec { substituteInPlace $perl/bin/grog \ --replace $out/lib/groff/grog $perl/lib/groff/grog + '' + stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' + find $perl/ -type f -print0 | xargs --null sed -i 's|${buildPackages.perl}|${perl}|' ''; meta = with stdenv.lib; { diff --git a/pkgs/tools/typesetting/docbook2x/default.nix b/pkgs/tools/typesetting/docbook2x/default.nix index 37cd6a2e50b3..9c802a1187a8 100644 --- a/pkgs/tools/typesetting/docbook2x/default.nix +++ b/pkgs/tools/typesetting/docbook2x/default.nix @@ -1,5 +1,5 @@ { fetchurl, stdenv, texinfo, perl -, XMLSAX, XMLParser, XMLNamespaceSupport +, XMLSAX, XMLSAXBase, XMLParser, XMLNamespaceSupport , groff, libxml2, libxslt, gnused, libiconv, opensp , docbook_xml_dtd_43 , makeWrapper }: @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { # XXX: We work around the fact that `wrapProgram' doesn't support # spaces below by inserting escaped backslashes. wrapProgram $out/bin/$i --prefix PERL5LIB : \ - "${XMLSAX}/lib/perl5/site_perl:${XMLParser}/lib/perl5/site_perl" \ + "${XMLSAX}/lib/perl5/site_perl:${XMLSAXBase}/lib/perl5/site_perl:${XMLParser}/lib/perl5/site_perl" \ --prefix PERL5LIB : \ "${XMLNamespaceSupport}/lib/perl5/site_perl" \ --prefix XML_CATALOG_FILES "\ " \ diff --git a/pkgs/tools/typesetting/tex/texlive/bin.nix b/pkgs/tools/typesetting/tex/texlive/bin.nix index f022ccb829ab..8318ad2afe99 100644 --- a/pkgs/tools/typesetting/tex/texlive/bin.nix +++ b/pkgs/tools/typesetting/tex/texlive/bin.nix @@ -28,6 +28,14 @@ let sha256 = "1amjrxyasplv4alfwcxwnw4nrx7dz2ydmddkq16k6hg90i9njq81"; }; + patches = [ + (fetchurl { + name = "texlive-poppler-0.59.patch"; + url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/texlive-poppler-0.59.patch?h=packages/texlive-bin&id=6308ec39bce2a4d735f6ff8a4e94473748d7b450; + sha256 = "1c4ikq4kxw48bi3i33bzpabrjvbk01fwjr2lz20gkc9kv8l0bg3n"; + }) + ]; + configureFlags = [ "--with-banner-add=/NixOS.org" "--disable-missing" "--disable-native-texlive-build" @@ -58,7 +66,7 @@ texliveYear = year; core = stdenv.mkDerivation rec { name = "texlive-bin-${version}"; - inherit (common) src; + inherit (common) src patches; outputs = [ "out" "doc" ]; @@ -168,7 +176,7 @@ core-big = stdenv.mkDerivation { #TODO: upmendex # http://tex.stackexchange.com/questions/97999/when-to-use-luajittex-in-favour-of-luatex ]; - patches = [ ./luatex-gcc7.patch ]; + patches = common.patches ++ [ ./luatex-gcc7.patch ]; configureScript = ":"; diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix index dc8f0908ea89..d0c9da9b9131 100644 --- a/pkgs/tools/typesetting/tex/texlive/default.nix +++ b/pkgs/tools/typesetting/tex/texlive/default.nix @@ -57,15 +57,9 @@ let # remove dependency-heavy packages from the basic collections collection-basic = orig.collection-basic // { - deps = removeAttrs orig.collection-basic.deps [ "luatex" "metafont" "xdvi" ]; - }; - latex = orig.latex // { - deps = removeAttrs orig.latex.deps [ "luatex" ]; + deps = removeAttrs orig.collection-basic.deps [ "metafont" "xdvi" ]; }; # add them elsewhere so that collections cover all packages - collection-luatex = orig.collection-luatex // { - deps = orig.collection-luatex.deps // { inherit (tl) luatex; }; - }; collection-metapost = orig.collection-metapost // { deps = orig.collection-metapost.deps // { inherit (tl) metafont; }; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8c4d2277d07c..56b608779e0d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -557,7 +557,7 @@ with pkgs; avfs = callPackage ../tools/filesystems/avfs { }; - awscli = pythonPackages.callPackage ../tools/admin/awscli { }; + awscli = callPackage ../tools/admin/awscli { }; awsebcli = callPackage ../tools/virtualization/awsebcli {}; @@ -1955,7 +1955,7 @@ with pkgs; doas = callPackage ../tools/security/doas { }; docbook2x = callPackage ../tools/typesetting/docbook2x { - inherit (perlPackages) XMLSAX XMLParser XMLNamespaceSupport; + inherit (perlPackages) XMLSAX XMLSAXBase XMLParser XMLNamespaceSupport; }; docbook2mdoc = callPackage ../tools/misc/docbook2mdoc { }; @@ -5700,6 +5700,9 @@ with pkgs; ### SHELLS + runtimeShell = "${runtimeShellPackage}/bin/bash"; + runtimeShellPackage = bash; + bash = lowPrio (callPackage ../shells/bash/4.4.nix { texinfo = null; interactive = stdenv.isCygwin; # patch for cygwin requires readline support @@ -6003,20 +6006,6 @@ with pkgs; inherit binutils; }; - gcc45 = lowPrio (wrapCC (callPackage ../development/compilers/gcc/4.5 { - inherit noSysDirs; - texinfo = texinfo4; - - ppl = null; - cloogppl = null; - - # bootstrapping a profiled compiler does not work in the sheevaplug: - # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43944 - profiledCompiler = !stdenv.isArm; - - libcCross = if targetPlatform != buildPlatform then libcCross else null; - })); - gcc48 = lowPrio (wrapCC (callPackage ../development/compilers/gcc/4.8 { inherit noSysDirs; @@ -6141,23 +6130,6 @@ with pkgs; inherit (gnome2) libart_lgpl; }); - gnat = gnat45; # failed to make 4.6 or 4.8 build - - gnat45 = wrapCC (gcc45.cc.override { - name = "gnat"; - langCC = false; - langC = true; - langAda = true; - profiledCompiler = false; - inherit gnatboot; - # We can't use the ppl stuff, because we would have - # libstdc++ problems. - cloogppl = null; - ppl = null; - }); - - gnatboot = wrapGCC-old (callPackage ../development/compilers/gnatboot {}); - gnu-smalltalk = callPackage ../development/compilers/gnu-smalltalk { emacsSupport = config.emacsSupport or false; }; @@ -6171,14 +6143,6 @@ with pkgs; profiledCompiler = false; }); - ghdl_mcode = callPackage_i686 ../development/compilers/ghdl { - flavour = "mcode"; - }; - - ghdl_llvm = callPackage ../development/compilers/ghdl { - flavour = "llvm"; - }; - gcl = callPackage ../development/compilers/gcl { gmp = gmp4; }; @@ -6845,14 +6809,6 @@ with pkgs; bintools = if targetPlatform.isDarwin then darwin.binutils else binutils; libc = if targetPlatform != hostPlatform then libcCross else stdenv.cc.libc; }; - # legacy version, used for gnat bootstrapping - wrapGCC-old = baseGCC: callPackage ../build-support/gcc-wrapper-old { - nativeTools = stdenv.cc.nativeTools or false; - nativeLibc = stdenv.cc.nativeLibc or false; - nativePrefix = stdenv.cc.nativePrefix or ""; - gcc = baseGCC; - libc = glibc; - }; wrapBintoolsWith = { bintools, libc }: bintoolsWrapperFun { nativeTools = targetPlatform == hostPlatform && stdenv.cc.nativeTools or false; @@ -7432,11 +7388,11 @@ with pkgs; autocutsel = callPackage ../tools/X11/autocutsel{ }; - automake = automake115x; + automake = automake116x; automake111x = callPackage ../development/tools/misc/automake/automake-1.11.x.nix { }; - automake115x = callPackage ../development/tools/misc/automake/automake-1.15.x.nix { }; + automake116x = callPackage ../development/tools/misc/automake/automake-1.16.x.nix { }; automoc4 = callPackage ../development/tools/misc/automoc4 { }; @@ -8296,7 +8252,7 @@ with pkgs; yodl = callPackage ../development/tools/misc/yodl { }; yq = callPackage ../development/tools/yq { - inherit (python3Packages) buildPythonApplication fetchPypi pyyaml; + inherit (python3Packages) buildPythonApplication fetchPypi pyyaml xmltodict; }; winpdb = callPackage ../development/tools/winpdb { }; @@ -10906,10 +10862,7 @@ with pkgs; suffix = "min"; }; - poppler_qt4 = poppler.override { - qt4Support = true; - suffix = "qt4"; - }; + poppler_qt4 = callPackage ../development/libraries/poppler/qt4.nix { }; poppler_utils = poppler.override { suffix = "utils"; utils = true; }; @@ -10939,8 +10892,10 @@ with pkgs; postgis = callPackage ../development/libraries/postgis { }; - protobuf = callPackage ../development/libraries/protobuf/3.4.nix { }; + protobuf = protobuf3_4; + protobuf3_5 = callPackage ../development/libraries/protobuf/3.5.nix { }; + protobuf3_4 = callPackage ../development/libraries/protobuf/3.4.nix { }; protobuf3_1 = callPackage ../development/libraries/protobuf/3.1.nix { }; protobuf2_5 = callPackage ../development/libraries/protobuf/2.5.nix { }; @@ -12146,6 +12101,8 @@ with pkgs; apacheHttpdPackages = apacheHttpdPackagesFor pkgs.apacheHttpd pkgs.apacheHttpdPackages; apacheHttpdPackages_2_4 = apacheHttpdPackagesFor pkgs.apacheHttpd_2_4 pkgs.apacheHttpdPackages_2_4; + appdaemon = callPackage ../servers/home-assistant/appdaemon.nix { }; + archiveopteryx = callPackage ../servers/mail/archiveopteryx/default.nix { }; atlassian-confluence = callPackage ../servers/atlassian/confluence.nix { }; @@ -13116,7 +13073,7 @@ with pkgs; iproute = callPackage ../os-specific/linux/iproute { }; iputils = callPackage ../os-specific/linux/iputils { - inherit (perlPackages) SGMLSpm; + inherit (buildPackages.buildPackages.perlPackages) SGMLSpm; }; iptables = callPackage ../os-specific/linux/iptables { }; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 459b6c6a9503..b3729fa1ce46 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -2471,9 +2471,11 @@ let self = _self // overrides; _self = with self; { constant = buildPerlPackage rec { name = "constant-1.33"; src = fetchurl { - url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz"; + url = mirror://cpan/authors/id/R/RJ/RJBS/constant-1.33.tar.gz; sha256 = "015my616h5l2fswh52x4dp3n007gk5lax83ww9q6cmzb610mv5kr"; }; + propagatedBuildInputs = [ TestSimple13 ]; + buildInputs = [ ExtUtilsMakeMaker ]; }; constantboolean = buildPerlPackage { @@ -3824,11 +3826,50 @@ let self = _self // overrides; _self = with self; { }; DBI = buildPerlPackage rec { - name = "DBI-1.636"; + name = "DBI-${version}"; + version = "1.6.36"; src = fetchurl { url = "mirror://cpan/authors/id/T/TI/TIMB/${name}.tar.gz"; sha256 = "8f7ddce97c04b4b7a000e65e5d05f679c964d62c8b02c94c1a7d815bb2dd676c"; }; + postInstall = stdenv.lib.optionalString (perl ? crossVersion) '' + mkdir -p $out/lib/perl5/site_perl/cross_perl/${perl.version}/DBI + cat > $out/lib/perl5/site_perl/cross_perl/${perl.version}/DBI.pm < $out/lib/perl5/site_perl/cross_perl/${perl.version}/DBI/DBD.pm < \$(BASEEXT).xsi + + # --- + '; + } + 1; + EOF + ''; meta = { homepage = http://dbi.perl.org/; description = "Database independent interface for Perl"; @@ -5237,13 +5278,11 @@ let self = _self // overrides; _self = with self; { }; ExtUtilsMakeMaker = buildPerlPackage { - name = "ExtUtils-MakeMaker-6.98"; + name = "ExtUtils-MakeMaker-7.32"; src = fetchurl { - url = mirror://cpan/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-6.98.tar.gz; - sha256 = "2eb023189e5fa6b9dcc66858b1fde953d1f1b86f971ec5ab42dd36c172da63ef"; + url = mirror://cpan/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-7.32.tar.gz; + sha256 = "9a269f52ab59b125eb80b968271d9f49da0975d43e51363dbfd1695000ed69de"; }; - propagatedBuildInputs = - [ ParseCPANMeta JSONPP JSONPPCompat5006 CPANMetaYAML FileCopyRecursive ]; meta = { homepage = https://metacpan.org/release/ExtUtils-MakeMaker; description = "Create a module Makefile"; @@ -7610,6 +7649,13 @@ let self = _self // overrides; _self = with self; { url = mirror://cpan/authors/id/M/MA/MAKAMAKA/JSON-2.90.tar.gz; sha256 = "127yppvr17qik9pkd1vy901hs4l13kg6rhp76jdgcyask35v7nsd"; }; + preConfigure = '' + cp lib/JSON/backportPP.pm{,orig} + echo "1;" > lib/JSON/backportPP.pm + ''; + postConfigure = '' + cp lib/JSON/backportPP.pm{,orig} + ''; buildInputs = [ TestPod ]; meta = { description = "JSON (JavaScript Object Notation) encoder/decoder"; @@ -14423,16 +14469,17 @@ let self = _self // overrides; _self = with self; { TestSimple = null; TestSimple13 = buildPerlPackage rec { - name = "Test-Simple-1.302120"; + name = "Test-Simple-1.302125"; src = fetchurl { - url = "mirror://cpan/authors/id/E/EX/EXODIST/${name}.tar.gz"; - sha256 = "c82360092d4dacd6e3248b613fa00053072fe9cf55d022f1e0f427f51d04346c"; + url = mirror://cpan/authors/id/E/EX/EXODIST/Test-Simple-1.302125.tar.gz; + sha256 = "8a3785a4fa60c4c5ae0c5cac2f3312242f2b36ca20e368d8a9ec22b4061aa317"; }; meta = { description = "Basic utilities for writing tests"; license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; maintainers = [ maintainers.rycee ]; }; + buildInputs = [ ExtUtilsMakeMaker ]; }; TestSpec = buildPerlPackage rec { @@ -16196,11 +16243,13 @@ let self = _self // overrides; _self = with self; { }; XMLNamespaceSupport = buildPerlPackage { - name = "XML-NamespaceSupport-1.11"; + name = "XML-NamespaceSupport-1.12"; src = fetchurl { - url = mirror://cpan/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.11.tar.gz; - sha256 = "1sklgcldl3w6gn706vx1cgz6pm4y5lfgsjxnfqyk20pilgq530bd"; + url = mirror://cpan/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.12.tar.gz; + sha256 = "1vz5pbi4lm5fhq2slrs2hlp6bnk29863abgjlcx43l4dky2rbsa7"; }; + propagatedBuildInputs = [ constant ]; + buildInputs = [ ExtUtilsMakeMaker ]; }; XMLParser = buildPerlPackage { @@ -16266,28 +16315,30 @@ let self = _self // overrides; _self = with self; { }; XMLSAX = buildPerlPackage { - name = "XML-SAX-0.96"; + name = "XML-SAX-1.00"; src = fetchurl { - url = mirror://cpan/authors/id/G/GR/GRANTM/XML-SAX-0.96.tar.gz; - sha256 = "024fbjgg6s87j0y3yik55plzf7d6qpn7slwd03glcb54mw9zdglv"; + url = mirror://cpan/authors/id/G/GR/GRANTM/XML-SAX-1.00.tar.gz; + sha256 = "1qra9k3wszjxvsgbragl55z3qba4nri0ipmjaxfib4l6xxj6bsj5"; }; - propagatedBuildInputs = [XMLNamespaceSupport]; + propagatedBuildInputs = [ XMLNamespaceSupport XMLSAXBase ]; postInstall = '' perl -MXML::SAX -e "XML::SAX->add_parser(q(XML::SAX::PurePerl))->save_parsers()" ''; + buildInputs = [ ExtUtilsMakeMaker ]; }; XMLSAXBase = buildPerlPackage { - name = "XML-SAX-Base-1.08"; + name = "XML-SAX-Base-1.09"; src = fetchurl { - url = mirror://cpan/authors/id/G/GR/GRANTM/XML-SAX-Base-1.08.tar.gz; - sha256 = "666270318b15f88b8427e585198abbc19bc2e6ccb36dc4c0a4f2d9807330219e"; + url = mirror://cpan/authors/id/G/GR/GRANTM/XML-SAX-Base-1.09.tar.gz; + sha256 = "66cb355ba4ef47c10ca738bd35999723644386ac853abbeb5132841f5e8a2ad0"; }; meta = { description = "Base class for SAX Drivers and Filters"; homepage = https://github.com/grantm/XML-SAX-Base; license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; }; + buildInputs = [ ExtUtilsMakeMaker TestSimple13 ]; }; XMLSAXWriter = buildPerlPackage { diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 305de7c0266e..67a088731fe3 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -257,6 +257,8 @@ in { hdf5 = pkgs.hdf5-mpi; }; + ha-ffmpeg = callPackage ../development/python-modules/ha-ffmpeg { }; + habanero = callPackage ../development/python-modules/habanero { }; i3ipc = callPackage ../development/python-modules/i3ipc { }; @@ -448,6 +450,8 @@ in { aiohttp-cors = callPackage ../development/python-modules/aiohttp/cors.nix { }; + aiohttp-jinja2 = callPackage ../development/python-modules/aiohttp-jinja2 { }; + alabaster = callPackage ../development/python-modules/alabaster {}; alembic = callPackage ../development/python-modules/alembic {}; @@ -578,23 +582,10 @@ in { gui = false; }; + deluge-client = callPackage ../development/python-modules/deluge-client { }; arrow = callPackage ../development/python-modules/arrow { }; - async = buildPythonPackage rec { - name = "async-0.6.1"; - disabled = isPy3k; - meta.maintainers = with maintainers; [ ]; - - buildInputs = with self; [ pkgs.zlib ]; - doCheck = false; - - src = pkgs.fetchurl { - url = "mirror://pypi/a/async/${name}.tar.gz"; - sha256 = "1lfmjm8apy9qpnpbq8g641fd01qxh9jlya5g2d6z60vf8p04rla1"; - }; - }; - asynctest = callPackage ../development/python-modules/asynctest { }; async-timeout = callPackage ../development/python-modules/async_timeout { }; @@ -1613,27 +1604,7 @@ in { }; }; - - binaryornot = buildPythonPackage rec { - name = "binaryornot-${version}"; - version = "0.4.0"; - - src = pkgs.fetchurl { - url ="mirror://pypi/b/binaryornot/${name}.tar.gz"; - sha256 = "1j4f51dxic39mdwf6alj7gd769wy6mhk916v031wjali51xkh3xb"; - }; - - buildInputs = with self; [ hypothesis ]; - - propagatedBuildInputs = with self; [ chardet ]; - - meta = { - homepage = https://github.com/audreyr/binaryornot; - description = "Ultra-lightweight pure Python package to check if a file is binary or text"; - license = licenses.bsd3; - }; - }; - + binaryornot = callPackage ../development/python-modules/binaryornot { }; bitbucket_api = buildPythonPackage rec { name = "bitbucket-api-0.4.4"; @@ -2792,6 +2763,8 @@ in { }; }; + miniupnpc = callPackage ../development/python-modules/miniupnpc {}; + mixpanel = buildPythonPackage rec { version = "4.0.2"; name = "mixpanel-${version}"; @@ -4396,24 +4369,7 @@ in { }; }; - ftputil = buildPythonPackage rec { - version = "3.3"; - name = "ftputil-${version}"; - - src = pkgs.fetchurl { - url = "mirror://pypi/f/ftputil/${name}.tar.gz"; - sha256 = "1714w0v6icw2xjx5m54yv2qgkq49qwxwllq4gdb7wkz25iiapr8b"; - }; - - disabled = isPy3k; - - meta = { - description = "High-level FTP client library (virtual file system and more)"; - homepage = https://pypi.python.org/pypi/ftputil; - platforms = platforms.linux; - license = licenses.bsd2; # "Modified BSD license, says pypi" - }; - }; + ftputil = callPackage ../development/python-modules/ftputil { }; fudge = buildPythonPackage rec { name = "fudge-1.1.0"; @@ -7016,6 +6972,8 @@ in { }; }; + dj-database-url = callPackage ../development/python-modules/dj-database-url { }; + djmail = callPackage ../development/python-modules/djmail { }; pillowfight = buildPythonPackage rec { @@ -7108,12 +7066,12 @@ in { hg-git = buildPythonPackage rec { name = "hg-git-${version}"; - version = "0.8.10"; + version = "0.8.11"; disabled = isPy3k; src = pkgs.fetchurl { url = "mirror://pypi/h/hg-git/${name}.tar.gz"; - sha256 = "03dzcs4l7hzq59sgjhngxgmi34xfyd7jcxyjl0f68rwq8b1yqrp3"; + sha256 = "08kw1sj3sq1q1571hwkc51w20ks9ysmlg93pcnmd6gr66bz02dyn"; }; propagatedBuildInputs = with self; [ dulwich ]; @@ -7122,6 +7080,7 @@ in { description = "Push and pull from a Git server using Mercurial"; homepage = http://hg-git.github.com/; maintainers = with maintainers; [ koral ]; + license = stdenv.lib.licenses.gpl2; }; }; @@ -9083,44 +9042,7 @@ in { }; }; - konfig = buildPythonPackage rec { - name = "konfig-${version}"; - version = "1.1"; - - # konfig unconditionaly depend on configparser, even if it is part of - # the standard library in python 3.2 or above. - disabled = isPy3k; - - src = pkgs.fetchgit { - url = https://github.com/mozilla-services/konfig.git; - rev = "refs/tags/${version}"; - sha256 = "1h780fbrv275dcik4cs3rincza805z6q726b48r4a0qmh5d8160c"; - }; - - propagatedBuildInputs = with self; [ configparser six ]; - - patches = [ (pkgs.writeText "konfig.patch" '' - diff --git a/setup.py b/setup.py - index 96fd858..bb4db06 100644 - --- a/setup.py - +++ b/setup.py - @@ -20,7 +20,7 @@ setup(name='konfig', - author_email="tarek@mozilla.com", - include_package_data=True, - install_requires = [ - - 'configparser', 'argparse', 'six' - + 'configparser', 'six' - ], - zip_safe=False, - classifiers=classifiers, - '') ]; - - meta = { - description = "Yet Another Config Parser"; - homepage = "https://github.com/mozilla-services/konfig"; - license = licenses.mpl20; - }; - }; + konfig = callPackage ../development/python-modules/konfig { }; kitchen = callPackage ../development/python-modules/kitchen/default.nix { }; @@ -9790,6 +9712,8 @@ in { }; }; + mozterm = callPackage ../development/python-modules/mozterm { }; + mplleaflet = callPackage ../development/python-modules/mplleaflet { }; multidict = callPackage ../development/python-modules/multidict { }; @@ -10504,24 +10428,6 @@ in { mysql-connector = callPackage ../development/python-modules/mysql-connector { }; - mysql_connector_repackaged = buildPythonPackage rec { - name = "mysql-connector-repackaged-0.3.1"; - - src = pkgs.fetchurl { - url = "mirror://pypi/m/mysql-connector-repackaged/${name}.tar.gz"; - sha256 = "170fbf11c54def1b5fcc919be0a890b760bb2eca81f56123a5dda0c69b5b099e"; - }; - - # Judging from SyntaxError - disabled = isPy3k; - - meta = { - maintainers = with maintainers; [ garbas domenkozar ]; - platforms = platforms.linux; - }; - }; - - namebench = buildPythonPackage (rec { name = "namebench-1.3.1"; disabled = isPy3k || isPyPy; @@ -11555,23 +11461,7 @@ in { }; }; - ldappool = buildPythonPackage rec { - name = "ldappool-${version}"; - version = "1.0"; - - src = pkgs.fetchurl { - url = "mirror://pypi/l/ldappool/${name}.tar.gz"; - sha256 = "1akmzf51cjfvmd0nvvm562z1w9vq45zsx6fa72kraqgsgxhnrhqz"; - }; - - # Judging from SyntaxError - disabled = isPy3k; - - meta = with stdenv.lib; { - homepage = "https://github.com/mozilla-services/ldappool"; - }; - }; - + ldappool = callPackage ../development/python-modules/ldappool { }; lz4 = buildPythonPackage rec { name = "lz4-0.8.2"; @@ -11699,18 +11589,7 @@ in { doc8 = callPackage ../development/python-modules/doc8 { }; - wrapt = buildPythonPackage rec { - name = "wrapt-${version}"; - version = "1.10.5"; - - # No tests in archive - doCheck = false; - - src = pkgs.fetchurl { - url = "mirror://pypi/w/wrapt/${name}.tar.gz"; - sha256 = "0cq8rlpzkxzk48b50yrfhzn1d1hrq4gjcdqlrgq4v5palgiv9jwr"; - }; - }; + wrapt = callPackage ../development/python-modules/wrapt { }; pagerduty = buildPythonPackage rec { name = "pagerduty-${version}"; @@ -12921,27 +12800,7 @@ in { }; }); - pycups = buildPythonPackage rec { - name = "pycups-${version}"; - version = "1.9.73"; - - src = pkgs.fetchurl { - url = "http://cyberelk.net/tim/data/pycups/pycups-${version}.tar.bz2"; - sha256 = "c381be011889ca6f728598578c89c8ac9f7ab1e95b614474df9f2fa831ae5335"; - }; - - buildInputs = [ pkgs.cups ]; - - # Wants to connect to CUPS - doCheck = false; - - meta = { - description = "Python bindings for libcups"; - homepage = http://cyberelk.net/tim/software/pycups/; - license = with licenses; [ gpl2Plus ]; - }; - - }; + pycups = callPackage ../development/python-modules/pycups { }; pycurl = callPackage ../development/python-modules/pycurl { }; @@ -14520,22 +14379,7 @@ in { redis = callPackage ../development/python-modules/redis { }; - rednose = buildPythonPackage rec { - name = "rednose-${version}"; - version = "1.2.1"; - - src = pkgs.fetchurl { - url = "mirror://pypi/r/rednose/${name}.tar.gz"; - sha256 = "0b0bsna217lr1nykyhl5fgjly15zhdvqd4prg4wy1zrgfv7al6m0"; - }; - - meta = { - description = "A python nose plugin adding color to console results."; - }; - - buildInputs = with self; [ nose six ]; - propagatedBuildInputs = with self; [ colorama termstyle ]; - }; + rednose = callPackage ../development/python-modules/rednose { }; reikna = callPackage ../development/python-modules/reikna { }; @@ -15460,6 +15304,8 @@ in { stevedore = callPackage ../development/python-modules/stevedore {}; + text-unidecode = callPackage ../development/python-modules/text-unidecode { }; + Theano = callPackage ../development/python-modules/Theano rec { cudaSupport = pkgs.config.cudaSupport or false; cudnnSupport = cudaSupport; @@ -15643,27 +15489,7 @@ in { }; in if isPy3k then py3 else py2; - pythondaemon = buildPythonPackage rec { - name = "python-daemon-${version}"; - version = "2.1.1"; - - src = pkgs.fetchurl { - url = "mirror://pypi/p/python-daemon/${name}.tar.gz"; - sha256 = "17v80qb98p1gv4j9mq6wb55cv7hc4j1hzw5y2f4s5hrpxs3w3a2q"; - }; - - # A test fail within chroot builds. - doCheck = false; - - buildInputs = with self; [ mock testscenarios ]; - propagatedBuildInputs = with self; [ docutils lockfile ]; - - meta = { - description = "Library to implement a well-behaved Unix daemon process"; - homepage = https://alioth.debian.org/projects/python-daemon/; - license = [ licenses.gpl3Plus licenses.asl20 ]; - }; - }; + pythondaemon = callPackage ../development/python-modules/python-daemon { }; sympy = callPackage ../development/python-modules/sympy { }; @@ -16718,21 +16544,7 @@ in { }; }; - tmdb3 = buildPythonPackage rec { - name = "tmdb3-${version}"; - version = "0.6.17"; - - src = pkgs.fetchurl { - url = "mirror://pypi/t/tmdb3/${name}.zip"; - sha256 = "64a6c3f1a60a9d8bf18f96a5403f3735b334040345ac3646064931c209720972"; - }; - - meta = { - description = "Python implementation of the v3 API for TheMovieDB.org, allowing access to movie and cast information"; - homepage = https://pypi.python.org/pypi/tmdb3; - license = licenses.bsd3; - }; - }; + tmdb3 = callPackage ../development/python-modules/tmdb3 { }; toolz = callPackage ../development/python-modules/toolz { }; @@ -17261,23 +17073,7 @@ in { virtkey = callPackage ../development/python-modules/virtkey { }; - virtual-display = buildPythonPackage rec { - name = "PyVirtualDisplay-0.1.5"; - - propagatedBuildInputs = with self; [ EasyProcess ]; - - src = pkgs.fetchurl { - url = "mirror://pypi/P/PyVirtualDisplay/${name}.tar.gz"; - sha256 = "aa6aef08995e14c20cc670d933bfa6e70d736d0b555af309b2e989e2faa9ee53"; - }; - - meta = { - description = "Python wrapper for Xvfb, Xephyr and Xvnc"; - homepage = "https://github.com/ponty/pyvirtualdisplay"; - license = licenses.bsdOriginal; - maintainers = with maintainers; [ layus ]; - }; - }; + virtual-display = callPackage ../development/python-modules/virtual-display { }; virtualenv = callPackage ../development/python-modules/virtualenv { }; @@ -17744,23 +17540,7 @@ EOF persistent = callPackage ../development/python-modules/persistent {}; - xdot = buildPythonPackage rec { - name = "xdot-0.9"; - - src = pkgs.fetchurl { - url = "mirror://pypi/x/xdot/${name}.tar.gz"; - sha256 = "01v9vmgdxz1q2m2vq2b4aqx4ycw7grc0l4is673ygvyg9rk02dx3"; - }; - - nativeBuildInputs = with pkgs; [ wrapGAppsHook ]; - propagatedBuildInputs = with self; [ pkgs.gobjectIntrospection pygobject3 pkgs.graphviz pkgs.gnome3.gtk ]; - - meta = { - description = "xdot.py is an interactive viewer for graphs written in Graphviz's dot"; - homepage = https://github.com/jrfonseca/xdot.py; - license = licenses.lgpl3Plus; - }; - }; + xdot = callPackage ../development/python-modules/xdot { }; zetup = callPackage ../development/python-modules/zetup { }; @@ -18134,26 +17914,7 @@ EOF propagatedBuildInputs = with self; [ requests webob ]; }; - tunigo = buildPythonPackage rec { - name = "tunigo-${version}"; - version = "1.0.0"; - propagatedBuildInputs = with self; [ requests ]; - - src = pkgs.fetchFromGitHub { - owner = "trygveaa"; - repo = "python-tunigo"; - rev = "v${version}"; - sha256 = "07q9girrjjffzkn8xj4l3ynf9m4psi809zf6f81f54jdb330p2fs"; - }; - - buildInputs = with self; [ mock nose ]; - - meta = { - description = "Python API for the browse feature of Spotify"; - homepage = https://github.com/trygveaa/python-tunigo; - license = licenses.asl20; - }; - }; + tunigo = callPackage ../development/python-modules/tunigo { }; tarman = buildPythonPackage rec { version = "0.1.3"; @@ -18510,30 +18271,7 @@ EOF pyusb = callPackage ../development/python-modules/pyusb { libusb1 = pkgs.libusb1; }; - BlinkStick = buildPythonPackage rec { - name = "BlinkStick-${version}"; - version = "1.1.8"; - - src = pkgs.fetchurl { - url = "mirror://pypi/B/BlinkStick/${name}.tar.gz"; - sha256 = "3edf4b83a3fa1a7bd953b452b76542d54285ff6f1145b6e19f9b5438120fa408"; - }; - - # Requires pyusb 1.0.0b1. - # Likely current pyusb will work but we need to patch the hard requirement then. - broken = true; - - patchPhase = "substituteInPlace setup.py --replace pyusb==1.0.0b1 pyusb==1.0.0"; - - propagatedBuildInputs = with self; [ pyusb ]; - - meta = { - description = "Python package to control BlinkStick USB devices"; - homepage = https://pypi.python.org/pypi/BlinkStick/; - license = licenses.bsd3; - maintainers = with maintainers; [ np ]; - }; - }; + BlinkStick = callPackage ../development/python-modules/blinkstick { }; usbtmc = callPackage ../development/python-modules/usbtmc {}; @@ -20170,39 +19908,9 @@ EOF }; }; - termstyle = buildPythonPackage rec { - name = "python-termstyle-${version}"; - version = "0.1.10"; - src = pkgs.fetchurl { - url = "mirror://pypi/p/python-termstyle/${name}.tar.gz"; - sha256 = "1qllzkx1alf14zcfapppf8w87si4cpa7lgjmdp3f5idzdyqnnapl"; - }; + termstyle = callPackage ../development/python-modules/termstyle { }; - meta = { - description = "Console colouring for python"; - homepage = "https://pypi.python.org/pypi/python-termstyle/0.1.10"; - license = licenses.bsdOriginal; - }; - - }; - - green = buildPythonPackage rec { - name = "green-${version}"; - version = "2.3.0"; - src = pkgs.fetchurl { - url = "mirror://pypi/g/green/${name}.tar.gz"; - sha256 = "1888khfl9yxb8yfxq9b48dxwplqlxx8s0l530z5j7c6bx74v08b4"; - }; - - propagatedBuildInputs = with self; [ termstyle colorama ]; - buildInputs = with self; [ mock ]; - - meta = { - description = "Python test runner"; - homepage = "https://github.com/CleanCut/green"; - license = licenses.mit; - }; - }; + green = callPackage ../development/python-modules/green { }; topydo = throw "python3Packages.topydo was moved to topydo"; # 2017-09-22 @@ -20883,18 +20591,6 @@ EOF whitenoise = callPackage ../development/python-modules/whitenoise { }; - wp_export_parser = buildPythonPackage rec { - name = "${pname}-${version}"; - pname = "wp_export_parser"; - version = "1.0"; - src = pkgs.fetchFromGitHub { - owner = "RealGeeks"; - repo = "wp_export_parser"; - rev = "479211f6c5a7d034fd77762dfed381c3315cd773"; - sha256 = "1ad0mkixc0s86djwsvhp1qlvcfs25086nh0qw7bys49gz8shczzi"; - }; - }; - XlsxWriter = callPackage ../development/python-modules/XlsxWriter { }; yowsup = callPackage ../development/python-modules/yowsup { }; @@ -20950,10 +20646,14 @@ EOF thinc = callPackage ../development/python-modules/thinc { }; + yahooweather = callPackage ../development/python-modules/yahooweather { }; + spacy = callPackage ../development/python-modules/spacy { }; spacy_models = callPackage ../development/python-modules/spacy/models.nix { }; + sseclient = callPackage ../development/python-modules/sseclient { }; + textacy = callPackage ../development/python-modules/textacy { }; pyemd = callPackage ../development/python-modules/pyemd { }; diff --git a/pkgs/top-level/release-small.nix b/pkgs/top-level/release-small.nix index e92ad47e1425..e2acc8f0ac2f 100644 --- a/pkgs/top-level/release-small.nix +++ b/pkgs/top-level/release-small.nix @@ -48,7 +48,6 @@ with import ./release-lib.nix { inherit supportedSystems; }; gcj = linux; glibc = linux; glibcLocales = linux; - gnat = linux; gnugrep = all; gnum4 = all; gnumake = all;