1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-11-22 21:50:55 +00:00

Merge branch 'master' into staging

This commit is contained in:
Vladimír Čunát 2017-05-30 19:39:59 +02:00
commit 983657087b
No known key found for this signature in database
GPG key ID: E747DF1F9575A3AA
65 changed files with 816 additions and 401 deletions

View file

@ -85,7 +85,8 @@
This field is obsolete and will soon disappear—please do not use it. This field is obsolete and will soon disappear—please do not use it.
</para></note> </para></note>
<para> <para>
The exact scheme these fields is a bit ill-defined due to a long and convoluted evolution, but this is slowly being cleaned up. The exact schema these fields follow is a bit ill-defined due to a long and convoluted evolution, but this is slowly being cleaned up.
You can see examples of ones used in practice in <literal>lib.systems.examples</literal>; note how they are not all very consistent.
For now, here are few fields can count on them containing: For now, here are few fields can count on them containing:
</para> </para>
<variablelist> <variablelist>
@ -118,8 +119,27 @@
This is a nix representation of a parsed LLVM target triple with white-listed components. This is a nix representation of a parsed LLVM target triple with white-listed components.
This can be specified directly, or actually parsed from the <varname>config</varname>. This can be specified directly, or actually parsed from the <varname>config</varname>.
[Technically, only one need be specified and the others can be inferred, though the precision of inference may not be very good.] [Technically, only one need be specified and the others can be inferred, though the precision of inference may not be very good.]
See <literal>lib.systems.parse</literal> for the exact representation, along with some <literal>is*</literal>predicates. See <literal>lib.systems.parse</literal> for the exact representation.
These predicates are superior to the ones in <varname>stdenv</varname> as they aren't tied to the build platform (host, as previously discussed, would be a saner default). </para>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>libc</varname></term>
<listitem>
<para>
This is a string identifying the standard C library used.
Valid identifiers include "glibc" for GNU libc, "libsystem" for Darwin's Libsystem, and "uclibc" for µClibc.
It should probably be refactored to use the module system, like <varname>parse</varname>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>is*</varname></term>
<listitem>
<para>
These predicates are defined in <literal>lib.systems.inspect</literal>, and slapped on every platform.
They are superior to the ones in <varname>stdenv</varname> as they force the user to be explicit about which platform they are inspecting.
Please use these instead of those.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -128,7 +148,7 @@
<listitem> <listitem>
<para> <para>
This is, quite frankly, a dumping ground of ad-hoc settings (it's an attribute set). This is, quite frankly, a dumping ground of ad-hoc settings (it's an attribute set).
See <literal>lib.systems.platforms</literal> for examples—there's hopefully one in there that will work verbatim for each platform one is working. See <literal>lib.systems.platforms</literal> for examples—there's hopefully one in there that will work verbatim for each platform that is working.
Please help us triage these flags and give them better homes! Please help us triage these flags and give them better homes!
</para> </para>
</listitem> </listitem>
@ -184,11 +204,27 @@
More information needs to moved from the old wiki, especially <link xlink:href="https://nixos.org/wiki/CrossCompiling" />, for this section. More information needs to moved from the old wiki, especially <link xlink:href="https://nixos.org/wiki/CrossCompiling" />, for this section.
</para></note> </para></note>
<para> <para>
Many sources (manual, wiki, etc) probably mention passing <varname>system</varname>, <varname>platform</varname>, and, optionally, <varname>crossSystem</varname> to nixpkgs: Nixpkgs can be instantiated with <varname>localSystem</varname> alone, in which case there is no cross compiling and everything is built by and for that system,
<literal>import &lt;nixpkgs&gt; { system = ..; platform = ..; crossSystem = ..; }</literal>. or also with <varname>crossSystem</varname>, in which case packages run on the latter, but all building happens on the former.
<varname>system</varname> and <varname>platform</varname> together determine the system on which packages are built, and <varname>crossSystem</varname> specifies the platform on which packages are ultimately intended to run, if it is different. Both parameters take the same schema as the 3 (build, host, and target) platforms defined in the previous section.
This still works, but with more recent changes, one can alternatively pass <varname>localSystem</varname>, containing <varname>system</varname> and <varname>platform</varname>, for symmetry. As mentioned above, <literal>lib.systems.examples</literal> has some platforms which are used as arguments for these parameters in practice.
You can use them programmatically, or on the command line like <command>nix-build &lt;nixpkgs&gt; --arg crossSystem '(import &lt;nixpkgs/lib&gt;).systems.examples.fooBarBaz'</command>.
</para> </para>
<para>
While one is free to pass both parameters in full, there's a lot of logic to fill in missing fields.
As discussed in the previous section, only one of <varname>system</varname>, <varname>config</varname>, and <varname>parsed</varname> is needed to infer the other two.
Additionally, <varname>libc</varname> will be inferred from <varname>parse</varname>.
Finally, <literal>localSystem.system</literal> is also <emphasis>impurely</emphasis> inferred based on the platform evaluation occurs.
This means it is often not necessary to pass <varname>localSystem</varname> at all, as in the command-line example in the previous paragraph.
</para>
<note>
<para>
Many sources (manual, wiki, etc) probably mention passing <varname>system</varname>, <varname>platform</varname>, along with the optional <varname>crossSystem</varname> to nixpkgs:
<literal>import &lt;nixpkgs&gt; { system = ..; platform = ..; crossSystem = ..; }</literal>.
Passing those two instead of <varname>localSystem</varname> is still supported for compatibility, but is discouraged.
Indeed, much of the inference we do for these parameters is motivated by compatibility as much as convenience.
</para>
</note>
<para> <para>
One would think that <varname>localSystem</varname> and <varname>crossSystem</varname> overlap horribly with the three <varname>*Platforms</varname> (<varname>buildPlatform</varname>, <varname>hostPlatform,</varname> and <varname>targetPlatform</varname>; see <varname>stage.nix</varname> or the manual). One would think that <varname>localSystem</varname> and <varname>crossSystem</varname> overlap horribly with the three <varname>*Platforms</varname> (<varname>buildPlatform</varname>, <varname>hostPlatform,</varname> and <varname>targetPlatform</varname>; see <varname>stage.nix</varname> or the manual).
Actually, those identifiers are purposefully not used here to draw a subtle but important distinction: Actually, those identifiers are purposefully not used here to draw a subtle but important distinction:

View file

@ -132,6 +132,7 @@
deepfire = "Kosyrev Serge <_deepfire@feelingofgreen.ru>"; deepfire = "Kosyrev Serge <_deepfire@feelingofgreen.ru>";
demin-dmitriy = "Dmitriy Demin <demindf@gmail.com>"; demin-dmitriy = "Dmitriy Demin <demindf@gmail.com>";
DerGuteMoritz = "Moritz Heidkamp <moritz@twoticketsplease.de>"; DerGuteMoritz = "Moritz Heidkamp <moritz@twoticketsplease.de>";
dermetfan = "Robin Stumm <serverkorken@gmail.com>";
DerTim1 = "Tim Digel <tim.digel@active-group.de>"; DerTim1 = "Tim Digel <tim.digel@active-group.de>";
desiderius = "Didier J. Devroye <didier@devroye.name>"; desiderius = "Didier J. Devroye <didier@devroye.name>";
devhell = "devhell <\"^\"@regexmail.net>"; devhell = "devhell <\"^\"@regexmail.net>";

View file

@ -438,8 +438,13 @@ rec {
=> true => true
isStorePath pkgs.python isStorePath pkgs.python
=> true => true
isStorePath [] || isStorePath 42 || isStorePath {} ||
=> false
*/ */
isStorePath = x: builtins.substring 0 1 (toString x) == "/" && dirOf (builtins.toPath x) == builtins.storeDir; isStorePath = x:
builtins.isString x
&& builtins.substring 0 1 (toString x) == "/"
&& dirOf (builtins.toPath x) == builtins.storeDir;
/* Convert string to int /* Convert string to int
Obviously, it is a bit hacky to use fromJSON that way. Obviously, it is a bit hacky to use fromJSON that way.

View file

@ -5,6 +5,7 @@ rec {
parse = import ./parse.nix; parse = import ./parse.nix;
inspect = import ./inspect.nix; inspect = import ./inspect.nix;
platforms = import ./platforms.nix; platforms = import ./platforms.nix;
examples = import ./examples.nix;
# Elaborate a `localSystem` or `crossSystem` so that it contains everything # Elaborate a `localSystem` or `crossSystem` so that it contains everything
# necessary. # necessary.

130
lib/systems/examples.nix Normal file
View file

@ -0,0 +1,130 @@
# These can be passed to nixpkgs as either the `localSystem` or
# `crossSystem`. They are put here for user convenience, but also used by cross
# tests and linux cross stdenv building, so handle with care!
let platforms = import ./platforms.nix; in
rec {
#
# Linux
#
sheevaplug = rec {
config = "armv5tel-unknown-linux-gnueabi";
bigEndian = false;
arch = "armv5tel";
float = "soft";
withTLS = true;
libc = "glibc";
platform = platforms.sheevaplug;
openssl.system = "linux-generic32";
inherit (platform) gcc;
};
raspberryPi = rec {
config = "armv6l-unknown-linux-gnueabihf";
bigEndian = false;
arch = "armv6l";
float = "hard";
fpu = "vfp";
withTLS = true;
libc = "glibc";
platform = platforms.raspberrypi;
openssl.system = "linux-generic32";
inherit (platform) gcc;
};
armv7l-hf-multiplatform = rec {
config = "arm-unknown-linux-gnueabihf";
bigEndian = false;
arch = "armv7-a";
float = "hard";
fpu = "vfpv3-d16";
withTLS = true;
libc = "glibc";
platform = platforms.armv7l-hf-multiplatform;
openssl.system = "linux-generic32";
inherit (platform) gcc;
};
aarch64-multiplatform = rec {
config = "aarch64-unknown-linux-gnu";
bigEndian = false;
arch = "aarch64";
withTLS = true;
libc = "glibc";
platform = platforms.aarch64-multiplatform;
inherit (platform) gcc;
};
scaleway-c1 = armv7l-hf-multiplatform // rec {
platform = platforms.scaleway-c1;
inherit (platform) gcc;
inherit (gcc) fpu;
};
pogoplug4 = rec {
arch = "armv5tel";
config = "armv5tel-softfloat-linux-gnueabi";
float = "soft";
platform = platforms.pogoplug4;
inherit (platform) gcc;
libc = "glibc";
withTLS = true;
openssl.system = "linux-generic32";
};
fuloongminipc = rec {
config = "mips64el-unknown-linux-gnu";
bigEndian = false;
arch = "mips";
float = "hard";
withTLS = true;
libc = "glibc";
platform = platforms.fuloong2f_n32;
openssl.system = "linux-generic32";
inherit (platform) gcc;
};
#
# Darwin
#
iphone64 = {
config = "aarch64-apple-darwin14";
arch = "arm64";
libc = "libsystem";
platform = {};
};
iphone32 = {
config = "arm-apple-darwin10";
arch = "armv7-a";
libc = "libsystem";
platform = {};
};
#
# Windows
#
# 32 bit mingw-w64
mingw32 = {
config = "i686-pc-mingw32";
arch = "x86"; # Irrelevant
libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain
platform = {};
};
# 64 bit mingw-w64
mingwW64 = {
# That's the triplet they use in the mingw-w64 docs.
config = "x86_64-pc-mingw32";
arch = "x86_64"; # Irrelevant
libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain
platform = {};
};
}

View file

@ -255,6 +255,10 @@ rec {
arch = "armv6"; arch = "armv6";
fpu = "vfp"; fpu = "vfp";
float = "hard"; float = "hard";
# TODO(@Ericson2314) what is this and is it a good idea? It was
# used in some cross compilation examples but not others.
#
# abi = "aapcs-linux";
}; };
}; };
@ -460,7 +464,10 @@ rec {
''; '';
kernelTarget = "vmlinux"; kernelTarget = "vmlinux";
uboot = null; uboot = null;
gcc.arch = "loongson2f"; gcc = {
arch = "loongson2f";
abi = "n32";
};
}; };
beaglebone = armv7l-hf-multiplatform // { beaglebone = armv7l-hf-multiplatform // {

View file

@ -240,11 +240,14 @@ in {
}; };
systemd.user = { systemd.user = {
services.pulseaudio = { services.pulseaudio = {
restartIfChanged = true;
serviceConfig = { serviceConfig = {
RestartSec = "500ms"; RestartSec = "500ms";
PassEnvironment = "DISPLAY";
}; };
environment = { DISPLAY = ":${toString config.services.xserver.display}"; }; };
restartIfChanged = true; sockets.pulseaudio = {
wantedBy = [ "sockets.target" ];
}; };
}; };
}) })

View file

@ -80,6 +80,7 @@
./programs/environment.nix ./programs/environment.nix
./programs/fish.nix ./programs/fish.nix
./programs/freetds.nix ./programs/freetds.nix
./programs/gnupg.nix
./programs/gphoto2.nix ./programs/gphoto2.nix
./programs/info.nix ./programs/info.nix
./programs/java.nix ./programs/java.nix

View file

@ -0,0 +1,75 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.programs.gnupg;
in
{
options.programs.gnupg = {
agent.enable = mkOption {
type = types.bool;
default = false;
description = ''
Enables GnuPG agent with socket-activation for every user session.
'';
};
agent.enableSSHSupport = mkOption {
type = types.bool;
default = true;
description = ''
Enable SSH agent support in GnuPG agent. Also sets SSH_AUTH_SOCK
environment variable correctly. This will disable socket-activation
and thus always start a GnuPG agent per user session.
'';
};
};
config = mkIf cfg.agent.enable {
systemd.user.services.gpg-agent = {
serviceConfig = {
ExecStart = [
""
("${pkgs.gnupg}/bin/gpg-agent --supervised "
+ optionalString cfg.agent.enableSSHSupport "--enable-ssh-support")
];
};
};
systemd.user.sockets.gpg-agent = {
wantedBy = [ "sockets.target" ];
};
systemd.user.sockets.gpg-agent-ssh = mkIf cfg.agent.enableSSHSupport {
wantedBy = [ "sockets.target" ];
};
systemd.packages = [ pkgs.gnupg ];
environment.extraInit = ''
# Bind gpg-agent to this TTY if gpg commands are used.
export GPG_TTY=$(tty)
'' + (optionalString cfg.agent.enableSSHSupport ''
# SSH agent protocol doesn't support changing TTYs, so bind the agent
# to every new TTY.
${pkgs.gnupg}/bin/gpg-connect-agent --quiet updatestartuptty /bye > /dev/null
if [ -z "$SSH_AUTH_SOCK" ]; then
export SSH_AUTH_SOCK=$(${pkgs.gnupg}/bin/gpgconf --list-dirs agent-ssh-socket)
fi
'');
assertions = [
{ assertion = cfg.agent.enableSSHSupport && !config.programs.ssh.startAgent;
message = "You can't use ssh-agent and GnuPG agent with SSH support enabled at the same time!";
}
];
};
}

View file

@ -199,9 +199,8 @@ in
environment.etc."ssh/ssh_known_hosts".text = knownHostsText; environment.etc."ssh/ssh_known_hosts".text = knownHostsText;
# FIXME: this should really be socket-activated for über-awesomeness. # FIXME: this should really be socket-activated for über-awesomeness.
systemd.user.services.ssh-agent = systemd.user.services.ssh-agent = mkIf cfg.startAgent
{ enable = cfg.startAgent; { description = "SSH Agent";
description = "SSH Agent";
wantedBy = [ "default.target" ]; wantedBy = [ "default.target" ];
serviceConfig = serviceConfig =
{ ExecStartPre = "${pkgs.coreutils}/bin/rm -f %t/ssh-agent"; { ExecStartPre = "${pkgs.coreutils}/bin/rm -f %t/ssh-agent";

View file

@ -72,7 +72,7 @@ in
dataDir = mkOption { dataDir = mkOption {
type = types.path; type = types.path;
default = "/var/mysql"; # !!! should be /var/db/mysql example = "/var/lib/mysql";
description = "Location where MySQL stores its table files"; description = "Location where MySQL stores its table files";
}; };
@ -166,6 +166,10 @@ in
config = mkIf config.services.mysql.enable { config = mkIf config.services.mysql.enable {
services.mysql.dataDir =
mkDefault (if versionAtLeast config.system.stateVersion "17.09" then "/var/lib/mysql"
else "/var/mysql");
users.extraUsers.mysql = { users.extraUsers.mysql = {
description = "MySQL server user"; description = "MySQL server user";
group = "mysql"; group = "mysql";

View file

@ -48,7 +48,8 @@ in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
systemd.user.services.arbtt = { systemd.user.services.arbtt = {
description = "arbtt statistics capture service"; description = "arbtt statistics capture service";
wantedBy = [ "default.target" ]; wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
serviceConfig = { serviceConfig = {
Type = "simple"; Type = "simple";

View file

@ -114,14 +114,15 @@ let
# The "nixos-fw" chain does the actual work. # The "nixos-fw" chain does the actual work.
ip46tables -N nixos-fw ip46tables -N nixos-fw
# Perform a reverse-path test to refuse spoofers # Clean up rpfilter rules
# For now, we just drop, as the raw table doesn't have a log-refuse yet ip46tables -t raw -D PREROUTING -j nixos-fw-rpfilter 2> /dev/null || true
${optionalString (kernelHasRPFilter && (cfg.checkReversePath != false)) '' ip46tables -t raw -F nixos-fw-rpfilter 2> /dev/null || true
# Clean up rpfilter rules ip46tables -t raw -X nixos-fw-rpfilter 2> /dev/null || true
ip46tables -t raw -D PREROUTING -j nixos-fw-rpfilter 2> /dev/null || true
ip46tables -t raw -F nixos-fw-rpfilter 2> /dev/null || true
ip46tables -t raw -N nixos-fw-rpfilter 2> /dev/null || true
${optionalString (kernelHasRPFilter && (cfg.checkReversePath != false)) ''
# Perform a reverse-path test to refuse spoofers
# For now, we just drop, as the raw table doesn't have a log-refuse yet
ip46tables -t raw -N nixos-fw-rpfilter 2> /dev/null || true
ip46tables -t raw -A nixos-fw-rpfilter -m rpfilter ${optionalString (cfg.checkReversePath == "loose") "--loose"} -j RETURN ip46tables -t raw -A nixos-fw-rpfilter -m rpfilter ${optionalString (cfg.checkReversePath == "loose") "--loose"} -j RETURN
# Allows this host to act as a DHCPv4 server # Allows this host to act as a DHCPv4 server

View file

@ -208,13 +208,13 @@ in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
systemd.user.services.compton = { systemd.user.services.compton = {
description = "Compton composite manager"; description = "Compton composite manager";
wantedBy = [ "default.target" ]; wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
serviceConfig = { serviceConfig = {
ExecStart = "${cfg.package}/bin/compton --config ${configFile}"; ExecStart = "${cfg.package}/bin/compton --config ${configFile}";
RestartSec = 3; RestartSec = 3;
Restart = "always"; Restart = "always";
}; };
environment.DISPLAY = ":0";
}; };
environment.systemPackages = [ cfg.package ]; environment.systemPackages = [ cfg.package ];

View file

@ -122,6 +122,9 @@ let
source ~/.xprofile source ~/.xprofile
fi fi
# Start systemd user services for graphical sessions
${config.systemd.package}/bin/systemctl --user start graphical-session.target
# Allow the user to setup a custom session type. # Allow the user to setup a custom session type.
if test -x ~/.xsession; then if test -x ~/.xsession; then
exec ~/.xsession exec ~/.xsession
@ -164,6 +167,9 @@ let
''} ''}
test -n "$waitPID" && wait "$waitPID" test -n "$waitPID" && wait "$waitPID"
${config.systemd.package}/bin/systemctl --user stop graphical-session.target
exit 0 exit 0
''; '';
@ -325,6 +331,13 @@ in
config = { config = {
services.xserver.displayManager.xserverBin = "${xorg.xorgserver.out}/bin/X"; services.xserver.displayManager.xserverBin = "${xorg.xorgserver.out}/bin/X";
systemd.user.targets.graphical-session = {
unitConfig = {
RefuseManualStart = false;
StopWhenUnneeded = false;
};
};
}; };
imports = [ imports = [

View file

@ -95,7 +95,8 @@ in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
systemd.user.services.redshift = { systemd.user.services.redshift = {
description = "Redshift colour temperature adjuster"; description = "Redshift colour temperature adjuster";
wantedBy = [ "default.target" ]; wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
serviceConfig = { serviceConfig = {
ExecStart = '' ExecStart = ''
${cfg.package}/bin/redshift \ ${cfg.package}/bin/redshift \
@ -107,12 +108,6 @@ in {
RestartSec = 3; RestartSec = 3;
Restart = "always"; Restart = "always";
}; };
environment = {
DISPLAY = ":${toString (
let display = config.services.xserver.display;
in if display != null then display else 0
)}";
};
}; };
}; };

View file

@ -43,7 +43,8 @@ in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
systemd.user.services.unclutter-xfixes = { systemd.user.services.unclutter-xfixes = {
description = "unclutter-xfixes"; description = "unclutter-xfixes";
wantedBy = [ "graphical.target" ]; wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
serviceConfig.ExecStart = '' serviceConfig.ExecStart = ''
${cfg.package}/bin/unclutter \ ${cfg.package}/bin/unclutter \
--timeout ${toString cfg.timeout} \ --timeout ${toString cfg.timeout} \

View file

@ -56,19 +56,17 @@ in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
systemd.user.services.unclutter = { systemd.user.services.unclutter = {
description = "unclutter"; description = "unclutter";
wantedBy = [ "default.target" ]; wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
serviceConfig.ExecStart = '' serviceConfig.ExecStart = ''
${cfg.package}/bin/unclutter \ ${cfg.package}/bin/unclutter \
-idle ${toString cfg.timeout} \ -idle ${toString cfg.timeout} \
-display :${toString (
let display = config.services.xserver.display;
in if display != null then display else 0
)} \
-jitter ${toString (cfg.threeshold - 1)} \ -jitter ${toString (cfg.threeshold - 1)} \
${optionalString cfg.keystroke "-keystroke"} \ ${optionalString cfg.keystroke "-keystroke"} \
${concatMapStrings (x: " -"+x) cfg.extraOptions} \ ${concatMapStrings (x: " -"+x) cfg.extraOptions} \
-not ${concatStringsSep " " cfg.excluded} \ -not ${concatStringsSep " " cfg.excluded} \
''; '';
serviceConfig.PassEnvironment = "DISPLAY";
serviceConfig.RestartSec = 3; serviceConfig.RestartSec = 3;
serviceConfig.Restart = "always"; serviceConfig.Restart = "always";
}; };

View file

@ -21,9 +21,8 @@ in {
systemd.user = { systemd.user = {
sockets.urxvtd = { sockets.urxvtd = {
description = "socket for urxvtd, the urxvt terminal daemon"; description = "socket for urxvtd, the urxvt terminal daemon";
after = [ "graphical.target" ]; wantedBy = [ "graphical-session.target" ];
wants = [ "graphical.target" ]; partOf = [ "graphical-session.target" ];
wantedBy = [ "sockets.target" ];
socketConfig = { socketConfig = {
ListenStream = "%t/urxvtd-socket"; ListenStream = "%t/urxvtd-socket";
}; };

View file

@ -20,7 +20,8 @@ in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
systemd.user.services.xbanish = { systemd.user.services.xbanish = {
description = "xbanish hides the mouse pointer"; description = "xbanish hides the mouse pointer";
wantedBy = [ "default.target" ]; wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
serviceConfig.ExecStart = '' serviceConfig.ExecStart = ''
${pkgs.xbanish}/bin/xbanish ${cfg.arguments} ${pkgs.xbanish}/bin/xbanish ${cfg.arguments}
''; '';

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gpxsee-${version}"; name = "gpxsee-${version}";
version = "4.3"; version = "4.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tumic0"; owner = "tumic0";
repo = "GPXSee"; repo = "GPXSee";
rev = version; rev = version;
sha256 = "15f686frxlrmdvh5cc837kx62g0ihqj4vb87i8433g7l5vqkv3lf"; sha256 = "17s1v6b1j7pi0yj554bd0cg14bl854gssp5gj2pl51rxji6zr0wp";
}; };
nativeBuildInputs = [ qmakeHook qttools makeQtWrapper ]; nativeBuildInputs = [ qmakeHook qttools makeQtWrapper ];

View file

@ -1,4 +1,4 @@
{ stdenv, ninja, which { stdenv, ninja, which, nodejs
# default dependencies # default dependencies
, bzip2, flac, speex, libopus , bzip2, flac, speex, libopus
@ -87,7 +87,7 @@ let
nativeBuildInputs = [ nativeBuildInputs = [
ninja which python2Packages.python perl pkgconfig ninja which python2Packages.python perl pkgconfig
python2Packages.ply python2Packages.jinja2 python2Packages.ply python2Packages.jinja2 nodejs
]; ];
buildInputs = defaultDependencies ++ [ buildInputs = defaultDependencies ++ [
@ -105,6 +105,7 @@ let
patches = [ patches = [
./patches/nix_plugin_paths_52.patch ./patches/nix_plugin_paths_52.patch
./patches/fix-bootstrap-gn.patch
] ++ optional (versionOlder version "57.0") ./patches/glibc-2.24.patch ] ++ optional (versionOlder version "57.0") ./patches/glibc-2.24.patch
++ optional enableWideVine ./patches/widevine.patch; ++ optional enableWideVine ./patches/widevine.patch;
@ -130,6 +131,9 @@ let
}' gpu/config/gpu_control_list.cc }' gpu/config/gpu_control_list.cc
patchShebangs . patchShebangs .
# use our own nodejs
mkdir -p third_party/node/linux/node-linux-x64/bin
ln -s $(which node) third_party/node/linux/node-linux-x64/bin/node
'' + optionalString (versionAtLeast version "52.0.0.0") '' '' + optionalString (versionAtLeast version "52.0.0.0") ''
sed -i -re 's/([^:])\<(isnan *\()/\1std::\2/g' \ sed -i -re 's/([^:])\<(isnan *\()/\1std::\2/g' \
third_party/pdfium/xfa/fxbarcode/utils.h third_party/pdfium/xfa/fxbarcode/utils.h

View file

@ -0,0 +1,12 @@
diff --git a/tools/gn/bootstrap/bootstrap.py b/tools/gn/bootstrap/bootstrap.py
index 3148ccf..38cfb11 100755
--- a/tools/gn/bootstrap/bootstrap.py
+++ b/tools/gn/bootstrap/bootstrap.py
@@ -385,6 +385,7 @@ def write_gn_ninja(path, root_gen_dir, options):
'base/base_switches.cc',
'base/build_time.cc',
'base/callback_internal.cc',
+ 'base/callback_helpers.cc',
'base/command_line.cc',
'base/debug/activity_tracker.cc',
'base/debug/alias.cc',

View file

@ -1,18 +1,18 @@
# This file is autogenerated from update.sh in the same directory. # This file is autogenerated from update.sh in the same directory.
{ {
beta = { beta = {
sha256 = "1q9iqmq5amzfw03jiw18g1w285b6x2qckn8gc60r5m3xx1hbivv2"; sha256 = "1dcad79kfayagqiv85ycla3iv3gc99k0rvnvnpar9hd6x1iv8cfl";
sha256bin64 = "1ddhhcydcwwc2pkwm4c8rlr60968zy5vda410g4bwx0v5q7p22q9"; sha256bin64 = "0ywf50rfzv1kkfpld62fi5g0kz33an0p03xqf7wkcqi7hild607v";
version = "58.0.3029.68"; version = "59.0.3071.47";
}; };
dev = { dev = {
sha256 = "0zvnj9n2p057fxx7n4d1qc0nw34qhlsvrx20fwigq96blamckvd8"; sha256 = "05kxl938mh41341lh5xsxcqxv9hhx8yn6nkawgg241sfwdx72db8";
sha256bin64 = "1s1r3h7x49bp64lzzphm4jcg7g68l0x7mr3airj3hqii58dvndm0"; sha256bin64 = "1mr2615r30zjxa55mdcbfi0k2grgyykzawslmg41aw0jy5hfamal";
version = "59.0.3067.0"; version = "60.0.3095.5";
}; };
stable = { stable = {
sha256 = "1xwchazqqx0cs9rd15r80kw6p918zp9libx34qlcj8p5lxq1f0bh"; sha256 = "1zvqim75mlqckvf7awrbyggis71dlkz4gjpfrmfdvydcs8yyyk7j";
sha256bin64 = "0ggn5rljch36sx0i37qzp6ldcy3ibdj0z9217lqzjq3r7ixsfqja"; sha256bin64 = "0vfx2m5zqfvfb6sgd3dg1sji72dzjcd1sf4r6qwhnz38wadys7id";
version = "57.0.2987.133"; version = "58.0.3029.110";
}; };
} }

View file

@ -1,14 +1,12 @@
{ stdenv, fetchgit, python3Packages }: { stdenv, fetchurl, python3Packages }:
python3Packages.buildPythonPackage { let version = "1.58";
name = "scudcloud-1.44"; in python3Packages.buildPythonPackage {
name = "scudcloud-${version}";
# Branch 254-port-to-qt5 src = fetchurl {
# https://github.com/raelgc/scudcloud/commit/65c304416dfdd5f456fa6f7301432a953d5e12d0 url = "https://github.com/raelgc/scudcloud/archive/v${version}.tar.gz";
src = fetchgit { sha256 = "1j84qdc2j3dvl1nhrjqm0blc8ww723p9a6hqprkkp8alw77myq1l";
url = https://github.com/raelgc/scudcloud/;
rev = "65c304416dfdd5f456fa6f7301432a953d5e12d0";
sha256 = "0h1055y88kldqw31ayqfx9zsksgxsyqd8h0hwnhj80yn3jcx0rp6";
}; };
propagatedBuildInputs = with python3Packages; [ pyqt5 dbus-python ]; propagatedBuildInputs = with python3Packages; [ pyqt5 dbus-python ];

View file

@ -36,7 +36,7 @@ stdenv.mkDerivation (rec {
description = "Bidirectional file synchronizer"; description = "Bidirectional file synchronizer";
license = stdenv.lib.licenses.gpl3Plus; license = stdenv.lib.licenses.gpl3Plus;
maintainers = with stdenv.lib.maintainers; [viric]; maintainers = with stdenv.lib.maintainers; [viric];
platforms = with stdenv.lib.platforms; linux; platforms = with stdenv.lib.platforms; unix;
}; };
}) })

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "geogebra-${version}"; name = "geogebra-${version}";
version = "5-0-355-0"; version = "5-0-361-0";
preferLocalBuild = true; preferLocalBuild = true;
src = fetchurl { src = fetchurl {
url = "http://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2"; url = "http://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2";
sha256 = "0gm6jqlc3kgnbwnqlz6i9rahdy802jq7xc9gw1q5ynk63smm3ngk"; sha256 = "14kidnk8bidklv474zqipv3f77qnfmc697pl407v0rja481c649a";
}; };
srcIcon = fetchurl { srcIcon = fetchurl {

View file

@ -23,6 +23,9 @@ stdenv.mkDerivation (edk2.setup "OvmfPkg/OvmfPkg${targetArch}.dsc" {
hardeningDisable = [ "stackprotector" "pic" "fortify" ]; hardeningDisable = [ "stackprotector" "pic" "fortify" ];
unpackPhase = '' unpackPhase = ''
# $fd is overwritten during the build
export OUTPUT_FD=$fd
for file in \ for file in \
"${edk2.src}"/{UefiCpuPkg,MdeModulePkg,IntelFrameworkModulePkg,PcAtChipsetPkg,FatBinPkg,EdkShellBinPkg,MdePkg,ShellPkg,OptionRomPkg,IntelFrameworkPkg}; "${edk2.src}"/{UefiCpuPkg,MdeModulePkg,IntelFrameworkModulePkg,PcAtChipsetPkg,FatBinPkg,EdkShellBinPkg,MdePkg,ShellPkg,OptionRomPkg,IntelFrameworkPkg};
do do
@ -51,8 +54,8 @@ stdenv.mkDerivation (edk2.setup "OvmfPkg/OvmfPkg${targetArch}.dsc" {
''; '';
postFixup = '' postFixup = ''
mkdir -p $fd/FV mkdir -vp $OUTPUT_FD/FV
mv $out/FV/OVMF{,_CODE,_VARS}.fd $fd/FV mv -v $out/FV/OVMF{,_CODE,_VARS}.fd $OUTPUT_FD/FV
''; '';
dontPatchELF = true; dontPatchELF = true;

View file

@ -1,15 +1,15 @@
{ stdenv, fetchurl, makeWrapper, gcc }: { stdenv, fetchurl, makeWrapper, gcc, asciidoc }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "colm-${version}"; name = "colm-${version}";
version = "0.13.0.4"; version = "0.13.0.5";
src = fetchurl { src = fetchurl {
url = "http://www.colm.net/files/colm/${name}.tar.gz"; url = "http://www.colm.net/files/colm/${name}.tar.gz";
sha256 = "04xcb7w82x9i4ygxqla9n39y646n3jw626khdp5297z1dkxx1czx"; sha256 = "1320bx96ycd1xwww137cixrb983838wnrgkfsym8x5bnf5kj9rik";
}; };
buildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper asciidoc ];
doCheck = true; doCheck = true;

View file

@ -19,7 +19,8 @@ stdenv.mkDerivation rec {
]; ];
preBuild = '' preBuild = ''
substituteInPlace src/Makefile --replace "\$(RUNTIME) VS/.nuget/NuGet.exe" "true" substituteInPlace src/Makefile --replace "\$(RUNTIME) VS/.nuget/NuGet.exe" "true" \
--replace Darwin xyz
substituteInPlace src/VS/.nuget/NuGet.targets --replace "mono" "true" substituteInPlace src/VS/.nuget/NuGet.targets --replace "mono" "true"
# Fails with bad interpreter otherwise # Fails with bad interpreter otherwise

View file

@ -0,0 +1,30 @@
From 94764369222a8e6c65420a6981d7f179a18a5417 Mon Sep 17 00:00:00 2001
From: Will Dietz <w@wdtz.org>
Date: Thu, 25 May 2017 15:03:42 -0500
Subject: [PATCH] EditLine.h: libedit supports wide chars on NixOS
---
include/lldb/Host/Editline.h | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/include/lldb/Host/Editline.h b/include/lldb/Host/Editline.h
index faed373bc..b248cdee1 100644
--- a/include/lldb/Host/Editline.h
+++ b/include/lldb/Host/Editline.h
@@ -43,12 +43,9 @@
// will only be
// used in cases where this is true. This is a compile time dependecy, for now
// selected per target Platform
-#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__)
+// (libedit on NixOS is always wide-char capable)
#define LLDB_EDITLINE_USE_WCHAR 1
#include <codecvt>
-#else
-#define LLDB_EDITLINE_USE_WCHAR 0
-#endif
#include "lldb/Host/ConnectionFileDescriptor.h"
#include "lldb/lldb-private.h"
--
2.13.0

View file

@ -19,7 +19,8 @@ stdenv.mkDerivation {
src = fetch "lldb" "0g83hbw1r4gd0z8hlph9i34xs6dlcc69vz3h2bqwkhb2qq2qzg9d"; src = fetch "lldb" "0g83hbw1r4gd0z8hlph9i34xs6dlcc69vz3h2bqwkhb2qq2qzg9d";
patchPhase = '' patches = [ ./lldb-libedit.patch ];
postPatch = ''
# Fix up various paths that assume llvm and clang are installed in the same place # Fix up various paths that assume llvm and clang are installed in the same place
sed -i 's,".*ClangConfig.cmake","${clang-unwrapped}/lib/cmake/clang/ClangConfig.cmake",' \ sed -i 's,".*ClangConfig.cmake","${clang-unwrapped}/lib/cmake/clang/ClangConfig.cmake",' \
cmake/modules/LLDBStandalone.cmake cmake/modules/LLDBStandalone.cmake
@ -36,10 +37,6 @@ stdenv.mkDerivation {
CXXFLAGS = "-fno-rtti"; CXXFLAGS = "-fno-rtti";
hardeningDisable = [ "format" ]; hardeningDisable = [ "format" ];
cmakeFlags = [
"-DLLDB_DISABLE_LIBEDIT=ON"
];
enableParallelBuilding = true; enableParallelBuilding = true;
meta = with stdenv.lib; { meta = with stdenv.lib; {

View file

@ -93,23 +93,23 @@ let
passthru.libPrefix = "lib/perl5/site_perl"; passthru.libPrefix = "lib/perl5/site_perl";
# TODO: it seems like absolute paths to some coreutils is required. # TODO: it seems like absolute paths to some coreutils is required.
postInstall = postInstall =
'' ''
# Remove dependency between "out" and "man" outputs. # Remove dependency between "out" and "man" outputs.
rm "$out"/lib/perl5/*/*/.packlist rm "$out"/lib/perl5/*/*/.packlist
# Remove dependencies on glibc and gcc # Remove dependencies on glibc and gcc
sed "/ *libpth =>/c libpth => ' '," \ sed "/ *libpth =>/c libpth => ' '," \
-i "$out"/lib/perl5/*/*/Config.pm -i "$out"/lib/perl5/*/*/Config.pm
# TODO: removing those paths would be cleaner than overwriting with nonsense. # TODO: removing those paths would be cleaner than overwriting with nonsense.
substituteInPlace "$out"/lib/perl5/*/*/Config_heavy.pl \ substituteInPlace "$out"/lib/perl5/*/*/Config_heavy.pl \
--replace "${libcInc}" /no-such-path \ --replace "${libcInc}" /no-such-path \
--replace "${ --replace "${
if stdenv.cc.cc or null != null then stdenv.cc.cc else "/no-such-path" if stdenv.cc.cc or null != null then stdenv.cc.cc else "/no-such-path"
}" /no-such-path \ }" /no-such-path \
--replace "$man" /no-such-path --replace "$man" /no-such-path
''; # */ ''; # */
meta = { meta = {
homepage = https://www.perl.org/; homepage = https://www.perl.org/;

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libfilezilla-${version}"; name = "libfilezilla-${version}";
version = "0.9.1"; version = "0.9.2";
src = fetchurl { src = fetchurl {
url = "http://download.filezilla-project.org/libfilezilla/${name}.tar.bz2"; url = "http://download.filezilla-project.org/libfilezilla/${name}.tar.bz2";
sha256 = "06ivj40bk5b76a36zwhnwqvg564hgccncnn5nb5cqc7kf4bkkchq"; sha256 = "1qrvddjqz5jv6920gcfqsrsjksi2845hn96g0z3vpcsm6nifhqn1";
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {

View file

@ -0,0 +1,24 @@
{ stdenv, buildPythonPackage, fetchPypi
, pytest, pytestcov, mock, coverage
, Mako, sqlalchemy, python-editor, dateutil
}:
buildPythonPackage rec {
name = "${pname}-${version}";
pname = "alembic";
version = "0.9.2";
src = fetchPypi {
inherit pname version;
sha256 = "0iw6wysm83hycvrycymf9b4mkji47536kl3x7grynfcbyjcvbdm2";
};
buildInputs = [ pytest pytestcov mock coverage ];
propagatedBuildInputs = [ Mako sqlalchemy python-editor dateutil ];
meta = with stdenv.lib; {
homepage = http://bitbucket.org/zzzeek/alembic;
description = "A database migration tool for SQLAlchemy";
license = licenses.mit;
};
}

View file

@ -0,0 +1,27 @@
{ buildPythonPackage, fetchPypi, lib,
coverage, dicttoxml, flake8, pexpect, prettytable, requests_toolbelt
}:
buildPythonPackage rec {
name = "${pname}-${version}";
pname = "argcomplete";
version = "1.8.2";
src = fetchPypi {
inherit pname version;
sha256 = "0sslhl1klvh92c8hjsz3y3mmnpcqspcgi49g5cik2rpbfkhcsb3s";
};
doCheck = false; # bash-completion test fails with "compgen: command not found".
# re-enable if we are able to make testing work
# buildInputs = [ coverage flake8 ];
propagatedBuildInputs = [ dicttoxml pexpect prettytable requests_toolbelt ];
meta = with lib; {
description = "Bash tab completion for argparse";
homepage = "https://argcomplete.readthedocs.io";
maintainers = [ maintainers.womfoo ];
license = [ licenses.asl20 ];
};
}

View file

@ -1,4 +1,4 @@
{ stdenv, buildPythonPackage, fetchurl, { stdenv, buildPythonPackage, fetchFromGitHub, python,
django, django_nose, six django, django_nose, six
}: }:
buildPythonPackage rec { buildPythonPackage rec {
@ -6,19 +6,38 @@ buildPythonPackage rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
version = "1.0.14"; version = "1.0.14";
src = fetchurl { # the pypi packages don't include everything required for the tests
url = "mirror://pypi/d/django-compat/${name}.tar.gz"; src = fetchFromGitHub {
sha256 = "18y5bxxmafcd4np42mzbalva5lpssq0b8ki7zckbzvdv2mnv43xj"; owner = "arteria";
repo = "django-compat";
rev = "v${version}";
sha256 = "11g6ra6djkchqk44v8k7biaxd1v69qyyyask5l92vmrvb0qiwvm8";
}; };
doCheck = false; checkPhase = ''
runHook preCheck
buildInputs = [ django_nose ]; # we have to do a little bit of tinkering to convince the tests to run against the installed package, not the
# source directory
mkdir -p testbase/compat
pushd testbase
# note we're not copying the direct contents of compat/ (notably __init__.py) so python won't recognize this as a
# package, but the tests need to be in a specific path for the test templates to get picked up.
cp -r ../compat/tests compat/
cp ../runtests.py .
${python.interpreter} runtests.py compat/tests
popd
runHook postCheck
'';
checkInputs = [ django_nose ];
propagatedBuildInputs = [ django six ]; propagatedBuildInputs = [ django six ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Forward and backwards compatibility layer for Django 1.4, 1.7, 1.8, 1.9, 1.10 and 1.11"; description = "Forward and backwards compatibility layer for Django 1.4, 1.7, 1.8, 1.9, 1.10 and 1.11";
homepage = https://github.com/arteria/django-compat; homepage = https://github.com/arteria/django-compat;
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ ris ];
}; };
} }

View file

@ -0,0 +1,39 @@
{ stdenv, buildPythonPackage, fetchFromGitHub, python,
django, django_compat, django_nose
}:
buildPythonPackage rec {
name = "django-hijack-${version}";
version = "2.1.4";
# the pypi packages don't include everything required for the tests
src = fetchFromGitHub {
owner = "arteria";
repo = "django-hijack";
rev = "v${version}";
sha256 = "1wbm6l8mzpkj4wsj4fyfamzpzi3day2v1cva5j89v4dn4403jq21";
};
checkInputs = [ django_nose ];
propagatedBuildInputs = [ django django_compat ];
checkPhase = ''
runHook preCheck
# we have to do a little bit of tinkering to convince the tests to run against the installed package, not the
# source directory
mkdir testbase
pushd testbase
cp ../runtests.py .
${python.interpreter} runtests.py hijack
popd
runHook postCheck
'';
meta = with stdenv.lib; {
description = "Allows superusers to hijack (=login as) and work on behalf of another user";
homepage = https://github.com/arteria/django-hijack;
license = licenses.mit;
maintainers = with maintainers; [ ris ];
};
}

View file

@ -0,0 +1,29 @@
{ stdenv, buildPythonPackage, fetchPypi, isPy3k, python, glibcLocales, flask, flask_sqlalchemy, flask_script, alembic
}:
with stdenv.lib;
buildPythonPackage rec {
pname = "Flask-Migrate";
version = "2.0.3";
name = "${pname}-${version}";
src = fetchPypi {
inherit pname version;
sha256 = "107x78lkqsnbg92dld3dkagg07jvchp3ib3y0sivc4ipz6n1y7rk";
};
checkInputs = optional isPy3k glibcLocales;
propagatedBuildInputs = [ flask flask_sqlalchemy flask_script alembic ];
# tests invoke the flask cli which uses click and therefore has py3k encoding troubles
preCheck = optionalString isPy3k ''
export LANG="en_US.UTF-8"
'';
meta = {
description = "SQLAlchemy database migrations for Flask applications using Alembic";
license = licenses.mit;
homepage = https://github.com/miguelgrinberg/Flask-Migrate;
};
}

View file

@ -19,7 +19,6 @@
, openpyxl , openpyxl
, tables , tables
, xlwt , xlwt
, darwin ? {}
, libcxx ? null , libcxx ? null
}: }:
@ -53,7 +52,7 @@ in buildPythonPackage rec {
openpyxl openpyxl
tables tables
xlwt xlwt
] ++ optional isDarwin darwin.locale; # provides the locale command ];
# For OSX, we need to add a dependency on libcxx, which provides # For OSX, we need to add a dependency on libcxx, which provides
# `complex.h` and other libraries that pandas depends on to build. # `complex.h` and other libraries that pandas depends on to build.
@ -63,16 +62,22 @@ in buildPythonPackage rec {
substituteInPlace setup.py \ substituteInPlace setup.py \
--replace "['pandas/src/klib', 'pandas/src']" \ --replace "['pandas/src/klib', 'pandas/src']" \
"['pandas/src/klib', 'pandas/src', '$cpp_sdk']" "['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
''; '';
checkPhase = '' checkPhase = ''
runHook preCheck runHook preCheck
py.test $out/${python.sitePackages}/pandas --skip-slow --skip-network ''
# TODO: Get locale and clipboard support working on darwin.
# Until then we disable the tests.
+ optionalString isDarwin ''
# Fake the impure dependencies pbpaste and pbcopy
echo "#!/bin/sh" > pbcopy
echo "#!/bin/sh" > pbpaste
chmod a+x pbcopy pbpaste
export PATH=$(pwd):$PATH
'' + ''
py.test $out/${python.sitePackages}/pandas --skip-slow --skip-network \
${if isDarwin then "-k 'not test_locale and not test_clipboard'" else ""}
runHook postCheck runHook postCheck
''; '';
@ -83,7 +88,7 @@ in buildPythonPackage rec {
homepage = "http://pandas.pydata.org/"; homepage = "http://pandas.pydata.org/";
description = "Python Data Analysis Library"; description = "Python Data Analysis Library";
license = stdenv.lib.licenses.bsd3; license = stdenv.lib.licenses.bsd3;
maintainers = with stdenv.lib.maintainers; [ raskin fridh ]; maintainers = with stdenv.lib.maintainers; [ raskin fridh knedlsepp ];
platforms = stdenv.lib.platforms.unix; platforms = stdenv.lib.platforms.unix;
}; };
} }

View file

@ -0,0 +1,33 @@
{ buildPythonPackage
, lib
, fetchPypi
, requests
, pytest
, six
, werkzeug
}:
buildPythonPackage rec {
pname = "pytest-localserver";
name = "${pname}-${version}";
version = "0.3.7";
src = fetchPypi {
inherit pname version;
sha256 = "1c11hn61n06ms0wmw6536vs5k4k9hlndxsb3p170nva56a9dfa6q";
};
propagatedBuildInputs = [ werkzeug ];
buildInputs = [ pytest six requests ];
checkPhase = ''
py.test
'';
meta = {
description = "Plugin for the pytest testing framework to test server connections locally";
homepage = https://pypi.python.org/pypi/pytest-localserver;
license = lib.licenses.mit;
};
}

View file

@ -21,8 +21,3 @@ index 5941066..89f8edb 100644
def run(self, args, opts): def run(self, args, opts):
if len(args) not in (1, 2): if len(args) not in (1, 2):
@@ -118,4 +117,3 @@ class Command(ScrapyCommand):
_templates_base_dir = self.settings['TEMPLATES_DIR'] or \
join(scrapy.__path__[0], 'templates')
return join(_templates_base_dir, 'project')
-

View file

@ -5,7 +5,6 @@
, cudaSupport ? false , cudaSupport ? false
, cudatoolkit ? null , cudatoolkit ? null
, cudnn ? null , cudnn ? null
, gcc49 ? null
, linuxPackages ? null , linuxPackages ? null
, numpy , numpy
, six , six
@ -13,13 +12,11 @@
, swig , swig
, werkzeug , werkzeug
, mock , mock
, gcc
, zlib , zlib
}: }:
assert cudaSupport -> cudatoolkit != null assert cudaSupport -> cudatoolkit != null
&& cudnn != null && cudnn != null
&& gcc49 != null
&& linuxPackages != null; && linuxPackages != null;
# unsupported combination # unsupported combination
@ -98,7 +95,7 @@ buildPythonPackage rec {
propagatedBuildInputs = with stdenv.lib; propagatedBuildInputs = with stdenv.lib;
[ numpy six protobuf3_2 swig werkzeug mock ] [ numpy six protobuf3_2 swig werkzeug mock ]
++ optionals cudaSupport [ cudatoolkit cudnn gcc49 ]; ++ optionals cudaSupport [ cudatoolkit cudnn stdenv.cc ];
# Note that we need to run *after* the fixup phase because the # Note that we need to run *after* the fixup phase because the
# libraries are loaded at runtime. If we run in preFixup then # libraries are loaded at runtime. If we run in preFixup then
@ -106,10 +103,10 @@ buildPythonPackage rec {
postFixup = let postFixup = let
rpath = stdenv.lib.makeLibraryPath rpath = stdenv.lib.makeLibraryPath
(if cudaSupport then (if cudaSupport then
[ gcc49.cc.lib zlib cudatoolkit cudnn [ stdenv.cc.cc.lib zlib cudatoolkit cudnn
linuxPackages.nvidia_x11 ] linuxPackages.nvidia_x11 ]
else else
[ gcc.cc.lib zlib ] [ stdenv.cc.cc.lib zlib ]
); );
in in
'' ''

View file

@ -1,23 +1,27 @@
{ stdenv, buildPythonPackage, fetchurl, { stdenv, buildPythonPackage, fetchPypi, pytest, mock, six, twisted }:
pytest, mock, six, twisted
}:
buildPythonPackage rec { buildPythonPackage rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
pname = "txaio"; pname = "txaio";
version = "2.7.1"; version = "2.7.1";
src = fetchPypi {
inherit pname version;
sha256 = "1lmllmjjsqzl3w4faq2qhlgkaqn1yn1m7d99k822ib7qgz18bsly";
};
buildInputs = [ pytest mock ]; buildInputs = [ pytest mock ];
propagatedBuildInputs = [ six twisted ]; propagatedBuildInputs = [ six twisted ];
patchPhase = ''
sed -i '152d' test/test_logging.py
'';
checkPhase = '' checkPhase = ''
py.test -k "not test_sdist" py.test -k "not test_sdist"
''; '';
src = fetchurl {
url = "mirror://pypi/t/${pname}/${name}.tar.gz";
sha256 = "9eea85c27ff8ac28049a29b55383f5c162351f855860e5081ff4632d65a5b4d2";
};
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Utilities to support code that runs unmodified on Twisted and asyncio."; description = "Utilities to support code that runs unmodified on Twisted and asyncio.";
homepage = "https://github.com/crossbario/txaio"; homepage = "https://github.com/crossbario/txaio";

View file

@ -2,12 +2,12 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "ninja-${version}"; name = "ninja-${version}";
version = "1.7.1"; version = "1.7.2";
src = fetchurl { src = fetchurl {
name = "${name}.tar.gz"; name = "${name}.tar.gz";
url = "https://github.com/ninja-build/ninja/archive/v${version}.tar.gz"; url = "https://github.com/ninja-build/ninja/archive/v${version}.tar.gz";
sha256 = "06dy2dc1aafm61ynw9gzig88la3km9dsh53bxf4mnw7l7kjisn2i"; sha256 = "1n8n3g26ppwh7zwrc37n3alkbpbj0wki34ih53s3rkhs8ajs1p9f";
}; };
buildInputs = [ python asciidoc re2c ]; buildInputs = [ python asciidoc re2c ];

View file

@ -4,11 +4,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "global-${version}"; name = "global-${version}";
version = "6.5.6"; version = "6.5.7";
src = fetchurl { src = fetchurl {
url = "mirror://gnu/global/${name}.tar.gz"; url = "mirror://gnu/global/${name}.tar.gz";
sha256 = "018m536k5y6lks1a6gqn3bsp7r8zk017znqj9kva1nm8d7x9lbqj"; sha256 = "0cnd7a7d1pl46yk15q6mnr9i9w3xi8pxgchw4ia9njgr4jjqzh6r";
}; };
nativeBuildInputs = [ libtool makeWrapper ]; nativeBuildInputs = [ libtool makeWrapper ];

View file

@ -42,7 +42,7 @@ in
}; };
ragelDev = generic { ragelDev = generic {
version = "7.0.0.9"; version = "7.0.0.10";
sha256 = "1w2jhfg3fxl15gcmm7z3jbi6splgc83mmwcfbp08lfc8sg2wmrmr"; sha256 = "1v4ddzxal4gf8l8nkn32qabba6nbpd2mg8sphgmdn8kaqv52nmj0";
}; };
} }

View file

@ -5,13 +5,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "wesnoth"; pname = "wesnoth";
version = "1.13.6"; version = "1.13.8";
name = "${pname}-${version}"; name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/sourceforge/${pname}/${name}.tar.bz2"; url = "mirror://sourceforge/sourceforge/${pname}/${name}.tar.bz2";
sha256 = "0z4k2r4ss46ik9fx5clffpd7vfr0l4l6d0j1war676dwz0z1j2m1"; sha256 = "0snm4n7l21cr4443rk93wnaqdzr91pihn452w66344zqwf33xgfr";
}; };
nativeBuildInputs = [ cmake pkgconfig ]; nativeBuildInputs = [ cmake pkgconfig ];

View file

@ -1,13 +1,13 @@
{ stdenv, fetchurl, perl, buildLinux, ... } @ args: { stdenv, fetchurl, perl, buildLinux, ... } @ args:
import ./generic.nix (args // rec { import ./generic.nix (args // rec {
version = "4.12-rc2"; version = "4.12-rc3";
modDirVersion = "4.12.0-rc2"; modDirVersion = "4.12.0-rc3";
extraMeta.branch = "4.12"; extraMeta.branch = "4.12";
src = fetchurl { src = fetchurl {
url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz"; url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
sha256 = "18p68ig9irblbxbg68jz766158bxr81824q91mnf372i5z9irj9w"; sha256 = "0jwhsmw4igf5iwf4qndqbjzayag2wj2riypzl0v3yrh5zkhfl4dm";
}; };
features.iwlwifi = true; features.iwlwifi = true;

View file

@ -6,91 +6,19 @@ let
lib = import ../../../lib; lib = import ../../../lib;
pkgsFun = import ../../..; pkgsFun = import ../../..;
sheevaplugCrossSystem = { inherit (lib.systems.examples)
crossSystem = rec { sheevaplug raspberryPi armv7l-hf-multiplatform
config = "arm-linux-gnueabi"; aarch64-multiplatform scaleway-c1 pogoplug4;
bigEndian = false;
arch = "armv5te";
float = "soft";
withTLS = true;
libc = "glibc";
platform = lib.systems.platforms.sheevaplug;
openssl.system = "linux-generic32";
inherit (platform) gcc;
};
};
raspberrypiCrossSystem = {
crossSystem = rec {
config = "arm-linux-gnueabihf";
bigEndian = false;
arch = "armv6";
float = "hard";
fpu = "vfp";
withTLS = true;
libc = "glibc";
platform = lib.systems.platforms.raspberrypi;
openssl.system = "linux-generic32";
inherit (platform) gcc;
};
};
armv7l-hf-multiplatform-crossSystem = {
crossSystem = rec {
config = "arm-linux-gnueabihf";
bigEndian = false;
arch = "armv7-a";
float = "hard";
fpu = "vfpv3-d16";
withTLS = true;
libc = "glibc";
platform = lib.systems.platforms.armv7l-hf-multiplatform;
openssl.system = "linux-generic32";
inherit (platform) gcc;
};
};
aarch64-multiplatform-crossSystem = {
crossSystem = rec {
config = "aarch64-linux-gnu";
bigEndian = false;
arch = "aarch64";
withTLS = true;
libc = "glibc";
platform = lib.systems.platforms.aarch64-multiplatform;
inherit (platform) gcc;
};
};
scaleway-c1-crossSystem.crossSystem = armv7l-hf-multiplatform-crossSystem.crossSystem // rec {
platform = lib.systems.platforms.scaleway-c1;
inherit (platform) gcc;
inherit (gcc) fpu;
};
pogoplug4-crossSystem.crossSystem = {
arch = "armv5tel";
config = "armv5tel-softfloat-linux-gnueabi";
float = "soft";
platform = lib.systems.platforms.pogoplug4;
inherit (lib.systems.platforms.pogoplug4) gcc;
libc = "glibc";
withTLS = true;
openssl.system = "linux-generic32";
};
selectedCrossSystem = selectedCrossSystem =
if toolsArch == "armv5tel" then sheevaplugCrossSystem else if toolsArch == "armv5tel" then sheevaplug else
if toolsArch == "scaleway" then scaleway-c1-crossSystem else if toolsArch == "scaleway" then scaleway-c1 else
if toolsArch == "pogoplug4" then pogoplug4-crossSystem else if toolsArch == "pogoplug4" then pogoplug4 else
if toolsArch == "armv6l" then raspberrypiCrossSystem else if toolsArch == "armv6l" then raspberryPi else
if toolsArch == "armv7l" then armv7l-hf-multiplatform-crossSystem else if toolsArch == "armv7l" then armv7l-hf-multiplatform else
if toolsArch == "aarch64" then aarch64-multiplatform-crossSystem else null; if toolsArch == "aarch64" then aarch64-multiplatform else null;
pkgs = pkgsFun ({inherit system;} // selectedCrossSystem); pkgs = pkgsFun ({ inherit system; crossSystem = selectedCrossSystem; });
glibc = pkgs.libcCross; glibc = pkgs.libcCross;
bash = pkgs.bash; bash = pkgs.bash;

View file

@ -2,7 +2,7 @@
buildGoPackage rec { buildGoPackage rec {
name = "restic-${version}"; name = "restic-${version}";
version = "0.5.0"; version = "0.6.0";
goPackagePath = "github.com/restic/restic"; goPackagePath = "github.com/restic/restic";
@ -10,7 +10,7 @@ buildGoPackage rec {
owner = "restic"; owner = "restic";
repo = "restic"; repo = "restic";
rev = "v${version}"; rev = "v${version}";
sha256 = "0dj6zg4b00pwgs6nj7w5s0jxm6cfavd9kdcq0z4spypwdf211cgl"; sha256 = "0kjk8fyfmbnh2jayfjq4ggkc99rh02jkv8gvqcpyqnw3dxznwrk2";
}; };
buildPhase = '' buildPhase = ''
@ -28,5 +28,6 @@ buildGoPackage rec {
description = "A backup program that is fast, efficient and secure"; description = "A backup program that is fast, efficient and secure";
platforms = platforms.linux; platforms = platforms.linux;
license = licenses.bsd2; license = licenses.bsd2;
maintainers = [ maintainers.mbrgm ];
}; };
} }

View file

@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
description = "Convert ascii art diagrams into proper bitmap graphics"; description = "Convert ascii art diagrams into proper bitmap graphics";
homepage = http://ditaa.sourceforge.net/; homepage = http://ditaa.sourceforge.net/;
license = licenses.gpl2; license = licenses.gpl2;
platforms = platforms.linux; platforms = platforms.unix;
maintainers = [ maintainers.bjornfor ]; maintainers = [ maintainers.bjornfor ];
}; };
} }

View file

@ -12,6 +12,9 @@
# (--enable-unsupported could be used to force the build) # (--enable-unsupported could be used to force the build)
assert !cpp || mpi == null; assert !cpp || mpi == null;
# No point splitting version 1.8.18 into multiple outputs.
# The library /lib/libhdf5.so has a reference to gcc-wrapper
let inherit (stdenv.lib) optional optionals; in let inherit (stdenv.lib) optional optionals; in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {

View file

@ -0,0 +1,32 @@
{ stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
version = "0.2.0";
name = "vimer-${version}";
src = fetchFromGitHub {
owner = "susam";
repo = "vimer";
rev = version;
sha256 = "01qhr3i7wasbaxvms39c81infpry2vk0nzh7r5m5b9p713p0phsi";
};
installPhase = ''
mkdir $out/bin/ -p
cp vimer $out/bin/
chmod +x $out/bin/vimer
'';
meta = with stdenv.lib; {
homepage = "https://github.com/susam/vimer";
description = ''
A convenience wrapper for gvim/mvim --remote(-tab)-silent to open files
in an existing instance of GVim or MacVim.
'';
license = licenses.mit;
maintainers = [ maintainers.matthiasbeyer ];
platforms = platforms.linux;
};
}

View file

@ -14,14 +14,14 @@ stdenv.mkDerivation rec {
}; };
buildInputs = [ boost zlib openssl ]; buildInputs = [ boost zlib openssl ];
makeFlags = "USE_AESNI=no"; makeFlags = [ "USE_AESNI=no" "USE_AVX=no" ];
installPhase = '' installPhase = ''
install -D i2pd $out/bin/i2pd install -D i2pd $out/bin/i2pd
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = "https://track.privacysolutions.no/projects/i2pd"; homepage = "https://i2pd.website";
description = "Minimal I2P router written in C++"; description = "Minimal I2P router written in C++";
license = licenses.gpl2; license = licenses.gpl2;
maintainers = with maintainers; [ edwtjo ]; maintainers = with maintainers; [ edwtjo ];

View file

@ -1,10 +1,10 @@
{stdenv, makeWrapper, fetchurl, perl, openssl, perlPackages }: {stdenv, makeWrapper, fetchurl, perl, openssl, perlPackages }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "imapsync-1.684"; name = "imapsync-1.727";
src = fetchurl { src = fetchurl {
url = "https://fedorahosted.org/released/imapsync/${name}.tgz"; url = "https://releases.pagure.org/imapsync/${name}.tgz";
sha256 = "1ilqdaabh6xiwpjfdg2mrhygvjlxj6jdkmqjqadq5z29172hji5b"; sha256 = "1axacjw2wyaphczfw3kfmi5cl83fyr8nb207nks40fxkbs8q5dlr";
}; };
patchPhase = '' patchPhase = ''
@ -20,7 +20,8 @@ stdenv.mkDerivation rec {
buildInputs = with perlPackages; [ perl openssl MailIMAPClient TermReadKey buildInputs = with perlPackages; [ perl openssl MailIMAPClient TermReadKey
IOSocketSSL DigestHMAC URI FileCopyRecursive IOTee UnicodeString IOSocketSSL DigestHMAC URI FileCopyRecursive IOTee UnicodeString
DataUniqid JSONWebToken TestMockGuard LWP CryptOpenSSLRSA DataUniqid JSONWebToken TestMockGuard LWP CryptOpenSSLRSA
LWPProtocolHttps LWPProtocolHttps Readonly TestPod TestMockObject ParseRecDescent
IOSocketInet6 NTLM
]; ];
meta = with stdenv.lib; { meta = with stdenv.lib; {

View file

@ -0,0 +1,33 @@
{ stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
name = "mcrcon-${version}";
version = "0.0.5";
src = fetchFromGitHub {
owner = "Tiiffi";
repo = "mcrcon";
rev = "v${version}";
sha256 = "1pwr1cjldjy8bxqpp7w03nvdpw8l4vqfnk6w6b3mf0qpap1k700z";
};
buildPhase = ''
$CC mcrcon.c -o mcrcon
'';
installPhase = ''
install -Dm 755 mcrcon $out/bin/mcrcon
'';
meta = {
homepage = https://bukkit.org/threads/admin-rcon-mcrcon-remote-connection-client-for-minecraft-servers.70910/;
description = "Minecraft console client with Bukkit coloring support.";
longDescription = ''
Mcrcon is a powerful Minecraft RCON terminal client with Bukkit coloring support.
It is well suited for remote administration and to be used as part of automated server maintenance scripts.
It does not trigger "IO: Broken pipe" or "IO: Connection reset" spam bugs on the server side.
'';
maintainers = with stdenv.lib.maintainers; [ dermetfan ];
license = with stdenv.lib.licenses; [ zlib libpng ];
};
}

View file

@ -3,7 +3,7 @@
, libgcrypt, dnsmasq, bluez5, readline , libgcrypt, dnsmasq, bluez5, readline
, gobjectIntrospection, modemmanager, openresolv, libndp, newt, libsoup , gobjectIntrospection, modemmanager, openresolv, libndp, newt, libsoup
, ethtool, iputils, gnused, coreutils, file, inetutils, kmod, jansson, libxslt , ethtool, iputils, gnused, coreutils, file, inetutils, kmod, jansson, libxslt
, python3Packages, docbook_xsl, fetchpatch }: , python3Packages, docbook_xsl, fetchpatch, openconnect }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "network-manager-${version}"; name = "network-manager-${version}";
@ -41,6 +41,8 @@ stdenv.mkDerivation rec {
--replace /bin/sed ${gnused}/bin/sed --replace /bin/sed ${gnused}/bin/sed
substituteInPlace data/NetworkManager.service.in \ substituteInPlace data/NetworkManager.service.in \
--replace /bin/kill ${coreutils}/bin/kill --replace /bin/kill ${coreutils}/bin/kill
substituteInPlace clients/common/nm-vpn-helpers.c \
--subst-var-by openconnect ${openconnect}
# to enable link-local connections # to enable link-local connections
configureFlags="$configureFlags --with-udev-dir=$out/lib/udev" configureFlags="$configureFlags --with-udev-dir=$out/lib/udev"
''; '';
@ -76,6 +78,7 @@ stdenv.mkDerivation rec {
name = "null-dereference.patch"; name = "null-dereference.patch";
url = "https://github.com/NetworkManager/NetworkManager/commit/4e8eddd100bbc8429806a70620c90b72cfd29cb1.patch"; url = "https://github.com/NetworkManager/NetworkManager/commit/4e8eddd100bbc8429806a70620c90b72cfd29cb1.patch";
}) })
./openconnect_helper_path.patch
]; ];
buildInputs = [ systemd libgudev libnl libuuid polkit ppp libndp buildInputs = [ systemd libgudev libnl libuuid polkit ppp libndp

View file

@ -0,0 +1,29 @@
diff --git a/clients/common/nm-vpn-helpers.c b/clients/common/nm-vpn-helpers.c
index 15611c45c..4a7444d3a 100644
--- a/clients/common/nm-vpn-helpers.c
+++ b/clients/common/nm-vpn-helpers.c
@@ -203,23 +203,8 @@ nm_vpn_openconnect_authenticate_helper (const char *host,
gboolean ret;
char **strv = NULL, **iter;
char *argv[4];
- const char *path;
- const char *const DEFAULT_PATHS[] = {
- "/sbin/",
- "/usr/sbin/",
- "/usr/local/sbin/",
- "/bin/",
- "/usr/bin/",
- "/usr/local/bin/",
- NULL,
- };
-
- path = nm_utils_file_search_in_paths ("openconnect", "/usr/sbin/openconnect", DEFAULT_PATHS,
- G_FILE_TEST_IS_EXECUTABLE, NULL, NULL, error);
- if (!path)
- return FALSE;
- argv[0] = (char *) path;
+ argv[0] = "@openconnect@/bin/openconnect";
argv[1] = "--authenticate";
argv[2] = (char *) host;
argv[3] = NULL;

View file

@ -1,11 +1,11 @@
{stdenv, fetchurl, perl}: {stdenv, fetchurl, perl}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "halibut-1.1"; name = "halibut-1.2";
src = fetchurl { src = fetchurl {
url = "http://www.chiark.greenend.org.uk/~sgtatham/halibut/${name}.tar.gz"; url = "http://www.chiark.greenend.org.uk/~sgtatham/halibut/${name}/${name}.tar.gz";
sha256 = "18409ir55rsa5gkizw2hsr86wgv176jms2dc52px62gd246rar5r"; sha256 = "0gqnhfqf555rfpk5xj1imbdxnbkkrv4wl3rrdb1r0wgj81igpv8s";
}; };
buildInputs = [ perl ]; buildInputs = [ perl ];

View file

@ -0,0 +1,27 @@
{ python2Packages, lib }:
with python2Packages;
buildPythonApplication rec {
name = "${pname}-${version}";
pname = "cloudmonkey";
version = "5.3.3";
propagatedBuildInputs = [ argcomplete pygments ];
doCheck = false; # upstream has no tests defined
src = fetchPypi {
inherit pname version;
sha256 = "064yk3lwl272nyn20xxrh0qxzh3r1rl9015qqf2i4snqdzwd5cf7";
};
meta = with lib; {
description = "CLI for Apache CloudStack.";
homepage = "https://cwiki.apache.org/confluence/display/CLOUDSTACK/CloudStack+cloudmonkey+CLI";
license = [ licenses.asl20 ];
maintainers = [ maintainers.womfoo ];
};
}

View file

@ -814,6 +814,8 @@ with pkgs;
cloud-init = callPackage ../tools/virtualization/cloud-init { }; cloud-init = callPackage ../tools/virtualization/cloud-init { };
cloudmonkey = callPackage ../tools/virtualization/cloudmonkey { };
clib = callPackage ../tools/package-management/clib { }; clib = callPackage ../tools/package-management/clib { };
colord-kde = libsForQt5.callPackage ../tools/misc/colord-kde {}; colord-kde = libsForQt5.callPackage ../tools/misc/colord-kde {};
@ -1689,6 +1691,8 @@ with pkgs;
eid-viewer = callPackage ../tools/security/eid-viewer { }; eid-viewer = callPackage ../tools/security/eid-viewer { };
mcrcon = callPackage ../tools/networking/mcrcon {};
### DEVELOPMENT / EMSCRIPTEN ### DEVELOPMENT / EMSCRIPTEN
buildEmscriptenPackage = callPackage ../development/em-modules/generic { }; buildEmscriptenPackage = callPackage ../development/em-modules/generic { };
@ -4489,6 +4493,8 @@ with pkgs;
vim-vint = callPackage ../development/tools/vim-vint { }; vim-vint = callPackage ../development/tools/vim-vint { };
vimer = callPackage ../tools/misc/vimer { };
vit = callPackage ../applications/misc/vit { }; vit = callPackage ../applications/misc/vit { };
vnc2flv = callPackage ../tools/video/vnc2flv {}; vnc2flv = callPackage ../tools/video/vnc2flv {};

View file

@ -10157,6 +10157,19 @@ let self = _self // overrides; _self = with self; {
}; };
}; };
NTLM = buildPerlPackage rec {
name = "NTLM-1.09";
src = fetchurl {
url = "mirror://cpan/authors/id/N/NB/NBEBOUT/${name}.tar.gz";
sha256 = "c823e30cda76bc15636e584302c960e2b5eeef9517c2448f7454498893151f85";
};
propagatedBuildInputs = [ DigestHMAC ];
meta = {
license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
maintainers = [ maintainers.pSub ];
};
};
ObjectAccessor = buildPerlPackage { ObjectAccessor = buildPerlPackage {
name = "Object-Accessor-0.48"; name = "Object-Accessor-0.48";
src = fetchurl { src = fetchurl {

View file

@ -640,23 +640,7 @@ in {
}; };
alembic = buildPythonPackage rec { alembic = callPackage ../development/python-modules/alembic {};
name = "alembic-0.8.3";
src = pkgs.fetchurl {
url = "mirror://pypi/a/alembic/${name}.tar.gz";
sha256 = "1sgwvwylzd5h14130mwr0cbyy0fil0a1bq0d0ki97wqvkic3db7f";
};
buildInputs = with self; [ pytest pytestcov mock coverage ];
propagatedBuildInputs = with self; [ Mako sqlalchemy python-editor ];
meta = {
homepage = http://bitbucket.org/zzzeek/alembic;
description = "A database migration tool for SQLAlchemy";
license = licenses.mit;
};
};
ansicolors = buildPythonPackage rec { ansicolors = buildPythonPackage rec {
name = "ansicolors-${version}"; name = "ansicolors-${version}";
@ -1155,6 +1139,8 @@ in {
}; };
}; };
argcomplete = callPackage ../development/python-modules/argcomplete { };
area53 = buildPythonPackage (rec { area53 = buildPythonPackage (rec {
name = "Area53-0.94"; name = "Area53-0.94";
@ -5295,28 +5281,7 @@ in {
pytest_xdist = callPackage ../development/python-modules/pytest-xdist { }; pytest_xdist = callPackage ../development/python-modules/pytest-xdist { };
pytest-localserver = buildPythonPackage rec { pytest-localserver = callPackage ../development/python-modules/pytest-localserver { };
name = "pytest-localserver-${version}";
version = "0.3.5";
src = pkgs.fetchurl {
url = "mirror://pypi/p/pytest-localserver/${name}.tar.gz";
sha256 = "0dvqspjr6va55zwmnnc2mmpqc7mm65kxig9ya44x1z8aadzxpa4p";
};
propagatedBuildInputs = with self; [ werkzeug ];
buildInputs = with self; [ pytest six requests ];
checkPhase = ''
py.test
'';
meta = {
description = "Plugin for the pytest testing framework to test server connections locally";
homepage = https://pypi.python.org/pypi/pytest-localserver;
license = licenses.mit;
};
};
pytest-subtesthack = buildPythonPackage rec { pytest-subtesthack = buildPythonPackage rec {
name = "pytest-subtesthack-${version}"; name = "pytest-subtesthack-${version}";
@ -10195,26 +10160,10 @@ in {
}; };
}; };
# This package likely needs an older version of Django. # This package may need an older version of Django.
# Override the package set and set e.g. `django = super.django_1_9`. # Override the package set and set e.g. `django = super.django_1_9`.
# See the Nixpkgs manual for examples on how to override the package set. # See the Nixpkgs manual for examples on how to override the package set.
django_hijack = buildPythonPackage rec { django_hijack = callPackage ../development/python-modules/django-hijack { };
name = "django-hijack-${version}";
version = "2.0.7";
src = pkgs.fetchurl {
url = "mirror://pypi/d/django-hijack/${name}.tar.gz";
sha256 = "0rpi1bkfx74xfbb2nk874kfdra1jcqp2vzky1r3z7zidlc9kah04";
};
propagatedBuildInputs = with self; [ django django_compat ];
meta = {
description = "Allows superusers to hijack (=login as) and work on behalf of another user";
homepage = https://github.com/arteria/django-hijack;
license = licenses.mit;
};
};
django_nose = buildPythonPackage rec { django_nose = buildPythonPackage rec {
name = "django-nose-${version}"; name = "django-nose-${version}";
@ -11050,30 +10999,7 @@ in {
flask_ldap_login = callPackage ../development/python-modules/flask-ldap-login.nix { }; flask_ldap_login = callPackage ../development/python-modules/flask-ldap-login.nix { };
flask_migrate = buildPythonPackage rec { flask_migrate = callPackage ../development/python-modules/flask-migrate { };
name = "Flask-Migrate-${version}";
version = "1.7.0";
src = pkgs.fetchurl {
url = "mirror://pypi/F/Flask-Migrate/Flask-Migrate-1.7.0.tar.gz";
sha256 = "16d7vnaj9xmxvb3qbcmhahm3ldfdhzzi6y221h62x4v1v1jayx7v";
};
# When tests run with python3*, tests should run commands as "python3 <args>",
# not "python <args>"
patchPhase = ''
substituteInPlace tests/test_migrate.py --replace "python" "${python.executable}"
substituteInPlace tests/test_multidb_migrate.py --replace "python" "${python.executable}"
'';
propagatedBuildInputs = with self ; [ flask flask_sqlalchemy flask_script alembic ];
meta = {
description = "SQLAlchemy database migrations for Flask applications using Alembic";
license = licenses.mit;
homepage = https://github.com/miguelgrinberg/Flask-Migrate;
};
};
flask_oauthlib = callPackage ../development/python-modules/flask-oauthlib.nix { }; flask_oauthlib = callPackage ../development/python-modules/flask-oauthlib.nix { };

View file

@ -89,101 +89,26 @@ in
guile = nativePlatforms; guile = nativePlatforms;
}; };
darwinToAarch64 = let crossIphone64 = mapTestOnCross lib.systems.examples.iphone64 darwinCommon;
crossSystem = {
config = "aarch64-apple-darwin14";
arch = "arm64";
libc = "libSystem";
};
in mapTestOnCross crossSystem darwinCommon;
darwinToArm = let crossIphone32 = mapTestOnCross lib.systems.examples.iphone32 darwinCommon;
crossSystem = {
config = "arm-apple-darwin10";
arch = "armv7-a";
libc = "libSystem";
};
in mapTestOnCross crossSystem darwinCommon;
/* Test some cross builds to the Sheevaplug */ /* Test some cross builds to the Sheevaplug */
crossSheevaplugLinux = let crossSheevaplugLinux = mapTestOnCross lib.systems.examples.sheevaplug (linuxCommon // {
crossSystem = {
config = "armv5tel-unknown-linux-gnueabi";
bigEndian = false;
arch = "arm";
float = "soft";
withTLS = true;
platform = lib.systems.platforms.sheevaplug;
libc = "glibc";
openssl.system = "linux-generic32";
};
in mapTestOnCross crossSystem (linuxCommon // {
ubootSheevaplug = nativePlatforms; ubootSheevaplug = nativePlatforms;
}); });
/* Test some cross builds on 32 bit mingw-w64 */ /* Test some cross builds on 32 bit mingw-w64 */
crossMingw32 = let crossMingw32 = mapTestOnCross lib.systems.examples.mingw32 windowsCommon;
crossSystem = {
config = "i686-pc-mingw32";
arch = "x86"; # Irrelevant
libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain
platform = {};
};
in mapTestOnCross crossSystem windowsCommon;
/* Test some cross builds on 64 bit mingw-w64 */ /* Test some cross builds on 64 bit mingw-w64 */
crossMingwW64 = let crossMingwW64 = mapTestOnCross lib.systems.examples.mingwW64 windowsCommon;
crossSystem = {
# That's the triplet they use in the mingw-w64 docs.
config = "x86_64-pc-mingw32";
arch = "x86_64"; # Irrelevant
libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain
platform = {};
};
in mapTestOnCross crossSystem windowsCommon;
/* Linux on the fuloong */ /* Linux on the fuloong */
fuloongminipc = let fuloongminipc = mapTestOnCross lib.systems.examples.fuloongminipc linuxCommon;
crossSystem = {
config = "mips64el-unknown-linux-gnu";
bigEndian = false;
arch = "mips";
float = "hard";
withTLS = true;
libc = "glibc";
platform = lib.systems.platforms.fuloong2f_n32;
openssl.system = "linux-generic32";
gcc = {
arch = "loongson2f";
abi = "n32";
};
};
in mapTestOnCross crossSystem linuxCommon;
/* Linux on Raspberrypi */ /* Linux on Raspberrypi */
rpi = let rpi = mapTestOnCross lib.systems.examples.raspberryPi (linuxCommon // {
crossSystem = {
config = "armv6l-unknown-linux-gnueabi";
bigEndian = false;
arch = "arm";
float = "hard";
fpu = "vfp";
withTLS = true;
libc = "glibc";
platform = lib.systems.platforms.raspberrypi;
openssl.system = "linux-generic32";
gcc = {
arch = "armv6";
fpu = "vfp";
float = "softfp";
abi = "aapcs-linux";
};
};
in mapTestOnCross crossSystem (linuxCommon // {
vim = nativePlatforms; vim = nativePlatforms;
unzip = nativePlatforms; unzip = nativePlatforms;
ddrescue = nativePlatforms; ddrescue = nativePlatforms;