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:
commit
983657087b
|
@ -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 <nixpkgs> { 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 <nixpkgs> --arg crossSystem '(import <nixpkgs/lib>).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 <nixpkgs> { 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:
|
||||||
|
|
|
@ -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>";
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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
130
lib/systems/examples.nix
Normal 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 = {};
|
||||||
|
};
|
||||||
|
}
|
|
@ -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 // {
|
||||||
|
|
|
@ -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" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
|
@ -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
|
||||||
|
|
75
nixos/modules/programs/gnupg.nix
Normal file
75
nixos/modules/programs/gnupg.nix
Normal 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!";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
|
@ -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";
|
||||||
|
|
|
@ -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";
|
||||||
|
|
|
@ -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";
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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 ];
|
||||||
|
|
|
@ -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 = [
|
||||||
|
|
|
@ -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
|
|
||||||
)}";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -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} \
|
||||||
|
|
|
@ -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";
|
||||||
};
|
};
|
||||||
|
|
|
@ -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";
|
||||||
};
|
};
|
||||||
|
|
|
@ -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}
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -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 ];
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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',
|
|
@ -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";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 ];
|
||||||
|
|
|
@ -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;
|
||||||
};
|
};
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
30
pkgs/development/compilers/llvm/4/lldb-libedit.patch
Normal file
30
pkgs/development/compilers/llvm/4/lldb-libedit.patch
Normal 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
|
||||||
|
|
|
@ -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; {
|
||||||
|
|
|
@ -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/;
|
||||||
|
|
|
@ -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; {
|
||||||
|
|
24
pkgs/development/python-modules/alembic/default.nix
Normal file
24
pkgs/development/python-modules/alembic/default.nix
Normal 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;
|
||||||
|
};
|
||||||
|
}
|
27
pkgs/development/python-modules/argcomplete/default.nix
Normal file
27
pkgs/development/python-modules/argcomplete/default.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -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 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
39
pkgs/development/python-modules/django-hijack/default.nix
Normal file
39
pkgs/development/python-modules/django-hijack/default.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
29
pkgs/development/python-modules/flask-migrate/default.nix
Normal file
29
pkgs/development/python-modules/flask-migrate/default.nix
Normal 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;
|
||||||
|
};
|
||||||
|
}
|
|
@ -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;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -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')
|
|
||||||
-
|
|
||||||
|
|
|
@ -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
|
||||||
''
|
''
|
||||||
|
|
|
@ -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";
|
||||||
|
|
|
@ -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 ];
|
||||||
|
|
|
@ -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 ];
|
||||||
|
|
|
@ -42,7 +42,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
ragelDev = generic {
|
ragelDev = generic {
|
||||||
version = "7.0.0.9";
|
version = "7.0.0.10";
|
||||||
sha256 = "1w2jhfg3fxl15gcmm7z3jbi6splgc83mmwcfbp08lfc8sg2wmrmr";
|
sha256 = "1v4ddzxal4gf8l8nkn32qabba6nbpd2mg8sphgmdn8kaqv52nmj0";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 ];
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
32
pkgs/tools/misc/vimer/default.nix
Normal file
32
pkgs/tools/misc/vimer/default.nix
Normal 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;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -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 ];
|
||||||
|
|
|
@ -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; {
|
||||||
|
|
33
pkgs/tools/networking/mcrcon/default.nix
Normal file
33
pkgs/tools/networking/mcrcon/default.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
|
@ -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 ];
|
||||||
|
|
27
pkgs/tools/virtualization/cloudmonkey/default.nix
Normal file
27
pkgs/tools/virtualization/cloudmonkey/default.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
|
@ -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 {};
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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 { };
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in a new issue