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:
commit
983657087b
|
@ -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 <nixpkgs> { 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 <nixpkgs> --arg crossSystem '(import <nixpkgs/lib>).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 <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>
|
||||
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:
|
||||
|
|
|
@ -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>";
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
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";
|
||||
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 // {
|
||||
|
|
|
@ -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" ];
|
||||
};
|
||||
};
|
||||
})
|
||||
|
|
|
@ -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
|
||||
|
|
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;
|
||||
|
||||
# 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";
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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
|
||||
)}";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -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} \
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
|
|
|
@ -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}
|
||||
'';
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
{
|
||||
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";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
||||
})
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
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";
|
||||
|
||||
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; {
|
||||
|
|
|
@ -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/;
|
||||
|
|
|
@ -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; {
|
||||
|
|
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
|
||||
}:
|
||||
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 ];
|
||||
};
|
||||
}
|
||||
|
|
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
|
||||
, 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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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):
|
||||
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
|
||||
, 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
|
||||
''
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -42,7 +42,7 @@ in
|
|||
};
|
||||
|
||||
ragelDev = generic {
|
||||
version = "7.0.0.9";
|
||||
sha256 = "1w2jhfg3fxl15gcmm7z3jbi6splgc83mmwcfbp08lfc8sg2wmrmr";
|
||||
version = "7.0.0.10";
|
||||
sha256 = "1v4ddzxal4gf8l8nkn32qabba6nbpd2mg8sphgmdn8kaqv52nmj0";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
|
|
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 ];
|
||||
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 ];
|
||||
|
|
|
@ -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; {
|
||||
|
|
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
|
||||
, 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
|
||||
|
|
|
@ -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.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 ];
|
||||
|
|
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 { };
|
||||
|
||||
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 {};
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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 { };
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue