1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-11-22 13:41:26 +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.
</para></note>
<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:
</para>
<variablelist>
@ -118,8 +119,27 @@
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>.
[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.
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).
See <literal>lib.systems.parse</literal> for the exact representation.
</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>
</listitem>
</varlistentry>
@ -128,7 +148,7 @@
<listitem>
<para>
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!
</para>
</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.
</para></note>
<para>
Many sources (manual, wiki, etc) probably mention passing <varname>system</varname>, <varname>platform</varname>, and, optionally, <varname>crossSystem</varname> to nixpkgs:
<literal>import &lt;nixpkgs&gt; { system = ..; platform = ..; crossSystem = ..; }</literal>.
<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.
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.
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,
or also with <varname>crossSystem</varname>, in which case packages run on the latter, but all building happens on the former.
Both parameters take the same schema as the 3 (build, host, and target) platforms defined in the previous section.
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>
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>
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:

View file

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

View file

@ -438,8 +438,13 @@ rec {
=> true
isStorePath pkgs.python
=> 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
Obviously, it is a bit hacky to use fromJSON that way.

View file

@ -5,6 +5,7 @@ rec {
parse = import ./parse.nix;
inspect = import ./inspect.nix;
platforms = import ./platforms.nix;
examples = import ./examples.nix;
# Elaborate a `localSystem` or `crossSystem` so that it contains everything
# 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";
fpu = "vfp";
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";
uboot = null;
gcc.arch = "loongson2f";
gcc = {
arch = "loongson2f";
abi = "n32";
};
};
beaglebone = armv7l-hf-multiplatform // {

View file

@ -240,11 +240,14 @@ in {
};
systemd.user = {
services.pulseaudio = {
restartIfChanged = true;
serviceConfig = {
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/fish.nix
./programs/freetds.nix
./programs/gnupg.nix
./programs/gphoto2.nix
./programs/info.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;
# FIXME: this should really be socket-activated for über-awesomeness.
systemd.user.services.ssh-agent =
{ enable = cfg.startAgent;
description = "SSH Agent";
systemd.user.services.ssh-agent = mkIf cfg.startAgent
{ description = "SSH Agent";
wantedBy = [ "default.target" ];
serviceConfig =
{ ExecStartPre = "${pkgs.coreutils}/bin/rm -f %t/ssh-agent";

View file

@ -72,7 +72,7 @@ in
dataDir = mkOption {
type = types.path;
default = "/var/mysql"; # !!! should be /var/db/mysql
example = "/var/lib/mysql";
description = "Location where MySQL stores its table files";
};
@ -166,6 +166,10 @@ in
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 = {
description = "MySQL server user";
group = "mysql";

View file

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

View file

@ -114,14 +114,15 @@ let
# The "nixos-fw" chain does the actual work.
ip46tables -N nixos-fw
# Perform a reverse-path test to refuse spoofers
# For now, we just drop, as the raw table doesn't have a log-refuse yet
${optionalString (kernelHasRPFilter && (cfg.checkReversePath != false)) ''
# Clean up rpfilter rules
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
# Clean up rpfilter rules
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 -X 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
# Allows this host to act as a DHCPv4 server

View file

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

View file

@ -122,6 +122,9 @@ let
source ~/.xprofile
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.
if test -x ~/.xsession; then
exec ~/.xsession
@ -164,6 +167,9 @@ let
''}
test -n "$waitPID" && wait "$waitPID"
${config.systemd.package}/bin/systemctl --user stop graphical-session.target
exit 0
'';
@ -325,6 +331,13 @@ in
config = {
services.xserver.displayManager.xserverBin = "${xorg.xorgserver.out}/bin/X";
systemd.user.targets.graphical-session = {
unitConfig = {
RefuseManualStart = false;
StopWhenUnneeded = false;
};
};
};
imports = [

View file

@ -95,7 +95,8 @@ in {
config = mkIf cfg.enable {
systemd.user.services.redshift = {
description = "Redshift colour temperature adjuster";
wantedBy = [ "default.target" ];
wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
serviceConfig = {
ExecStart = ''
${cfg.package}/bin/redshift \
@ -107,12 +108,6 @@ in {
RestartSec = 3;
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 {
systemd.user.services.unclutter-xfixes = {
description = "unclutter-xfixes";
wantedBy = [ "graphical.target" ];
wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
serviceConfig.ExecStart = ''
${cfg.package}/bin/unclutter \
--timeout ${toString cfg.timeout} \

View file

@ -56,19 +56,17 @@ in {
config = mkIf cfg.enable {
systemd.user.services.unclutter = {
description = "unclutter";
wantedBy = [ "default.target" ];
wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
serviceConfig.ExecStart = ''
${cfg.package}/bin/unclutter \
-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)} \
${optionalString cfg.keystroke "-keystroke"} \
${concatMapStrings (x: " -"+x) cfg.extraOptions} \
-not ${concatStringsSep " " cfg.excluded} \
'';
serviceConfig.PassEnvironment = "DISPLAY";
serviceConfig.RestartSec = 3;
serviceConfig.Restart = "always";
};

View file

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

View file

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

View file

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

View file

@ -1,4 +1,4 @@
{ stdenv, ninja, which
{ stdenv, ninja, which, nodejs
# default dependencies
, bzip2, flac, speex, libopus
@ -87,7 +87,7 @@ let
nativeBuildInputs = [
ninja which python2Packages.python perl pkgconfig
python2Packages.ply python2Packages.jinja2
python2Packages.ply python2Packages.jinja2 nodejs
];
buildInputs = defaultDependencies ++ [
@ -105,6 +105,7 @@ let
patches = [
./patches/nix_plugin_paths_52.patch
./patches/fix-bootstrap-gn.patch
] ++ optional (versionOlder version "57.0") ./patches/glibc-2.24.patch
++ optional enableWideVine ./patches/widevine.patch;
@ -130,6 +131,9 @@ let
}' gpu/config/gpu_control_list.cc
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") ''
sed -i -re 's/([^:])\<(isnan *\()/\1std::\2/g' \
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.
{
beta = {
sha256 = "1q9iqmq5amzfw03jiw18g1w285b6x2qckn8gc60r5m3xx1hbivv2";
sha256bin64 = "1ddhhcydcwwc2pkwm4c8rlr60968zy5vda410g4bwx0v5q7p22q9";
version = "58.0.3029.68";
sha256 = "1dcad79kfayagqiv85ycla3iv3gc99k0rvnvnpar9hd6x1iv8cfl";
sha256bin64 = "0ywf50rfzv1kkfpld62fi5g0kz33an0p03xqf7wkcqi7hild607v";
version = "59.0.3071.47";
};
dev = {
sha256 = "0zvnj9n2p057fxx7n4d1qc0nw34qhlsvrx20fwigq96blamckvd8";
sha256bin64 = "1s1r3h7x49bp64lzzphm4jcg7g68l0x7mr3airj3hqii58dvndm0";
version = "59.0.3067.0";
sha256 = "05kxl938mh41341lh5xsxcqxv9hhx8yn6nkawgg241sfwdx72db8";
sha256bin64 = "1mr2615r30zjxa55mdcbfi0k2grgyykzawslmg41aw0jy5hfamal";
version = "60.0.3095.5";
};
stable = {
sha256 = "1xwchazqqx0cs9rd15r80kw6p918zp9libx34qlcj8p5lxq1f0bh";
sha256bin64 = "0ggn5rljch36sx0i37qzp6ldcy3ibdj0z9217lqzjq3r7ixsfqja";
version = "57.0.2987.133";
sha256 = "1zvqim75mlqckvf7awrbyggis71dlkz4gjpfrmfdvydcs8yyyk7j";
sha256bin64 = "0vfx2m5zqfvfb6sgd3dg1sji72dzjcd1sf4r6qwhnz38wadys7id";
version = "58.0.3029.110";
};
}

View file

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

View file

@ -36,7 +36,7 @@ stdenv.mkDerivation (rec {
description = "Bidirectional file synchronizer";
license = stdenv.lib.licenses.gpl3Plus;
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 {
name = "geogebra-${version}";
version = "5-0-355-0";
version = "5-0-361-0";
preferLocalBuild = true;
src = fetchurl {
url = "http://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2";
sha256 = "0gm6jqlc3kgnbwnqlz6i9rahdy802jq7xc9gw1q5ynk63smm3ngk";
sha256 = "14kidnk8bidklv474zqipv3f77qnfmc697pl407v0rja481c649a";
};
srcIcon = fetchurl {

View file

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

View file

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

View file

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

View file

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

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "libfilezilla-${version}";
version = "0.9.1";
version = "0.9.2";
src = fetchurl {
url = "http://download.filezilla-project.org/libfilezilla/${name}.tar.bz2";
sha256 = "06ivj40bk5b76a36zwhnwqvg564hgccncnn5nb5cqc7kf4bkkchq";
sha256 = "1qrvddjqz5jv6920gcfqsrsjksi2845hn96g0z3vpcsm6nifhqn1";
};
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
}:
buildPythonPackage rec {
@ -6,19 +6,38 @@ buildPythonPackage rec {
name = "${pname}-${version}";
version = "1.0.14";
src = fetchurl {
url = "mirror://pypi/d/django-compat/${name}.tar.gz";
sha256 = "18y5bxxmafcd4np42mzbalva5lpssq0b8ki7zckbzvdv2mnv43xj";
# the pypi packages don't include everything required for the tests
src = fetchFromGitHub {
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 ];
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";
homepage = https://github.com/arteria/django-compat;
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
, tables
, xlwt
, darwin ? {}
, libcxx ? null
}:
@ -53,7 +52,7 @@ in buildPythonPackage rec {
openpyxl
tables
xlwt
] ++ optional isDarwin 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.
@ -63,16 +62,22 @@ in buildPythonPackage rec {
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
'';
checkPhase = ''
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
'';
@ -83,7 +88,7 @@ in buildPythonPackage rec {
homepage = "http://pandas.pydata.org/";
description = "Python Data Analysis Library";
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;
};
}

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):
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
, cudatoolkit ? null
, cudnn ? null
, gcc49 ? null
, linuxPackages ? null
, numpy
, six
@ -13,13 +12,11 @@
, swig
, werkzeug
, mock
, gcc
, zlib
}:
assert cudaSupport -> cudatoolkit != null
&& cudnn != null
&& gcc49 != null
&& linuxPackages != null;
# unsupported combination
@ -98,7 +95,7 @@ buildPythonPackage rec {
propagatedBuildInputs = with stdenv.lib;
[ 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
# libraries are loaded at runtime. If we run in preFixup then
@ -106,10 +103,10 @@ buildPythonPackage rec {
postFixup = let
rpath = stdenv.lib.makeLibraryPath
(if cudaSupport then
[ gcc49.cc.lib zlib cudatoolkit cudnn
[ stdenv.cc.cc.lib zlib cudatoolkit cudnn
linuxPackages.nvidia_x11 ]
else
[ gcc.cc.lib zlib ]
[ stdenv.cc.cc.lib zlib ]
);
in
''

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -6,91 +6,19 @@ let
lib = import ../../../lib;
pkgsFun = import ../../..;
sheevaplugCrossSystem = {
crossSystem = rec {
config = "arm-linux-gnueabi";
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";
};
inherit (lib.systems.examples)
sheevaplug raspberryPi armv7l-hf-multiplatform
aarch64-multiplatform scaleway-c1 pogoplug4;
selectedCrossSystem =
if toolsArch == "armv5tel" then sheevaplugCrossSystem else
if toolsArch == "scaleway" then scaleway-c1-crossSystem else
if toolsArch == "pogoplug4" then pogoplug4-crossSystem else
if toolsArch == "armv6l" then raspberrypiCrossSystem else
if toolsArch == "armv7l" then armv7l-hf-multiplatform-crossSystem else
if toolsArch == "aarch64" then aarch64-multiplatform-crossSystem else null;
if toolsArch == "armv5tel" then sheevaplug else
if toolsArch == "scaleway" then scaleway-c1 else
if toolsArch == "pogoplug4" then pogoplug4 else
if toolsArch == "armv6l" then raspberryPi else
if toolsArch == "armv7l" then armv7l-hf-multiplatform else
if toolsArch == "aarch64" then aarch64-multiplatform else null;
pkgs = pkgsFun ({inherit system;} // selectedCrossSystem);
pkgs = pkgsFun ({ inherit system; crossSystem = selectedCrossSystem; });
glibc = pkgs.libcCross;
bash = pkgs.bash;

View file

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

View file

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

View file

@ -12,6 +12,9 @@
# (--enable-unsupported could be used to force the build)
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
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 ];
makeFlags = "USE_AESNI=no";
makeFlags = [ "USE_AESNI=no" "USE_AVX=no" ];
installPhase = ''
install -D i2pd $out/bin/i2pd
'';
meta = with stdenv.lib; {
homepage = "https://track.privacysolutions.no/projects/i2pd";
homepage = "https://i2pd.website";
description = "Minimal I2P router written in C++";
license = licenses.gpl2;
maintainers = with maintainers; [ edwtjo ];

View file

@ -1,10 +1,10 @@
{stdenv, makeWrapper, fetchurl, perl, openssl, perlPackages }:
stdenv.mkDerivation rec {
name = "imapsync-1.684";
name = "imapsync-1.727";
src = fetchurl {
url = "https://fedorahosted.org/released/imapsync/${name}.tgz";
sha256 = "1ilqdaabh6xiwpjfdg2mrhygvjlxj6jdkmqjqadq5z29172hji5b";
url = "https://releases.pagure.org/imapsync/${name}.tgz";
sha256 = "1axacjw2wyaphczfw3kfmi5cl83fyr8nb207nks40fxkbs8q5dlr";
};
patchPhase = ''
@ -20,7 +20,8 @@ stdenv.mkDerivation rec {
buildInputs = with perlPackages; [ perl openssl MailIMAPClient TermReadKey
IOSocketSSL DigestHMAC URI FileCopyRecursive IOTee UnicodeString
DataUniqid JSONWebToken TestMockGuard LWP CryptOpenSSLRSA
LWPProtocolHttps
LWPProtocolHttps Readonly TestPod TestMockObject ParseRecDescent
IOSocketInet6 NTLM
];
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
, gobjectIntrospection, modemmanager, openresolv, libndp, newt, libsoup
, ethtool, iputils, gnused, coreutils, file, inetutils, kmod, jansson, libxslt
, python3Packages, docbook_xsl, fetchpatch }:
, python3Packages, docbook_xsl, fetchpatch, openconnect }:
stdenv.mkDerivation rec {
name = "network-manager-${version}";
@ -41,6 +41,8 @@ stdenv.mkDerivation rec {
--replace /bin/sed ${gnused}/bin/sed
substituteInPlace data/NetworkManager.service.in \
--replace /bin/kill ${coreutils}/bin/kill
substituteInPlace clients/common/nm-vpn-helpers.c \
--subst-var-by openconnect ${openconnect}
# to enable link-local connections
configureFlags="$configureFlags --with-udev-dir=$out/lib/udev"
'';
@ -76,6 +78,7 @@ stdenv.mkDerivation rec {
name = "null-dereference.patch";
url = "https://github.com/NetworkManager/NetworkManager/commit/4e8eddd100bbc8429806a70620c90b72cfd29cb1.patch";
})
./openconnect_helper_path.patch
];
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.mkDerivation rec {
name = "halibut-1.1";
name = "halibut-1.2";
src = fetchurl {
url = "http://www.chiark.greenend.org.uk/~sgtatham/halibut/${name}.tar.gz";
sha256 = "18409ir55rsa5gkizw2hsr86wgv176jms2dc52px62gd246rar5r";
url = "http://www.chiark.greenend.org.uk/~sgtatham/halibut/${name}/${name}.tar.gz";
sha256 = "0gqnhfqf555rfpk5xj1imbdxnbkkrv4wl3rrdb1r0wgj81igpv8s";
};
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 { };
cloudmonkey = callPackage ../tools/virtualization/cloudmonkey { };
clib = callPackage ../tools/package-management/clib { };
colord-kde = libsForQt5.callPackage ../tools/misc/colord-kde {};
@ -1689,6 +1691,8 @@ with pkgs;
eid-viewer = callPackage ../tools/security/eid-viewer { };
mcrcon = callPackage ../tools/networking/mcrcon {};
### DEVELOPMENT / EMSCRIPTEN
buildEmscriptenPackage = callPackage ../development/em-modules/generic { };
@ -4489,6 +4493,8 @@ with pkgs;
vim-vint = callPackage ../development/tools/vim-vint { };
vimer = callPackage ../tools/misc/vimer { };
vit = callPackage ../applications/misc/vit { };
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 {
name = "Object-Accessor-0.48";
src = fetchurl {

View file

@ -640,23 +640,7 @@ in {
};
alembic = buildPythonPackage rec {
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;
};
};
alembic = callPackage ../development/python-modules/alembic {};
ansicolors = buildPythonPackage rec {
name = "ansicolors-${version}";
@ -1155,6 +1139,8 @@ in {
};
};
argcomplete = callPackage ../development/python-modules/argcomplete { };
area53 = buildPythonPackage (rec {
name = "Area53-0.94";
@ -5295,28 +5281,7 @@ in {
pytest_xdist = callPackage ../development/python-modules/pytest-xdist { };
pytest-localserver = buildPythonPackage rec {
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-localserver = callPackage ../development/python-modules/pytest-localserver { };
pytest-subtesthack = buildPythonPackage rec {
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`.
# See the Nixpkgs manual for examples on how to override the package set.
django_hijack = buildPythonPackage rec {
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_hijack = callPackage ../development/python-modules/django-hijack { };
django_nose = buildPythonPackage rec {
name = "django-nose-${version}";
@ -11050,30 +10999,7 @@ in {
flask_ldap_login = callPackage ../development/python-modules/flask-ldap-login.nix { };
flask_migrate = buildPythonPackage rec {
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_migrate = callPackage ../development/python-modules/flask-migrate { };
flask_oauthlib = callPackage ../development/python-modules/flask-oauthlib.nix { };

View file

@ -89,101 +89,26 @@ in
guile = nativePlatforms;
};
darwinToAarch64 = let
crossSystem = {
config = "aarch64-apple-darwin14";
arch = "arm64";
libc = "libSystem";
};
in mapTestOnCross crossSystem darwinCommon;
crossIphone64 = mapTestOnCross lib.systems.examples.iphone64 darwinCommon;
darwinToArm = let
crossSystem = {
config = "arm-apple-darwin10";
arch = "armv7-a";
libc = "libSystem";
};
in mapTestOnCross crossSystem darwinCommon;
crossIphone32 = mapTestOnCross lib.systems.examples.iphone32 darwinCommon;
/* Test some cross builds to the Sheevaplug */
crossSheevaplugLinux = let
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 // {
crossSheevaplugLinux = mapTestOnCross lib.systems.examples.sheevaplug (linuxCommon // {
ubootSheevaplug = nativePlatforms;
});
/* Test some cross builds on 32 bit mingw-w64 */
crossMingw32 = let
crossSystem = {
config = "i686-pc-mingw32";
arch = "x86"; # Irrelevant
libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain
platform = {};
};
in mapTestOnCross crossSystem windowsCommon;
crossMingw32 = mapTestOnCross lib.systems.examples.mingw32 windowsCommon;
/* Test some cross builds on 64 bit mingw-w64 */
crossMingwW64 = let
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;
crossMingwW64 = mapTestOnCross lib.systems.examples.mingwW64 windowsCommon;
/* Linux on the fuloong */
fuloongminipc = let
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;
fuloongminipc = mapTestOnCross lib.systems.examples.fuloongminipc linuxCommon;
/* Linux on Raspberrypi */
rpi = let
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 // {
rpi = mapTestOnCross lib.systems.examples.raspberryPi (linuxCommon // {
vim = nativePlatforms;
unzip = nativePlatforms;
ddrescue = nativePlatforms;