diff options
99 files changed, 1758 insertions, 705 deletions
diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 327959fe7a3c..5d99147051f1 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -1,17 +1,13 @@ -## Basic info +## Issue description -To make sure that we are on the same page: -* Kernel: (run `uname -a`) -* System: (NixOS: `nixos-version`, Ubuntu/Fedora: `lsb_release -a`, ...) -* Nix version: (run `nix-env --version`) -* Nixpkgs version: (run `nix-instantiate --eval '<nixpkgs>' -A lib.nixpkgsVersion`) -## Describe your issue here +### Steps to reproduce -### Expected result -### Actual result -### Steps to reproduce +## Technical details +* System: (NixOS: `nixos-version`, Ubuntu/Fedora: `lsb_release -a`, ...) +* Nix version: (run `nix-env --version`) +* Nixpkgs version: (run `nix-instantiate --eval '<nixpkgs>' -A lib.nixpkgsVersion`) diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 12c8c2369b4e..ae97005c6550 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -51,6 +51,7 @@ bdimcheff = "Brandon Dimcheff <brandon@dimcheff.com>"; benley = "Benjamin Staffin <benley@gmail.com>"; bennofs = "Benno Fünfstück <benno.fuenfstueck@gmail.com>"; + benwbooth = "Ben Booth <benwbooth@gmail.com>"; berdario = "Dario Bertini <berdario@gmail.com>"; bergey = "Daniel Bergey <bergey@teallabs.org>"; bjg = "Brian Gough <bjg@gnu.org>"; diff --git a/lib/strings.nix b/lib/strings.nix index a2a4be11e1b8..01a6f181d038 100644 --- a/lib/strings.nix +++ b/lib/strings.nix @@ -258,7 +258,7 @@ rec { /* Cut a string with a separator and produces a list of strings which were separated by this separator. - NOTE: this function is not performant and should be avoided + NOTE: this function is not performant and should never be used. Example: splitString "." "foo.bar.baz" diff --git a/nixos/doc/manual/installation/installing-usb.xml b/nixos/doc/manual/installation/installing-usb.xml index 5def6e8753fe..a4b5dafbed16 100644 --- a/nixos/doc/manual/installation/installing-usb.xml +++ b/nixos/doc/manual/installation/installing-usb.xml @@ -7,10 +7,18 @@ <title>Booting from a USB Drive</title> <para>For systems without CD drive, the NixOS live CD can be booted from -a USB stick. For non-UEFI installations, -<link xlink:href="http://unetbootin.sourceforge.net/">unetbootin</link> -will work. For UEFI installations, you should mount the ISO, copy its contents -verbatim to your drive, then either: +a USB stick. You can use the <command>dd</command> utility to write the image: +<command>dd if=<replaceable>path-to-image</replaceable> +of=<replaceable>/dev/sdb</replaceable></command>. Be careful about specifying the +correct drive; you can use the <command>lsblk</command> command to get a list of +block devices.</para> + +<para>The <command>dd</command> utility will write the image verbatim to the drive, +making it the recommended option for both UEFI and non-UEFI installations. For +non-UEFI installations, you can alternatively use +<link xlink:href="http://unetbootin.sourceforge.net/">unetbootin</link>. If you +cannot use <command>dd</command> for a UEFI installation, you can also mount the +ISO, copy its contents verbatim to your drive, then either: <itemizedlist> <listitem> diff --git a/nixos/doc/manual/release-notes/rl-1603.xml b/nixos/doc/manual/release-notes/rl-1603.xml index 476540641639..faee3a407dae 100644 --- a/nixos/doc/manual/release-notes/rl-1603.xml +++ b/nixos/doc/manual/release-notes/rl-1603.xml @@ -4,7 +4,7 @@ version="5.0" xml:id="sec-release-16.03"> -<title>Release 16.03 (“Emu”, 2016/03/??)</title> +<title>Release 16.03 (“Emu”, 2016/03/31)</title> <para>In addition to numerous new and upgraded packages, this release has the following highlights:</para> @@ -12,14 +12,48 @@ has the following highlights:</para> <itemizedlist> <listitem> - <para>Firefox and similar browsers are now <emphasis>wrapped by default</emphasis>. - The package and attribute names are plain <literal>firefox</literal> - or <literal>midori</literal>, etc. Backward-compatibility attributes were set up, - but note that <command>nix-env -u</command> will <emphasis>not</emphasis> update - your current <literal>firefox-with-plugins</literal>; - you have to uninstall it and install <literal>firefox</literal> instead. - More discussion is <link xlink:href="https://github.com/NixOS/nixpkgs/pull/12299"> - on the PR</link>. </para> + <para>Systemd 229, bringing <link + xlink:href="https://github.com/systemd/systemd/blob/v229/NEWS">numerous + improvements</link> over 217.</para> + </listitem> + + <listitem> + <para>Linux 4.4 (was 3.18).</para> + </listitem> + + <listitem> + <para>GCC 5.3 (was 4.9). Note that GCC 5 <link + xlink:href="https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html">changes + the C++ ABI in an incompatible way</link>; this may cause problems + if you try to link objects compiled with different versions of + GCC.</para> + </listitem> + + <listitem> + <para>Glibc 2.23 (was 2.21).</para> + </listitem> + + <listitem> + <para>Binutils 2.26 (was 2.23.1). See #909</para> + </listitem> + + <listitem> + <para>Improved support for ensuring <link + xlink:href="https://reproducible-builds.org/">bitwise reproducible + builds</link>. For example, <literal>stdenv</literal> now sets the + environment variable <envar + xlink:href="https://reproducible-builds.org/specs/source-date-epoch/">SOURCE_DATE_EPOCH</envar> + to a deterministic value, and Nix has <link + xlink:href="http://nixos.org/nix/manual/#ssec-relnotes-1.11">gained + an option</link> to repeat a build a number of times to test + determinism. An ongoing project, the goal of exact reproducibility + is to allow binaries to be verified independently (e.g., a user + might only trust binaries that appear in three independent binary + caches).</para> + </listitem> + + <listitem> + <para>Perl 5.22.</para> </listitem> </itemizedlist> @@ -28,10 +62,57 @@ has the following highlights:</para> <itemizedlist> <listitem><para><literal>services/monitoring/longview.nix</literal></para></listitem> + <listitem><para><literal>hardware/video/webcam/facetimehd.nix</literal></para></listitem> + <listitem><para><literal>i18n/inputMethod/default.nix</literal></para></listitem> + <listitem><para><literal>i18n/inputMethod/fcitx.nix</literal></para></listitem> + <listitem><para><literal>i18n/inputMethod/ibus.nix</literal></para></listitem> + <listitem><para><literal>i18n/inputMethod/nabi.nix</literal></para></listitem> + <listitem><para><literal>i18n/inputMethod/uim.nix</literal></para></listitem> + <listitem><para><literal>programs/fish.nix</literal></para></listitem> + <listitem><para><literal>security/acme.nix</literal></para></listitem> + <listitem><para><literal>security/audit.nix</literal></para></listitem> + <listitem><para><literal>security/oath.nix</literal></para></listitem> + <listitem><para><literal>services/hardware/irqbalance.nix</literal></para></listitem> + <listitem><para><literal>services/mail/dspam.nix</literal></para></listitem> + <listitem><para><literal>services/mail/opendkim.nix</literal></para></listitem> + <listitem><para><literal>services/mail/postsrsd.nix</literal></para></listitem> + <listitem><para><literal>services/mail/rspamd.nix</literal></para></listitem> + <listitem><para><literal>services/mail/rmilter.nix</literal></para></listitem> + <listitem><para><literal>services/misc/autofs.nix</literal></para></listitem> + <listitem><para><literal>services/misc/bepasty.nix</literal></para></listitem> + <listitem><para><literal>services/misc/calibre-server.nix</literal></para></listitem> + <listitem><para><literal>services/misc/cfdyndns.nix</literal></para></listitem> + <listitem><para><literal>services/misc/gammu-smsd.nix</literal></para></listitem> + <listitem><para><literal>services/misc/mathics.nix</literal></para></listitem> + <listitem><para><literal>services/misc/matrix-synapse.nix</literal></para></listitem> + <listitem><para><literal>services/misc/octoprint.nix</literal></para></listitem> + <listitem><para><literal>services/monitoring/hdaps.nix</literal></para></listitem> + <listitem><para><literal>services/monitoring/heapster.nix</literal></para></listitem> + <listitem><para><literal>services/monitoring/longview.nix</literal></para></listitem> + <listitem><para><literal>services/network-filesystems/netatalk.nix</literal></para></listitem> + <listitem><para><literal>services/network-filesystems/xtreemfs.nix</literal></para></listitem> + <listitem><para><literal>services/networking/autossh.nix</literal></para></listitem> + <listitem><para><literal>services/networking/dnschain.nix</literal></para></listitem> + <listitem><para><literal>services/networking/gale.nix</literal></para></listitem> + <listitem><para><literal>services/networking/miniupnpd.nix</literal></para></listitem> + <listitem><para><literal>services/networking/namecoind.nix</literal></para></listitem> + <listitem><para><literal>services/networking/ostinato.nix</literal></para></listitem> <listitem><para><literal>services/networking/pdnsd.nix</literal></para></listitem> - <listitem><para><literal>services/web-apps/pump.io.nix</literal></para></listitem> + <listitem><para><literal>services/networking/shairport-sync.nix</literal></para></listitem> + <listitem><para><literal>services/networking/supplicant.nix</literal></para></listitem> + <listitem><para><literal>services/search/kibana.nix</literal></para></listitem> <listitem><para><literal>services/security/haka.nix</literal></para></listitem> - <listitem><para><literal>i18n/inputMethod/default.nix</literal></para></listitem> + <listitem><para><literal>services/security/physlock.nix</literal></para></listitem> + <listitem><para><literal>services/web-apps/pump.io.nix</literal></para></listitem> + <listitem><para><literal>services/x11/hardware/libinput.nix</literal></para></listitem> + <listitem><para><literal>services/x11/window-managers/windowlab.nix</literal></para></listitem> + <listitem><para><literal>system/boot/initrd-network.nix</literal></para></listitem> + <listitem><para><literal>system/boot/initrd-ssh.nix</literal></para></listitem> + <listitem><para><literal>system/boot/loader/loader.nix</literal></para></listitem> + <listitem><para><literal>system/boot/networkd.nix</literal></para></listitem> + <listitem><para><literal>system/boot/resolved.nix</literal></para></listitem> + <listitem><para><literal>virtualisation/lxd.nix</literal></para></listitem> + <listitem><para><literal>virtualisation/rkt.nix</literal></para></listitem> </itemizedlist> </para> @@ -39,6 +120,22 @@ has the following highlights:</para> following incompatible changes:</para> <itemizedlist> + + <listitem> + <para>We no longer produce graphical ISO images and VirtualBox + images for <literal>i686-linux</literal>. A minimal ISO image is + still provided.</para> + </listitem> + + <listitem> + <para>Firefox and similar browsers are now <emphasis>wrapped by default</emphasis>. + The package and attribute names are plain <literal>firefox</literal> + or <literal>midori</literal>, etc. Backward-compatibility attributes were set up, + but note that <command>nix-env -u</command> will <emphasis>not</emphasis> update + your current <literal>firefox-with-plugins</literal>; + you have to uninstall it and install <literal>firefox</literal> instead.</para> + </listitem> + <listitem> <para><command>wmiiSnap</command> has been replaced with <command>wmii_hg</command>, but @@ -68,7 +165,7 @@ following incompatible changes:</para> <programlisting><![CDATA[ { - imports = [ <nixos/modules/services/misc/gitit.nix> ]; + imports = [ <nixpkgs/nixos/modules/services/misc/gitit.nix> ]; } ]]></programlisting> @@ -292,14 +389,18 @@ services.syncthing = { <para>Other notable improvements: + <itemizedlist> + + <!-- <listitem> <para>The <command>command-not-found</command> hook was extended. Apart from <literal>$NIX_AUTO_INSTALL</literal> variable, it newly also checks for <literal>$NIX_AUTO_RUN</literal> which causes it to directly run the missing commands via - <command>nix-shell</command> (without installing anything). </para> + <command>nix-shell</command> (without installing anything).</para> </listitem> + --> <listitem> <para><literal>ejabberd</literal> module is brought back and now works on diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix index 179e826ba059..8b4ad796d0d5 100644 --- a/nixos/modules/config/pulseaudio.nix +++ b/nixos/modules/config/pulseaudio.nix @@ -150,6 +150,29 @@ in { target = "pulse/default.pa"; source = cfg.configFile; }; + + systemd.user = { + services.pulseaudio = { + description = "PulseAudio Server"; + # NixOS doesn't support "Also" so we bring it in manually + wantedBy = [ "default.target" ]; + serviceConfig = { + Type = "notify"; + ExecStart = "${cfg.package}/bin/pulseaudio --daemonize=no"; + Restart = "on-failure"; + }; + }; + + sockets.pulseaudio = { + description = "PulseAudio Socket"; + wantedBy = [ "sockets.target" ]; + socketConfig = { + Priority = 6; + Backlog = 5; + ListenStream = "%t/pulse/native"; + }; + }; + }; }) (mkIf systemWide { @@ -171,8 +194,9 @@ in { before = [ "sound.target" ]; environment.PULSE_RUNTIME_PATH = stateDir; serviceConfig = { - ExecStart = "${cfg.package}/bin/pulseaudio -D --log-level=${cfg.daemon.logLevel} --system --use-pid-file -n --file=${cfg.configFile}"; - PIDFile = "${stateDir}/pid"; + Type = "notify"; + ExecStart = "${cfg.package}/bin/pulseaudio --daemonize=no --log-level=${cfg.daemon.logLevel} --system -n --file=${cfg.configFile}"; + Restart = "on-failure"; }; }; }) diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index ec880e084726..d3005cdfd6f7 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -165,7 +165,7 @@ sub pciCheck { ) ) { # we need e.g. brcmfmac43602-pcie.bin - push @imports, "<nixos/modules/hardware/network/broadcom-43xx.nix>"; + push @imports, "<nixpkgs/nixos/modules/hardware/network/broadcom-43xx.nix>"; } # Can't rely on $module here, since the module may not be loaded diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index f71d1e3fe200..1e14fe655fc0 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -257,6 +257,8 @@ radicale = 234; hydra-queue-runner = 235; hydra-www = 236; + syncthing = 237; + mfi = 238; # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399! @@ -485,6 +487,8 @@ pdnsd = 229; octoprint = 230; radicale = 234; + syncthing = 237; + #mfi = 238; # unused # When adding a gid, make sure it doesn't match an existing # uid. Users and groups with the same name should have equal diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 5b7769bb12d1..284b2b9f8824 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -283,6 +283,7 @@ ./services/network-filesystems/openafs-client/default.nix ./services/network-filesystems/rsyncd.nix ./services/network-filesystems/samba.nix + ./services/network-filesystems/tahoe.nix ./services/network-filesystems/diod.nix ./services/network-filesystems/u9fs.nix ./services/network-filesystems/yandex-disk.nix @@ -333,6 +334,7 @@ ./services/networking/lambdabot.nix ./services/networking/libreswan.nix ./services/networking/mailpile.nix + ./services/networking/mfi.nix ./services/networking/mjpg-streamer.nix ./services/networking/minidlna.nix ./services/networking/miniupnpd.nix @@ -542,4 +544,5 @@ ./virtualisation/virtualbox-host.nix ./virtualisation/vmware-guest.nix ./virtualisation/xen-dom0.nix + ./virtualisation/xe-guest-utilities.nix ] diff --git a/nixos/modules/programs/ssh.nix b/nixos/modules/programs/ssh.nix index 1ad45f468030..cc835081c9f9 100644 --- a/nixos/modules/programs/ssh.nix +++ b/nixos/modules/programs/ssh.nix @@ -189,6 +189,7 @@ in # Allow DSA keys for now. (These were deprecated in OpenSSH 7.0.) PubkeyAcceptedKeyTypes +ssh-dss + HostKeyAlgorithms +ssh-dss ${cfg.extraConfig} ''; diff --git a/nixos/modules/services/backup/crashplan.nix b/nixos/modules/services/backup/crashplan.nix index 46d4c5192d9e..94aa3b17b663 100644 --- a/nixos/modules/services/backup/crashplan.nix +++ b/nixos/modules/services/backup/crashplan.nix @@ -50,7 +50,7 @@ with lib; ensureDir ${crashplan.vardir}/log 777 cp -avn ${crashplan}/conf.template/* ${crashplan.vardir}/conf for x in app.asar bin EULA.txt install.vars lang lib libjniwrap64.so libjniwrap.so libjtux64.so libjtux.so libmd564.so libmd5.so share skin upgrade; do - if [ -e $x ]; then + if [ -e ${crashplan.vardir}/$x ]; then true; else ln -s ${crashplan}/$x ${crashplan.vardir}/$x; diff --git a/nixos/modules/services/network-filesystems/tahoe.nix b/nixos/modules/services/network-filesystems/tahoe.nix new file mode 100644 index 000000000000..ab441339a560 --- /dev/null +++ b/nixos/modules/services/network-filesystems/tahoe.nix @@ -0,0 +1,286 @@ +{ config, lib, pkgs, ... }: + +with lib; +let + cfg = config.services.tahoe; +in + { + options.services.tahoe = { + introducers = mkOption { + default = {}; + type = types.loaOf types.optionSet; + description = '' + The Tahoe introducers. + ''; + options = { + nickname = mkOption { + type = types.str; + description = '' + The nickname of this Tahoe introducer. + ''; + }; + tub.port = mkOption { + default = 3458; + type = types.int; + description = '' + The port on which the introducer will listen. + ''; + }; + package = mkOption { + default = pkgs.tahoelafs; + defaultText = "pkgs.tahoelafs"; + type = types.package; + example = literalExample "pkgs.tahoelafs"; + description = '' + The package to use for the Tahoe LAFS daemon. + ''; + }; + }; + }; + nodes = mkOption { + default = {}; + type = types.loaOf types.optionSet; + description = '' + The Tahoe nodes. + ''; + options = { + nickname = mkOption { + type = types.str; + description = '' + The nickname of this Tahoe node. + ''; + }; + tub.port = mkOption { + default = 3457; + type = types.int; + description = '' + The port on which the tub will listen. + + This is the correct setting to tweak if you want Tahoe's storage + system to listen on a different port. + ''; + }; + web.port = mkOption { + default = 3456; + type = types.int; + description = '' + The port on which the Web server will listen. + + This is the correct setting to tweak if you want Tahoe's WUI to + listen on a different port. + ''; + }; + client.introducer = mkOption { + default = null; + type = types.nullOr types.str; + description = '' + The furl for a Tahoe introducer node. + + Like all furls, keep this safe and don't share it. + ''; + }; + client.helper = mkOption { + default = null; + type = types.nullOr types.str; + description = '' + The furl for a Tahoe helper node. + + Like all furls, keep this safe and don't share it. + ''; + }; + client.shares.needed = mkOption { + default = 3; + type = types.int; + description = '' + The number of shares required to reconstitute a file. + ''; + }; + client.shares.happy = mkOption { + default = 7; + type = types.int; + description = '' + The number of distinct storage nodes required to store + a file. + ''; + }; + client.shares.total = mkOption { + default = 10; + type = types.int; + description = '' + The number of shares required to store a file. + ''; + }; + storage.enable = mkEnableOption "storage service"; + storage.reservedSpace = mkOption { + default = "1G"; + type = types.str; + description = '' + The amount of filesystem space to not use for storage. + ''; + }; + helper.enable = mkEnableOption "helper service"; + package = mkOption { + default = pkgs.tahoelafs; + defaultText = "pkgs.tahoelafs"; + type = types.package; + example = literalExample "pkgs.tahoelafs"; + description = '' + The package to use for the Tahoe LAFS daemon. + ''; + }; + }; + }; + }; + config = mkMerge [ + (mkIf (cfg.introducers != {}) { + environment = { + etc = flip mapAttrs' cfg.introducers (node: settings: + nameValuePair "tahoe-lafs/introducer-${node}.cfg" { + mode = "0444"; + text = '' + # This configuration is generated by Nix. Edit at your own + # peril; here be dragons. + + [node] + nickname = ${settings.nickname} + tub.port = ${toString settings.tub.port} + ''; + }); + # Actually require Tahoe, so that we will have it installed. + systemPackages = flip mapAttrsToList cfg.introducers (node: settings: + settings.package + ); + }; + # Open up the firewall. + # networking.firewall.allowedTCPPorts = flip mapAttrsToList cfg.introducers + # (node: settings: settings.tub.port); + systemd.services = flip mapAttrs' cfg.introducers (node: settings: + let + pidfile = "/run/tahoe.introducer-${node}.pid"; + # This is a directory, but it has no trailing slash. Tahoe commands + # get antsy when there's a trailing slash. + nodedir = "/var/db/tahoe-lafs/introducer-${node}"; + in nameValuePair "tahoe.introducer-${node}" { + description = "Tahoe LAFS node ${node}"; + wantedBy = [ "multi-user.target" ]; + path = [ settings.package ]; + restartTriggers = [ + config.environment.etc."tahoe-lafs/introducer-${node}.cfg".source ]; + serviceConfig = { + Type = "simple"; + PIDFile = pidfile; + }; + preStart = '' + if [ \! -d ${nodedir} ]; then + mkdir -p /var/db/tahoe-lafs + tahoe create-introducer ${nodedir} + fi + + # Tahoe has created a predefined tahoe.cfg which we must now + # scribble over. + # XXX I thought that a symlink would work here, but it doesn't, so + # we must do this on every prestart. Fixes welcome. + # rm ${nodedir}/tahoe.cfg + # ln -s /etc/tahoe-lafs/introducer-${node}.cfg ${nodedir}/tahoe.cfg + cp /etc/tahoe-lafs/introducer-${node}.cfg ${nodedir}/tahoe.cfg + ''; + # Believe it or not, Tahoe is very brittle about the order of + # arguments to $(tahoe start). The node directory must come first, + # and arguments which alter Twisted's behavior come afterwards. + script = '' + tahoe start ${nodedir} -n -l- --pidfile=${pidfile} + ''; + }); + users.extraUsers = flip mapAttrs' cfg.introducers (node: _: + nameValuePair "tahoe.introducer-${node}" { + description = "Tahoe node user for introducer ${node}"; + isSystemUser = true; + }); + }) + (mkIf (cfg.nodes != {}) { + environment = { + etc = flip mapAttrs' cfg.nodes (node: settings: + nameValuePair "tahoe-lafs/${node}.cfg" { + mode = "0444"; + text = '' + # This configuration is generated by Nix. Edit at your own + # peril; here be dragons. + + [node] + nickname = ${settings.nickname} + tub.port = ${toString settings.tub.port} + # This is a Twisted endpoint. Twisted Web doesn't work on + # non-TCP. ~ C. + web.port = tcp:${toString settings.web.port} + + [client] + ${optionalString (settings.client.introducer != null) + "introducer.furl = ${settings.client.introducer}"} + ${optionalString (settings.client.helper != null) + "helper.furl = ${settings.client.helper}"} + + shares.needed = ${toString settings.client.shares.needed} + shares.happy = ${toString settings.client.shares.happy} + shares.total = ${toString settings.client.shares.total} + + [storage] + enabled = ${if settings.storage.enable then "true" else "false"} + reserved_space = ${settings.storage.reservedSpace} + + [helper] + enabled = ${if settings.helper.enable then "true" else "false"} + ''; + }); + # Actually require Tahoe, so that we will have it installed. + systemPackages = flip mapAttrsToList cfg.nodes (node: settings: + settings.package + ); + }; + # Open up the firewall. + # networking.firewall.allowedTCPPorts = flip mapAttrsToList cfg.nodes + # (node: settings: settings.tub.port); + systemd.services = flip mapAttrs' cfg.nodes (node: settings: + let + pidfile = "/run/tahoe.${node}.pid"; + # This is a directory, but it has no trailing slash. Tahoe commands + # get antsy when there's a trailing slash. + nodedir = "/var/db/tahoe-lafs/${node}"; + in nameValuePair "tahoe.${node}" { + description = "Tahoe LAFS node ${node}"; + wantedBy = [ "multi-user.target" ]; + path = [ settings.package ]; + restartTriggers = [ + config.environment.etc."tahoe-lafs/${node}.cfg".source ]; + serviceConfig = { + Type = "simple"; + PIDFile = pidfile; + }; + preStart = '' + if [ \! -d ${nodedir} ]; then + mkdir -p /var/db/tahoe-lafs + tahoe create-node ${nodedir} + fi + + # Tahoe has created a predefined tahoe.cfg which we must now + # scribble over. + # XXX I thought that a symlink would work here, but it doesn't, so + # we must do this on every prestart. Fixes welcome. + # rm ${nodedir}/tahoe.cfg + # ln -s /etc/tahoe-lafs/${node}.cfg ${nodedir}/tahoe.cfg + cp /etc/tahoe-lafs/${node}.cfg ${nodedir}/tahoe.cfg + ''; + # Believe it or not, Tahoe is very brittle about the order of + # arguments to $(tahoe start). The node directory must come first, + # and arguments which alter Twisted's behavior come afterwards. + script = '' + tahoe start ${nodedir} -n -l- --pidfile=${pidfile} + ''; + }); + users.extraUsers = flip mapAttrs' cfg.nodes (node: _: + nameValuePair "tahoe.${node}" { + description = "Tahoe node user for node ${node}"; + isSystemUser = true; + }); + }) + ]; + } diff --git a/nixos/modules/services/networking/mfi.nix b/nixos/modules/services/networking/mfi.nix new file mode 100644 index 000000000000..5afb83ed022f --- /dev/null +++ b/nixos/modules/services/networking/mfi.nix @@ -0,0 +1,90 @@ +{ config, lib, pkgs, utils, ... }: +with lib; +let + name = "Ubiquiti mFi Controller"; + cfg = config.services.mfi; + stateDir = "/var/lib/mfi"; + # XXX 2 runtime exceptions using jre8: JSPException on GET / ; can't initialize ./data/keystore on first run. + cmd = "@${pkgs.jre7}/bin/java java -jar ${stateDir}/lib/ace.jar"; + mountPoints = [ + { what = "${pkgs.mfi}/dl"; where = "${stateDir}/dl"; } + { what = "${pkgs.mfi}/lib"; where = "${stateDir}/lib"; } + { what = "${pkgs.mongodb248}/bin"; where = "${stateDir}/bin"; } + ]; + systemdMountPoints = map (m: "${utils.escapeSystemdPath m.where}.mount") mountPoints; + ports = [ 6080 6880 6443 6843 ]; +in +{ + options = { + services.mfi = { + enable = mkEnableOption name; + openPorts = mkOption { + type = types.bool; + default = true; + description = "Whether to open TCP ports ${concatMapStrings (a: "${toString a} ") ports}for the services."; + }; + }; + }; + + config = mkIf cfg.enable { + + networking.firewall.allowedTCPPorts = mkIf config.services.mfi.openPorts ports; + + users.users.mfi = { + uid = config.ids.uids.mfi; + description = "mFi controller daemon user"; + home = "${stateDir}"; + }; + + # We must create the binary directories as bind mounts instead of symlinks + # This is because the controller resolves all symlinks to absolute paths + # to be used as the working directory. + systemd.mounts = map ({ what, where }: { + bindsTo = [ "mfi.service" ]; + partOf = [ "mfi.service" ]; + unitConfig.RequiresMountsFor = stateDir; + options = "bind"; + what = what; + where = where; + }) mountPoints; + + systemd.services.mfi = { + description = "mFi controller daemon"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ] ++ systemdMountPoints; + partOf = systemdMountPoints; + bindsTo = systemdMountPoints; + unitConfig.RequiresMountsFor = stateDir; + + preStart = '' + # Clear ./webapps each run. + rm -rf "${stateDir}/webapps" + mkdir -p "${stateDir}/webapps" + ln -s "${pkgs.mfi}/webapps/ROOT.war" "${stateDir}/webapps" + + # Copy initial config only once. + test -e "${stateDir}/conf" || cp -ar "${pkgs.mfi}/conf" "${stateDir}/conf" + test -e "${stateDir}/data" || cp -ar "${pkgs.mfi}/data" "${stateDir}/data" + + # Fix Permissions. + # (Bind-mounts cause errors; ignore exit codes) + chown -fR mfi: "${stateDir}" || true + chmod -fR u=rwX,go= "${stateDir}" || true + ''; + + postStop = '' + rm -rf "${stateDir}/webapps" + ''; + + serviceConfig = { + Type = "simple"; + ExecStart = "${cmd} start"; + ExecStop = "${cmd} stop"; + User = "mfi"; + PermissionsStartOnly = true; + UMask = "0077"; + WorkingDirectory = "${stateDir}"; + }; + }; + }; +} diff --git a/nixos/modules/services/networking/syncthing.nix b/nixos/modules/services/networking/syncthing.nix index 67b90516b996..da9a270f30b6 100644 --- a/nixos/modules/services/networking/syncthing.nix +++ b/nixos/modules/services/networking/syncthing.nix @@ -5,6 +5,7 @@ with lib; let cfg = config.services.syncthing; + defaultUser = "syncthing"; in @@ -17,6 +18,7 @@ in services.syncthing = { enable = mkOption { + type = types.bool; default = false; description = '' Whether to enable the Syncthing, self-hosted open-source alternative @@ -26,7 +28,8 @@ in }; user = mkOption { - default = "syncthing"; + type = types.string; + default = defaultUser; description = '' Syncthing will be run under this user (user must exist, this can be your user name). @@ -34,8 +37,8 @@ in }; all_proxy = mkOption { - type = types.string; - default = ""; + type = types.nullOr types.string; + default = null; example = "socks5://address.com:1234"; description = '' Overwrites all_proxy environment variable for the syncthing process to @@ -45,6 +48,7 @@ in }; dataDir = mkOption { + type = types.path; default = "/var/lib/syncthing"; description = '' Path where the settings and keys will exist. @@ -71,20 +75,33 @@ in config = mkIf cfg.enable { + users = mkIf (cfg.user == defaultUser) { + extraUsers."${defaultUser}" = + { group = defaultUser; + home = cfg.dataDir; + createHome = true; + uid = config.ids.uids.syncthing; + description = "Syncthing daemon user"; + }; + + extraGroups."${defaultUser}".gid = + config.ids.gids.syncthing; + }; + systemd.services.syncthing = { description = "Syncthing service"; - after = [ "network.target" ]; + after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; environment = { STNORESTART = "yes"; # do not self-restart STNOUPGRADE = "yes"; - } // - (config.networking.proxy.envVars) // - (if cfg.all_proxy != "" then { all_proxy = cfg.all_proxy; } else {}); + inherit (cfg) all_proxy; + } // config.networking.proxy.envVars; serviceConfig = { - User = "${cfg.user}"; + User = cfg.user; + Group = optionalString (cfg.user == defaultUser) defaultUser; PermissionsStartOnly = true; Restart = "on-failure"; ExecStart = "${pkgs.syncthing}/bin/syncthing -no-browser -home=${cfg.dataDir}"; diff --git a/nixos/modules/services/system/dbus.nix b/nixos/modules/services/system/dbus.nix index 77427ce9606e..ba34eb25169c 100644 --- a/nixos/modules/services/system/dbus.nix +++ b/nixos/modules/services/system/dbus.nix @@ -139,6 +139,30 @@ in systemd.services.dbus.restartTriggers = [ configDir ]; + systemd.user = { + services.dbus = { + description = "D-Bus User Message Bus"; + requires = [ "dbus.socket" ]; + # NixOS doesn't support "Also" so we pull it in manually + # As the .service is supposed to come up at the same time as + # the .socket, we use basic.target instead of default.target + wantedBy = [ "basic.target" ]; + serviceConfig = { + ExecStart = "${pkgs.dbus_daemon}/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation"; + ExecReload = "${pkgs.dbus_daemon}/bin/dbus-send --print-reply --session --type=method_call --dest=org.freedesktop.DBus / org.freedesktop.DBus.ReloadConfig"; + }; + }; + + sockets.dbus = { + description = "D-Bus User Message Bus Socket"; + socketConfig = { + ListenStream = "%t/bus"; + ExecStartPost = "-${config.systemd.package}/bin/systemctl --user set-environment DBUS_SESSION_BUS_ADDRESS=unix:path=%t/bus"; + }; + wantedBy = [ "sockets.target" ]; + }; + }; + environment.pathsToLink = [ "/etc/dbus-1" "/share/dbus-1" ]; }; diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix index 757d883373ac..7b13a305f035 100644 --- a/nixos/modules/system/boot/stage-1.nix +++ b/nixos/modules/system/boot/stage-1.nix @@ -67,6 +67,10 @@ let copy_bin_and_libs $BIN done + # Copy modprobe. + copy_bin_and_libs ${pkgs.kmod}/bin/kmod + ln -sf kmod $out/bin/modprobe + # Copy resize2fs if needed. ${optionalString (any (fs: fs.autoResize) (attrValues config.fileSystems)) '' # We need mke2fs in the initrd. diff --git a/nixos/modules/virtualisation/ec2-amis.nix b/nixos/modules/virtualisation/ec2-amis.nix new file mode 100644 index 000000000000..15ea7bb19448 --- /dev/null +++ b/nixos/modules/virtualisation/ec2-amis.nix @@ -0,0 +1,92 @@ +{ + "14.04".ap-northeast-1.hvm-ebs = "ami-71c6f470"; + "14.04".ap-northeast-1.pv-ebs = "ami-4dcbf84c"; + "14.04".ap-northeast-1.pv-s3 = "ami-8fc4f68e"; + "14.04".ap-southeast-1.hvm-ebs = "ami-da280888"; + "14.04".ap-southeast-1.pv-ebs = "ami-7a9dbc28"; + "14.04".ap-southeast-1.pv-s3 = "ami-c4290996"; + "14.04".ap-southeast-2.hvm-ebs = "ami-ab523e91"; + "14.04".ap-southeast-2.pv-ebs = "ami-6769055d"; + "14.04".ap-southeast-2.pv-s3 = "ami-15533f2f"; + "14.04".eu-central-1.hvm-ebs = "ami-ba0234a7"; + "14.04".eu-west-1.hvm-ebs = "ami-96cb63e1"; + "14.04".eu-west-1.pv-ebs = "ami-b48c25c3"; + "14.04".eu-west-1.pv-s3 = "ami-06cd6571"; + "14.04".sa-east-1.hvm-ebs = "ami-01b90e1c"; + "14.04".sa-east-1.pv-ebs = "ami-69e35474"; + "14.04".sa-east-1.pv-s3 = "ami-61b90e7c"; + "14.04".us-east-1.hvm-ebs = "ami-58ba3a30"; + "14.04".us-east-1.pv-ebs = "ami-9e0583f6"; + "14.04".us-east-1.pv-s3 = "ami-9cbe3ef4"; + "14.04".us-west-1.hvm-ebs = "ami-0bc3d74e"; + "14.04".us-west-1.pv-ebs = "ami-8b1703ce"; + "14.04".us-west-1.pv-s3 = "ami-27ccd862"; + "14.04".us-west-2.hvm-ebs = "ami-3bf1bf0b"; + "14.04".us-west-2.pv-ebs = "ami-259bd515"; + "14.04".us-west-2.pv-s3 = "ami-07094037"; + + "14.12".ap-northeast-1.hvm-ebs = "ami-24435f25"; + "14.12".ap-northeast-1.pv-ebs = "ami-b0425eb1"; + "14.12".ap-northeast-1.pv-s3 = "ami-fed3c6ff"; + "14.12".ap-southeast-1.hvm-ebs = "ami-6c765d3e"; + "14.12".ap-southeast-1.pv-ebs = "ami-6a765d38"; + "14.12".ap-southeast-1.pv-s3 = "ami-d1bf9183"; + "14.12".ap-southeast-2.hvm-ebs = "ami-af86f395"; + "14.12".ap-southeast-2.pv-ebs = "ami-b386f389"; + "14.12".ap-southeast-2.pv-s3 = "ami-69c5ae53"; + "14.12".eu-central-1.hvm-ebs = "ami-4a497a57"; + "14.12".eu-central-1.pv-ebs = "ami-4c497a51"; + "14.12".eu-central-1.pv-s3 = "ami-60f2c27d"; + "14.12".eu-west-1.hvm-ebs = "ami-d126a5a6"; + "14.12".eu-west-1.pv-ebs = "ami-0126a576"; + "14.12".eu-west-1.pv-s3 = "ami-deda5fa9"; + "14.12".sa-east-1.hvm-ebs = "ami-2d239e30"; + "14.12".sa-east-1.pv-ebs = "ami-35239e28"; + "14.12".sa-east-1.pv-s3 = "ami-81e3519c"; + "14.12".us-east-1.hvm-ebs = "ami-0c463a64"; + "14.12".us-east-1.pv-ebs = "ami-ac473bc4"; + "14.12".us-east-1.pv-s3 = "ami-00e18a68"; + "14.12".us-west-1.hvm-ebs = "ami-ca534a8f"; + "14.12".us-west-1.pv-ebs = "ami-3e534a7b"; + "14.12".us-west-1.pv-s3 = "ami-2905196c"; + "14.12".us-west-2.hvm-ebs = "ami-fb9dc3cb"; + "14.12".us-west-2.pv-ebs = "ami-899dc3b9"; + "14.12".us-west-2.pv-s3 = "ami-cb7f2dfb"; + + "15.09".ap-northeast-1.hvm-ebs = "ami-58cac236"; + "15.09".ap-northeast-1.hvm-s3 = "ami-39c8c057"; + "15.09".ap-northeast-1.pv-ebs = "ami-5ac9c134"; + "15.09".ap-northeast-1.pv-s3 = "ami-03cec66d"; + "15.09".ap-southeast-1.hvm-ebs = "ami-2fc2094c"; + "15.09".ap-southeast-1.hvm-s3 = "ami-9ec308fd"; + "15.09".ap-southeast-1.pv-ebs = "ami-95c00bf6"; + "15.09".ap-southeast-1.pv-s3 = "ami-bfc00bdc"; + "15.09".ap-southeast-2.hvm-ebs = "ami-996c4cfa"; + "15.09".ap-southeast-2.hvm-s3 = "ami-3f6e4e5c"; + "15.09".ap-southeast-2.pv-ebs = "ami-066d4d65"; + "15.09".ap-southeast-2.pv-s3 = "ami-cc6e4eaf"; + "15.09".eu-central-1.hvm-ebs = "ami-3f8c6b50"; + "15.09".eu-central-1.hvm-s3 = "ami-5b836434"; + "15.09".eu-central-1.pv-ebs = "ami-118c6b7e"; + "15.09".eu-central-1.pv-s3 = "ami-2c977043"; + "15.09".eu-west-1.hvm-ebs = "ami-9cf04aef"; + "15.09".eu-west-1.hvm-s3 = "ami-2bea5058"; + "15.09".eu-west-1.pv-ebs = "ami-c9e852ba"; + "15.09".eu-west-1.pv-s3 = "ami-c6f64cb5"; + "15.09".sa-east-1.hvm-ebs = "ami-6e52df02"; + "15.09".sa-east-1.hvm-s3 = "ami-1852df74"; + "15.09".sa-east-1.pv-ebs = "ami-4368e52f"; + "15.09".sa-east-1.pv-s3 = "ami-f15ad79d"; + "15.09".us-east-1.hvm-ebs = "ami-84a6a0ee"; + "15.09".us-east-1.hvm-s3 = "ami-06a7a16c"; + "15.09".us-east-1.pv-ebs = "ami-a4a1a7ce"; + "15.09".us-east-1.pv-s3 = "ami-5ba8ae31"; + "15.09".us-west-1.hvm-ebs = "ami-22c8bb42"; + "15.09".us-west-1.hvm-s3 = "ami-a2ccbfc2"; + "15.09".us-west-1.pv-ebs = "ami-10cebd70"; + "15.09".us-west-1.pv-s3 = "ami-fa30429a"; + "15.09".us-west-2.hvm-ebs = "ami-ce57b9ae"; + "15.09".us-west-2.hvm-s3 = "ami-2956b849"; + "15.09".us-west-2.pv-ebs = "ami-005fb160"; + "15.09".us-west-2.pv-s3 = "ami-cd55bbad"; +} diff --git a/nixos/modules/virtualisation/xe-guest-utilities.nix b/nixos/modules/virtualisation/xe-guest-utilities.nix new file mode 100644 index 000000000000..d703353858c0 --- /dev/null +++ b/nixos/modules/virtualisation/xe-guest-utilities.nix @@ -0,0 +1,52 @@ +{ config, lib, pkgs, ... }: +with lib; +let + cfg = config.services.xe-guest-utilities; +in { + options = { + services.xe-guest-utilities = { + enable = mkEnableOption "Whether to enable the Xen guest utilities daemon."; + }; + }; + config = mkIf cfg.enable { + services.udev.packages = [ pkgs.xe-guest-utilities ]; + systemd.tmpfiles.rules = [ "d /run/xenstored 0755 - - -" ]; + + systemd.services.xe-daemon = { + description = "xen daemon file"; + wantedBy = [ "multi-user.target" ]; + after = [ "xe-linux-distribution.service" ]; + requires = [ "proc-xen.mount" ]; + path = [ pkgs.coreutils pkgs.iproute ]; + serviceConfig = { + PIDFile = "/run/xe-daemon.pid"; + ExecStart = "${pkgs.xe-guest-utilities}/bin/xe-daemon -p /run/xe-daemon.pid"; + ExecStop = "${pkgs.procps}/bin/pkill -TERM -F /run/xe-daemon.pid"; + }; + }; + + systemd.services.xe-linux-distribution = { + description = "xen linux distribution service"; + wantedBy = [ "multi-user.target" ]; + before = [ "xend.service" ]; + path = [ pkgs.xe-guest-utilities pkgs.coreutils pkgs.gawk pkgs.gnused ]; + serviceConfig = { + Type = "simple"; + RemainAfterExit = "yes"; + ExecStart = "${pkgs.xe-guest-utilities}/bin/xe-linux-distribution /var/cache/xe-linux-distribution"; + }; + }; + + systemd.mounts = [ + { description = "Mount /proc/xen files"; + what = "xenfs"; + where = "/proc/xen"; + type = "xenfs"; + unitConfig = { + ConditionPathExists = "/proc/xen"; + RefuseManualStop = "true"; + }; + } + ]; + }; +} diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix index 243d1e49c7b7..e1eee1cdd8ec 100644 --- a/pkgs/applications/audio/spotify/default.nix +++ b/pkgs/applications/audio/spotify/default.nix @@ -5,7 +5,7 @@ assert stdenv.system == "x86_64-linux"; let - version = "1.0.26.125.g64dc8bc6-14"; + version = "1.0.26.125.g64dc8bc6-15"; deps = [ alsaLib @@ -50,7 +50,7 @@ stdenv.mkDerivation { src = fetchurl { url = "http://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb"; - sha256 = "09wanpml2a6k8asfc0pd56n7fia37amgsplsan1qdh6dwdzr3rv5"; + sha256 = "01y4jr1r928251mj9kz1i7x93ya0ky4xaibm0q08q3zjsafianz1"; }; buildInputs = [ dpkg makeWrapper ]; diff --git a/pkgs/applications/backup/crashplan/default.nix b/pkgs/applications/backup/crashplan/default.nix index e89de9b4c6aa..b9566e9c535f 100644 --- a/pkgs/applications/backup/crashplan/default.nix +++ b/pkgs/applications/backup/crashplan/default.nix @@ -1,13 +1,15 @@ { stdenv, fetchurl, makeWrapper, jre, cpio, gawk, gnugrep, gnused, procps, swt, gtk2, glib, libXtst }: -let version = "4.6.0"; +let + version = "4.6.0"; + rev = "2"; #tracks unversioned changes that occur on download.code42.com from time to time in stdenv.mkDerivation rec { - name = "crashplan-${version}"; + name = "crashplan-${version}-r${rev}"; crashPlanArchive = fetchurl { url = "https://download.code42.com/installs/linux/install/CrashPlan/CrashPlan_${version}_Linux.tgz"; - sha256 = "0h9zk6i1pdvl101c8l4v4x6i7q4wkmkqp2dkm0lq7ha96lrvac47"; + sha256 = "13rmmdj048r8k4v7ig4i6pnvwyzc1vasfgksf070bx6ksklgbq47"; }; srcs = [ crashPlanArchive ]; diff --git a/pkgs/applications/editors/atom/default.nix b/pkgs/applications/editors/atom/default.nix index de857b7a8c6e..33813ca3a660 100644 --- a/pkgs/applications/editors/atom/default.nix +++ b/pkgs/applications/editors/atom/default.nix @@ -16,11 +16,11 @@ let }; in stdenv.mkDerivation rec { name = "atom-${version}"; - version = "1.6.0"; + version = "1.6.2"; src = fetchurl { url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb"; - sha256 = "1izp2fwxk4rrksdbhcaj8fn0aazi7brid72n1vp7f49adrkqqc1b"; + sha256 = "1kl2pc0smacn4lgk5wwlaiw03rm8b0763vaisgp843p35zzsbc9n"; name = "${name}.deb"; }; diff --git a/pkgs/applications/misc/albert/default.nix b/pkgs/applications/misc/albert/default.nix index b6c0feede6cd..5e6931ce78e2 100644 --- a/pkgs/applications/misc/albert/default.nix +++ b/pkgs/applications/misc/albert/default.nix @@ -1,17 +1,17 @@ -{ stdenv, fetchFromGitHub, qtbase, qtx11extras, makeQtWrapper, muparser, cmake }: +{ stdenv, fetchFromGitHub, qtbase, qtsvg, qtx11extras, makeQtWrapper, muparser, cmake }: stdenv.mkDerivation rec { name = "albert-${version}"; - version = "0.8.0"; + version = "0.8.7.2"; src = fetchFromGitHub { owner = "manuelschneid3r"; repo = "albert"; rev = "v${version}"; - sha256 = "0lzj1gbcc5sp2x1c0d3s21y55kcnnn4dmy8d205mrgnyavjrak7n"; + sha256 = "04k6cawil6kqkmsilq5mpjy8lwgk0g08s0v23d5a83calpq3ljpc"; }; - buildInputs = [ cmake qtbase qtx11extras muparser makeQtWrapper ]; + buildInputs = [ cmake qtbase qtsvg qtx11extras muparser makeQtWrapper ]; fixupPhase = '' wrapQtProgram $out/bin/albert diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix index e66f260af969..bae4c83fb2b3 100644 --- a/pkgs/applications/misc/calibre/default.nix +++ b/pkgs/applications/misc/calibre/default.nix @@ -5,12 +5,12 @@ }: stdenv.mkDerivation rec { - version = "2.53.0"; + version = "2.54.0"; name = "calibre-${version}"; src = fetchurl { url = "http://download.calibre-ebook.com/${version}/${name}.tar.xz"; - sha256 = "0rvfh39a6j5r398p6xzrbzvhxapm1iyhc0d46xk5fwa52kscadhz"; + sha256 = "1r2cxnqiqnx51gbw283z8lz58i9zpvbf0a5ncrg5b2i9bphdiq79"; }; inherit python; diff --git a/pkgs/applications/misc/mediainfo-gui/default.nix b/pkgs/applications/misc/mediainfo-gui/default.nix index 83130164fd99..a136497de890 100644 --- a/pkgs/applications/misc/mediainfo-gui/default.nix +++ b/pkgs/applications/misc/mediainfo-gui/default.nix @@ -2,11 +2,11 @@ , desktop_file_utils, libSM, imagemagick }: stdenv.mkDerivation rec { - version = "0.7.83"; + version = "0.7.84"; name = "mediainfo-gui-${version}"; src = fetchurl { url = "http://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz"; - sha256 = "0d8mph9lbg2lw0ccg1la0kqhbisra8q9rzn195lncch5cia5zyg7"; + sha256 = "0w3hm34amfy5bq3n1jihbwqvwqn0f8kvvq3lfc8nfwf8v7mjn7q9"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; diff --git a/pkgs/applications/misc/mediainfo/default.nix b/pkgs/applications/misc/mediainfo/default.nix index cf1a4ce82800..6f4c014fb23a 100644 --- a/pkgs/applications/misc/mediainfo/default.nix +++ b/pkgs/applications/misc/mediainfo/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, libmediainfo, zlib }: stdenv.mkDerivation rec { - version = "0.7.83"; + version = "0.7.84"; name = "mediainfo-${version}"; src = fetchurl { url = "http://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz"; - sha256 = "0d8mph9lbg2lw0ccg1la0kqhbisra8q9rzn195lncch5cia5zyg7"; + sha256 = "0w3hm34amfy5bq3n1jihbwqvwqn0f8kvvq3lfc8nfwf8v7mjn7q9"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; diff --git a/pkgs/applications/misc/timewarrior/default.nix b/pkgs/applications/misc/timewarrior/default.nix new file mode 100644 index 000000000000..a7afa6562fa5 --- /dev/null +++ b/pkgs/applications/misc/timewarrior/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchgit, cmake, libuuid, gnutls }: + +stdenv.mkDerivation rec { + name = "timewarrior-${version}"; + version = "2016-03-29"; + + enableParallelBuilding = true; + + src = fetchgit { + url = "https://git.tasktools.org/scm/tm/timew.git"; + rev = "2175849a81ddd03707dca7b4c9d69d8fa11e35f7"; + sha256 = "1c55a5jsm9n2zcyskklhqiclnlb2pz2h7klbzx481nsn62xd6bbg"; + }; + + nativeBuildInputs = [ cmake ]; + + meta = with stdenv.lib; { + description = "A command-line time tracker"; + homepage = http://tasktools.org/projects/timewarrior.html; + license = licenses.mit; + maintainers = with maintainers; [ matthiasbeyer ]; + platforms = platforms.linux; + }; +} + diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix index 41f8cc155a8e..552c8d4d822e 100644 --- a/pkgs/applications/networking/browsers/firefox/default.nix +++ b/pkgs/applications/networking/browsers/firefox/default.nix @@ -122,6 +122,7 @@ common = { pname, version, sha256 }: stdenv.mkDerivation rec { passthru = { inherit gtk nspr version; isFirefox3Like = true; + browserName = pname; }; }; diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix index 91486b608b2c..5fb887bda220 100644 --- a/pkgs/applications/networking/browsers/firefox/wrapper.nix +++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix @@ -9,8 +9,8 @@ }: ## configurability of the wrapper itself -browser : -{ browserName ? (lib.head (lib.splitString "-" browser.name)) # name of the executable +browser: +{ browserName ? browser.browserName or (builtins.parseDrvName browser.name).name , name ? (browserName + "-" + (builtins.parseDrvName browser.name).version) , desktopName ? # browserName with first letter capitalized (lib.toUpper (lib.substring 0 1 browserName) + lib.substring 1 (-1) browserName) diff --git a/pkgs/applications/networking/cluster/mesos/default.nix b/pkgs/applications/networking/cluster/mesos/default.nix index b1b451855110..7efd34dee563 100644 --- a/pkgs/applications/networking/cluster/mesos/default.nix +++ b/pkgs/applications/networking/cluster/mesos/default.nix @@ -10,7 +10,7 @@ let soext = if stdenv.system == "x86_64-darwin" then "dylib" else "so"; in stdenv.mkDerivation rec { - version = "0.27.1"; + version = "0.28.0"; name = "mesos-${version}"; enableParallelBuilding = true; @@ -18,7 +18,7 @@ in stdenv.mkDerivation rec { src = fetchurl { url = "mirror://apache/mesos/${version}/${name}.tar.gz"; - sha256 = "147iq7vwi09kqblx1h8r6lkrg9g50i257qk1cph1zr5j3rncz7l8"; + sha256 = "05dnj6r5pspizna0fk7yayn38a4w9hlcswgg8l9qmb35m6nq6hby"; }; patches = [ diff --git a/pkgs/applications/networking/irc/irssi/default.nix b/pkgs/applications/networking/irc/irssi/default.nix index 8c26bf8d10e9..d6b57b6cb0d7 100644 --- a/pkgs/applications/networking/irc/irssi/default.nix +++ b/pkgs/applications/networking/irc/irssi/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, pkgconfig, ncurses, glib, openssl, perl, libintlOrEmpty }: stdenv.mkDerivation rec { - name = "irssi-0.8.17"; + + version = "0.8.19"; + name = "irssi-${version}"; src = fetchurl { - urls = [ "https://distfiles.macports.org/irssi/${name}.tar.bz2" - "http://irssi.org/files/${name}.tar.bz2" - ]; - sha256 = "01v82q2pfiimx6lh271kdvgp8hl4pahc3srg04fqzxgdsb5015iw"; + urls = [ "https://github.com/irssi/irssi/releases/download/${version}/${name}.tar.gz" ]; + sha256 = "0ny8dry1b8siyc5glaxcwzng0d2mxnwxk74v64f8xplqhrvlnkzy"; }; buildInputs = [ pkgconfig ncurses glib openssl perl libintlOrEmpty ]; diff --git a/pkgs/applications/office/gnucash/2.6.nix b/pkgs/applications/office/gnucash/2.6.nix index 3c2348bfa8b7..844ef9277089 100644 --- a/pkgs/applications/office/gnucash/2.6.nix +++ b/pkgs/applications/office/gnucash/2.6.nix @@ -2,6 +2,7 @@ , intltool, glib, gtk, libofx, aqbanking, gwenhywfar, libgnomecanvas, goffice , webkit, glibcLocales, gsettings_desktop_schemas, makeWrapper, dconf, file , gettext, swig, slibGuile, enchant, bzip2, isocodes, libdbi, libdbiDrivers +, pango, gdk_pixbuf }: /* @@ -78,7 +79,7 @@ stdenv.mkDerivation rec { ''; # The following settings fix failures in the test suite. It's not required otherwise. - NIX_LDFLAGS = "-rpath=${guile}/lib -rpath=${glib}/lib"; + LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ guile glib gtk pango gdk_pixbuf ]; preCheck = "export GNC_DOT_DIR=$PWD/dot-gnucash"; doCheck = true; diff --git a/pkgs/applications/science/electronics/kicad/default.nix b/pkgs/applications/science/electronics/kicad/default.nix index 0762002b8a84..56fbf20f52d1 100644 --- a/pkgs/applications/science/electronics/kicad/default.nix +++ b/pkgs/applications/science/electronics/kicad/default.nix @@ -1,21 +1,39 @@ -{ stdenv, fetchurl, fetchbzr, cmake, mesa, wxGTK, zlib, libX11, gettext }: +{ stdenv, fetchurl, fetchbzr, cmake, mesa, wxGTK, zlib, libX11, gettext, glew, cairo, openssl, boost, pkgconfig, doxygen }: stdenv.mkDerivation rec { - name = "kicad-20131025"; + name = "kicad-${series}"; + series = "4.0"; + version = "4.0.2"; - src = fetchbzr { - url = "https://code.launchpad.net/kicad/stable"; - rev = 4024; - sha256 = "1sv1l2zpbn6439ccz50p05hvqg6j551aqra551wck9h3929ghly5"; - }; + srcs = [ + (fetchurl { + url = "https://code.launchpad.net/kicad/${series}/${version}/+download/kicad-${version}.tar.xz"; + sha256 = "1fcf91fmxj6ha3mm6gzdb0px50j58m80p8wrncm8ca9shj36kbif"; + }) - srcLibrary = fetchbzr { - url = "http://bazaar.launchpad.net/~kicad-product-committers/kicad/library"; - rev = 293; - sha256 = "1wn9a4nhqyjzzfkq6xm7ag8n5n10xy7gkq6i7yry7wxini7pzv1i"; - }; + (fetchurl { + url = "http://downloads.kicad-pcb.org/libraries/kicad-library-${version}.tar.gz"; + sha256 = "1xk9sxxb3d42chdysqmvizrjcbm0467q7nsq5cahq3j1hci49m6l"; + }) + + (fetchurl { + url = "http://downloads.kicad-pcb.org/libraries/kicad-footprints-${version}.tar.gz"; + sha256 = "0vrzykgxx423iwgz6186bi8724kmbi5wfl92gfwb3r6mqammgwpg"; + }) + ]; + + sourceRoot = "kicad-${version}"; + + cmakeFlags = '' + -DCMAKE_BUILD_TYPE=Release + -DKICAD_SKIP_BOOST=ON + -DKICAD_BUILD_VERSION=${version} + -DKICAD_REPO_NAME=stable + ''; - cmakeFlags = "-DKICAD_STABLE_VERSION=ON"; + enableParallelBuilding = true; # often fails on Hydra: fatal error: pcb_plot_params_lexer.h: No such file or directory + + buildInputs = [ cmake mesa wxGTK zlib libX11 gettext glew cairo openssl boost pkgconfig doxygen ]; # They say they only support installs to /usr or /usr/local, # so we have to handle this. @@ -23,17 +41,26 @@ stdenv.mkDerivation rec { sed -i -e 's,/usr/local/kicad,'$out,g common/gestfich.cpp ''; - #enableParallelBuilding = true; # often fails on Hydra: fatal error: pcb_plot_params_lexer.h: No such file or directory - - buildInputs = [ cmake mesa wxGTK zlib libX11 gettext ]; + postUnpack = '' + pushd $(pwd) + ''; postInstall = '' - mkdir library - cd library - cmake -DCMAKE_INSTALL_PREFIX=$out $srcLibrary + popd + + pushd kicad-library-* + cmake -DCMAKE_INSTALL_PREFIX=$out + make $MAKE_FLAGS make install + popd + + pushd kicad-footprints-* + mkdir -p $out/share/kicad/modules + cp -R *.pretty $out/share/kicad/modules/ + popd ''; + meta = { description = "Free Software EDA Suite"; homepage = "http://www.kicad-pcb.org/"; diff --git a/pkgs/applications/science/logic/satallax/default.nix b/pkgs/applications/science/logic/satallax/default.nix index 89a214c3f474..7935be11926d 100644 --- a/pkgs/applications/science/logic/satallax/default.nix +++ b/pkgs/applications/science/logic/satallax/default.nix @@ -1,71 +1,66 @@ -x@{builderDefsPackage - , sbcl, zlib - , ...}: -builderDefsPackage -(a : -let - helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ - []; +{stdenv, fetchurl, ocaml, zlib, which, eprover, makeWrapper, coq}: +stdenv.mkDerivation rec { + name = "satallax-${version}"; + version = "2.7"; - buildInputs = map (n: builtins.getAttr n x) - (builtins.attrNames (builtins.removeAttrs x helperArgNames)); - sourceInfo = rec { - baseName="satallax"; - version="1.4"; - name="${baseName}-${version}"; - url="http://www.ps.uni-saarland.de/~cebrown/satallax/downloads/${name}.tar.gz"; - hash="0l8dq4nyfw2bdsyqmgb4v6fjw3739p8nqv4bh2gh2924ibzrq5fc"; + buildInputs = [ocaml zlib which eprover makeWrapper coq]; + src = fetchurl { + url = "http://www.ps.uni-saarland.de/~cebrown/satallax/downloads/${name}.tar.gz"; + sha256 = "1kvxn8mc35igk4vigi5cp7w3wpxk2z3bgwllfm4n3h2jfs0vkpib"; }; -in -rec { - src = a.fetchurl { - url = sourceInfo.url; - sha256 = sourceInfo.hash; - }; - - inherit (sourceInfo) name version; - inherit buildInputs; - phaseNames = ["doDeployMinisat" "doDeploy"]; + preConfigure = '' + mkdir fake-tools + echo "echo 'Nix-build-host.localdomain'" > fake-tools/hostname + chmod a+x fake-tools/hostname + export PATH="$PATH:$PWD/fake-tools" - doDeployMinisat = a.fullDepEntry ('' ( - cd minisat/simp + cd picosat-* + ./configure + make + ) + export PATH="$PATH:$PWD/libexec/satallax" + + mkdir -p "$out/libexec/satallax" + cp picosat-*/picosat picosat-*/picomus "$out/libexec/satallax" + + ( + cd minisat + export MROOT=$PWD + cd core + make + cd ../simp make ) + ''; - mkdir -p "$out/bin" - cp minisat/simp/minisat "$out/bin" + postBuild = "echo testing; ! (bash ./test | grep ERROR)"; - echo "(setq *minisat-binary* \"$out/bin/minisat\")" > config.lisp + installPhase = '' + mkdir -p "$out/share/doc/satallax" "$out/bin" "$out/lib" "$out/lib/satallax" + cp bin/satallax.opt "$out/bin/satallax" + wrapProgram "$out/bin/satallax" \ + --suffix PATH : "${coq}/bin:${eprover}/bin:$out/libexec/satallax" \ + --add-flags "-M" --add-flags "$out/lib/satallax/modes" - '') ["defEnsureDir" "minInit" "addInputs" "doUnpack"]; - doDeploy = a.fullDepEntry ('' - mkdir -p "$out/share/satallax/build-dir" - cp -r * "$out/share/satallax/build-dir" - cd "$out/share/satallax/build-dir" + cp LICENSE README "$out/share/doc/satallax" - sbcl --load make.lisp - ! ( ./test | grep ERROR ) + cp bin/*.so "$out/lib" - mkdir -p "$out/bin" - cp bin/satallax "$out/bin" - '') ["defEnsureDir" "minInit" "addInputs" "doUnpack"]; + cp -r modes "$out/lib/satallax/" + cp -r problems "$out/lib/satallax/" + cp -r coq* "$out/lib/satallax/" + ''; meta = { - description = "A higher-order logic prover"; - maintainers = with a.lib.maintainers; - [ - raskin - ]; - platforms = with a.lib.platforms; - unix; - license = a.lib.licenses.free; - homepage = "http://www.ps.uni-saarland.de/~cebrown/satallax/"; - }; - passthru = { - updateInfo = { - downloadPage = "http://www.ps.uni-saarland.de/~cebrown/satallax/"; - }; + inherit version; + description = ''Automated theorem prover for higher-order logic''; + license = stdenv.lib.licenses.mit ; + maintainers = [stdenv.lib.maintainers.raskin]; + platforms = stdenv.lib.platforms.linux; + downloadPage = "http://www.ps.uni-saarland.de/~cebrown/satallax/downloads.php"; + homepage = "http://www.ps.uni-saarland.de/~cebrown/satallax/index.php"; + updateWalker = true; }; -}) x +} diff --git a/pkgs/applications/science/molecular-dynamics/lammps/default.nix b/pkgs/applications/science/molecular-dynamics/lammps/default.nix new file mode 100644 index 000000000000..35ab53483687 --- /dev/null +++ b/pkgs/applications/science/molecular-dynamics/lammps/default.nix @@ -0,0 +1,55 @@ +{ stdenv, writeText, fetchurl, + libpng, fftw, + mpiSupport ? false, mpi ? null +}: + +assert mpiSupport -> mpi != null; + +stdenv.mkDerivation rec { + # LAMMPS has weird versioning converted to ISO 8601 format + version = "2016-02-16"; + name = "lammps-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/lammps/lammps-16Feb16.tar.gz"; + sha256 = "1yzfbkxma3xa1288rnn66h4w0smbmjkwq1fx1y60pjiw0prmk105"; + }; + + passthru = { + inherit mpi; + }; + + buildInputs = [ fftw libpng ] + ++ (stdenv.lib.optionals mpiSupport [ mpi ]); + + # Must do manual build due to LAMMPS requiring a seperate build for + # the libraries and executable + builder = writeText "builder.sh" '' + source $stdenv/setup + + tar xzf $src + cd lammps-*/src + make mode=exe ${if mpiSupport then "mpi" else "serial"} SHELL=$SHELL LMP_INC="-DLAMMPS_GZIP -DLAMMPS_PNG" FFT_PATH=-DFFT_FFTW3 FFT_LIB=-lfftw3 JPG_LIB=-lpng + make mode=shlib ${if mpiSupport then "mpi" else "serial"} SHELL=$SHELL LMP_INC="-DLAMMPS_GZIP -DLAMMPS_PNG" FFT_PATH=-DFFT_FFTW3 FFT_LIB=-lfftw3 JPG_LIB=-lpng + + mkdir -p $out/bin + cp -v lmp_* $out/bin/lammps + + mkdir -p $out/lib + cp -v liblammps* $out/lib/ + ''; + + meta = { + description = "Classical Molecular Dynamics simulation code"; + longDescription = '' + LAMMPS is a classical molecular dynamics simulation code designed to + run efficiently on parallel computers. It was developed at Sandia + National Laboratories, a US Department of Energy facility, with + funding from the DOE. It is an open-source code, distributed freely + under the terms of the GNU Public License (GPL). + ''; + homepage = "http://lammps.sandia.gov"; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/applications/video/kodi/plugins.nix b/pkgs/applications/video/kodi/plugins.nix index 0ad638dd7054..bb826011e25d 100644 --- a/pkgs/applications/video/kodi/plugins.nix +++ b/pkgs/applications/video/kodi/plugins.nix @@ -142,14 +142,14 @@ in plugin = "svtplay"; namespace = "plugin.video.svtplay"; - version = "4.0.23"; + version = "4.0.24"; src = fetchFromGitHub { name = plugin + "-" + version + ".tar.gz"; owner = "nilzen"; repo = "xbmc-" + plugin; - rev = "80b6d241adb046c105ceb63d637da3f7f3684f1a"; - sha256 = "1236kanzl4dra78whpwic1r5iifaj3f27qycia9jr54z01id083s"; + rev = "e66e2af6529e3ffd030ad486c849894a9ffdeb45"; + sha256 = "01nq6gac83q6ayhqcj1whvk58pzrm1haw801s321f4vc8gswag56"; }; meta = with stdenv.lib; { diff --git a/pkgs/applications/video/qgifer/default.nix b/pkgs/applications/video/qgifer/default.nix new file mode 100644 index 000000000000..f528ce99a8a2 --- /dev/null +++ b/pkgs/applications/video/qgifer/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchsvn, cmake, opencv, qt, giflib }: + +stdenv.mkDerivation rec { + name = "qgifer-${version}"; + version = "0.2.1"; + + src = fetchsvn { + url = "https://svn.code.sf.net/p/qgifer/code/tags/${name}"; + sha256 = "0fv40n58xjwfr06ix9ga79hs527rrzfaq1sll3n2xxchpgf3wf4f"; + }; + + postPatch = '' + substituteInPlace CMakeLists.txt --replace "SET(CMAKE_INSTALL_PREFIX" "#" + ''; + + buildInputs = [ cmake opencv qt giflib ]; + + meta = with stdenv.lib; { + description = "Video-based animated GIF creator"; + homepage = https://sourceforge.net/projects/qgifer/; + license = licenses.gpl3; + platforms = platforms.unix; + maintainers = [ maintainers.andrewrk ]; + }; +} diff --git a/pkgs/applications/virtualization/virtinst/default.nix b/pkgs/applications/virtualization/virtinst/default.nix index c9a62ce5f92b..6064972fe956 100644 --- a/pkgs/applications/virtualization/virtinst/default.nix +++ b/pkgs/applications/virtualization/virtinst/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { }; pythonPath = with pythonPackages; - [ setuptools eventlet greenlet gflags netaddr sqlalchemy7 carrot routes + [ setuptools eventlet greenlet gflags netaddr carrot routes PasteDeploy m2crypto ipy twisted sqlalchemy_migrate distutils_extra simplejson readline glanceclient cheetah lockfile httplib2 # !!! should libvirt be a build-time dependency? Note that diff --git a/pkgs/build-support/setup-hooks/use-old-cxx-abi.sh b/pkgs/build-support/setup-hooks/use-old-cxx-abi.sh new file mode 100644 index 000000000000..53335d7a9a7a --- /dev/null +++ b/pkgs/build-support/setup-hooks/use-old-cxx-abi.sh @@ -0,0 +1 @@ +export NIX_CFLAGS_COMPILE+=" -D_GLIBCXX_USE_CXX11_ABI=0" diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index c11c21170e01..56a13d6787a7 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -414,12 +414,12 @@ rec { fillDiskWithRPMs = { size ? 4096, rpms, name, fullName, preInstall ? "", postInstall ? "" , runScripts ? true, createRootFS ? defaultCreateRootFS + , QEMU_OPTS ? "", memSize ? 512 , unifiedSystemDir ? false }: runInLinuxVM (stdenv.mkDerivation { - inherit name preInstall postInstall rpms; - memSize = 512; + inherit name preInstall postInstall rpms QEMU_OPTS memSize; preVM = createEmptyImage {inherit size fullName;}; buildCommand = '' @@ -685,10 +685,11 @@ rec { , packages, extraPackages ? [] , preInstall ? "", postInstall ? "", archs ? ["noarch" "i386"] , runScripts ? true, createRootFS ? defaultCreateRootFS + , QEMU_OPTS ? "", memSize ? 512 , unifiedSystemDir ? false }: fillDiskWithRPMs { - inherit name fullName size preInstall postInstall runScripts createRootFS unifiedSystemDir; + inherit name fullName size preInstall postInstall runScripts createRootFS unifiedSystemDir QEMU_OPTS memSize; rpms = import (rpmClosureGenerator { inherit name packagesLists urlPrefixes archs; packages = packages ++ extraPackages; diff --git a/pkgs/desktops/gnome-3/3.18/apps/gnome-boxes/default.nix b/pkgs/desktops/gnome-3/3.18/apps/gnome-boxes/default.nix index 6f5af374dbc4..1edea6b888ba 100644 --- a/pkgs/desktops/gnome-3/3.18/apps/gnome-boxes/default.nix +++ b/pkgs/desktops/gnome-3/3.18/apps/gnome-boxes/default.nix @@ -3,7 +3,7 @@ , spice_protocol, libuuid, libsoup, libosinfo, systemd, tracker, vala , libcap_ng, libcap, yajl, gmp, gdbm, cyrus_sasl, gnome3, librsvg , desktop_file_utils, mtools, cdrkit, libcdio, numactl, xen -, libusb, libarchive, acl, libgudev +, libusb, libarchive, acl, libgudev, qemu }: # TODO: ovirt (optional) @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { wrapProgram "$prog" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \ - --prefix PATH : "${mtools}/bin:${cdrkit}/bin:${libcdio}/bin" + --prefix PATH : "${mtools}/bin:${cdrkit}/bin:${libcdio}/bin:${qemu}/bin" done ''; diff --git a/pkgs/desktops/gnome-3/3.18/core/rest/default.nix b/pkgs/desktops/gnome-3/3.18/core/rest/default.nix index eada9ab19934..344bc00780f9 100644 --- a/pkgs/desktops/gnome-3/3.18/core/rest/default.nix +++ b/pkgs/desktops/gnome-3/3.18/core/rest/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, glib, libsoup, gobjectIntrospection, gnome3 }: stdenv.mkDerivation rec { - name = "rest-0.7.92"; + name = "rest-0.7.93"; src = fetchurl { url = "mirror://gnome/sources/rest/0.7/${name}.tar.xz"; - sha256 = "07548c8785a3e743daf54a82b952ff5f32af94fee68997df4c83b00d52f9c0ec"; + sha256 = "05mj10hhiik23ai8w4wkk5vhsp7hcv24bih5q3fl82ilam268467"; }; buildInputs = [ pkgconfig glib libsoup gobjectIntrospection]; diff --git a/pkgs/development/compilers/abc/default.nix b/pkgs/development/compilers/abc/default.nix index 1a71b808827e..1340e8b5c1a0 100644 --- a/pkgs/development/compilers/abc/default.nix +++ b/pkgs/development/compilers/abc/default.nix @@ -1,23 +1,6 @@ -{stdenv, fetchurl, javaCup, jre, apacheAnt, patches} : - -let { - body = - stdenv.mkDerivation { - name = "abc-1.2.0"; - builder = ./builder.sh; - - src = fetchurl { - url = http://abc.comlab.ox.ac.uk/dists/1.2.0/files/abc-1.2.0-src.tar.gz; - md5 = "aef9e8eac860f904f2a841e18770dc47"; - }; - - inherit apacheAnt polyglot soot javaCup xact jasmin jre javabdd paddle jedd patches; - - meta = { - description = "The AspectBench Compiler for AspectJ"; - }; - }; +{stdenv, fetchurl, javaCup, jre, apacheAnt}: +let soot = import ./soot { inherit stdenv fetchurl apacheAnt polyglot jasmin; @@ -76,4 +59,21 @@ let { md5 = "9810ad8762101ea691a895f0a6b7a5c3"; }; }; +in + +stdenv.mkDerivation { + name = "abc-1.2.0"; + builder = ./builder.sh; + + src = fetchurl { + url = http://abc.comlab.ox.ac.uk/dists/1.2.0/files/abc-1.2.0-src.tar.gz; + md5 = "aef9e8eac860f904f2a841e18770dc47"; + }; + + inherit apacheAnt polyglot soot javaCup xact jasmin jre javabdd paddle jedd; + patches = []; + + meta = { + description = "The AspectBench Compiler for AspectJ"; + }; } diff --git a/pkgs/development/compilers/fsharp/default.nix b/pkgs/development/compilers/fsharp/default.nix index 12df5721cc4c..c00cea0029e1 100644 --- a/pkgs/development/compilers/fsharp/default.nix +++ b/pkgs/development/compilers/fsharp/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "fsharp-${version}"; - version = "4.0.0.4"; + version = "4.0.1.1"; src = fetchurl { url = "https://github.com/fsharp/fsharp/archive/${version}.tar.gz"; - sha256 = "1m9pwr4xjl3ikaf3pzsa4pb3pr533xa0v34y2cy4pjcc6j0f71av"; + sha256 = "0mvmvwwpl4zq0yvgzdizww8l9azvlrc82xm32nz1fi1nw8x5qfqk"; }; buildInputs = [ mono pkgconfig dotnetbuildhelpers autoconf automake which ]; diff --git a/pkgs/development/interpreters/elixir/default.nix b/pkgs/development/interpreters/elixir/default.nix index 3977b32bad70..a9854c7c4934 100644 --- a/pkgs/development/interpreters/elixir/default.nix +++ b/pkgs/development/interpreters/elixir/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "elixir-${version}"; - version = "1.2.3"; + version = "1.2.4"; src = fetchurl { url = "https://github.com/elixir-lang/elixir/archive/v${version}.tar.gz"; - sha256 = "09s8469830s4070i0m04fxdhqimkdyc5k9jylm5vpfz9l3z4wvl8"; + sha256 = "16759ff84d08b480b7e5499716e663b2fffd26e20cf2863de5613bc7bb05c817"; }; buildInputs = [ erlang rebar makeWrapper ]; diff --git a/pkgs/development/interpreters/erlang/R17.nix b/pkgs/development/interpreters/erlang/R17.nix index e06b2741d35c..8096ca555a44 100644 --- a/pkgs/development/interpreters/erlang/R17.nix +++ b/pkgs/development/interpreters/erlang/R17.nix @@ -1,5 +1,6 @@ { stdenv, fetchurl, perl, gnum4, ncurses, openssl , gnused, gawk, makeWrapper +, Carbon, Cocoa , odbcSupport ? false, unixODBC ? null , wxSupport ? true, mesa ? null, wxGTK ? null, xorg ? null, wxmac ? null , javacSupport ? false, openjdk ? null @@ -27,9 +28,10 @@ stdenv.mkDerivation rec { buildInputs = [ perl gnum4 ncurses openssl makeWrapper - ] ++ optional wxSupport (if stdenv.isDarwin then [ wxmac ] else [ mesa wxGTK xorg.libX11 ]) - ++ optional odbcSupport [ unixODBC ] - ++ optional javacSupport [ openjdk ]; + ] ++ optionals wxSupport (if stdenv.isDarwin then [ wxmac ] else [ mesa wxGTK xorg.libX11 ]) + ++ optional odbcSupport unixODBC + ++ optional javacSupport openjdk + ++ stdenv.lib.optionals stdenv.isDarwin [ Carbon Cocoa ]; patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure ''; diff --git a/pkgs/development/interpreters/jython/default.nix b/pkgs/development/interpreters/jython/default.nix index f9d6271e5d86..80661c3feb9e 100644 --- a/pkgs/development/interpreters/jython/default.nix +++ b/pkgs/development/interpreters/jython/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { name = "jython-${version}"; - version = "2.7-rc3"; + version = "2.7.0"; src = fetchurl { url = "http://search.maven.org/remotecontent?filepath=org/python/jython-standalone/${version}/jython-standalone-${version}.jar"; - sha256 = "89fcaf53f1bda6124f836065c1e318e2e853d5a9a1fbf0e96a387c6d38828c78"; + sha256 = "0sk4myh9v7ma7nmzb8khg41na77xfi2zck7876bs7kq18n8nc1nx"; }; buildInputs = [ makeWrapper ]; diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index 6fe6b18e0bff..c890a3fc90f4 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -301,8 +301,8 @@ in { }; php70 = generic { - version = "7.0.2"; - sha256 = "0di2vallv5kry85l67za25nq4f2hjr8fad5j0c06nb69v7xpa6wv"; + version = "7.0.5"; + sha256 = "1s8xnnxwq5big2rnbp3w7zw7wh5d5ra9p2q9bxwylds5wrzsy29c"; }; } diff --git a/pkgs/development/libraries/freeimage/default.nix b/pkgs/development/libraries/freeimage/default.nix index 2cfb5d3522f9..2a75f7693e15 100644 --- a/pkgs/development/libraries/freeimage/default.nix +++ b/pkgs/development/libraries/freeimage/default.nix @@ -1,9 +1,9 @@ {stdenv, fetchurl, unzip}: stdenv.mkDerivation { - name = "freeimage-3.15.3"; + name = "freeimage-3.17.0"; src = fetchurl { - url = mirror://sourceforge/freeimage/FreeImage3153.zip; - sha256 = "0i60fn1n9rw55dci0yw92zrw7k1jz3f9kv2z1wxmh84s5ngxa626"; + url = mirror://sourceforge/freeimage/FreeImage3170.zip; + sha256 = "12bz57asdcfsz3zr9i9nska0fb6h3z2aizy412qjqkixkginbz7v"; }; buildInputs = [ unzip ]; prePatch = '' @@ -11,6 +11,10 @@ stdenv.mkDerivation { -e 's@-o root -g root@@' \ -e 's@ldconfig@echo not running ldconfig@' \ -i Makefile.gnu Makefile.fip + + # Fix gcc 5.1 macro problems + # https://chromium.googlesource.com/webm/libwebp/+/eebaf97f5a1cb713d81d311308d8a48c124e5aef%5E!/ + sed -i -e 's/"\(#[^"]*\)"/" \1 "/g' Source/LibWebP/src/dsp/* ''; postBuild = "make -f Makefile.fip"; diff --git a/pkgs/development/libraries/imlib2/default.nix b/pkgs/development/libraries/imlib2/default.nix index 3ff608a4ac33..8d79fcc50a8e 100644 --- a/pkgs/development/libraries/imlib2/default.nix +++ b/pkgs/development/libraries/imlib2/default.nix @@ -1,21 +1,17 @@ { stdenv, fetchurl, xlibsWrapper, libjpeg, libtiff, giflib, libpng, bzip2, pkgconfig }: stdenv.mkDerivation rec { - name = "imlib2-1.4.6"; + name = "imlib2-1.4.8"; src = fetchurl { url = "mirror://sourceforge/enlightenment/${name}.tar.bz2"; - sha256 = "0x1j0ylpclkp8cfpwfpkjywqz124bqskyxbw8pvwzkv2gmrbwldg"; + sha256 = "0xxhgkd1axlcmf3kp1d7naiygparpg8l3sg3d263rhl2z0gm7aw9"; }; buildInputs = [ xlibsWrapper libjpeg libtiff giflib libpng bzip2 ]; nativeBuildInputs = [ pkgconfig ]; - # From - # https://github.com/PhantomX/slackbuilds/blob/master/imlib2/patches/imlib2-giflib51.patch - patches = [ ./giflib51.patch ]; - preConfigure = '' substituteInPlace imlib2-config.in \ --replace "@my_libs@" "" diff --git a/pkgs/development/libraries/imlib2/giflib51.patch b/pkgs/development/libraries/imlib2/giflib51.patch deleted file mode 100644 index 97eaeb0b96e6..000000000000 --- a/pkgs/development/libraries/imlib2/giflib51.patch +++ /dev/null @@ -1,64 +0,0 @@ -diff -ruN imlib2-1.4.6.orig/src/modules/loaders/loader_gif.c imlib2-1.4.6/src/modules/loaders/loader_gif.c ---- imlib2-1.4.6.orig/src/modules/loaders/loader_gif.c 2013-12-21 10:16:10.000000000 +0000 -+++ imlib2-1.4.6/src/modules/loaders/loader_gif.c 2014-05-27 09:52:35.857291512 +0000 -@@ -36,7 +36,7 @@ - #endif - if (fd < 0) - return 0; -- gif = DGifOpenFileHandle(fd); -+ gif = DGifOpenFileHandle(fd, NULL); - if (!gif) - { - close(fd); -@@ -60,13 +60,13 @@ - h = gif->Image.Height; - if (!IMAGE_DIMENSIONS_OK(w, h)) - { -- DGifCloseFile(gif); -+ DGifCloseFile(gif, NULL); - return 0; - } - rows = malloc(h * sizeof(GifRowType *)); - if (!rows) - { -- DGifCloseFile(gif); -+ DGifCloseFile(gif, NULL); - return 0; - } - for (i = 0; i < h; i++) -@@ -78,7 +78,7 @@ - rows[i] = malloc(w * sizeof(GifPixelType)); - if (!rows[i]) - { -- DGifCloseFile(gif); -+ DGifCloseFile(gif, NULL); - for (i = 0; i < h; i++) - { - if (rows[i]) -@@ -150,7 +150,7 @@ - im->data = (DATA32 *) malloc(sizeof(DATA32) * w * h); - if (!im->data) - { -- DGifCloseFile(gif); -+ DGifCloseFile(gif, NULL); - free(rows); - return 0; - } -@@ -181,7 +181,7 @@ - last_per = (int)per; - if (!(progress(im, (int)per, 0, last_y, w, i))) - { -- DGifCloseFile(gif); -+ DGifCloseFile(gif, NULL); - for (i = 0; i < h; i++) - { - free(rows[i]); -@@ -198,7 +198,7 @@ - { - progress(im, 100, 0, last_y, w, h); - } -- DGifCloseFile(gif); -+ DGifCloseFile(gif, NULL); - for (i = 0; i < h; i++) - { - free(rows[i]); \ No newline at end of file diff --git a/pkgs/development/libraries/libmediainfo/default.nix b/pkgs/development/libraries/libmediainfo/default.nix index b3d76b1c931f..8b8bf61a99b7 100644 --- a/pkgs/development/libraries/libmediainfo/default.nix +++ b/pkgs/development/libraries/libmediainfo/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, zlib }: stdenv.mkDerivation rec { - version = "0.7.83"; + version = "0.7.84"; name = "libmediainfo-${version}"; src = fetchurl { url = "http://mediaarea.net/download/source/libmediainfo/${version}/libmediainfo_${version}.tar.xz"; - sha256 = "0kl5x07j3jp5mnmhpjvdq0a2nnlgvqnhwar0xalvg3b3msdf8417"; + sha256 = "0k657ynfxcw6lvakc8plz0pzfixlqbsiih2idimk9k1dd4xzhq3d"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; diff --git a/pkgs/development/libraries/log4cxx/default.nix b/pkgs/development/libraries/log4cxx/default.nix index b2e13a1e9ab8..cae6e5c0a55e 100644 --- a/pkgs/development/libraries/log4cxx/default.nix +++ b/pkgs/development/libraries/log4cxx/default.nix @@ -20,6 +20,9 @@ stdenv.mkDerivation rec { }' src/examples/cpp/console.cpp \ src/main/cpp/inputstreamreader.cpp \ src/main/cpp/socketoutputstream.cpp + '' + stdenv.lib.optionalString stdenv.isDarwin '' + sed -i 's/namespace std { class locale; }/#include <locale>/' src/main/include/log4cxx/helpers/simpledateformat.h + sed -i 's/\(#include <cctype>\)/\1\n#include <cstdlib>/' src/main/cpp/stringhelper.cpp ''; buildInputs = [autoconf automake libtool libxml2 cppunit boost apr aprutil db expat]; diff --git a/pkgs/development/libraries/openldap/default.nix b/pkgs/development/libraries/openldap/default.nix index 7d836cd5a0df..c4f8ef0ee661 100644 --- a/pkgs/development/libraries/openldap/default.nix +++ b/pkgs/development/libraries/openldap/default.nix @@ -1,25 +1,13 @@ { stdenv, fetchurl, openssl, cyrus_sasl, db, groff }: stdenv.mkDerivation rec { - name = "openldap-2.4.42"; + name = "openldap-2.4.44"; src = fetchurl { url = "http://www.openldap.org/software/download/OpenLDAP/openldap-release/${name}.tgz"; - sha256 = "0qwfpb5ipp2l76v11arghq5mr0sjc6xhjfg8a0kgsaw5qpib1dzf"; + sha256 = "0044p20hx07fwgw2mbwj1fkx04615hhs1qyx4mawj2bhqvrnppnp"; }; - # Should be removed with >=2.4.43 - patches = [ - ./CVE-2015-6908.patch - ( - fetchurl { - sha256 = "5bcb3f9fb7186b380efa0a1c2d31ad755e190134b5c4dac07c65bbf7c0b6b3b3"; - url = "https://github.com/LMDB/lmdb/commit/3360cbad668f678fb23c064ca4efcc5c9ae95d10.patch"; - name = "openldap-clang-compilation.patch"; - } - ) - ]; - outputs = [ "out" "man" ]; buildInputs = [ openssl cyrus_sasl db groff ]; diff --git a/pkgs/development/libraries/science/math/openblas/0.2.14.nix b/pkgs/development/libraries/science/math/openblas/0.2.14.nix deleted file mode 100644 index 2fac8a4db08b..000000000000 --- a/pkgs/development/libraries/science/math/openblas/0.2.14.nix +++ /dev/null @@ -1,65 +0,0 @@ -{ stdenv, fetchurl, gfortran, perl, which, config, coreutils -# Most packages depending on openblas expect integer width to match pointer width, -# but some expect to use 32-bit integers always (for compatibility with reference BLAS). -, blas64 ? null -}: - -with stdenv.lib; - -let blas64_ = blas64; in - -let local = config.openblas.preferLocalBuild or false; - binary = - { i686-linux = "32"; - x86_64-linux = "64"; - x86_64-darwin = "64"; - }."${stdenv.system}" or (throw "unsupported system: ${stdenv.system}"); - genericFlags = - [ "DYNAMIC_ARCH=1" - "NUM_THREADS=64" - ]; - localFlags = config.openblas.flags or - optionals (hasAttr "target" config.openblas) [ "TARGET=${config.openblas.target}" ]; - blas64 = if blas64_ != null then blas64_ else hasPrefix "x86_64" stdenv.system; - - version = "0.2.14"; -in -stdenv.mkDerivation { - name = "openblas-${version}"; - src = fetchurl { - url = "https://github.com/xianyi/OpenBLAS/archive/v${version}.tar.gz"; - sha256 = "2411c4f56f477b42dff54db2b7ffc0b7cf53bb9778d54982595c64cc69c40fc1"; - name = "openblas-${version}.tar.gz"; - }; - - inherit blas64; - - nativeBuildInputs = optionals stdenv.isDarwin [coreutils] ++ [gfortran perl which]; - - makeFlags = - (if local then localFlags else genericFlags) - ++ - optionals stdenv.isDarwin ["MACOSX_DEPLOYMENT_TARGET=10.9"] - ++ - [ - "FC=gfortran" - # Note that clang is available through the stdenv on OSX and - # thus is not an explicit dependency. - "CC=${if stdenv.isDarwin then "clang" else "gcc"}" - ''PREFIX="''$(out)"'' - "BINARY=${binary}" - "USE_OPENMP=${if stdenv.isDarwin then "0" else "1"}" - "INTERFACE64=${if blas64 then "1" else "0"}" - ]; - - doCheck = true; - checkTarget = "tests"; - - meta = with stdenv.lib; { - description = "Basic Linear Algebra Subprograms"; - license = licenses.bsd3; - homepage = "https://github.com/xianyi/OpenBLAS"; - platforms = platforms.unix; - maintainers = with maintainers; [ ttuegel ]; - }; -} diff --git a/pkgs/development/libraries/skalibs/default.nix b/pkgs/development/libraries/skalibs/default.nix index e8b3403df405..349e5582013f 100644 --- a/pkgs/development/libraries/skalibs/default.nix +++ b/pkgs/development/libraries/skalibs/default.nix @@ -2,7 +2,7 @@ let - version = "2.3.7.0"; + version = "2.3.9.0"; in stdenv.mkDerivation rec { @@ -11,7 +11,7 @@ in stdenv.mkDerivation rec { src = fetchgit { url = "git://git.skarnet.org/skalibs"; rev = "refs/tags/v${version}"; - sha256 = "11k84vckwvxphjswqxv677p6riyb2hgx1kh15f865hnk8n21fldx"; + sha256 = "1c5ap14f2yr3izz8s1blgp5g4r898kzppay7xrga2j216i51zfpw"; }; dontDisableStatic = true; @@ -23,7 +23,14 @@ in stdenv.mkDerivation rec { "--libdir=\${prefix}/lib" "--includedir=\${prefix}/include" "--sysdepdir=\${prefix}/lib/skalibs/sysdeps" - ] ++ (if stdenv.isDarwin then [ "--disable-shared" ] else [ "--enable-shared" ]); + ] + ++ (if stdenv.isDarwin then [ "--disable-shared" ] else [ "--enable-shared" ]) + # On darwin, the target triplet from -dumpmachine includes version number, but + # skarnet.org software uses the triplet to test binary compatibility. + # Explicitly setting target ensures code can be compiled against a skalibs + # binary built on a different version of darwin. + # http://www.skarnet.org/cgi-bin/archive.cgi?1:mss:623:heiodchokfjdkonfhdph + ++ (stdenv.lib.optional stdenv.isDarwin "--target=${stdenv.system}"); meta = { homepage = http://skarnet.org/software/skalibs/; diff --git a/pkgs/development/libraries/v8/3.14.nix b/pkgs/development/libraries/v8/3.14.nix new file mode 100644 index 000000000000..fee0f868ea92 --- /dev/null +++ b/pkgs/development/libraries/v8/3.14.nix @@ -0,0 +1,28 @@ +{ stdenv, callPackage, fetchFromGitHub, python, ... } @ args: +with stdenv.lib; +let + version = "3.14.5.10"; + sha256 = "08vhl84166x13b3cbx8y0g99yqx772zd33gawsa1nxqkyrykql6k"; +in +(callPackage ./generic.nix (args // { + inherit version sha256; +})).overrideDerivation (oldAttrs:{ + patchPhase = [ + oldAttrs.patchPhase + "sed -i 's,#!/usr/bin/python,#!${python}/bin/python,' build/gyp_v8" + ]; + + # http://code.google.com/p/v8/issues/detail?id=2149 + NIX_CFLAGS_COMPILE = concatStringsSep " " [ + oldAttrs.NIX_CFLAGS_COMPILE + "-Wno-unused-local-typedefs" + "-Wno-aggressive-loop-optimizations" + ]; + + src = fetchFromGitHub { + owner = "v8"; + repo = "v8"; + rev = "${version}"; + inherit sha256; + }; +}) diff --git a/pkgs/development/libraries/v8/fix-GetLocalizedMessage-usage.patch b/pkgs/development/libraries/v8/fix-GetLocalizedMessage-usage.patch new file mode 100644 index 000000000000..3bc0fff4d509 --- /dev/null +++ b/pkgs/development/libraries/v8/fix-GetLocalizedMessage-usage.patch @@ -0,0 +1,27 @@ +From dbe142c4eda0f15fad9fa85743dd11b81292fa8f Mon Sep 17 00:00:00 2001 +From: Timothy J Fontaine <tjfontaine@gmail.com> +Date: Thu, 23 May 2013 13:57:59 -0700 +Subject: [PATCH] v8: fix GetLocalizedMessage usage + +As is the backport of the abort on uncaught exception wouldn't compile +because we it was passing in `this` when it was unnecessary. +--- + deps/v8/src/isolate.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/isolate.cc b/src/isolate.cc +index 04a438b..5a5293e 100644 +--- a/src/isolate.cc ++++ b/src/isolate.cc +@@ -1161,7 +1161,7 @@ void Isolate::DoThrow(Object* exception, MessageLocation* location) { + (report_exception || can_be_caught_externally)) { + fatal_exception_depth++; + fprintf(stderr, "%s\n\nFROM\n", +- *MessageHandler::GetLocalizedMessage(this, message_obj)); ++ *MessageHandler::GetLocalizedMessage(message_obj)); + PrintCurrentStackTrace(stderr); + OS::Abort(); + } +-- +1.8.1.6 + diff --git a/pkgs/development/python-modules/sphinx-fix-tests-with-pygments-2.1.patch b/pkgs/development/python-modules/sphinx-fix-tests-with-pygments-2.1.patch deleted file mode 100644 index 5aa4af873cd5..000000000000 --- a/pkgs/development/python-modules/sphinx-fix-tests-with-pygments-2.1.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 5574aba60ed76f2bae947722122ac4d71ab8ed5a Mon Sep 17 00:00:00 2001 -From: Takeshi KOMIYA <i.tkomiya@gmail.com> -Date: Mon, 18 Jan 2016 12:38:02 +0900 -Subject: [PATCH] Fix tests are broken with pygments-2.1 - ---- - tests/test_build_html.py | 2 +- - tests/test_intl.py | 10 ++++++---- - 2 files changed, 7 insertions(+), 5 deletions(-) - -diff --git a/tests/test_build_html.py b/tests/test_build_html.py -index e330761..17ea089 100644 ---- a/tests/test_build_html.py -+++ b/tests/test_build_html.py -@@ -82,7 +82,7 @@ def checker(nodes): - (".//a[@href='_downloads/img1.png']", ''), - (".//pre", u'"quotes"'), - (".//pre", u"'included'"), -- (".//pre/span[@class='s']", u'üöä'), -+ (".//pre/span[@class='s2']", u'üöä'), - (".//div[@class='inc-pyobj1 highlight-text']//pre", - r'^class Foo:\n pass\n\s*$'), - (".//div[@class='inc-pyobj2 highlight-text']//pre", -diff --git a/tests/test_intl.py b/tests/test_intl.py -index 4c665d4..b24ec65 100644 ---- a/tests/test_intl.py -+++ b/tests/test_intl.py -@@ -694,14 +694,15 @@ def test_additional_targets_should_not_be_translated(app, status, warning): - yield assert_count(expected_expr, result, 1) - - # C code block with lang should not be translated but be *C* highlighted -- expected_expr = """<span class="cp">#include <stdio.h></span>""" -+ expected_expr = ("""<span class="cp">#include</span> """ -+ """<span class="cpf"><stdio.h></span>""") - yield assert_count(expected_expr, result, 1) - - # doctest block should not be translated but be highlighted - expected_expr = ( - """<span class="gp">>>> </span>""" - """<span class="kn">import</span> <span class="nn">sys</span> """ -- """<span class="c"># sys importing</span>""") -+ """<span class="c1"># sys importing</span>""") - yield assert_count(expected_expr, result, 1) - - ## raw.txt -@@ -754,14 +755,15 @@ def test_additional_targets_should_be_translated(app, status, warning): - yield assert_count(expected_expr, result, 1) - - # C code block with lang should be translated and be *C* highlighted -- expected_expr = """<span class="cp">#include <STDIO.H></span>""" -+ expected_expr = ("""<span class="cp">#include</span> """ -+ """<span class="cpf"><STDIO.H></span>""") - yield assert_count(expected_expr, result, 1) - - # doctest block should not be translated but be highlighted - expected_expr = ( - """<span class="gp">>>> </span>""" - """<span class="kn">import</span> <span class="nn">sys</span> """ -- """<span class="c"># SYS IMPORTING</span>""") -+ """<span class="c1"># SYS IMPORTING</span>""") - yield assert_count(expected_expr, result, 1) - - ## raw.txt diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix index c2b24c69904f..96477e55d26a 100644 --- a/pkgs/development/tools/build-managers/gradle/default.nix +++ b/pkgs/development/tools/build-managers/gradle/default.nix @@ -4,6 +4,8 @@ rec { gradleGen = {name, src} : stdenv.mkDerivation rec { inherit name src; + buildPhase = ":"; + installPhase = '' mkdir -pv $out/lib/gradle/ cp -rv lib/ $out/lib/gradle/ @@ -15,7 +17,21 @@ rec { --add-flags "-classpath $gradle_launcher_jar org.gradle.launcher.GradleMain" ''; - phases = "unpackPhase installPhase"; + fixupPhase = if (!stdenv.isLinux) then ":" else + let arch = if stdenv.is64bit then "amd64" else "i386"; in '' + mkdir patching + pushd patching + jar xf $out/lib/gradle/lib/native-platform-linux-${arch}-0.10.jar + patchelf --set-rpath "${stdenv.cc.cc}/lib:${stdenv.cc.cc}/lib64" net/rubygrapefruit/platform/linux-${arch}/libnative-platform.so + jar cf native-platform-linux-${arch}-0.10.jar . + mv native-platform-linux-${arch}-0.10.jar $out/lib/gradle/lib/ + popd + + # The scanner doesn't pick up the runtime dependency in the jar. + # Manually add a reference where it will be found. + mkdir $out/nix-support + echo ${stdenv.cc.cc} > $out/nix-support/manual-runtime-dependencies + ''; buildInputs = [ unzip jdk makeWrapper ]; diff --git a/pkgs/development/tools/erlang/rebar3-nix-bootstrap/default.nix b/pkgs/development/tools/erlang/rebar3-nix-bootstrap/default.nix index 39ec59e849f2..ed38d573abf1 100644 --- a/pkgs/development/tools/erlang/rebar3-nix-bootstrap/default.nix +++ b/pkgs/development/tools/erlang/rebar3-nix-bootstrap/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { meta = { description = "Shim command to help bootstrap a rebar3 project on Nix"; license = stdenv.lib.licenses.asl20; - homepage = "https://github.com/erl-nix/rebar3-nix-bootstrap"; + homepage = "https://github.com/erlang-nix/rebar3-nix-bootstrap"; maintainers = with stdenv.lib.maintainers; [ ericbmerritt ]; }; } diff --git a/pkgs/development/tools/galen/default.nix b/pkgs/development/tools/galen/default.nix index 7ff283176e1d..3ee29f2267a5 100644 --- a/pkgs/development/tools/galen/default.nix +++ b/pkgs/development/tools/galen/default.nix @@ -2,14 +2,14 @@ stdenv.mkDerivation rec { pname = "galen"; - version = "2.2.3"; + version = "2.2.4"; name = "${pname}-${version}"; inherit jdk; src = fetchurl { url = "https://github.com/galenframework/galen/releases/download/galen-${version}/galen-bin-${version}.zip"; - sha256 = "13kvxbw68g82rv8bp9g4fkrrsd7nag1a4bspilqi2wnxc51c8mqq"; + sha256 = "0qx6pza6aw880ph76wbypcgy983pln8k4ad2indagb5qhiz4zw1d"; }; buildInputs = [ unzip ]; diff --git a/pkgs/development/tools/misc/distcc/default.nix b/pkgs/development/tools/misc/distcc/default.nix index cf9d7a019204..ed3ad45c463a 100644 --- a/pkgs/development/tools/misc/distcc/default.nix +++ b/pkgs/development/tools/misc/distcc/default.nix @@ -1,4 +1,5 @@ -{ stdenv, fetchFromGitHub, popt, avahi, pkgconfig, python, gtk, runCommand, gcc, autoconf, automake, which, procps +{ stdenv, fetchFromGitHub, popt, avahi, pkgconfig, python, gtk, runCommand +, gcc, autoconf, automake, which, procps, libiberty_static , sysconfDir ? "" # set this parameter to override the default value $out/etc , static ? false }: @@ -15,7 +16,7 @@ let sha256 = "1vj31wcdas8wy52hy6749mlrca9v6ynycdiigx5ay8pnya9z73c6"; }; - buildInputs = [popt avahi pkgconfig python gtk autoconf automake pkgconfig which procps]; + buildInputs = [popt avahi pkgconfig python gtk autoconf automake pkgconfig which procps libiberty_static]; preConfigure = '' export CPATH=$(ls -d ${gcc.cc}/lib/gcc/*/${gcc.cc.version}/plugin/include) diff --git a/pkgs/development/web/nodejs/v5.nix b/pkgs/development/web/nodejs/v5.nix index c1d45443885e..a96e50008292 100644 --- a/pkgs/development/web/nodejs/v5.nix +++ b/pkgs/development/web/nodejs/v5.nix @@ -6,7 +6,7 @@ assert stdenv.system != "armv5tel-linux"; let - version = "5.9.0"; + version = "5.10.0"; deps = { inherit openssl zlib libuv; @@ -30,7 +30,7 @@ in stdenv.mkDerivation { src = fetchurl { url = "http://nodejs.org/dist/v${version}/node-v${version}.tar.gz"; - sha256 = "0ghgfqs64794g6ggrvsdcqwz2lnhck0yiy2fyyg3in8z91k5l5z5"; + sha256 = "0avn25j04q172ri8mksrryyg4g95k7x2pqzsbmp1nr6ybfpvkblg"; }; configureFlags = concatMap sharedConfigureFlags (builtins.attrNames deps) ++ [ "--without-dtrace" ]; diff --git a/pkgs/games/steam/chrootenv.nix b/pkgs/games/steam/chrootenv.nix index e6652d2f0239..8bb73fc5cef3 100644 --- a/pkgs/games/steam/chrootenv.nix +++ b/pkgs/games/steam/chrootenv.nix @@ -24,7 +24,10 @@ buildFHSUserEnv { perl ] ++ lib.optional withJava jdk - ++ lib.optional withPrimus primus + ++ lib.optional withPrimus (primus.override { + stdenv = overrideInStdenv stdenv [ useOldCXXAbi ]; + stdenv_i686 = overrideInStdenv pkgsi686Linux.stdenv [ useOldCXXAbi ]; + }) ; multiPkgs = pkgs: with pkgs; [ diff --git a/pkgs/games/trigger/default.nix b/pkgs/games/trigger/default.nix index ad65b54ddcda..382edb6908b4 100644 --- a/pkgs/games/trigger/default.nix +++ b/pkgs/games/trigger/default.nix @@ -1,38 +1,36 @@ -{ fetchurl, stdenv, SDL, freealut, SDL_image, openal, physfs, zlib, mesa, jam }: +{ fetchurl, stdenv, SDL, freealut, SDL_image, openal, physfs, zlib, mesa, glew }: stdenv.mkDerivation rec { - name = "trigger-rally-0.6.1"; + name = "trigger-rally-0.6.3"; src = fetchurl { - url = "mirror://sourceforge/trigger-rally/${name}-src.tar.bz2"; - sha256 = "1fvb6dl5bwclmx0y8ygyrfn8jczc5kxawxlyv6mp592smb5x5hjs"; + url = "mirror://sourceforge/trigger-rally/${name}.tar.gz"; + sha256 = "103mv4vpq335mrmgzlhahrfncq7ds3b5ip5a52967rv2j6hhzpvy"; }; - srcData = fetchurl { - url = "mirror://sourceforge/trigger-rally/${name}-data.tar.bz2"; - sha256 = "04f9d74gz5xvfx6pnmbfxqhp0kd1p16j5lrgcq12wxvla6py4qaw"; - }; - - buildInputs = [ SDL freealut SDL_image openal physfs zlib mesa jam ]; + buildInputs = [ SDL freealut SDL_image openal physfs zlib mesa glew ]; preConfigure = '' - configureFlags="$configureFlags --datadir=$out/share/${name}-data" - ''; + sed s,/usr/local,$out, -i bin/*defs - # It has some problems installing the README file, so... out. - patchPhase = '' - sed -i /README/d Jamfile + cd src + export makeFlags="$makeFlags prefix=$out" ''; - buildPhase = "jam"; + enableParallelBuilding = true; - installPhase = '' - jam install - mkdir -p $out/share - pushd $out/share - tar xf $srcData + postInstall = '' + mkdir -p $out/bin + cat <<EOF > $out/bin/trigger-rally + #!/bin/sh + exec $out/games/trigger-rally "$@" + EOF + chmod +x $out/bin/trigger-rally ''; + # search.patch : fix c++ error. + patches = [ ./search.patch ]; + meta = { description = "Rally"; homepage = http://trigger-rally.sourceforge.net/; diff --git a/pkgs/games/trigger/search.patch b/pkgs/games/trigger/search.patch new file mode 100644 index 000000000000..60a69b159b5b --- /dev/null +++ b/pkgs/games/trigger/search.patch @@ -0,0 +1,14 @@ +diff --git a/src/Trigger/main.cpp b/src/Trigger/main.cpp +index 39539e1..680c12c 100644 +--- a/src/Trigger/main.cpp ++++ b/src/Trigger/main.cpp +@@ -890,7 +890,8 @@ bool MainApp::loadAll() + std::smatch mr; // Match Results + std::regex pat(R"(^(\w+)(\..+)$)"); // Pattern + +- if (!std::regex_search(std::string(*fname), mr, pat)) ++ std::string search(*fname); ++ if (!std::regex_search(search, mr, pat)) + continue; + + std::string basefname = mr[1]; diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix index fa09d1ca92b9..b219e625033d 100644 --- a/pkgs/misc/vim-plugins/default.nix +++ b/pkgs/misc/vim-plugins/default.nix @@ -464,6 +464,17 @@ rec { }; + vim-jsonnet = buildVimPluginFrom2Nix { # created by nix#NixDerivation + name = "vim-jsonnet-2016-01-21"; + src = fetchgit { + url = "git://github.com/google/vim-jsonnet"; + rev = "5d59d0ba6af2bca4484909e02d72c96fbdd5b220"; + sha256 = "eb7508aedce86bdcb7f104f62490b92bea6e23fb14fafacd251c6aab80aece78"; + }; + dependencies = []; + + }; + idris-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation name = "idris-vim-2016-01-29"; src = fetchgit { @@ -552,6 +563,17 @@ rec { }; + zenburn = buildVimPluginFrom2Nix { # created by nix#NixDerivation + name = "zenburn-2015-09-18"; + src = fetchgit { + url = "git://github.com/jnurmine/zenburn"; + rev = "f7847fb1531b91e2b4bb4aed5db3146f07765179"; + sha256 = "05d7c348dfaf70b8068abb3eaba3bc961b060e4d7a4c99fb6c4538fba5085ad1"; + }; + dependencies = []; + + }; + vim-colorstepper = buildVimPluginFrom2Nix { # created by nix#NixDerivation name = "vim-colorstepper-2016-01-28"; src = fetchgit { diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names index 88e9bbb95944..69a6682e691c 100644 --- a/pkgs/misc/vim-plugins/vim-plugin-names +++ b/pkgs/misc/vim-plugins/vim-plugin-names @@ -32,6 +32,7 @@ "github:esneider/YUNOcommit.vim" "github:fatih/vim-go" "github:flazz/vim-colorschemes" +"github:google/vim-jsonnet" "github:idris-hackers/idris-vim" "github:itchyny/calendar.vim" "github:itchyny/thumbnail.vim" @@ -41,6 +42,7 @@ "github:jeetsukumaran/vim-buffergator" "github:jgdavey/tslime.vim" "github:jistr/vim-nerdtree-tabs" +"github:jnurmine/zenburn" "github:jonbri/vim-colorstepper" "github:joonty/vim-xdebug" "github:junegunn/limelight.vim" @@ -96,6 +98,7 @@ "surround" "table-mode" "taglist" +"tlib" "undotree" "vim-addon-async" "vim-addon-commenting" diff --git a/pkgs/os-specific/linux/s6-linux-utils/default.nix b/pkgs/os-specific/linux/s6-linux-utils/default.nix index faf5106c67e3..c6065dbfca2d 100644 --- a/pkgs/os-specific/linux/s6-linux-utils/default.nix +++ b/pkgs/os-specific/linux/s6-linux-utils/default.nix @@ -2,7 +2,7 @@ let - version = "2.0.2.0"; + version = "2.0.2.3"; in stdenv.mkDerivation rec { @@ -10,7 +10,7 @@ in stdenv.mkDerivation rec { src = fetchurl { url = "http://www.skarnet.org/software/s6-linux-utils/${name}.tar.gz"; - sha256 = "0y6dq4wb5v1c6ps6a7jyq08r2pjksrvz6n3dnfa9c91gzm4m1dxb"; + sha256 = "1hwc3dmqh4cyhx9b4gd48yvjrwmfkz968rncpqc511krpfwzyngr"; }; dontDisableStatic = true; diff --git a/pkgs/servers/mfi/default.nix b/pkgs/servers/mfi/default.nix new file mode 100644 index 000000000000..e431ca993a90 --- /dev/null +++ b/pkgs/servers/mfi/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl, unzip }: + +stdenv.mkDerivation rec { + name = "mfi-controller-${version}"; + version = "2.1.11"; + + src = fetchurl { + url = "https://dl.ubnt.com/mfi/${version}/mFi.unix.zip"; + sha256 = "0b9q6025zf9zjzq8dcmcyai8rslx67g52j41gacxsk9i5dspmw90"; + }; + + buildInputs = [ unzip ]; + + dontBuild = true; + + installPhase = '' + mkdir -p $out + cp -ar conf data dl lib webapps $out + ''; + + meta = with stdenv.lib; { + homepage = http://www.ubnt.com/; + description = "Controller for Ubiquiti mFi devices"; + license = licenses.unfree; + platforms = platforms.unix; + maintainers = with maintainers; [ elitak ]; + }; +} diff --git a/pkgs/servers/nosql/mongodb/2.4.8.nix b/pkgs/servers/nosql/mongodb/2.4.8.nix new file mode 100644 index 000000000000..448d260bdb9d --- /dev/null +++ b/pkgs/servers/nosql/mongodb/2.4.8.nix @@ -0,0 +1,45 @@ +# This derivation was resurrected from 4c8ec5e12e187347fd97b1a1a9a43eb19e009ed0 +# by elitak for use with the Ubiquiti mFi Controller package, which breaks at +# runtime on mongodb3+ and jre8+. We will need to pull in sufficiently old +# versions of boost and v8 to build this, as well. +{ stdenv, fetchurl, scons, boost155, v8_3_14, gperftools, pcre, snappy }: +with stdenv.lib; +let + version = "2.4.8"; +in +stdenv.mkDerivation rec { + name = "mongodb-${version}"; + + src = fetchurl { + url = "http://downloads.mongodb.org/src/mongodb-src-r${version}.tar.gz"; + sha256 = "1p6gnharypglfp39halp72fig96fqjhakyy7m76a1prxwpjkqw7x"; + }; + + nativeBuildInputs = [ scons boost155 v8_3_14 gperftools pcre snappy ]; + + postPatch = '' + substituteInPlace SConstruct \ + --replace "Environment( BUILD_DIR" "Environment( ENV = os.environ, BUILD_DIR" \ + --replace 'CCFLAGS=["-Werror", "-pipe"]' 'CCFLAGS=["-pipe"]' + ''; + + NIX_CFLAGS_COMPILE = "-Wno-unused-local-typedefs"; + + buildPhase = '' + export SCONSFLAGS="-j$NIX_BUILD_CORES" + scons all --use-system-all + ''; + + installPhase = '' + mkdir -p $out/lib + scons install --use-system-all --full --prefix=$out + ''; + + meta = { + description = "A scalable, high-performance, open source NoSQL database"; + homepage = http://www.mongodb.org; + license = licenses.agpl3; + maintainers = with maintainers; [ bluescreen303 elitak ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/shells/oh-my-zsh/default.nix b/pkgs/shells/oh-my-zsh/default.nix index a7e57b145d61..4b2a4d4e763e 100644 --- a/pkgs/shells/oh-my-zsh/default.nix +++ b/pkgs/shells/oh-my-zsh/default.nix @@ -7,12 +7,12 @@ stdenv.mkDerivation rec { name = "oh-my-zsh-git-${version}"; - version = "2016-03-24"; + version = "2016-03-31"; src = fetchgit { url = "https://github.com/robbyrussell/oh-my-zsh"; - rev = "9280f2c874b1126ee9399c353d1e0184fd39b4e4"; - sha256 = "1rldqfs5vkqxp3r7nn5q1837a363gml0d5pji0zkl7ia49f7bdnk"; + rev = "286c3e5e28b651c3f629e6aaba589a1cf56da4d8"; + sha256 = "1jgbpfk6plj1gkwrv7xl1nsxjnrhyh7k3rjkindxx5s9lbq52f7z"; }; phases = "installPhase"; diff --git a/pkgs/shells/zsh/default.nix b/pkgs/shells/zsh/default.nix index d65b7dc80a8b..fda3e77c61f4 100644 --- a/pkgs/shells/zsh/default.nix +++ b/pkgs/shells/zsh/default.nix @@ -21,13 +21,9 @@ stdenv.mkDerivation { buildInputs = [ ncurses pcre ]; - configureFlags = [ - "--enable-maildir-support" - "--enable-multibyte" - "--enable-zprofile=$out/etc/zprofile" - "--with-tcsetpgrp" - "--enable-pcre" - ]; + preConfigure = '' + configureFlags="--enable-maildir-support --enable-multibyte --enable-zprofile=$out/etc/zprofile --with-tcsetpgrp --enable-pcre" + ''; # the zsh/zpty module is not available on hydra # so skip groups Y Z diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix index 836dedf1cb18..87d3938f13d3 100644 --- a/pkgs/stdenv/adapters.nix +++ b/pkgs/stdenv/adapters.nix @@ -241,4 +241,5 @@ rec { then pkgs.allStdenvs.stdenvDarwinNaked else pkgs.stdenv; }; + } diff --git a/pkgs/tools/X11/primus/default.nix b/pkgs/tools/X11/primus/default.nix index f0a971dde18f..88589a058783 100644 --- a/pkgs/tools/X11/primus/default.nix +++ b/pkgs/tools/X11/primus/default.nix @@ -4,6 +4,7 @@ # same LD_LIBRARY_PATH. # Other distributions do the same. { stdenv +, stdenv_i686 , primusLib , writeScriptBin , primusLib_i686 ? null @@ -11,8 +12,12 @@ }: let - primus = if useNvidia then primusLib else primusLib.override { nvidia_x11 = null; }; - primus_i686 = if useNvidia then primusLib_i686 else primusLib_i686.override { nvidia_x11 = null; }; + # We override stdenv in case we need different ABI for libGL + primusLib_ = primusLib.override { inherit stdenv; }; + primusLib_i686_ = primusLib_i686.override { stdenv = stdenv_i686; }; + + primus = if useNvidia then primusLib_ else primusLib_.override { nvidia_x11 = null; }; + primus_i686 = if useNvidia then primusLib_i686_ else primusLib_i686_.override { nvidia_x11 = null; }; ldPath = stdenv.lib.makeLibraryPath ([primus] ++ stdenv.lib.optional (primusLib_i686 != null) primus_i686); in writeScriptBin "primusrun" '' diff --git a/pkgs/tools/backup/partimage/default.nix b/pkgs/tools/backup/partimage/default.nix index 009dc90576b3..18e8bb400253 100644 --- a/pkgs/tools/backup/partimage/default.nix +++ b/pkgs/tools/backup/partimage/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, bzip2, zlib, newt, openssl, pkgconfig, slang +{stdenv, fetchurl, fetchpatch, bzip2, zlib, newt, openssl, pkgconfig, slang , automake, autoconf, libtool, gettext }: stdenv.mkDerivation { @@ -17,6 +17,12 @@ stdenv.mkDerivation { patches = [ ./gentoos-zlib.patch + (fetchpatch { + name = "no-SSLv2.patch"; + url = "https://projects.archlinux.org/svntogit/community.git/plain/trunk" + + "/use-SSLv3-by-default.patch?h=packages/partimage&id=7e95d1c6614e"; + sha256 = "1zfixa6g1nb1hqfzn2wvyvxsr38gm7908zfml2iaqnwy6iz6jd8v"; + }) ]; meta = { diff --git a/pkgs/tools/filesystems/bindfs/default.nix b/pkgs/tools/filesystems/bindfs/default.nix index 7d79eefb122c..80027c7a0474 100644 --- a/pkgs/tools/filesystems/bindfs/default.nix +++ b/pkgs/tools/filesystems/bindfs/default.nix @@ -12,6 +12,9 @@ stdenv.mkDerivation rec { dontStrip = true; buildInputs = [ fuse pkgconfig ]; + postFixup = '' + ln -s $out/bin/bindfs $out/bin/mount.fuse.bindfs + ''; meta = { description = "A FUSE filesystem for mounting a directory to another location"; diff --git a/pkgs/tools/filesystems/btrfs-progs/default.nix b/pkgs/tools/filesystems/btrfs-progs/default.nix index 59935af0a5d4..d0fda2da4142 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 }: -let version = "4.5"; in +let version = "4.5.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 = "04d8w1wqaij6kxhxcirwvy1bkvc7aikkyw981ciwlznblzc16y7f"; + sha256 = "1znf2zhb56zbmdjk3lq107678xwsqwc5gczspypmc5i31qnppy7f"; }; buildInputs = [ diff --git a/pkgs/tools/filesystems/davfs2/davfs2-install.patch b/pkgs/tools/filesystems/davfs2/davfs2-install.patch deleted file mode 100644 index 93e9b09a9145..000000000000 --- a/pkgs/tools/filesystems/davfs2/davfs2-install.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff -rc davfs2-1.4.1/src/Makefile.in davfs2-1.4.1-new/src/Makefile.in -*** davfs2-1.4.1/src/Makefile.in 2009-06-13 18:31:22.000000000 +0200 ---- davfs2-1.4.1-new/src/Makefile.in 2009-09-22 09:12:09.523154536 +0200 -*************** -*** 489,500 **** - - - install-exec-hook: -! chmod u+s $(DESTDIR)$(sbindir)/mount.davfs; \ -! if test "$(sbindir)" != "$(ssbindir)"; then \ -! $(mkinstalldirs) $(DESTDIR)$(ssbindir); \ -! $(LN_S) -f $(DESTDIR)$(sbindir)/mount.davfs $(DESTDIR)$(ssbindir)/mount.davfs; \ -! $(LN_S) -f $(DESTDIR)$(sbindir)/umount.davfs $(DESTDIR)$(ssbindir)/umount.davfs; \ -! fi - - uninstall-hook: - if test "$(sbindir)" != "$(ssbindir)"; then \ ---- 489,495 ---- - - - install-exec-hook: -! chmod u+s $(DESTDIR)$(sbindir)/mount.davfs; - - uninstall-hook: - if test "$(sbindir)" != "$(ssbindir)"; then \ -diff -rc davfs2-1.4.1/src/mount_davfs.c davfs2-1.4.1-new/src/mount_davfs.c -*** davfs2-1.4.1/src/mount_davfs.c 2009-06-12 11:54:58.000000000 +0200 ---- davfs2-1.4.1-new/src/mount_davfs.c 2009-09-22 09:45:21.462726033 +0200 -*************** -*** 2327,2335 **** - } - if (st.st_uid != geteuid()) - error(EXIT_FAILURE, 0, _("file %s has wrong owner"), filename); -! if ((st.st_mode & - (S_IXUSR | S_IRWXG | S_IRWXO | S_ISUID | S_ISGID | S_ISVTX)) != 0) -! error(EXIT_FAILURE, 0, _("file %s has wrong permissions"), filename); - - FILE *file = fopen(filename, "r"); - if (!file) { ---- 2327,2335 ---- - } - if (st.st_uid != geteuid()) - error(EXIT_FAILURE, 0, _("file %s has wrong owner"), filename); -! /* if ((st.st_mode & - (S_IXUSR | S_IRWXG | S_IRWXO | S_ISUID | S_ISGID | S_ISVTX)) != 0) -! error(EXIT_FAILURE, 0, _("file %s has wrong permissions"), filename); */ - - FILE *file = fopen(filename, "r"); - if (!file) { diff --git a/pkgs/tools/filesystems/davfs2/default.nix b/pkgs/tools/filesystems/davfs2/default.nix index d16af28010c2..20b71af6331d 100644 --- a/pkgs/tools/filesystems/davfs2/default.nix +++ b/pkgs/tools/filesystems/davfs2/default.nix @@ -1,19 +1,21 @@ { stdenv, fetchurl, neon, zlib }: stdenv.mkDerivation rec { - name = "davfs2-1.4.7"; + name = "davfs2-1.5.2"; src = fetchurl { url = "mirror://savannah/davfs2/${name}.tar.gz"; - sha256 = "0i7hrwlfzisb4l2mza1kjj9q9xxixggjplsjm339zl7828mfxh2h"; + sha256 = "0n5k2xxfxmbsavg5fhp65lmy30hq9jg3w242rdzafvksnnda2d5y"; }; buildInputs = [ neon zlib ]; - patches = [ ./davfs2-install.patch ./isdir.patch ./fix-sysconfdir.patch ]; + patches = [ ./isdir.patch ./fix-sysconfdir.patch ]; configureFlags = "--sysconfdir=/etc"; + makeFlags = ["sbindir=$(out)/sbin" "ssbindir=$(out)/sbin"]; + meta = { homepage = "http://savannah.nongnu.org/projects/davfs2"; description = "mount WebDAV shares like a typical filesystem"; diff --git a/pkgs/tools/filesystems/grive2/default.nix b/pkgs/tools/filesystems/grive2/default.nix new file mode 100644 index 000000000000..a3ee1b67bab2 --- /dev/null +++ b/pkgs/tools/filesystems/grive2/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchFromGitHub, pkgconfig, fetchurl, yajl, cmake, libgcrypt, curl, expat, boost, binutils }: + +stdenv.mkDerivation rec { + version = "0.5.0"; + name = "grive2-${version}"; + + src = fetchFromGitHub { + owner = "vitalif"; + repo = "grive2"; + rev = "v${version}"; + sha256 = "0gyic9228j25l5x8qj9xxxp2cgbw6y4skxqx0xrq6qilhv4lj23c"; + }; + + nativeBuildInputs = [ cmake pkgconfig ]; + + buildInputs = [ libgcrypt yajl curl expat stdenv boost binutils ]; + + meta = with stdenv.lib; { + description = "A console Google Drive client"; + homepage = https://github.com/vitalif/grive2; + license = licenses.gpl2; + platforms = platforms.linux; + }; + +} diff --git a/pkgs/tools/misc/bandwidth/default.nix b/pkgs/tools/misc/bandwidth/default.nix index ff5e47336d3c..853c619859d4 100644 --- a/pkgs/tools/misc/bandwidth/default.nix +++ b/pkgs/tools/misc/bandwidth/default.nix @@ -10,11 +10,13 @@ let else null; in stdenv.mkDerivation rec { - name = "bandwidth-1.1b"; + name = "bandwidth-${version}"; + version = "1.2.0"; src = fetchurl { - url = "http://zsmith.co/archives/${name}.tar.gz"; - sha256 = "01c3ca0x3rh65j1s2g6cg5xr9fvm0lp2wpmv71vhz55xwqqqmiz8"; + url = "https://mutineer.org/file.php?id=ee10698c6a675ece26f08ddb5e6001323d6305c1&p=bandwidth"; + name = "${name}.tar.gz"; + sha256 = "1jq6a4n77gcx68bkr8l79agsmgv8saw9nv183297gnah1g67nvw6"; }; buildInputs = [ nasm ]; @@ -30,9 +32,9 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { homepage = https://zsmith.co/bandwidth.html; - description = "and artificial benchmark for identifying weaknesses in the memory subsystem"; + description = "Artificial benchmark for identifying weaknesses in the memory subsystem"; license = licenses.mit; platforms = platforms.unix; - maintainers = with maintainers; [ wkennington ]; + maintainers = with maintainers; [ nckx wkennington ]; }; } diff --git a/pkgs/tools/misc/execline/default.nix b/pkgs/tools/misc/execline/default.nix index 7478b1e33eea..1726afca0d02 100644 --- a/pkgs/tools/misc/execline/default.nix +++ b/pkgs/tools/misc/execline/default.nix @@ -2,7 +2,7 @@ let - version = "2.1.4.0"; + version = "2.1.4.5"; in stdenv.mkDerivation rec { @@ -11,7 +11,7 @@ in stdenv.mkDerivation rec { src = fetchgit { url = "git://git.skarnet.org/execline"; rev = "refs/tags/v${version}"; - sha256 = "1ih0mmkra3aa697nz7haaifq2hfy3wjj39npxzg9zr37m7yw67yz"; + sha256 = "1k4db9iyskrqf6wbc4dkiqgpn0wb43qc9rf1br7kvy9rrzq3yrj0"; }; dontDisableStatic = true; @@ -25,7 +25,9 @@ in stdenv.mkDerivation rec { "--with-include=${skalibs}/include" "--with-lib=${skalibs}/lib" "--with-dynlib=${skalibs}/lib" - ] ++ (if stdenv.isDarwin then [ "--disable-shared" ] else [ "--enable-shared" ]); + ] + ++ (if stdenv.isDarwin then [ "--disable-shared" ] else [ "--enable-shared" ]) + ++ (stdenv.lib.optional stdenv.isDarwin "--target=${stdenv.system}"); meta = { homepage = http://skarnet.org/software/execline/; diff --git a/pkgs/tools/misc/s6-portable-utils/default.nix b/pkgs/tools/misc/s6-portable-utils/default.nix index 0ca0774989de..70b36222cca9 100644 --- a/pkgs/tools/misc/s6-portable-utils/default.nix +++ b/pkgs/tools/misc/s6-portable-utils/default.nix @@ -2,7 +2,7 @@ let - version = "2.0.5.2"; + version = "2.0.5.3"; in stdenv.mkDerivation rec { @@ -10,7 +10,7 @@ in stdenv.mkDerivation rec { src = fetchurl { url = "http://www.skarnet.org/software/s6-portable-utils/${name}.tar.gz"; - sha256 = "0d5dvqz61abr4m2n10by8hccvw51jdvyckvpbbq0c57viri54jzm"; + sha256 = "029fg9c37vwh9yagd69h8r192nrx4mfva8dwgpm1gxkdssrh3gi7"; }; dontDisableStatic = true; @@ -20,7 +20,8 @@ in stdenv.mkDerivation rec { "--with-include=${skalibs}/include" "--with-lib=${skalibs}/lib" "--with-dynlib=${skalibs}/lib" - ]; + ] + ++ (stdenv.lib.optional stdenv.isDarwin "--target=${stdenv.system}"); meta = { homepage = http://www.skarnet.org/software/s6-portable-utils/; diff --git a/pkgs/tools/networking/i2pd/default.nix b/pkgs/tools/networking/i2pd/default.nix index 454d3b418187..3fd4e37c9080 100644 --- a/pkgs/tools/networking/i2pd/default.nix +++ b/pkgs/tools/networking/i2pd/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { name = pname + "-" + version; pname = "i2pd"; - version = "2.5.1"; + version = "2.6.0"; src = fetchFromGitHub { owner = "PurpleI2P"; repo = pname; rev = version; - sha256 = "17qf2pbxf05iw2gzyc5bc2zg3a4ns6zf1pm8q9j7nqhchh1rv4cm"; + sha256 = "0siqg2gf1w85c3j7w6bzjyyjzlxr8z57jk0675gn8yz0xvpkrdys"; }; buildInputs = [ boost zlib openssl ]; diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix index 11ea1de89cf4..79c9613ee4c9 100644 --- a/pkgs/tools/networking/openssh/default.nix +++ b/pkgs/tools/networking/openssh/default.nix @@ -41,7 +41,9 @@ stdenv.mkDerivation rec { ''; patches = - [ ./locale_archive.patch ] + [ ./locale_archive.patch + ./fix-host-key-algorithms-plus.patch + ] ++ optional withGssapiPatches gssapiSrc; buildInputs = [ zlib openssl libedit pkgconfig pam ] diff --git a/pkgs/tools/networking/openssh/fix-host-key-algorithms-plus.patch b/pkgs/tools/networking/openssh/fix-host-key-algorithms-plus.patch new file mode 100644 index 000000000000..02846e9bdad2 --- /dev/null +++ b/pkgs/tools/networking/openssh/fix-host-key-algorithms-plus.patch @@ -0,0 +1,52 @@ +Specifying "HostKeyAlgorithms +ssh-dds" does not work properly because +setting any value for HostKeyAlgorithms causes the known host keys to +be ignored for the purpose of determining the priority of algorithms. +This was fixed upstream for HostKeyAlgorithms in sshd_config, but not +in ssh_config. The fix is to apply order_hostkeyalgs() if the user +specifies a HostKeyAlgorithms starting with "+". + +diff -ru -x '*~' openssh-7.2p2-orig/sshconnect2.c openssh-7.2p2/sshconnect2.c +--- openssh-7.2p2-orig/sshconnect2.c 2016-03-09 19:04:48.000000000 +0100 ++++ openssh-7.2p2/sshconnect2.c 2016-04-01 15:39:45.140945902 +0200 +@@ -100,7 +100,7 @@ + } + + static char * +-order_hostkeyalgs(char *host, struct sockaddr *hostaddr, u_short port) ++order_hostkeyalgs(char *host, struct sockaddr *hostaddr, u_short port, char *algs) + { + char *oavail, *avail, *first, *last, *alg, *hostname, *ret; + size_t maxlen; +@@ -116,7 +116,7 @@ + for (i = 0; i < options.num_system_hostfiles; i++) + load_hostkeys(hostkeys, hostname, options.system_hostfiles[i]); + +- oavail = avail = xstrdup(KEX_DEFAULT_PK_ALG); ++ oavail = avail = xstrdup(algs); + maxlen = strlen(avail) + 1; + first = xmalloc(maxlen); + last = xmalloc(maxlen); +@@ -181,18 +181,21 @@ + myproposal[PROPOSAL_MAC_ALGS_CTOS] = + myproposal[PROPOSAL_MAC_ALGS_STOC] = options.macs; + if (options.hostkeyalgorithms != NULL) { ++ int append = options.hostkeyalgorithms[0] == '+'; + if (kex_assemble_names(KEX_DEFAULT_PK_ALG, + &options.hostkeyalgorithms) != 0) + fatal("%s: kex_assemble_namelist", __func__); + myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS] = +- compat_pkalg_proposal(options.hostkeyalgorithms); ++ compat_pkalg_proposal(append ++ ? order_hostkeyalgs(host, hostaddr, port, options.hostkeyalgorithms) ++ : options.hostkeyalgorithms); + } else { + /* Enforce default */ + options.hostkeyalgorithms = xstrdup(KEX_DEFAULT_PK_ALG); + /* Prefer algorithms that we already have keys for */ + myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS] = + compat_pkalg_proposal( +- order_hostkeyalgs(host, hostaddr, port)); ++ order_hostkeyalgs(host, hostaddr, port, KEX_DEFAULT_PK_ALG)); + } + + if (options.rekey_limit || options.rekey_interval) diff --git a/pkgs/tools/networking/s6-dns/default.nix b/pkgs/tools/networking/s6-dns/default.nix index 233425dc3a11..8715cb0c45cc 100644 --- a/pkgs/tools/networking/s6-dns/default.nix +++ b/pkgs/tools/networking/s6-dns/default.nix @@ -2,7 +2,7 @@ let - version = "2.0.0.4"; + version = "2.0.0.7"; in stdenv.mkDerivation rec { @@ -11,7 +11,7 @@ in stdenv.mkDerivation rec { src = fetchgit { url = "git://git.skarnet.org/s6-dns"; rev = "refs/tags/v${version}"; - sha256 = "0h2s0r0g0qi74aw04c0jap09yjzzprwc6ihknx8bqgbzv08yv03w"; + sha256 = "033pijilkvj3vw94aqrvavr4mqafm7kcc8ql8lc3ma6lqkx4xyak"; }; dontDisableStatic = true; @@ -25,7 +25,9 @@ in stdenv.mkDerivation rec { "--with-include=${skalibs}/include" "--with-lib=${skalibs}/lib" "--with-dynlib=${skalibs}/lib" - ] ++ (if stdenv.isDarwin then [ "--disable-shared" ] else [ "--enable-shared" ]); + ] + ++ (if stdenv.isDarwin then [ "--disable-shared" ] else [ "--enable-shared" ]) + ++ (stdenv.lib.optional stdenv.isDarwin "--target=${stdenv.system}"); meta = { homepage = http://www.skarnet.org/software/s6-dns/; diff --git a/pkgs/tools/networking/s6-networking/default.nix b/pkgs/tools/networking/s6-networking/default.nix index 5f24592f030e..603b2f61551b 100644 --- a/pkgs/tools/networking/s6-networking/default.nix +++ b/pkgs/tools/networking/s6-networking/default.nix @@ -2,7 +2,7 @@ let - version = "2.1.0.1"; + version = "2.1.0.4"; in stdenv.mkDerivation rec { @@ -11,7 +11,7 @@ in stdenv.mkDerivation rec { src = fetchgit { url = "git://git.skarnet.org/s6-networking"; rev = "refs/tags/v${version}"; - sha256 = "0jdjxwqrp7lzdb85sp1gdkm7s478wyl7wqxb3jfxflgh2bgdgvy2"; + sha256 = "1mvsiiv2zk1mbhway5q593xzjzd3lyzdqg85wrpvv791mv0kk8m9"; }; dontDisableStatic = true; @@ -32,7 +32,8 @@ in stdenv.mkDerivation rec { "--with-dynlib=${execline}/lib" "--with-dynlib=${s6}/lib" "--with-dynlib=${s6Dns}/lib" - ]; + ] + ++ (stdenv.lib.optional stdenv.isDarwin "--target=${stdenv.system}"); meta = { homepage = http://www.skarnet.org/software/s6-networking/; diff --git a/pkgs/tools/security/gnupg/20.nix b/pkgs/tools/security/gnupg/20.nix index 117fc41c1abe..65d43ec9dbee 100644 --- a/pkgs/tools/security/gnupg/20.nix +++ b/pkgs/tools/security/gnupg/20.nix @@ -12,11 +12,11 @@ with stdenv.lib; assert x11Support -> pinentry != null; stdenv.mkDerivation rec { - name = "gnupg-2.0.29"; + name = "gnupg-2.0.30"; src = fetchurl { url = "mirror://gnupg/gnupg/${name}.tar.bz2"; - sha256 = "1jaakn0mi6pi2b3g3imxj3qzxw2zg0ifxs30baq2b157dcw6pvb8"; + sha256 = "0wax4cy14hh0h7kg9hj0hjn9424b71z8lrrc5kbsasrn9xd7hag3"; }; buildInputs diff --git a/pkgs/tools/security/gnupg/gpgkey2ssh-20.patch b/pkgs/tools/security/gnupg/gpgkey2ssh-20.patch index b536a4fe50e3..4bfdc13ef598 100644 --- a/pkgs/tools/security/gnupg/gpgkey2ssh-20.patch +++ b/pkgs/tools/security/gnupg/gpgkey2ssh-20.patch @@ -2,7 +2,7 @@ diff --git a/tools/gpgkey2ssh.c b/tools/gpgkey2ssh.c index 903fb5b..d5611dc 100644 --- a/tools/gpgkey2ssh.c +++ b/tools/gpgkey2ssh.c -@@ -266,7 +266,7 @@ main (int argc, char **argv) +@@ -268,7 +268,7 @@ main (int argc, char **argv) keyid = argv[1]; ret = asprintf (&command, diff --git a/pkgs/tools/system/s6-rc/default.nix b/pkgs/tools/system/s6-rc/default.nix index a3b244d875b6..35763e8212e3 100644 --- a/pkgs/tools/system/s6-rc/default.nix +++ b/pkgs/tools/system/s6-rc/default.nix @@ -2,7 +2,7 @@ let - version = "0.0.1.0"; + version = "0.0.2.1"; in stdenv.mkDerivation rec { @@ -11,7 +11,7 @@ in stdenv.mkDerivation rec { src = fetchgit { url = "git://git.skarnet.org/s6-rc"; rev = "refs/tags/v${version}"; - sha256 = "02ppsda8pg7mph3r7lrh7dhi6ip99bgghsl3lf902cg9i4n50q6q"; + sha256 = "0x9ghi1f7zqphzlzyz67z7n7mnnyxf1hghi2wa2f8cdl70nfdi2f"; }; dontDisableStatic = true; @@ -29,7 +29,9 @@ in stdenv.mkDerivation rec { "--with-dynlib=${skalibs}/lib" "--with-dynlib=${execline}/lib" "--with-dynlib=${s6}/lib" - ] ++ [ (if stdenv.isDarwin then "--disable-shared" else "--enable-shared") ]; + ] + ++ (if stdenv.isDarwin then [ "--disable-shared" ] else [ "--enable-shared" ]) + ++ (stdenv.lib.optional stdenv.isDarwin "--target=${stdenv.system}"); meta = { homepage = http://skarnet.org/software/s6-rc/; diff --git a/pkgs/tools/system/s6/default.nix b/pkgs/tools/system/s6/default.nix index 5e29c20339cf..e1e30de5799f 100644 --- a/pkgs/tools/system/s6/default.nix +++ b/pkgs/tools/system/s6/default.nix @@ -2,7 +2,7 @@ let - version = "2.2.1.0"; + version = "2.2.4.3"; in stdenv.mkDerivation rec { @@ -11,7 +11,7 @@ in stdenv.mkDerivation rec { src = fetchgit { url = "git://git.skarnet.org/s6"; rev = "refs/tags/v${version}"; - sha256 = "1g8gr3znxj8lyqpwrmgzh47yb64zldrvvvgpp1m4pb37k5k11bj9"; + sha256 = "0j981xslcsra8filaawgwq6daqvxxjs0014lqb7dy3qf7c5pc4l8"; }; dontDisableStatic = true; @@ -26,7 +26,9 @@ in stdenv.mkDerivation rec { "--with-lib=${execline}/lib" "--with-dynlib=${skalibs}/lib" "--with-dynlib=${execline}/lib" - ] ++ [ (if stdenv.isDarwin then "--disable-shared" else "--enable-shared") ]; + ] + ++ (if stdenv.isDarwin then [ "--disable-shared" ] else [ "--enable-shared" ]) + ++ (stdenv.lib.optional stdenv.isDarwin "--target=${stdenv.system}"); preBuild = '' substituteInPlace "src/daemontools-extras/s6-log.c" \ diff --git a/pkgs/tools/virtualization/xe-guest-utilities/default.nix b/pkgs/tools/virtualization/xe-guest-utilities/default.nix new file mode 100644 index 000000000000..9c783023d66f --- /dev/null +++ b/pkgs/tools/virtualization/xe-guest-utilities/default.nix @@ -0,0 +1,75 @@ +{ stdenv, fetchurl, bzip2, lzo, zlib, xz, bash, python, gnutar, gnused, gnugrep, which }: + +stdenv.mkDerivation (rec { + name = "xe-guest-utilities"; + version = "6.2.0"; + meta = { + description = "Citrix XenServer Tools"; + homepage = http://citrix.com/English/ps2/products/product.asp?contentID=683148&ntref=hp_nav_US; + maintainers = with stdenv.lib.maintainers; [ benwbooth ]; + platforms = stdenv.lib.platforms.linux; + license = [ stdenv.lib.licenses.gpl2 stdenv.lib.licenses.lgpl21 ]; + }; + src = fetchurl { + url = "https://sources.archlinux.org/other/community/xe-guest-utilities/xe-guest-utilities_${version}-1120.tar.gz"; + sha256 = "f9593cd9588188f80253e736f48d8dd94c5b517abb18316085f86acffab48794"; + }; + buildInputs = [ bzip2 gnutar gnused python lzo zlib xz stdenv gnugrep which ]; + patches = [ ./ip-address.patch ]; + postPatch = '' + tar xf "$NIX_BUILD_TOP/$name-$version/xenstore-sources.tar.bz2" + ''; + + buildPhase = '' + export CC=gcc + export CFLAGS='-Wall -Wstrict-prototypes -Wno-unused-local-typedefs -Wno-sizeof-pointer-memaccess' + export PYTHON=python2 + cd "$NIX_BUILD_TOP/$name-$version/uclibc-sources" + for file in Config.mk tools/libxc/Makefile tools/misc/Makefile tools/misc/lomount/Makefile tools/xenstore/Makefile; do + substituteInPlace "$file" --replace -Werror "" + done + make -C tools/include + make -C tools/libxc + make -C tools/xenstore + ''; + + installPhase = '' + export CFLAGS+='-Wall -Wstrict-prototypes -Wno-unused-local-typedefs -Wno-sizeof-pointer-memaccess' + if [[ $CARCH == x86_64 ]]; then + export LIBLEAFDIR_x86_64=lib + fi + for f in include libxc xenstore; do + [[ ! -d $NIX_BUILD_TOP/$name-$version/uclibc-sources/tools/$f ]] && continue + make -C "$NIX_BUILD_TOP/$name-$version/uclibc-sources/tools/$f" DESTDIR="$out" BINDIR=/bin SBINDIR=/bin INCLUDEDIR=/include LIBDIR=/lib install + done + rm -r "$out"/var + + cd "$NIX_BUILD_TOP/$name-$version" + install -Dm755 xe-update-guest-attrs "$out/bin/xe-update-guest-attrs" + install -Dm755 xe-daemon "$out/bin/xe-daemon" + install -Dm644 xen-vcpu-hotplug.rules "$out/lib/udev/rules.d/10-xen-vcpu-hotplug.rules" + substituteInPlace "$out/bin/xe-daemon" --replace sbin bin + substituteInPlace "$out/bin/xe-daemon" --replace /usr/ "$out/" + substituteInPlace "$out/bin/xe-update-guest-attrs" --replace /usr/ "$out/" + substituteInPlace "$out/bin/xe-update-guest-attrs" --replace 'export PATH=' 'export PATH=$PATH:' + substituteInPlace "$out/lib/udev/rules.d/10-xen-vcpu-hotplug.rules" --replace /bin/sh '${bash}/bin/sh' + + cat <<'EOS' >"$out/bin/xe-linux-distribution" + #!${bash}/bin/bash -eu + . /etc/os-release + if [[ $# -gt 0 ]]; then + mkdir -p "$(dirname "$1")" + exec 1>"$1" + fi + cat <<EOF + os_distro="$ID" + os_majorver="''${VERSION_ID%%.*}" + os_minorver="''${VERSION_ID#*.}" + os_uname="$(uname -r)" + os_name="$PRETTY_NAME" + EOF + EOS + chmod 0755 "$out/bin/xe-linux-distribution" + ''; + +}) diff --git a/pkgs/tools/virtualization/xe-guest-utilities/ip-address.patch b/pkgs/tools/virtualization/xe-guest-utilities/ip-address.patch new file mode 100644 index 000000000000..185f259ef708 --- /dev/null +++ b/pkgs/tools/virtualization/xe-guest-utilities/ip-address.patch @@ -0,0 +1,16 @@ +diff -uNr a/xe-update-guest-attrs b/xe-update-guest-attrs +--- a/xe-update-guest-attrs 2012-09-25 12:45:14.000000000 +0200 ++++ b/xe-update-guest-attrs 2012-11-21 16:46:35.000000000 +0100 +@@ -177,9 +177,9 @@ + # collisions:0 txqueuelen:0 + # RX bytes:3604609 (3.4 MiB) TX bytes:3604609 (3.4 MiB) + +-ifs=`/sbin/ifconfig | sed -n -e 's/^\([a-z0-9]\+\).*/name \1/p' \ +- -e 's/.*inet addr:\('$IPADDR_RE'\) .*/ipv4 \1/p' \ +- -e 's+.*inet6 addr: \('$IPADDR6_RE'\)/.*+ipv6 \1+p' | \ ++ifs=`ip addr show | sed -n -e 's/^[[:digit:]]*: \([a-z0-9]*\): .*/name \1 /gp;' \ ++ -e 's/^[[:space:]]\{4\}inet \('${IPADDR_RE}'\)\/.*/ipv4 \1 /gp;' \ ++ -e 's/^[[:space:]]\{4\}inet6 \('${IPADDR6_RE}'\)\/.*/ipv6 \1 /gp;' | \ + while read tag value; do + case "${tag}" in + name) \ No newline at end of file diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 26265fd4ebb4..5dcb2781de8d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -325,6 +325,8 @@ in separateDebugInfo = makeSetupHook { } ../build-support/setup-hooks/separate-debug-info.sh; + useOldCXXAbi = makeSetupHook { } ../build-support/setup-hooks/use-old-cxx-abi.sh; + ### TOOLS @@ -1061,6 +1063,7 @@ in mozc = callPackage ../tools/inputmethods/ibus-engines/ibus-mozc { inherit (pythonPackages) gyp; + protobuf = protobuf.override { stdenv = clangStdenv; }; }; table = callPackage ../tools/inputmethods/ibus-engines/ibus-table { @@ -1181,9 +1184,7 @@ in darkstat = callPackage ../tools/networking/darkstat { }; - davfs2 = callPackage ../tools/filesystems/davfs2 { - neon = neon_0_29; - }; + davfs2 = callPackage ../tools/filesystems/davfs2 { }; dbench = callPackage ../development/tools/misc/dbench { }; @@ -1422,6 +1423,7 @@ in mozc = callPackage ../tools/inputmethods/fcitx-engines/fcitx-mozc { inherit (pythonPackages) gyp; + protobuf = protobuf.override { stdenv = clangStdenv; }; }; table-other = callPackage ../tools/inputmethods/fcitx-engines/fcitx-table-other { }; @@ -1744,6 +1746,8 @@ in json_c = json-c-0-11; # won't configure with 0.12; others are vulnerable }; + grive2 = callPackage ../tools/filesystems/grive2 { }; + groff = callPackage ../tools/text/groff { ghostscript = null; }; @@ -2933,6 +2937,11 @@ in qt = qt4; }; + qgifer = callPackage ../applications/video/qgifer { + giflib = giflib_4_1; + qt = qt4; + }; + qhull = callPackage ../development/libraries/qhull { }; qjoypad = callPackage ../tools/misc/qjoypad { }; @@ -3772,6 +3781,8 @@ in xdummy = callPackage ../tools/misc/xdummy { }; + xe-guest-utilities = callPackage ../tools/virtualization/xe-guest-utilities { }; + xflux = callPackage ../tools/misc/xflux { }; xfsprogs = callPackage ../tools/filesystems/xfsprogs { }; @@ -3905,14 +3916,7 @@ in ### DEVELOPMENT / COMPILERS - abc = - abcPatchable []; - - abcPatchable = patches : - callPackage ../development/compilers/abc/default.nix { - inherit patches; - javaCup = callPackage ../development/libraries/java/cup { }; - }; + abc = callPackage ../development/compilers/abc/default.nix { }; aldor = callPackage ../development/compilers/aldor { }; @@ -5190,10 +5194,21 @@ in erlangR16 = callPackage ../development/interpreters/erlang/R16.nix { }; erlangR16_odbc = callPackage ../development/interpreters/erlang/R16.nix { odbcSupport = true; }; - erlangR17 = callPackage ../development/interpreters/erlang/R17.nix { }; - erlangR17_odbc = callPackage ../development/interpreters/erlang/R17.nix { odbcSupport = true; }; - erlangR17_javac = callPackage ../development/interpreters/erlang/R17.nix { javacSupport = true; }; - erlangR17_odbc_javac = callPackage ../development/interpreters/erlang/R17.nix { javacSupport = true; odbcSupport = true; }; + erlangR17 = callPackage ../development/interpreters/erlang/R17.nix { + inherit (darwin.apple_sdk.frameworks) Carbon Cocoa; + }; + erlangR17_odbc = callPackage ../development/interpreters/erlang/R17.nix { + inherit (darwin.apple_sdk.frameworks) Carbon Cocoa; + odbcSupport = true; + }; + erlangR17_javac = callPackage ../development/interpreters/erlang/R17.nix { + inherit (darwin.apple_sdk.frameworks) Carbon Cocoa; + javacSupport = true; + }; + erlangR17_odbc_javac = callPackage ../development/interpreters/erlang/R17.nix { + inherit (darwin.apple_sdk.frameworks) Carbon Cocoa; + javacSupport = true; odbcSupport = true; + }; erlangR18 = callPackage ../development/interpreters/erlang/R18.nix { inherit (darwin.apple_sdk.frameworks) Carbon Cocoa; }; @@ -8864,6 +8879,10 @@ in gnutls = gnutls; }); + v8_3_14 = callPackage ../development/libraries/v8/3.14.nix { + inherit (pythonPackages) gyp; + }; + v8_3_16_14 = callPackage ../development/libraries/v8/3.16.14.nix { inherit (pythonPackages) gyp; }; @@ -9579,6 +9598,8 @@ in meteor = callPackage ../servers/meteor/default.nix { }; + mfi = callPackage ../servers/mfi { }; + # Backwards compatibility. mod_dnssd = pkgs.apacheHttpdPackages.mod_dnssd; mod_evasive = pkgs.apacheHttpdPackages.mod_evasive; @@ -9696,6 +9717,8 @@ in sasl = cyrus_sasl; }; + mongodb248 = callPackage ../servers/nosql/mongodb/2.4.8.nix { }; + riak = callPackage ../servers/nosql/riak/2.1.1.nix { }; influxdb = (callPackage ../servers/nosql/influxdb { }).bin // { outputs = [ "bin" ]; }; @@ -13591,7 +13614,7 @@ in skype = callPackage_i686 ../applications/networking/instant-messengers/skype { qt4 = pkgsi686Linux.qt4.override { - stdenv = clangStdenv; + stdenv = pkgsi686Linux.clangStdenv; }; }; @@ -13869,6 +13892,8 @@ in timbreid = callPackage ../applications/audio/pd-plugins/timbreid { }; + timewarrior = callPackage ../applications/misc/timewarrior { }; + timidity = callPackage ../tools/misc/timidity { }; tint2 = callPackage ../applications/misc/tint2 { }; @@ -14042,6 +14067,7 @@ in }; primus = callPackage ../tools/X11/primus { + stdenv_i686 = pkgsi686Linux.stdenv; primusLib_i686 = if system == "x86_64-linux" then pkgsi686Linux.primusLib else null; @@ -15436,12 +15462,10 @@ in liblbfgs = callPackage ../development/libraries/science/math/liblbfgs { }; openblas = callPackage ../development/libraries/science/math/openblas { }; - openblas_2_14 = callPackage ../development/libraries/science/math/openblas/0.2.14.nix { }; # A version of OpenBLAS using 32-bit integers on all platforms for compatibility with # standard BLAS and LAPACK. openblasCompat = openblas.override { blas64 = false; }; - openblasCompat_2_14 = openblas_2_14.override { blas64 = false; }; openlibm = callPackage ../development/libraries/science/math/openlibm {}; @@ -15462,6 +15486,15 @@ in ### SCIENCE/MOLECULAR-DYNAMICS + lammps = callPackage ../applications/science/molecular-dynamics/lammps { + fftw = fftw; + }; + + lammps-mpi = appendToName "mpi" (lammps.override { + mpiSupport = true; + mpi = openmpi; + }); + gromacs = callPackage ../applications/science/molecular-dynamics/gromacs { singlePrec = true; mpiEnabled = false; @@ -15713,7 +15746,7 @@ in gtkwave = callPackage ../applications/science/electronics/gtkwave { }; kicad = callPackage ../applications/science/electronics/kicad { - wxGTK = wxGTK29; + wxGTK = wxGTK30; }; ngspice = callPackage ../applications/science/electronics/ngspice { }; diff --git a/pkgs/top-level/go-packages.nix b/pkgs/top-level/go-packages.nix index 5735aac8ad1a..2639cc4ac7ac 100644 --- a/pkgs/top-level/go-packages.nix +++ b/pkgs/top-level/go-packages.nix @@ -3832,12 +3832,12 @@ let subPackages = [ "./" ]; }; - godep = buildFromGitHub { - rev = "5598a9815350896a2cdf9f4f1d0a3003ab9677fb"; - version = "2015-10-15"; + godep = buildFromGitHub rec { + version = "60"; + rev = "v${version}"; owner = "tools"; repo = "godep"; - sha256 = "0zc1ah5cvaqa3zw0ska89a40x445vwl1ixz8v42xi3zicx16ibwz"; + sha256 = "1v05185ikfcb3sz9ygcwm9x8la77i27ml1bg9fs6vvahjzyr0rif"; }; color = buildFromGitHub { diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 5568d45e7cfb..3a257dab37c9 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -13331,7 +13331,7 @@ let self = _self // overrides; _self = with self; { }; propagatedBuildInputs = [ LWP ConfigGeneral NetIP TermReadKey Perl5lib - CryptSSLeay CSSDOM ]; + CryptSSLeay CSSDOM LWPProtocolHttps ]; meta = { homepage = http://validator.w3.org/checklink; description = "A tool to check links and anchors in Web pages or full Web sites"; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c75c433cd37a..24279c41088d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -785,7 +785,7 @@ in modules // { url = "http://devel.ag-projects.com/repositories/${pname}"; rev = "release-${version}"; sha256 = "19dszv44py8qrq0jcjdycxpa7z2p8hi3ijq9gnqdsazbbjzf9svn"; - }; + }; buildInputs = with self; [ zope_interface ]; }; @@ -1572,14 +1572,17 @@ in modules // { }; batinfo = buildPythonPackage rec { - version = "0.2"; + version = "0.3"; name = "batinfo-${version}"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/b/batinfo/${name}.tar.gz"; - sha256 = "1kmrdr1c2ivpqgp2csln7vbanga3sh3nvaqmgbsg96z6fbg7f7w8"; + sha256 = "0gyzkxzvj5l6qrw706bnm3cckqzzzbrjr7jkxc087d7775a73499"; }; + # No tests included + doCheck = false; + meta = { homepage = https://github.com/nicolargo/batinfo; description = "A simple Python lib to retrieve battery information"; @@ -1667,27 +1670,32 @@ in modules // { }); beaker = buildPythonPackage rec { - name = "Beaker-1.7.0"; - - disabled = isPy3k; + name = "Beaker-${version}"; + version = "1.8.0"; - src = pkgs.fetchurl { - url = "http://pypi.python.org/packages/source/B/Beaker/${name}.tar.gz"; - sha256 = "0vv4y22b3ly1212n9nnhgvc8yz32adlfl7w7s1wj0i5srpjcgvlq"; + # The pypy release do not contains the tests + src = pkgs.fetchFromGitHub { + owner = "bbangert"; + repo = "beaker"; + rev = "${version}"; + sha256 = "17yfr7a307n8rdl09was4j60xqk2s0hk0hywdkigrpj4qnw0is7g"; }; buildInputs = - [ self.sqlalchemy7 - self.pycryptopp - self.nose + [ self.nose self.mock self.webtest ]; - - # http://hydra.nixos.org/build/4511591/log/raw - doCheck = false; + propagatedBuildInputs = [ + self.sqlalchemy + self.pycrypto + ] ++ optionals (isPy26 || isPy27) [ + self.funcsigs + self.pycryptopp + ]; meta = { + description = "A Session and Caching library with WSGI Middleware"; maintainers = with maintainers; [ garbas iElectric ]; platforms = platforms.all; }; @@ -1874,13 +1882,16 @@ in modules // { colorlog = buildPythonPackage rec { name = "colorlog-${version}"; - version = "2.6.0"; + version = "2.6.1"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/c/colorlog/${name}.tar.gz"; - sha256 = "1s8z9zr4r18igr4rri71nba01arnpppifrkaxhi2xb51500sw0qg"; + sha256 = "0djv6ky1yk28s1l093w8plg19kp88q4nyrm1vfxyq0s9j4pix29l"; }; + # No tests included + doCheck = false; + meta = { description = "Log formatting with colors"; homepage = https://github.com/borntyping/python-colorlog; @@ -3317,23 +3328,19 @@ in modules // { coilmq = buildPythonPackage (rec { - name = "coilmq-0.6.1"; + name = "CoilMQ-${version}"; + version = "1.0.0"; src = pkgs.fetchurl { - url = "http://pypi.python.org/packages/source/C/CoilMQ/CoilMQ-0.6.1.tar.gz"; - sha256 = "9755733bdae33a9d87630232d166a7da2382f68c2cffb3bb81503806e8d310cb"; + url = "http://pypi.python.org/packages/source/C/CoilMQ/${name}.tar.gz"; + sha256 = "0wwa6fsqw1mxsryvgp0yrdjil8axyj0kslzi7lr45cnhgp5ab375"; }; - propagatedBuildInputs = with self; [ self.stompclient ]; + propagatedBuildInputs = with self; [ stompclient pythondaemon redis pid]; - preConfigure = '' - sed -i '/distribute/d' setup.py - ''; - - buildInputs = with self; [ self.coverage self.sqlalchemy7 ]; + buildInputs = with self; [ pytest six click coverage sqlalchemy ]; - # ValueError: Could not parse auth file: - # /tmp/nix-build-.../CoilMQ-0.6.1/coilmq/tests/resources/auth.ini + # The teste data is not included in the distribution doCheck = false; meta = { @@ -4908,6 +4915,10 @@ in modules // { sha256 = "0kvjlkp96qzh3j31szpjlzqbp02brixh4j4clnpw80b0hspq5yq3"; }; + # Not supported. + # See instead https://pypi.python.org/pypi/dnspython3/1.12.0 + disabled = isPy3k; + meta = { description = "A DNS toolkit for Python 3.x"; homepage = http://www.dnspython.org; @@ -5375,7 +5386,7 @@ in modules // { url = "http://devel.ag-projects.com/repositories/${pname}"; rev = "release-${version}"; sha256 = "1zxhpq8i4jwsk7wmfncqfm211hqikj3hp38cfv509924bi76wak8"; - }; + }; propagatedBuildInputs = with self; [ greenlet ]; @@ -6104,6 +6115,23 @@ in modules // { }; }; + imagesize = buildPythonPackage rec { + name = "imagesize-${version}"; + version = "0.7.0"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/i/imagesize/${name}.tar.gz"; + sha256 = "0msgz4ncp2nb5nbsxnf8kvxsl6nhwvc3b46ik097fvznl3y10gdv"; + }; + + meta = { + description = "Getting image size from png/jpeg/jpeg2000/gif file"; + homepage = https://github.com/shibukawa/imagesize_py; + license = with licenses; [ mit ]; + }; + + }; + imread = buildPythonPackage rec { name = "python-imread-${version}"; version = "0.5.1"; @@ -8907,11 +8935,11 @@ in modules // { flake8 = buildPythonPackage rec { name = "flake8-${version}"; - version = "2.5.1"; + version = "2.5.4"; src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/f/flake8/${name}.tar.gz"; - sha256 = "448aed48b0671fe6062f47b98c3081f3a4b36fbe99ddb8ac2a3be6e6cb135603"; + sha256 = "0bs9cz4fr99r2rwig1b8jwaadl1nan7kgpdzqwj0bwbckwbmh7nc"; }; buildInputs = with self; [ nose mock ]; @@ -11291,7 +11319,16 @@ in modules // { sha256 = "1li7q04ljrvwharw4fblcbfhvk6s0l3lnv8yqb4c22lcgbkiqlps"; }; - buildInputs = [ pkgs.pkgconfig pkgs.fuse pkgs.attr ]; + buildInputs = with self; [ pytest pkgs.pkgconfig pkgs.fuse pkgs.attr pkgs.which ]; + + propagatedBuildInputs = with self; [ contextlib2 ]; + + checkPhase = '' + py.test + ''; + + # FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin' + doCheck = false; meta = { description = "Python bindings for the low-level FUSE API"; @@ -11628,11 +11665,11 @@ in modules // { mccabe = buildPythonPackage (rec { - name = "mccabe-0.3"; + name = "mccabe-0.4.0"; src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/m/mccabe/${name}.tar.gz"; - sha256 = "3d8ca9bf65c5014f469180544d1dd5bb5b9df709aad6304f9c2e4370ae0a7b7c"; + sha256 = "0yr08a36h8lqlif10l4xcikbbig7q8f41gqywir7rrvnv3mi4aws"; }; # See https://github.com/flintwork/mccabe/issues/31 @@ -11644,6 +11681,8 @@ in modules // { }}" test_mccabe.py ''; + buildInputs = with self; [ pytestrunner pytest ]; + meta = { description = "McCabe checker, plugin for flake8"; homepage = "https://github.com/flintwork/mccabe"; @@ -12205,8 +12244,8 @@ in modules // { url = "http://devel.ag-projects.com/repositories/${pname}"; rev = "release-${version}"; sha256 = "0jqvvssbwzq7bwqn3wrjfnpj8zb558mynn2visnlrcma6b57yhwd"; - }; - + }; + propagatedBuildInputs = with self; [ eventlib application gnutls ]; }; @@ -12790,12 +12829,12 @@ in modules // { }); nibabel = buildPythonPackage rec { - version = "2.0.1"; + version = "2.0.2"; name = "nibabel-${version}"; src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/n/nibabel/${name}.tar.gz"; - sha256 = "e559bcb40ae395c7f75c51079f815a13a94cd8a035a47315fc9fba0d2ae2ecaf"; + sha256 = "0k8mv5zmwb6vc8kwrydl3pp0pnw937rf5mz10figkxczrw6dkk7h"; }; propagatedBuildInputs = with self; [ @@ -12804,17 +12843,10 @@ in modules // { modules.sqlite3 ]; - preCheck = '' - # Test does not work on Py3k because it calls 'python'. - # https://github.com/nipy/nibabel/issues/341 - rm nisext/tests/test_testers.py - # Test fails with numpy 1.10.1: ERROR: nibabel.tests.test_proxy_api.TestPARRECAPI.test_proxy_slicing - # See https://github.com/nipy/nibabel/pull/358 - # and https://github.com/numpy/numpy/issues/6491 - rm nibabel/tests/test_proxy_api.py - # https://github.com/nipy/nibabel/issues/366 - rm nisext/tests/test_doctest_markup.py - ''; + # Failing tests + # nibabel.tests.test_minc1.test_old_namespace + # nisext.tests.test_testers.test_back_tick + doCheck = false; meta = { homepage = http://nipy.org/nibabel/; @@ -13213,10 +13245,10 @@ in modules // { buildNumpyPackage = callPackage ../development/python-modules/numpy.nix { gfortran = pkgs.gfortran; - blas = pkgs.openblasCompat_2_14; + blas = pkgs.openblasCompat; }; - numpy = self.numpy_1_10; + numpy = self.numpy_1_11; numpy_1_10 = self.buildNumpyPackage rec { version = "1.10.4"; @@ -14912,79 +14944,6 @@ in modules // { pandas = self.pandas_18; - pandas_17 = let - inherit (pkgs.stdenv.lib) optional optionalString; - inherit (pkgs.stdenv) isDarwin; - in buildPythonPackage rec { - name = "pandas-${version}"; - version = "0.17.1"; - - src = pkgs.fetchurl { - url = "https://pypi.python.org/packages/source/p/pandas/${name}.tar.gz"; - sha256 = "cfd7214a7223703fe6999fbe34837749540efee1c985e6aee9933f30e3f72837"; - }; - - buildInputs = with self; [ nose ] ++ optional isDarwin pkgs.libcxx; - propagatedBuildInputs = with self; [ - dateutil - scipy_0_17 - numexpr - pytz - xlrd - bottleneck - sqlalchemy - lxml - html5lib - modules.sqlite3 - beautifulsoup4 - ] ++ optional isDarwin pkgs.darwin.locale; # provides the locale command - - # For OSX, we need to add a dependency on libcxx, which provides - # `complex.h` and other libraries that pandas depends on to build. - patchPhase = optionalString isDarwin '' - cpp_sdk="${pkgs.libcxx}/include/c++/v1"; - echo "Adding $cpp_sdk to the setup.py common_include variable" - substituteInPlace setup.py \ - --replace "['pandas/src/klib', 'pandas/src']" \ - "['pandas/src/klib', 'pandas/src', '$cpp_sdk']" - - # disable clipboard tests since pbcopy/pbpaste are not open source - substituteInPlace pandas/io/tests/test_clipboard.py \ - --replace pandas.util.clipboard no_such_module \ - --replace OSError ImportError - ''; - - # The flag `-A 'not network'` will disable tests that use internet. - # The `-e` flag disables a few problematic tests. - # https://github.com/pydata/pandas/issues/11169 - # https://github.com/pydata/pandas/issues/11287 - # The test_sql checks fail specifically on python 3.5; see here: - # https://github.com/pydata/pandas/issues/11112 - checkPhase = let - testsToSkip = ["test_data" "test_excel" "test_html" "test_json" - "test_frequencies" "test_frame" - "test_read_clipboard_infer_excel" - "test_interp_alt_scipy" "test_nanops" "test_stats"] ++ - optional isPy35 "test_sql"; - in '' - runHook preCheck - # The flag `-A 'not network'` will disable tests that use internet. - # The `-e` flag disables a few problematic tests. - ${python.executable} setup.py nosetests -A 'not slow and not network' --stop \ - -e '${concatStringsSep "|" testsToSkip}' --verbosity=3 - - runHook postCheck - ''; - - meta = { - homepage = "http://pandas.pydata.org/"; - description = "Python Data Analysis Library"; - license = licenses.bsd3; - maintainers = with maintainers; [ raskin fridh ]; - platforms = platforms.unix; - }; - }; - pandas_18 = let inherit (pkgs.stdenv.lib) optional optionalString; inherit (pkgs.stdenv) isDarwin; @@ -15033,18 +14992,17 @@ in modules // { # The flag `-A 'not network'` will disable tests that use internet. # The `-e` flag disables a few problematic tests. - # https://github.com/pydata/pandas/issues/11169 - # https://github.com/pydata/pandas/issues/11287 - # The test_sql checks fail specifically on python 3.5; see here: - # https://github.com/pydata/pandas/issues/11112 + + # Disable two tests that are broken since numpy 1.11. Fixed upstream. + checkPhase = let - testsToSkip = []; + testsToSkip = [ "test_range_slice_day" "test_range_slice_seconds" ]; in '' runHook preCheck # The flag `-A 'not network'` will disable tests that use internet. # The `-e` flag disables a few problematic tests. - ${python.executable} setup.py nosetests -A 'not slow and not network' \ - --verbosity=3 + ${python.executable} setup.py nosetests -A 'not slow and not network' --stop \ + -e '${concatStringsSep "|" testsToSkip}' --verbosity=3 runHook postCheck ''; @@ -16721,6 +16679,30 @@ in modules // { }; }; + pydot_ng = buildPythonPackage rec { + name = "pydot_ng-1.0.0"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/pydot-ng/${name}.tar.gz"; + sha256 = "0h8k8wlzvnb40v4js7afgfyhp3wasmb1kg4gr6z7ck63iv8fq864"; + }; + + buildInputs = [ self.pytest self.unittest2 ]; + propagatedBuildInputs = [ pkgs.graphviz self.pyparsing ]; + + checkPhase = '' + mkdir test/my_tests + py.test test + ''; + + meta = { + homepage = "https://pypi.python.org/pypi/pydot-ng"; + description = "Python 3-compatible update of pydot, a Python interface to Graphviz's Dot"; + license = licenses.mit; + maintainers = [ maintainers.bcdarwin ]; + }; + }; + pyelasticsearch = buildPythonPackage (rec { name = "pyelasticsearch-1.4"; @@ -16953,12 +16935,12 @@ in modules // { }; pygments = buildPythonPackage rec { - version = "2.1"; + version = "2.1.3"; name = "Pygments-${version}"; src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/P/Pygments/${name}.tar.gz"; - sha256 = "0yx4p3w9lw1kw24zr87xnaqxm007mdxgwa5wjpwnrcfpmxgyz80k"; + sha256 = "10axnp2wpjnq9g8wg53fx0c70dfxqrz498jyz8mrdx9a3flwir48"; }; propagatedBuildInputs = with self; [ docutils ]; @@ -17796,6 +17778,9 @@ in modules // { buildInputs = with self; [ ]; + # Not supported. Package is no longer maintained. + disabled = isPy3k; + meta = { description = "Pure-Python PDF toolkit"; homepage = "http://pybrary.net/pyPdf/"; @@ -18160,11 +18145,11 @@ in modules // { pytz = buildPythonPackage rec { name = "pytz-${version}"; - version = "2015.7"; + version = "2016.3"; src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pytz/${name}.tar.gz"; - sha256 = "99266ef30a37e43932deec2b7ca73e83c8dbc3b9ff703ec73eca6b1dae6befea"; + sha256 = "1a3hjclyylc4m1v1dn04b38wm2vl649ijdswpg0d8m8n0lcxlj9l"; }; meta = { @@ -19808,14 +19793,19 @@ in modules // { }; sigal = buildPythonPackage rec { - name = "sigal-0.9.2"; + name = "sigal-1.0.1"; src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/s/sigal/${name}.tar.gz"; - sha256 = "0mk3bzaxn9snx9lc0pj9zvgdgdyhkza6b8z5x91772mlv84sfw6c"; + sha256 = "198g2r8bii6a0p44mlk1wg07jjv95xpfvnqhhxxziqpizc776b34"; }; - propagatedBuildInputs = with self; [ jinja2 markdown pillow pilkit clint click pytest blinker ]; + buildInputs = with self; [ pytest ]; + propagatedBuildInputs = with self; [ jinja2 markdown pillow pilkit clint click blinker ]; + + # No tests included + doCheck = false; + meta = { description = "Yet another simple static gallery generator"; @@ -20105,6 +20095,27 @@ in modules // { }; }; + pid = buildPythonPackage rec { + name = "pid-${version}"; + version = "2.0.1"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/pid/${name}.tar.gz"; + sha256 = "0cylj8p25nwkdfgy4pzai21wyzmrxdqlwwbzqag9gb5qcjfdwk05"; + }; + + buildInputs = with self; [ nose ]; + + # No tests included + doCheck = false; + + meta = { + description = "Pidfile featuring stale detection and file-locking"; + homepage = https://github.com/trbs/pid/; + license = licenses.asl20; + }; + }; + pydns = buildPythonPackage rec { name = "pydns-2.3.6"; disabled = isPy3k; @@ -20118,6 +20129,28 @@ in modules // { }; + pythondaemon = buildPythonPackage rec { + name = "python-daemon-${version}"; + version = "2.1.1"; + + src = pkgs.fetchurl { + url = " https://pypi.python.org/packages/source/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/; + licenses = [ licenses.gpl3Plus licenses.asl20 ]; + }; + }; + sympy = buildPythonPackage rec { name = "sympy-0.7.6.1"; disabled = isPy34 || isPy35 || isPyPy; # some tests fail @@ -20501,14 +20534,16 @@ in modules // { sphinx = buildPythonPackage (rec { - name = "Sphinx-1.3.4"; + name = "Sphinx-1.3.6"; + + # 1.4 is broken + # https://github.com/sphinx-doc/sphinx/issues/2394 src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/S/Sphinx/${name}.tar.gz"; - sha256 = "0mw06q7bzzjylgwh0wnnaxmwc95hx8w95as4vcgpan579brw7b4a"; + sha256 = "12pzlfkjjlwgvsj56k0y809jpx5mgcs9548k1l4kdbr028ifjfqb"; }; - patches = [ ../development/python-modules/sphinx-fix-tests-with-pygments-2.1.patch ]; LC_ALL = "en_US.UTF-8"; checkPhase = '' PYTHON=${python.executable} make test @@ -20541,11 +20576,11 @@ in modules // { }; sphinx_rtd_theme = buildPythonPackage (rec { - name = "sphinx_rtd_theme-0.1.8"; + name = "sphinx_rtd_theme-0.1.9"; src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/s/sphinx_rtd_theme/${name}.tar.gz"; - sha256 = "12mnb7qscr07mllmyyqfpx37778sr21m8663b4fivnk17bnk7xkl"; + sha256 = "18d0r63w7jpdrk4q5qy26n08vdlmnj9sar93akwjphyambw4cf17"; }; postPatch = '' @@ -20751,7 +20786,7 @@ in modules // { src = pkgs.fetchFromGitHub { repo = "sqlalchemy-imageattach"; - owner = "crosspop"; + owner = "crosspop"; rev = "${version}"; sha256 = "1pqf7vk4lsvnhw169cqfyk0iz5f8n45470mdslklpi38z2fax9p0"; }; @@ -22474,12 +22509,12 @@ in modules // { webtest = buildPythonPackage rec { - version = "2.0.15"; + version = "2.0.20"; name = "webtest-${version}"; src = pkgs.fetchurl { - url = "http://pypi.python.org/packages/source/W/WebTest/WebTest-${version}.zip"; - sha256 = "c320adc2cd862ea71ca9e2012e6157eb12f5f8d1632d1541f2eabf984aaa3ecc"; + url = "http://pypi.python.org/packages/source/W/WebTest/WebTest-${version}.tar.gz"; + sha256 = "0bv0qhdjakdsdgj4sk21gnpp8xp8bga4x03p6gjb83ihrsb7n4xv"; }; preConfigure = '' @@ -23935,11 +23970,11 @@ in modules // { pyusb = buildPythonPackage rec { - name = "pyusb-1.0.0b2"; + name = "pyusb-1.0.0rc1"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/pyusb/${name}.tar.gz"; - sha256 = "14ec66077bdcd6f1aa9e892a0a35a54bb3c1ec56aa740ead64349c18f0186d19"; + sha256 = "07cjq11qhngzjd746k7688s6y2x7lpj669fxqfsiy985rg0jsn7j"; }; # Fix the USB backend library lookup @@ -23949,6 +23984,9 @@ in modules // { sed -i -e "s|libname = .*|libname = \"$libusb\"|" usb/backend/libusb1.py ''; + # No tests included + doCheck = false; + meta = { description = "Python USB access module (wraps libusb 1.0)"; # can use other backends homepage = http://pyusb.sourceforge.net/; @@ -23967,6 +24005,10 @@ in modules // { sha256 = "3edf4b83a3fa1a7bd953b452b76542d54285ff6f1145b6e19f9b5438120fa408"; }; + # Requires pyusb 1.0.0b1. + # Likely current pyusb will work but we need to patch the hard requirement then. + broken = true; + propagatedBuildInputs = with self; [ pyusb ]; meta = { @@ -25385,7 +25427,7 @@ in modules // { thrift beautifulsoup4 markdown2 - sqlalchemy7 + sqlalchemy html2text evernote ]; @@ -25625,6 +25667,9 @@ in modules // { sha256 = "7d3e54add7dccdaeb6cc9e61ceaf7b587914cf8ebd6821cfea008acdc1e50d4a"; }; + # Tests fail with 3.x. Furthermore, package is no longer maintained. + disabled = isPy3k; + propagatedBuildInputs = with self; [ pyparsing ]; |