Merge remote-tracking branch 'upstream/master' into HEAD
This commit is contained in:
commit
c520e79842
@ -17,7 +17,29 @@ has the following highlights: </para>
|
||||
A consequence is that UIDs and GIDs are no longer reused.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
The module option <option>services.xserver.xrandrHeads</option> now
|
||||
causes the first head specified in this list to be set as the primary
|
||||
head. Apart from that, it's now possible to also set additional options
|
||||
by using an attribute set, for example:
|
||||
<programlisting>
|
||||
{ services.xserver.xrandrHeads = [
|
||||
"HDMI-0"
|
||||
{
|
||||
output = "DVI-0";
|
||||
primary = true;
|
||||
monitorConfig = ''
|
||||
Option "Rotate" "right"
|
||||
'';
|
||||
}
|
||||
];
|
||||
}
|
||||
</programlisting>
|
||||
This will set the <literal>DVI-0</literal> output to be the primary head,
|
||||
even though <literal>HDMI-0</literal> is the first head in the list.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>The following new services were added since the last release:</para>
|
||||
|
@ -534,6 +534,7 @@
|
||||
./services/security/munge.nix
|
||||
./services/security/oauth2_proxy.nix
|
||||
./services/security/physlock.nix
|
||||
./services/security/shibboleth-sp.nix
|
||||
./services/security/sshguard.nix
|
||||
./services/security/tor.nix
|
||||
./services/security/torify.nix
|
||||
|
@ -12,7 +12,7 @@ let
|
||||
factory = util.BuildFactory()
|
||||
c = BuildmasterConfig = dict(
|
||||
workers = [${concatStringsSep "," cfg.workers}],
|
||||
protocols = { 'pb': {'port': ${cfg.bpPort} } },
|
||||
protocols = { 'pb': {'port': ${toString cfg.bpPort} } },
|
||||
title = '${escapeStr cfg.title}',
|
||||
titleURL = '${escapeStr cfg.titleUrl}',
|
||||
buildbotURL = '${escapeStr cfg.buildbotUrl}',
|
||||
@ -62,7 +62,7 @@ in {
|
||||
extraConfig = mkOption {
|
||||
type = types.str;
|
||||
description = "Extra configuration to append to master.cfg";
|
||||
default = "";
|
||||
default = "c['buildbotNetUsageData'] = None";
|
||||
};
|
||||
|
||||
masterCfg = mkOption {
|
||||
@ -92,10 +92,7 @@ in {
|
||||
workers = mkOption {
|
||||
type = types.listOf types.str;
|
||||
description = "List of Workers.";
|
||||
default = [
|
||||
"worker.Worker('example-worker', 'pass')"
|
||||
];
|
||||
example = [ "worker.LocalWorker('example-worker')" ];
|
||||
default = [ "worker.Worker('example-worker', 'pass')" ];
|
||||
};
|
||||
|
||||
status = mkOption {
|
||||
@ -135,9 +132,8 @@ in {
|
||||
};
|
||||
|
||||
bpPort = mkOption {
|
||||
default = "9989";
|
||||
type = types.string;
|
||||
example = "tcp:10000:interface=127.0.0.1";
|
||||
default = 9989;
|
||||
type = types.int;
|
||||
description = "Port where the master will listen to Buildbot Worker.";
|
||||
};
|
||||
|
||||
@ -179,14 +175,14 @@ in {
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.buildbot-ui;
|
||||
defaultText = "pkgs.buildbot-ui";
|
||||
default = pkgs.buildbot-full;
|
||||
defaultText = "pkgs.buildbot-full";
|
||||
description = "Package to use for buildbot.";
|
||||
example = literalExample "pkgs.buildbot-full";
|
||||
};
|
||||
|
||||
packages = mkOption {
|
||||
default = [ ];
|
||||
default = with pkgs; [ python27Packages.twisted git ];
|
||||
example = literalExample "[ pkgs.git ]";
|
||||
type = types.listOf types.package;
|
||||
description = "Packages to add to PATH for the buildbot process.";
|
||||
@ -212,29 +208,30 @@ in {
|
||||
|
||||
systemd.services.buildbot-master = {
|
||||
description = "Buildbot Continuous Integration Server.";
|
||||
after = [ "network.target" ];
|
||||
after = [ "network-online.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = cfg.packages;
|
||||
|
||||
preStart = ''
|
||||
env > envvars
|
||||
mkdir -vp ${cfg.buildbotDir}
|
||||
ln -sfv ${masterCfg} ${cfg.buildbotDir}/master.cfg
|
||||
rm -fv $cfg.buildbotDir}/buildbot.tac
|
||||
${cfg.package}/bin/buildbot create-master ${cfg.buildbotDir}
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
WorkingDirectory = cfg.home;
|
||||
ExecStart = "${cfg.package}/bin/buildbot start --nodaemon ${cfg.buildbotDir}";
|
||||
Environment = "PYTHONPATH=${cfg.package}/lib/python2.7/site-packages:${pkgs.buildbot-plugins.www}/lib/python2.7/site-packages:${pkgs.buildbot-plugins.waterfall-view}/lib/python2.7/site-packages:${pkgs.buildbot-plugins.console-view}/lib/python2.7/site-packages:${pkgs.python27Packages.future}/lib/python2.7/site-packages:${pkgs.python27Packages.dateutil}/lib/python2.7/site-packages:${pkgs.python27Packages.six}/lib/python2.7/site-packages:${pkgs.python27Packages.sqlalchemy}/lib/python2.7/site-packages:${pkgs.python27Packages.jinja2}/lib/python2.7/site-packages:${pkgs.python27Packages.markupsafe}/lib/python2.7/site-packages:${pkgs.python27Packages.sqlalchemy_migrate}/lib/python2.7/site-packages:${pkgs.python27Packages.tempita}/lib/python2.7/site-packages:${pkgs.python27Packages.decorator}/lib/python2.7/site-packages:${pkgs.python27Packages.sqlparse}/lib/python2.7/site-packages:${pkgs.python27Packages.txaio}/lib/python2.7/site-packages:${pkgs.python27Packages.autobahn}/lib/python2.7/site-packages:${pkgs.python27Packages.pyjwt}/lib/python2.7/site-packages:${pkgs.python27Packages.distro}/lib/python2.7/site-packages:${pkgs.python27Packages.pbr}/lib/python2.7/site-packages:${pkgs.python27Packages.urllib3}/lib/python2.7/site-packages";
|
||||
|
||||
# NOTE: call twistd directly with stdout logging for systemd
|
||||
#ExecStart = "${cfg.package}/bin/buildbot start --nodaemon ${cfg.buildbotDir}";
|
||||
ExecStart = "${pkgs.python27Packages.twisted}/bin/twistd -n -l - -y ${cfg.buildbotDir}/buildbot.tac";
|
||||
};
|
||||
|
||||
preStart = ''
|
||||
${pkgs.coreutils}/bin/mkdir -vp ${cfg.buildbotDir}
|
||||
${pkgs.coreutils}/bin/ln -sfv ${masterCfg} ${cfg.buildbotDir}/master.cfg
|
||||
${cfg.package}/bin/buildbot create-master ${cfg.buildbotDir}
|
||||
'';
|
||||
|
||||
postStart = ''
|
||||
until [[ $(${pkgs.curl}/bin/curl -s --head -w '\n%{http_code}' http://localhost:${toString cfg.port} | tail -n1) =~ ^(200|403)$ ]]; do
|
||||
sleep 1
|
||||
done
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -74,7 +74,7 @@ in {
|
||||
};
|
||||
|
||||
packages = mkOption {
|
||||
default = [ ];
|
||||
default = with pkgs; [ python27Packages.twisted git ];
|
||||
example = literalExample "[ pkgs.git ]";
|
||||
type = types.listOf types.package;
|
||||
description = "Packages to add to PATH for the buildbot process.";
|
||||
@ -106,7 +106,8 @@ in {
|
||||
path = cfg.packages;
|
||||
|
||||
preStart = ''
|
||||
${pkgs.coreutils}/bin/mkdir -vp ${cfg.buildbotDir}
|
||||
mkdir -vp ${cfg.buildbotDir}
|
||||
rm -fv $cfg.buildbotDir}/buildbot.tac
|
||||
${cfg.package}/bin/buildbot-worker create-worker ${cfg.buildbotDir} ${cfg.masterUrl} ${cfg.workerUser} ${cfg.workerPass}
|
||||
'';
|
||||
|
||||
@ -115,7 +116,11 @@ in {
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
WorkingDirectory = cfg.home;
|
||||
ExecStart = "${cfg.package}/bin/buildbot-worker start --nodaemon ${cfg.buildbotDir}";
|
||||
Environment = "PYTHONPATH=${cfg.package}/lib/python2.7/site-packages:${pkgs.python27Packages.future}/lib/python2.7/site-packages";
|
||||
|
||||
# NOTE: call twistd directly with stdout logging for systemd
|
||||
#ExecStart = "${cfg.package}/bin/buildbot-worker start --nodaemon ${cfg.buildbotDir}";
|
||||
ExecStart = "${pkgs.python27Packages.twisted}/bin/twistd -n -l - -y ${cfg.buildbotDir}/buildbot.tac";
|
||||
};
|
||||
|
||||
};
|
||||
|
73
nixos/modules/services/security/shibboleth-sp.nix
Normal file
73
nixos/modules/services/security/shibboleth-sp.nix
Normal file
@ -0,0 +1,73 @@
|
||||
{pkgs, config, lib, ...}:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.services.shibboleth-sp;
|
||||
in {
|
||||
options = {
|
||||
services.shibboleth-sp = {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Whether to enable the shibboleth service";
|
||||
};
|
||||
|
||||
configFile = mkOption {
|
||||
type = types.path;
|
||||
example = "${pkgs.shibboleth-sp}/etc/shibboleth/shibboleth2.xml";
|
||||
description = "Path to shibboleth config file";
|
||||
};
|
||||
|
||||
fastcgi.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Whether to include the shibauthorizer and shibresponder FastCGI processes";
|
||||
};
|
||||
|
||||
fastcgi.shibAuthorizerPort = mkOption {
|
||||
type = types.int;
|
||||
default = 9100;
|
||||
description = "Port for shibauthorizer FastCGI proccess to bind to";
|
||||
};
|
||||
|
||||
fastcgi.shibResponderPort = mkOption {
|
||||
type = types.int;
|
||||
default = 9101;
|
||||
description = "Port for shibauthorizer FastCGI proccess to bind to";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.services.shibboleth-sp = {
|
||||
description = "Provides SSO and federation for web applications";
|
||||
after = lib.optionals cfg.fastcgi.enable [ "shibresponder.service" "shibauthorizer.service" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.shibboleth-sp}/bin/shibd -F -d ${pkgs.shibboleth-sp} -c ${cfg.configFile}";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.shibresponder = mkIf cfg.fastcgi.enable {
|
||||
description = "Provides SSO through Shibboleth via FastCGI";
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = [ "${pkgs.spawn_fcgi}" ];
|
||||
environment.SHIBSP_CONFIG = "${cfg.configFile}";
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.spawn_fcgi}/bin/spawn-fcgi -n -p ${toString cfg.fastcgi.shibResponderPort} ${pkgs.shibboleth-sp}/lib/shibboleth/shibresponder";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.shibauthorizer = mkIf cfg.fastcgi.enable {
|
||||
description = "Provides SSO through Shibboleth via FastCGI";
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = [ "${pkgs.spawn_fcgi}" ];
|
||||
environment.SHIBSP_CONFIG = "${cfg.configFile}";
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.spawn_fcgi}/bin/spawn-fcgi -n -p ${toString cfg.fastcgi.shibAuthorizerPort} ${pkgs.shibboleth-sp}/lib/shibboleth/shibauthorizer";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@ -31,18 +31,51 @@ let
|
||||
pkgs.xorg.fontadobe75dpi
|
||||
];
|
||||
|
||||
xrandrOptions = {
|
||||
output = mkOption {
|
||||
type = types.str;
|
||||
example = "DVI-0";
|
||||
description = ''
|
||||
The output name of the monitor, as shown by <citerefentry>
|
||||
<refentrytitle>xrandr</refentrytitle>
|
||||
<manvolnum>1</manvolnum>
|
||||
</citerefentry> invoked without arguments.
|
||||
'';
|
||||
};
|
||||
|
||||
primary = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether this head is treated as the primary monitor,
|
||||
'';
|
||||
};
|
||||
|
||||
monitorConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
example = ''
|
||||
DisplaySize 408 306
|
||||
Option "DPMS" "false"
|
||||
'';
|
||||
description = ''
|
||||
Extra lines to append to the <literal>Monitor</literal> section
|
||||
verbatim.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
# Just enumerate all heads without discarding XRandR output information.
|
||||
xrandrHeads = let
|
||||
mkHead = num: output: {
|
||||
mkHead = num: config: {
|
||||
name = "multihead${toString num}";
|
||||
inherit output;
|
||||
inherit config;
|
||||
};
|
||||
in imap mkHead cfg.xrandrHeads;
|
||||
|
||||
xrandrDeviceSection = let
|
||||
monitors = flip map xrandrHeads (h: ''
|
||||
Option "monitor-${h.output}" "${h.name}"
|
||||
Option "monitor-${h.config.output}" "${h.name}"
|
||||
'');
|
||||
# First option is indented through the space in the config but any
|
||||
# subsequent options aren't so we need to apply indentation to
|
||||
@ -62,9 +95,13 @@ let
|
||||
value = ''
|
||||
Section "Monitor"
|
||||
Identifier "${current.name}"
|
||||
${optionalString (current.config.primary) ''
|
||||
Option "Primary" "true"
|
||||
''}
|
||||
${optionalString (previous != []) ''
|
||||
Option "RightOf" "${(head previous).name}"
|
||||
''}
|
||||
${current.config.monitorConfig}
|
||||
EndSection
|
||||
'';
|
||||
} ++ previous;
|
||||
@ -329,13 +366,39 @@ in
|
||||
|
||||
xrandrHeads = mkOption {
|
||||
default = [];
|
||||
example = [ "HDMI-0" "DVI-0" ];
|
||||
type = with types; listOf string;
|
||||
example = [
|
||||
"HDMI-0"
|
||||
{ output = "DVI-0"; primary = true; }
|
||||
{ output = "DVI-1"; monitorConfig = "Option \"Rotate\" \"left\""; }
|
||||
];
|
||||
type = with types; listOf (coercedTo str (output: {
|
||||
inherit output;
|
||||
}) (submodule { options = xrandrOptions; }));
|
||||
# Set primary to true for the first head if no other has been set
|
||||
# primary already.
|
||||
apply = heads: let
|
||||
hasPrimary = any (x: x.primary) heads;
|
||||
firstPrimary = head heads // { primary = true; };
|
||||
newHeads = singleton firstPrimary ++ tail heads;
|
||||
in if heads != [] && !hasPrimary then newHeads else heads;
|
||||
description = ''
|
||||
Simple multiple monitor configuration, just specify a list of XRandR
|
||||
outputs which will be mapped from left to right in the order of the
|
||||
Multiple monitor configuration, just specify a list of XRandR
|
||||
outputs. The individual elements should be either simple strings or
|
||||
an attribute set of output options.
|
||||
|
||||
If the element is a string, it is denoting the physical output for a
|
||||
monitor, if it's an attribute set, you must at least provide the
|
||||
<option>output</option> option.
|
||||
|
||||
The monitors will be mapped from left to right in the order of the
|
||||
list.
|
||||
|
||||
By default, the first monitor will be set as the primary monitor if
|
||||
none of the elements contain an option that has set
|
||||
<option>primary</option> to <literal>true</literal>.
|
||||
|
||||
<note><para>Only one monitor is allowed to be primary.</para></note>
|
||||
|
||||
Be careful using this option with multiple graphic adapters or with
|
||||
drivers that have poor support for XRandR, unexpected things might
|
||||
happen with those.
|
||||
@ -469,11 +532,18 @@ in
|
||||
|
||||
nixpkgs.config.xorg = optionalAttrs (elem "vboxvideo" cfg.videoDrivers) { abiCompat = "1.18"; };
|
||||
|
||||
assertions =
|
||||
[ { assertion = config.security.polkit.enable;
|
||||
message = "X11 requires Polkit to be enabled (‘security.polkit.enable = true’).";
|
||||
}
|
||||
];
|
||||
assertions = [
|
||||
{ assertion = config.security.polkit.enable;
|
||||
message = "X11 requires Polkit to be enabled (‘security.polkit.enable = true’).";
|
||||
}
|
||||
(let primaryHeads = filter (x: x.primary) cfg.xrandrHeads; in {
|
||||
assertion = length primaryHeads < 2;
|
||||
message = "Only one head is allowed to be primary in "
|
||||
+ "‘services.xserver.xrandrHeads’, but there are "
|
||||
+ "${toString (length primaryHeads)} heads set to primary: "
|
||||
+ concatMapStringsSep ", " (x: x.output) primaryHeads;
|
||||
})
|
||||
];
|
||||
|
||||
environment.etc =
|
||||
(optionals cfg.exportConfiguration
|
||||
|
@ -4,18 +4,22 @@ import ./make-test.nix ({ pkgs, ... } : {
|
||||
name = "buildbot";
|
||||
|
||||
nodes = {
|
||||
bbmaster = { config, pkgs, nodes, ... }: {
|
||||
bbmaster = { config, pkgs, ... }: {
|
||||
services.buildbot-master = {
|
||||
enable = true;
|
||||
package = pkgs.buildbot-full;
|
||||
|
||||
# NOTE: use fake repo due to no internet in hydra ci
|
||||
factorySteps = [
|
||||
"steps.Git(repourl='git://github.com/buildbot/pyflakes.git', mode='incremental')"
|
||||
"steps.ShellCommand(command=['trial', 'pyflakes'])"
|
||||
"steps.Git(repourl='git://gitrepo/fakerepo.git', mode='incremental')"
|
||||
"steps.ShellCommand(command=['bash', 'fakerepo.sh'])"
|
||||
];
|
||||
changeSource = [
|
||||
"changes.GitPoller('git://github.com/buildbot/pyflakes.git', workdir='gitpoller-workdir', branch='master', pollinterval=300)"
|
||||
"changes.GitPoller('git://gitrepo/fakerepo.git', workdir='gitpoller-workdir', branch='master', pollinterval=300)"
|
||||
];
|
||||
};
|
||||
networking.firewall.allowedTCPPorts = [ 8010 9989 ];
|
||||
networking.firewall.allowedTCPPorts = [ 8010 8011 9989 ];
|
||||
environment.systemPackages = with pkgs; [ git buildbot-full ];
|
||||
};
|
||||
|
||||
bbworker = { config, pkgs, ... }: {
|
||||
@ -23,24 +27,85 @@ import ./make-test.nix ({ pkgs, ... } : {
|
||||
enable = true;
|
||||
masterUrl = "bbmaster:9989";
|
||||
};
|
||||
environment.systemPackages = with pkgs; [ git buildbot-worker ];
|
||||
};
|
||||
|
||||
gitrepo = { config, pkgs, ... }: {
|
||||
services.openssh.enable = true;
|
||||
networking.firewall.allowedTCPPorts = [ 22 9418 ];
|
||||
environment.systemPackages = with pkgs; [ git ];
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
#Start up and populate fake repo
|
||||
$gitrepo->waitForUnit("multi-user.target");
|
||||
print($gitrepo->execute(" \
|
||||
git config --global user.name 'Nobody Fakeuser' && \
|
||||
git config --global user.email 'nobody\@fakerepo.com' && \
|
||||
rm -rvf /srv/repos/fakerepo.git /tmp/fakerepo && \
|
||||
mkdir -pv /srv/repos/fakerepo ~/.ssh && \
|
||||
ssh-keyscan -H gitrepo > ~/.ssh/known_hosts && \
|
||||
cat ~/.ssh/known_hosts && \
|
||||
cd /srv/repos/fakerepo && \
|
||||
git init && \
|
||||
echo -e '#!/bin/sh\necho fakerepo' > fakerepo.sh && \
|
||||
cat fakerepo.sh && \
|
||||
touch .git/git-daemon-export-ok && \
|
||||
git add fakerepo.sh .git/git-daemon-export-ok && \
|
||||
git commit -m fakerepo && \
|
||||
git daemon --verbose --export-all --base-path=/srv/repos --reuseaddr & \
|
||||
"));
|
||||
|
||||
$bbmaster->waitForUnit("network.target");
|
||||
$bbworker->waitForUnit("network.target");
|
||||
# Test gitrepo
|
||||
$bbmaster->waitForUnit("network-online.target");
|
||||
#$bbmaster->execute("nc -z gitrepo 9418");
|
||||
print($bbmaster->execute(" \
|
||||
rm -rfv /tmp/fakerepo && \
|
||||
git clone git://gitrepo/fakerepo /tmp/fakerepo && \
|
||||
pwd && \
|
||||
ls -la && \
|
||||
ls -la /tmp/fakerepo \
|
||||
"));
|
||||
|
||||
# Additional tests to be added
|
||||
#$bbmaster->waitForUnit("buildbot-master.service");
|
||||
#$bbmaster->waitUntilSucceeds("curl -s --head http://bbmaster:8010") =~ /200 OK/ or die;
|
||||
#$bbworker->waitForUnit("buildbot-worker.service");
|
||||
#$bbworker->waitUntilSucceeds("tail -10 /home/bbworker/worker/twistd.log") =~ /success/ or die;
|
||||
# Test start master and connect worker
|
||||
$bbmaster->waitForUnit("buildbot-master.service");
|
||||
$bbmaster->waitUntilSucceeds("curl -s --head http://bbmaster:8010") =~ /200 OK/;
|
||||
$bbworker->waitForUnit("network-online.target");
|
||||
$bbworker->execute("nc -z bbmaster 8010");
|
||||
$bbworker->execute("nc -z bbmaster 9989");
|
||||
$bbworker->waitForUnit("buildbot-worker.service");
|
||||
print($bbworker->execute("ls -la /home/bbworker/worker"));
|
||||
|
||||
|
||||
# Test stop buildbot master and worker
|
||||
print($bbmaster->execute(" \
|
||||
systemctl -l --no-pager status buildbot-master && \
|
||||
systemctl stop buildbot-master \
|
||||
"));
|
||||
$bbworker->fail("nc -z bbmaster 8010");
|
||||
$bbworker->fail("nc -z bbmaster 9989");
|
||||
print($bbworker->execute(" \
|
||||
systemctl -l --no-pager status buildbot-worker && \
|
||||
systemctl stop buildbot-worker && \
|
||||
ls -la /home/bbworker/worker \
|
||||
"));
|
||||
|
||||
|
||||
# Test buildbot daemon mode
|
||||
# NOTE: daemon mode tests disabled due to broken PYTHONPATH child inheritence
|
||||
#
|
||||
#$bbmaster->execute("buildbot create-master /tmp");
|
||||
#$bbmaster->execute("mv -fv /tmp/master.cfg.sample /tmp/master.cfg");
|
||||
#$bbmaster->execute("sed -i 's/8010/8011/' /tmp/master.cfg");
|
||||
#$bbmaster->execute("buildbot start /tmp");
|
||||
#$bbworker->execute("nc -z bbmaster 8011");
|
||||
#$bbworker->waitUntilSucceeds("curl -s --head http://bbmaster:8011") =~ /200 OK/;
|
||||
#$bbmaster->execute("buildbot stop /tmp");
|
||||
#$bbworker->fail("nc -z bbmaster 8011");
|
||||
|
||||
'';
|
||||
|
||||
meta = with pkgs.stdenv.lib.maintainers; {
|
||||
maintainers = [ nand0p ];
|
||||
};
|
||||
meta.maintainers = with pkgs.stdenv.lib.maintainers; [ nand0p ];
|
||||
|
||||
})
|
||||
|
@ -24,8 +24,8 @@ let
|
||||
src = fetchFromGitHub {
|
||||
owner = "neovim";
|
||||
repo = "libvterm";
|
||||
rev = "11682793d84668057c5aedc3d7f8071bb54eaf2c";
|
||||
sha256 = "0pd90yx6xsagrqjipi26sxri1l4wdnx23ziad1zbxnqx9njxa7g3";
|
||||
rev = "5a748f97fbf27003e141002b58933a99f3addf8d";
|
||||
sha256 = "1fnd57f5n9h7z50a4vj7g96k6ndsdknjqsibgnxi9ndhyz244qbx";
|
||||
};
|
||||
|
||||
buildInputs = [ perl ];
|
||||
@ -81,13 +81,13 @@ let
|
||||
|
||||
neovim = stdenv.mkDerivation rec {
|
||||
name = "neovim-${version}";
|
||||
version = "0.1.7";
|
||||
version = "0.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "neovim";
|
||||
repo = "neovim";
|
||||
rev = "v${version}";
|
||||
sha256 = "0bk0raxlb1xsqyw9pmqmxvcq5szqhimidrasnvzrci84gld8cwz4";
|
||||
sha256 = "0fhjkgjwqqmzbfn9wk10l2vq9v74zkriz5j12b1rx0gdwzlfybn8";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
@ -4,17 +4,17 @@ with stdenv.lib;
|
||||
|
||||
pythonPackages.buildPythonPackage rec {
|
||||
name = "neovim-remote-${version}";
|
||||
version = "v1.4.0";
|
||||
version = "v1.6.0";
|
||||
disabled = !pythonPackages.isPy3k;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mhinz";
|
||||
repo = "neovim-remote";
|
||||
rev = version;
|
||||
sha256 = "0msvfh27f56xj5ki59ikzavxz863nal5scm57n43618m49qzg8iz";
|
||||
sha256 = "0x01zpmxi37jr7j2az2bd8902h7zhkpg6kpvc8xmll9f7703zz2l";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ pythonPackages.neovim ];
|
||||
propagatedBuildInputs = with pythonPackages; [ neovim psutil ];
|
||||
|
||||
meta = {
|
||||
description = "A tool that helps controlling nvim processes from a terminal";
|
||||
|
@ -3,13 +3,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "neovim-qt-${version}";
|
||||
version = "0.2.6";
|
||||
version = "0.2.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "equalsraf";
|
||||
repo = "neovim-qt";
|
||||
rev = "v${version}";
|
||||
sha256 = "1wsxhy8fdayy4dsr2dxgh5k4jysybjlyzj134vk325v6cqz9bsgm";
|
||||
sha256 = "1bfni38l7cs0wbd9c6hgz2jfc8h3ixmg94izdvydm8j7amdz0cb6";
|
||||
};
|
||||
|
||||
cmakeFlags = [
|
||||
@ -17,7 +17,13 @@ stdenv.mkDerivation rec {
|
||||
"-DMSGPACK_LIBRARIES=${libmsgpack}/lib/libmsgpackc.so"
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
# The following tests FAILED:
|
||||
# 2 - tst_neovimconnector (Failed)
|
||||
# 3 - tst_callallmethods (Failed)
|
||||
# 4 - tst_encoding (Failed)
|
||||
#
|
||||
# Tests failed when upgraded to neovim 0.2.0
|
||||
doCheck = false;
|
||||
|
||||
buildInputs = with pythonPackages; [
|
||||
neovim qtbase libmsgpack
|
||||
|
@ -1,13 +1,5 @@
|
||||
{ stdenv, fetchurl, makeDesktopItem, cmake, boost163, zlib, openssl,
|
||||
R, qt5, libuuid, hunspellDicts, unzip, ant, jdk, gnumake, makeWrapper, pandoc,
|
||||
# If you have set up an R wrapper with other packages by following
|
||||
# something like https://nixos.org/nixpkgs/manual/#r-packages, RStudio
|
||||
# by default not be able to access any of those R packages. In order
|
||||
# to do this, override the argument "R" here with your respective R
|
||||
# wrapper, and set "useRPackages" to true. This will add the
|
||||
# environment variable R_PROFILE_USER to the RStudio wrapper, pointing
|
||||
# to an R script which will allow R to use these packages.
|
||||
useRPackages ? false
|
||||
R, qt5, libuuid, hunspellDicts, unzip, ant, jdk, gnumake, makeWrapper, pandoc
|
||||
}:
|
||||
|
||||
let
|
||||
@ -111,14 +103,8 @@ stdenv.mkDerivation rec {
|
||||
mimeType = "text/x-r-source;text/x-r;text/x-R;text/x-r-doc;text/x-r-sweave;text/x-r-markdown;text/x-r-html;text/x-r-presentation;application/x-r-data;application/x-r-project;text/x-r-history;text/x-r-profile;text/x-tex;text/x-markdown;text/html;text/css;text/javascript;text/x-chdr;text/x-csrc;text/x-c++hdr;text/x-c++src;";
|
||||
};
|
||||
|
||||
postInstall = let rProfile =
|
||||
# RStudio seems to bypass the environment variables that the R
|
||||
# wrapper already applies, and so this sets R_PROFILE_USER to
|
||||
# again make those R packages accessible:
|
||||
if useRPackages
|
||||
then "--set R_PROFILE_USER ${R}/${R.passthru.fixLibsR}" else "";
|
||||
in ''
|
||||
wrapProgram $out/bin/rstudio --suffix PATH : ${gnumake}/bin ${rProfile}
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/rstudio --suffix PATH : ${gnumake}/bin
|
||||
mkdir $out/share
|
||||
cp -r ${desktopItem}/share/applications $out/share
|
||||
mkdir $out/share/icons
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
kdeApp, lib,
|
||||
kdeApp, lib, makeQtWrapper,
|
||||
extra-cmake-modules, kdoctools, ki18n,
|
||||
akonadi-contacts, gpgme, karchive, kcodecs, kcontacts, kcoreaddons, kcrash,
|
||||
akonadi-contacts, gnupg1, gpgme, karchive, kcodecs, kcontacts, kcoreaddons, kcrash,
|
||||
kdbusaddons, kiconthemes, kjobwidgets, kio, knotifications, kservice,
|
||||
ktextwidgets, kxmlgui, kwidgetsaddons, kwindowsystem
|
||||
}:
|
||||
@ -10,10 +10,13 @@ kdeApp {
|
||||
name = "kgpg";
|
||||
nativeBuildInputs = [ extra-cmake-modules kdoctools ki18n ];
|
||||
buildInputs = [
|
||||
akonadi-contacts gpgme karchive kcodecs kcontacts kcoreaddons kcrash kdbusaddons
|
||||
akonadi-contacts gnupg1 gpgme karchive kcodecs kcontacts kcoreaddons kcrash kdbusaddons
|
||||
kiconthemes kjobwidgets kio knotifications kservice ktextwidgets kxmlgui
|
||||
kwidgetsaddons kwindowsystem
|
||||
kwidgetsaddons kwindowsystem makeQtWrapper
|
||||
];
|
||||
postInstall = ''
|
||||
wrapQtProgram $out/bin/kgpg --suffix PATH : ${lib.makeBinPath [ gnupg1 ]}
|
||||
'';
|
||||
meta = {
|
||||
license = [ lib.licenses.gpl2 ];
|
||||
maintainers = [ lib.maintainers.ttuegel ];
|
||||
|
@ -22,7 +22,7 @@ python3Packages.buildPythonApplication rec {
|
||||
inherit (src.meta) homepage;
|
||||
description = "Universal Radio Hacker: investigate wireless protocols like a boss";
|
||||
license = licenses.asl20;
|
||||
platform = platforms.all;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ fpletz ];
|
||||
};
|
||||
}
|
||||
|
@ -4,7 +4,7 @@
|
||||
, glib, fontconfig, freetype, pango, cairo, libX11, libXi, atk, gconf, nss, nspr
|
||||
, libXcursor, libXext, libXfixes, libXrender, libXScrnSaver, libXcomposite, libxcb
|
||||
, alsaLib, libXdamage, libXtst, libXrandr, expat, cups
|
||||
, dbus_libs, gtk2, gtk3, gdk_pixbuf, gcc
|
||||
, dbus_libs, gtk2, gtk3, gdk_pixbuf, gcc-unwrapped
|
||||
|
||||
# command line arguments which are always set e.g "--disable-gpu"
|
||||
, commandLineArgs ? ""
|
||||
@ -43,11 +43,10 @@ let
|
||||
};
|
||||
|
||||
deps = [
|
||||
stdenv.cc.cc
|
||||
glib fontconfig freetype pango cairo libX11 libXi atk gconf nss nspr
|
||||
libXcursor libXext libXfixes libXrender libXScrnSaver libXcomposite libxcb
|
||||
alsaLib libXdamage libXtst libXrandr expat cups
|
||||
dbus_libs gdk_pixbuf gcc
|
||||
dbus_libs gdk_pixbuf gcc-unwrapped.lib
|
||||
systemd
|
||||
libexif
|
||||
liberation_ttf curl utillinux xdg_utils wget
|
||||
|
@ -23,11 +23,11 @@
|
||||
let
|
||||
# NOTE: When updating, please also update in current stable,
|
||||
# as older versions stop working
|
||||
version = "24.4.17";
|
||||
version = "25.4.28";
|
||||
sha256 =
|
||||
{
|
||||
"x86_64-linux" = "1wjr92vrbxyjbwyqf134h8fp1zi4d5wyyirii545wqadbgg9grh9";
|
||||
"i686-linux" = "1qsdidpy251irzkv0hx0ch0xnrwq6wq6b22g0n8b9d0a7xi08k7h";
|
||||
"x86_64-linux" = "0r0bdl37rkar3nijxslp493mic5qd20l125p1kghqbradvh57rl3";
|
||||
"i686-linux" = "1difq6ky1klvminbzjivvq6ap3l296gij0ghgyy1n4lca3jqq648";
|
||||
}."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
|
||||
|
||||
arch =
|
||||
|
@ -12,12 +12,12 @@ python2Packages.buildPythonApplication rec {
|
||||
propagatedBuildInputs = with python2Packages; [ feedparser ];
|
||||
|
||||
namePrefix = "";
|
||||
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = "http://offog.org/code/rawdog/";
|
||||
description = "RSS Aggregator Without Delusions Of Grandeur";
|
||||
license = licenses.gpl2;
|
||||
platform = platforms.unix;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ nckx ];
|
||||
};
|
||||
}
|
||||
|
@ -26,6 +26,6 @@ python27Packages.buildPythonApplication rec {
|
||||
description = "Qt remote GUI for WeeChat";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ ramkromberg ];
|
||||
platform = with platforms; linux;
|
||||
platforms = with platforms; linux;
|
||||
};
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ set which contains `emacsWithPackages`. For example, to override
|
||||
`emacsPackagesNg.emacsWithPackages`,
|
||||
```
|
||||
let customEmacsPackages =
|
||||
emacsPackagesNg.override (super: self: {
|
||||
emacsPackagesNg.overrideScope (super: self: {
|
||||
# use a custom version of emacs
|
||||
emacs = ...;
|
||||
# use the unstable MELPA version of magit
|
||||
|
@ -1,12 +1,12 @@
|
||||
{ stdenv, fetchurl, composableDerivation, unzip, libjpeg, libtiff, zlib
|
||||
, postgresql, mysql, libgeotiff, pythonPackages, proj, geos, openssl
|
||||
, libpng, sqlite, libspatialite
|
||||
, netcdf, hdf5 , curl
|
||||
, netcdfSupport ? true
|
||||
}:
|
||||
, libiconv
|
||||
, netcdfSupport ? true, netcdf, hdf5 , curl
|
||||
}:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
|
||||
composableDerivation.composableDerivation {} (fixed: rec {
|
||||
version = "2.1.3";
|
||||
name = "gdal-${version}";
|
||||
@ -18,7 +18,8 @@ composableDerivation.composableDerivation {} (fixed: rec {
|
||||
|
||||
buildInputs = [ unzip libjpeg libtiff libpng proj openssl sqlite libspatialite ]
|
||||
++ (with pythonPackages; [ python numpy wrapPython ])
|
||||
++ (stdenv.lib.optionals netcdfSupport [ netcdf hdf5 curl ]);
|
||||
++ stdenv.lib.optional stdenv.isDarwin libiconv
|
||||
++ stdenv.lib.optionals netcdfSupport [ netcdf hdf5 curl ];
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
|
@ -10,17 +10,6 @@ index 6abbc72..804f0f2 100644
|
||||
#include "gettext.h"
|
||||
#define _(String) dgettext (PACKAGE, String)
|
||||
#include "progname.h"
|
||||
@@ -161,9 +160,7 @@ process_input (char *readbuf, int flags)
|
||||
free (output);
|
||||
}
|
||||
else
|
||||
- error (EXIT_FAILURE, 0, "%s: %s",
|
||||
- args_info.register_given ? "register" : "lookup",
|
||||
- idn2_strerror (rc));
|
||||
+ perror (idn2_strerror (rc));
|
||||
}
|
||||
|
||||
int
|
||||
@@ -222,7 +219,7 @@ main (int argc, char *argv[])
|
||||
}
|
||||
|
||||
|
@ -2,7 +2,10 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "qtinstaller";
|
||||
buildInputs = [ qtdeclarative qttools qtbase qmakeHook ];
|
||||
|
||||
propagatedBuildInputs = [qtdeclarative qttools];
|
||||
nativeBuildInputs = [ qmakeHook ];
|
||||
|
||||
version = "2.0.3";
|
||||
src = fetchurl {
|
||||
url = "http://download.qt.io/official_releases/qt-installer-framework/${version}/qt-installer-framework-opensource-${version}-src.tar.gz";
|
||||
@ -12,6 +15,10 @@ stdenv.mkDerivation rec {
|
||||
|
||||
outputs = [ "out" "dev" "doc" ];
|
||||
|
||||
setOutputFlags = false;
|
||||
enableParallelBuilding = true;
|
||||
NIX_QT_SUBMODULE = true;
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/{bin,lib,share/qt-installer-framework}
|
||||
cp -a bin/{archivegen,binarycreator,devtool,installerbase,repogen} $out/bin
|
||||
|
22
pkgs/development/python-modules/certifi/default.nix
Normal file
22
pkgs/development/python-modules/certifi/default.nix
Normal file
@ -0,0 +1,22 @@
|
||||
{ lib
|
||||
, fetchPypi
|
||||
, buildPythonPackage
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "certifi";
|
||||
version = "2017.1.23";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1klrzl3hgvcf2mjk00g0k3kk1p2z27vzwnxivwar4vhjmjvpz1w1";
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = http://certifi.io/;
|
||||
description = "Python package for providing Mozilla's CA Bundle";
|
||||
license = lib.licenses.isc;
|
||||
maintainers = with lib.maintainers; [ koral ];
|
||||
};
|
||||
}
|
@ -3,6 +3,8 @@
|
||||
, fetchPypi
|
||||
, cython
|
||||
, isPyPy
|
||||
, ipython
|
||||
, python
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
@ -17,8 +19,14 @@ buildPythonPackage rec {
|
||||
|
||||
buildInputs = [ cython ];
|
||||
|
||||
propagatedBuildInputs = [ ipython ];
|
||||
|
||||
disabled = isPyPy;
|
||||
|
||||
checkPhase = ''
|
||||
${python.interpreter} -m unittest discover -s tests
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Line-by-line profiler";
|
||||
homepage = https://github.com/rkern/line_profiler;
|
||||
|
@ -1,18 +1,34 @@
|
||||
{ stdenv, fetchurl, nettools, glibcLocales, pythonPackages }:
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, nettools
|
||||
, glibcLocales
|
||||
, autobahn
|
||||
, cffi
|
||||
, click
|
||||
, hkdf
|
||||
, pynacl
|
||||
, spake2
|
||||
, tqdm
|
||||
, python
|
||||
, mock
|
||||
}:
|
||||
|
||||
pythonPackages.buildPythonApplication rec {
|
||||
name = "magic-wormhole-${version}";
|
||||
buildPythonPackage rec {
|
||||
pname = "magic-wormhole";
|
||||
version = "0.8.1";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://pypi/m/magic-wormhole/${name}.tar.gz";
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1yh5nbhh9z1am2pqnb5qqyq1zjl1m7z6jnkmvry2q14qwspw9had";
|
||||
};
|
||||
|
||||
checkInputs = [ mock ];
|
||||
buildInputs = [ nettools glibcLocales ];
|
||||
propagatedBuildInputs = with pythonPackages; [ autobahn cffi click hkdf pynacl spake2 tqdm ];
|
||||
propagatedBuildInputs = [ autobahn cffi click hkdf pynacl spake2 tqdm ];
|
||||
|
||||
patchPhase = ''
|
||||
postPatch = ''
|
||||
sed -i -e "s|'ifconfig'|'${nettools}/bin/ifconfig'|" src/wormhole/ipaddrs.py
|
||||
sed -i -e "s|if (os.path.dirname(os.path.abspath(wormhole))|if not os.path.abspath(wormhole).startswith('/nix/store') and (os.path.dirname(os.path.abspath(wormhole))|" src/wormhole/test/test_scripts.py
|
||||
# XXX: disable one test due to warning:
|
||||
@ -24,10 +40,10 @@ pythonPackages.buildPythonApplication rec {
|
||||
export PATH="$PATH:$out/bin"
|
||||
export LANG="en_US.UTF-8"
|
||||
export LC_ALL="en_US.UTF-8"
|
||||
${pythonPackages.python.interpreter} -m wormhole.test.run_trial wormhole
|
||||
${python.interpreter} -m wormhole.test.run_trial wormhole
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
meta = with lib; {
|
||||
description = "Securely transfer data between computers";
|
||||
homepage = "https://github.com/warner/magic-wormhole";
|
||||
license = licenses.mit;
|
||||
|
27
pkgs/development/python-modules/pydot/default.nix
Normal file
27
pkgs/development/python-modules/pydot/default.nix
Normal file
@ -0,0 +1,27 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, chardet
|
||||
, pyparsing
|
||||
, graphviz
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pydot";
|
||||
version = "1.2.3";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "edb5d3f249f97fbd9c4bb16959e61bc32ecf40eee1a9f6d27abe8d01c0a73502";
|
||||
};
|
||||
checkInputs = [ chardet ];
|
||||
# No tests in archive
|
||||
doCheck = false;
|
||||
propagatedBuildInputs = [pyparsing graphviz];
|
||||
meta = {
|
||||
homepage = https://github.com/erocarrera/pydot;
|
||||
description = "Allows to easily create both directed and non directed graphs from Python";
|
||||
licenses = with lib.licenses; [ mit ];
|
||||
};
|
||||
}
|
@ -16,6 +16,6 @@ buildPythonPackage rec {
|
||||
homepage = https://github.com/svinota/pyroute2;
|
||||
license = licenses.asl20;
|
||||
maintainers = [maintainers.mic92];
|
||||
platform = platforms.linux;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
23
pkgs/development/python-modules/stevedore/default.nix
Normal file
23
pkgs/development/python-modules/stevedore/default.nix
Normal file
@ -0,0 +1,23 @@
|
||||
{ stdenv, buildPythonPackage, fetchPypi, oslosphinx, pbr, six, argparse }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "stevedore";
|
||||
version = "1.21.0";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "12sg88ax0lv2sxr685rqdaxm9gryjrpj4fvax459zvwy1r4n83ma";
|
||||
};
|
||||
|
||||
doCheck = false;
|
||||
|
||||
buildInputs = [ oslosphinx ];
|
||||
propagatedBuildInputs = [ pbr six argparse ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Manage dynamic plugins for Python applications";
|
||||
homepage = "https://pypi.python.org/pypi/stevedore";
|
||||
license = licenses.asl20;
|
||||
};
|
||||
}
|
@ -55,28 +55,23 @@ available.
|
||||
|
||||
## RStudio
|
||||
|
||||
RStudio by default will not use the libraries installed like above.
|
||||
You must override its R version with your custom R environment, and
|
||||
set `useRPackages` to `true`, like below:
|
||||
RStudio uses a standard set of packages and ignores any custom R
|
||||
environments or installed packages you may have. To create a custom
|
||||
environment, see `rstudioWrapper`, which functions similarly to
|
||||
`rWrapper`:
|
||||
|
||||
```nix
|
||||
{
|
||||
packageOverrides = super: let self = super.pkgs; in
|
||||
{
|
||||
|
||||
rEnv = super.rWrapper.override {
|
||||
rstudioEnv = super.rstudioWrapper.override {
|
||||
packages = with self.rPackages; [
|
||||
devtools
|
||||
dplyr
|
||||
ggplot2
|
||||
reshape2
|
||||
yaml
|
||||
optparse
|
||||
];
|
||||
};
|
||||
rstudioEnv = super.rstudio.override {
|
||||
R = rEnv;
|
||||
useRPackages = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
```
|
||||
|
33
pkgs/development/r-modules/wrapper-rstudio.nix
Normal file
33
pkgs/development/r-modules/wrapper-rstudio.nix
Normal file
@ -0,0 +1,33 @@
|
||||
{ stdenv, R, rstudio, makeWrapper, recommendedPackages, packages }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
name = rstudio.name + "-wrapper";
|
||||
|
||||
buildInputs = [makeWrapper R rstudio] ++ recommendedPackages ++ packages;
|
||||
|
||||
unpackPhase = ":";
|
||||
|
||||
# rWrapper points R to a specific set of packages by using a wrapper
|
||||
# (as in https://nixos.org/nixpkgs/manual/#r-packages) which sets
|
||||
# R_LIBS_SITE. Ordinarily, it would be possible to make RStudio use
|
||||
# this same set of packages by simply overriding its version of R
|
||||
# with the wrapped one, however, RStudio internally overrides
|
||||
# R_LIBS_SITE. The below works around this by turning R_LIBS_SITE
|
||||
# into an R file (fixLibsR) which achieves the same effect, then
|
||||
# uses R_PROFILE_USER to load this code at startup in RStudio.
|
||||
fixLibsR = "fix_libs.R";
|
||||
installPhase = ''
|
||||
mkdir $out
|
||||
echo "# Autogenerated by wrapper-rstudio.nix from R_LIBS_SITE" > $out/${fixLibsR}
|
||||
echo -n ".libPaths(c(.libPaths(), \"" >> $out/${fixLibsR}
|
||||
echo -n $R_LIBS_SITE | sed -e 's/:/", "/g' >> $out/${fixLibsR}
|
||||
echo -n "\"))" >> $out/${fixLibsR}
|
||||
echo >> $out/${fixLibsR}
|
||||
makeWrapper ${rstudio}/bin/rstudio $out/bin/rstudio --set R_PROFILE_USER $out/${fixLibsR}
|
||||
'';
|
||||
|
||||
meta = {
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
};
|
||||
}
|
@ -1,19 +1,12 @@
|
||||
{ stdenv, R, makeWrapper, recommendedPackages, packages }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation {
|
||||
name = R.name + "-wrapper";
|
||||
|
||||
buildInputs = [makeWrapper R] ++ recommendedPackages ++ packages;
|
||||
|
||||
unpackPhase = ":";
|
||||
|
||||
# This filename is used in 'installPhase', but needs to be
|
||||
# referenced elsewhere. This will be relative to this package's
|
||||
# path.
|
||||
passthru = {
|
||||
fixLibsR = "fix_libs.R";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cd ${R}/bin
|
||||
@ -21,17 +14,6 @@ stdenv.mkDerivation rec {
|
||||
makeWrapper ${R}/bin/$exe $out/bin/$exe \
|
||||
--prefix "R_LIBS_SITE" ":" "$R_LIBS_SITE"
|
||||
done
|
||||
# RStudio (and perhaps other packages) overrides the R_LIBS_SITE
|
||||
# which the wrapper above applies, and as a result packages
|
||||
# installed in the wrapper (as in the method described in
|
||||
# https://nixos.org/nixpkgs/manual/#r-packages) aren't visible.
|
||||
# The below turns R_LIBS_SITE into some R startup code which can
|
||||
# correct this.
|
||||
echo "# Autogenerated by wrapper.nix from R_LIBS_SITE" > $out/${passthru.fixLibsR}
|
||||
echo -n ".libPaths(c(.libPaths(), \"" >> $out/${passthru.fixLibsR}
|
||||
echo -n $R_LIBS_SITE | sed -e 's/:/", "/g' >> $out/${passthru.fixLibsR}
|
||||
echo -n "\"))" >> $out/${passthru.fixLibsR}
|
||||
echo >> $out/${passthru.fixLibsR}
|
||||
'';
|
||||
|
||||
meta = {
|
||||
|
@ -1,12 +1,13 @@
|
||||
{ stdenv, lib, fetchurl, makeWrapper, jre }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ammonite-repl-${version}";
|
||||
version = "0.8.3";
|
||||
name = "ammonite-${version}";
|
||||
version = "0.8.4";
|
||||
scalaVersion = "2.12";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/lihaoyi/Ammonite/releases/download/${version}/2.12-${version}";
|
||||
sha256 = "0y4524y2w7aq300djcazb7ckkr3gqpim2grcgb237mxq3fdvb0r8";
|
||||
url = "https://github.com/lihaoyi/Ammonite/releases/download/${version}/${scalaVersion}-${version}";
|
||||
sha256 = "04kni08yd53w8dhkkgbydzkka4cnp31l2d8g23iinkn10ckmz5jm";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ jre ] ;
|
||||
|
@ -5,17 +5,19 @@ let
|
||||
buildInputs = [ makeWrapper ] ++ plugins;
|
||||
passthru.withPlugins = moarPlugins: withPlugins (moarPlugins ++ plugins);
|
||||
} ''
|
||||
makeWrapper ${package}/bin/buildbot $out/bin/buildbot --prefix PYTHONPATH : $PYTHONPATH
|
||||
makeWrapper ${package}/bin/buildbot $out/bin/buildbot \
|
||||
--prefix PYTHONPATH : "${package}/lib/python2.7/site-packages:$PYTHONPATH"
|
||||
ln -sfv ${package}/lib $out/lib
|
||||
'';
|
||||
|
||||
package = pythonPackages.buildPythonApplication (rec {
|
||||
name = "${pname}-${version}";
|
||||
pname = "buildbot";
|
||||
version = "0.9.4";
|
||||
version = "0.9.5";
|
||||
|
||||
src = pythonPackages.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0wklrn4fszac9wi8zw3vbsznwyff6y57cz0i81zvh46skb6n3086";
|
||||
sha256 = "11r553nmh87a9pm58wycimapk2pw9hnlc7hffn97xwbqprd8qh66";
|
||||
};
|
||||
|
||||
buildInputs = with pythonPackages; [
|
||||
@ -49,6 +51,7 @@ let
|
||||
txaio
|
||||
autobahn
|
||||
pyjwt
|
||||
distro
|
||||
|
||||
# tls
|
||||
pyopenssl
|
||||
@ -68,6 +71,14 @@ let
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace buildbot/scripts/logwatcher.py --replace '/usr/bin/tail' "$(type -P tail)"
|
||||
|
||||
# NOTE: secrets management tests currently broken
|
||||
rm -fv buildbot/test/integration/test_integration_secrets.py
|
||||
rm -fv buildbot/test/integration/test_integration_secrets_with_vault.py
|
||||
rm -fv buildbot/test/unit/test_fake_secrets_manager.py
|
||||
rm -fv buildbot/test/unit/test_interpolate_secrets.py
|
||||
rm -fv buildbot/test/unit/test_secret_in_file.py
|
||||
rm -fv buildbot/test/unit/test_secret_in_vault.py
|
||||
'';
|
||||
|
||||
passthru = { inherit withPlugins; };
|
||||
|
@ -1,14 +1,14 @@
|
||||
{ stdenv, fetchurl, pythonPackages }:
|
||||
{ stdenv, pythonPackages }:
|
||||
|
||||
let
|
||||
buildbot-pkg = pythonPackages.buildPythonPackage rec {
|
||||
name = "${pname}-${version}";
|
||||
pname = "buildbot-pkg";
|
||||
version = "0.9.4";
|
||||
version = "0.9.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://pypi/b/${pname}/${name}.tar.gz";
|
||||
sha256 = "09a3yvs5hhf8syrkyydznmymgg86dpvgrwy9rb3bryq00wpjb3wn";
|
||||
src = pythonPackages.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1xpi4w0lc6z97pmmms85dvdspacbzlvs8zi3kv1r4rypk3znwmi1";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with pythonPackages; [ setuptools ];
|
||||
@ -25,15 +25,14 @@ in {
|
||||
www = pythonPackages.buildPythonPackage rec {
|
||||
name = "${pname}-${version}";
|
||||
pname = "buildbot_www";
|
||||
version = "0.9.4";
|
||||
version = "0.9.5";
|
||||
|
||||
# NOTE: wheel is used due to buildbot circular dependency
|
||||
format = "wheel";
|
||||
|
||||
src = pythonPackages.fetchPypi {
|
||||
inherit pname version format;
|
||||
python = "py2";
|
||||
sha256 = "08m4h2pf6hgi8igh2j0qzfq49izc2z0qqj6ddxk0di5l306jx4im";
|
||||
sha256 = "1d7yjxka6slflm3wbdpq4sr1kagmgbqdv2zgx9bq77jvjh7ga0py";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
@ -47,11 +46,11 @@ in {
|
||||
console-view = pythonPackages.buildPythonPackage rec {
|
||||
name = "${pname}-${version}";
|
||||
pname = "buildbot-console-view";
|
||||
version = "0.9.4";
|
||||
version = "0.9.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://pypi/b/${pname}/${name}.tar.gz";
|
||||
sha256 = "1w2vv8iyzl7ak4161avp9n6mhh08adav2fl82bbm17a3064apl8n";
|
||||
src = pythonPackages.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1s6mvw955dsgk7hvb1xa32bbd7w2yma62py5s0vmi5shv8nwq3hb";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with pythonPackages; [ buildbot-pkg ];
|
||||
@ -67,11 +66,11 @@ in {
|
||||
waterfall-view = pythonPackages.buildPythonPackage rec {
|
||||
name = "${pname}-${version}";
|
||||
pname = "buildbot-waterfall-view";
|
||||
version = "0.9.4";
|
||||
version = "0.9.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://pypi/b/${pname}/${name}.tar.gz";
|
||||
sha256 = "17xn6vrr0k2xabw6hr9sdyy0ry3llyjfmc79qrpgp5bsly2qv3jf";
|
||||
src = pythonPackages.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "116846d987wp1bz78f0h4lypqcns5073vzhb4vsqbf08sppgr67k";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with pythonPackages; [ buildbot-pkg ];
|
||||
|
@ -3,11 +3,11 @@
|
||||
pythonPackages.buildPythonApplication (rec {
|
||||
name = "${pname}-${version}";
|
||||
pname = "buildbot-worker";
|
||||
version = "0.9.4";
|
||||
version = "0.9.5";
|
||||
|
||||
src = pythonPackages.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0rdrr8x7sn2nxl51p6h9ad42s3c28lb6sys84zrg0d7fm4zhv7hj";
|
||||
sha256 = "1al7jam351sf781axj4kfhj70cc0g21zv81ynk410kdccjyxp2dy";
|
||||
};
|
||||
|
||||
buildInputs = with pythonPackages; [ setuptoolsTrial mock ];
|
||||
|
@ -23,6 +23,8 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0i1y50mf559flhxgaxy2gdpa7dvpp12ix9xfzgxa61rc135x0im4";
|
||||
};
|
||||
|
||||
patches = [ ./linux_4_11_include_fix.patch ];
|
||||
|
||||
preConfigure =
|
||||
''
|
||||
cd ./src
|
||||
|
@ -0,0 +1,30 @@
|
||||
diff -Naur ProCaptureForLinux_3269/src/sources/avstream/capture.c ProCaptureForLinux_3269_new/src/sources/avstream/capture.c
|
||||
--- ProCaptureForLinux_3269/src/sources/avstream/capture.c 2016-12-12 17:17:18.000000000 -0800
|
||||
+++ ProCaptureForLinux_3269_new/src/sources/avstream/capture.c 2017-05-02 23:58:28.270827491 -0700
|
||||
@@ -154,7 +154,9 @@
|
||||
if (IS_ERR_OR_NULL(fp))
|
||||
return IS_ERR(fp) ? PTR_ERR(fp) : -1;
|
||||
|
||||
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0)
|
||||
+ ret = vfs_getattr(&fp->f_path, &stat, STATX_BASIC_STATS, AT_STATX_SYNC_AS_STAT);
|
||||
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)
|
||||
ret = vfs_getattr(&fp->f_path, &stat);
|
||||
#else
|
||||
ret = vfs_getattr(fp->f_path.mnt, fp->f_path.dentry, &stat);
|
||||
diff -Naur ProCaptureForLinux_3269/src/sources/ospi/ospi-linux.c ProCaptureForLinux_3269_new/src/sources/ospi/ospi-linux.c
|
||||
--- ProCaptureForLinux_3269/src/sources/ospi/ospi-linux.c 2016-12-12 17:17:18.000000000 -0800
|
||||
+++ ProCaptureForLinux_3269_new/src/sources/ospi/ospi-linux.c 2017-05-02 23:51:02.197633628 -0700
|
||||
@@ -21,6 +21,12 @@
|
||||
#include <linux/freezer.h>
|
||||
#include <linux/pci.h>
|
||||
|
||||
+// some functions were moved from linux/sched.h out to their own headers in 4.11.x
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0)
|
||||
+#include <linux/sched/signal.h>
|
||||
+#include <linux/sched/debug.h>
|
||||
+#endif
|
||||
+
|
||||
unsigned int debug_level = 0;
|
||||
|
||||
struct kmem_cache *g_spin_cache = NULL;
|
@ -1,15 +1,15 @@
|
||||
{ stdenv, fetchurl, zsh, pinentry, cryptsetup, gnupg1orig, makeWrapper }:
|
||||
|
||||
let
|
||||
version = "2.2";
|
||||
version = "2.4";
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "tomb-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://files.dyne.org/tomb/tomb-${version}.tar.gz";
|
||||
sha256 = "11msj38fdmymiqcmwq1883kjqi5zr01ybdjj58rfjjrw4zw2w5y0";
|
||||
url = "https://files.dyne.org/tomb/Tomb-${version}.tar.gz";
|
||||
sha256 = "1hv1w79as7swqj0n137vz8n8mwvcgwlvd91sdyssz41jarg7f1vr";
|
||||
};
|
||||
|
||||
buildInputs = [ makeWrapper ];
|
||||
|
@ -139,7 +139,7 @@ in
|
||||
};
|
||||
zfsUnstable = common {
|
||||
# comment/uncomment if breaking kernel versions are known
|
||||
incompatibleKernelVersion = null;
|
||||
incompatibleKernelVersion = "4.11";
|
||||
|
||||
version = "0.7.0-rc3";
|
||||
|
||||
|
@ -28,7 +28,7 @@ pythonPackages.buildPythonApplication rec {
|
||||
on mobile phones or computers.
|
||||
'';
|
||||
license = licenses.gpl3Plus;
|
||||
platform = platforms.all;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ edwtjo pSub aneeshusa ];
|
||||
};
|
||||
}
|
||||
|
@ -16,6 +16,6 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
homepage = https://moxie.org/software/fakeroute/;
|
||||
license = licenses.bsd3;
|
||||
platform = platforms.linux;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -2,11 +2,11 @@
|
||||
, makeWrapper, perl, openssl, autoreconfHook, openssh }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "mosh-1.2.6";
|
||||
name = "mosh-1.3.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://mosh.org/${name}.tar.gz";
|
||||
sha256 = "118fhpm754wpklf1blnlq5xbvrxqml6rdfs3b07wg666zkxvg0ky";
|
||||
sha256 = "0xikz40q873g9ihvz3x6bwkcb9hb8kcnp5wpcmb72pg5c7s143ij";
|
||||
};
|
||||
|
||||
buildInputs = [ autoreconfHook protobuf ncurses zlib pkgconfig IOTty makeWrapper perl openssl ];
|
||||
|
@ -52,6 +52,6 @@ in stdenv.mkDerivation rec {
|
||||
description = "Free, private and secure password management tool and e-wallet";
|
||||
license = licenses.unfree;
|
||||
maintainers = with maintainers; [ guillaumekoenig ];
|
||||
platform = platforms.linux;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "efivar-${version}";
|
||||
version = "31";
|
||||
version = "30";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rhinstaller";
|
||||
repo = "efivar";
|
||||
rev = version;
|
||||
sha256 = "0dhycikylm87jmds4ii5ygwq59g4sa5sv9mzryjzgqlgppw5arli";
|
||||
sha256 = "1pghj019qr7qpqd9rxfhsr1hm3s0w1hd5cdndpl07vhys8hy4a8a";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
@ -15,7 +15,7 @@ python2Packages.buildPythonApplication rec {
|
||||
meta = {
|
||||
homepage = https://pypi.python.org/pypi/grin;
|
||||
description = "A grep program configured the way I like it";
|
||||
platform = stdenv.lib.platforms.all;
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
maintainers = [ stdenv.lib.maintainers.sjagoe ];
|
||||
};
|
||||
}
|
||||
|
@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
|
||||
# The homepage is www.thaiopensource.com, but it links to googlecode.com
|
||||
# for downloads and call it the "project site".
|
||||
homepage = http://www.thaiopensource.com/relaxng/jing.html;
|
||||
platforms = platforms.linux;
|
||||
platforms = platforms.unix;
|
||||
maintainers = [ maintainers.bjornfor ];
|
||||
};
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchFromGitHub, rustPlatform, makeWrapper }:
|
||||
{ stdenv, fetchFromGitHub, rustPlatform }:
|
||||
|
||||
with rustPlatform;
|
||||
|
||||
|
@ -20,6 +20,7 @@ doNotDisplayTwice rec {
|
||||
accounts-qt = libsForQt5.accounts-qt; # added 2015-12-19
|
||||
adobeReader = adobe-reader;
|
||||
aircrackng = aircrack-ng; # added 2016-01-14
|
||||
ammonite-repl = ammonite; # added 2017-05-02
|
||||
arduino_core = arduino-core; # added 2015-02-04
|
||||
asciidocFull = asciidoc-full; # added 2014-06-22
|
||||
bar = lemonbar; # added 2015-01-16
|
||||
|
@ -402,7 +402,7 @@ with pkgs;
|
||||
|
||||
amazon-glacier-cmd-interface = callPackage ../tools/backup/amazon-glacier-cmd-interface { };
|
||||
|
||||
ammonite-repl = callPackage ../development/tools/ammonite {};
|
||||
ammonite = callPackage ../development/tools/ammonite {};
|
||||
|
||||
amtterm = callPackage ../tools/system/amtterm {};
|
||||
|
||||
@ -1117,6 +1117,8 @@ with pkgs;
|
||||
pythonPackages = python2Packages;
|
||||
};
|
||||
|
||||
bfg-repo-cleaner = gitAndTools.bfg-repo-cleaner;
|
||||
|
||||
bgs = callPackage ../tools/X11/bgs { };
|
||||
|
||||
biber = callPackage ../tools/typesetting/biber {
|
||||
@ -4736,7 +4738,7 @@ with pkgs;
|
||||
|
||||
xsel = callPackage ../tools/misc/xsel { };
|
||||
|
||||
xsv = callPackages ../tools/text/xsv { };
|
||||
xsv = callPackage ../tools/text/xsv { };
|
||||
|
||||
xtreemfs = callPackage ../tools/filesystems/xtreemfs {};
|
||||
|
||||
@ -10610,6 +10612,15 @@ with pkgs;
|
||||
packages = [];
|
||||
};
|
||||
|
||||
rstudioWrapper = callPackage ../development/r-modules/wrapper-rstudio.nix {
|
||||
recommendedPackages = with rPackages; [
|
||||
boot class cluster codetools foreign KernSmooth lattice MASS
|
||||
Matrix mgcv nlme nnet rpart spatial survival
|
||||
];
|
||||
# Override this attribute to register additional libraries.
|
||||
packages = [];
|
||||
};
|
||||
|
||||
rPackages = callPackage ../development/r-modules {
|
||||
overrides = (config.rPackageOverrides or (p: {})) pkgs;
|
||||
};
|
||||
|
@ -3695,22 +3695,7 @@ in {
|
||||
};
|
||||
};
|
||||
|
||||
certifi = buildPythonPackage rec {
|
||||
name = "certifi-${version}";
|
||||
version = "2017.1.23";
|
||||
|
||||
src = pkgs.fetchurl {
|
||||
url = "mirror://pypi/c/certifi/${name}.tar.gz";
|
||||
sha256 = "1klrzl3hgvcf2mjk00g0k3kk1p2z27vzwnxivwar4vhjmjvpz1w1";
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = http://certifi.io/;
|
||||
description = "Python package for providing Mozilla's CA Bundle";
|
||||
license = licenses.isc;
|
||||
maintainers = with maintainers; [ koral ];
|
||||
};
|
||||
};
|
||||
certifi = callPackage ../development/python-modules/certifi { };
|
||||
|
||||
characteristic = buildPythonPackage rec {
|
||||
name = "characteristic-14.1.0";
|
||||
@ -5439,8 +5424,8 @@ in {
|
||||
sha256 = "03c2qc42r4bczyw93gd7n0qi1h1jfhw7fnbhi33c3vp1hs81gm2k";
|
||||
};
|
||||
|
||||
buildInputs = with self; [ pytest_xdist virtualenv process-tests ];
|
||||
propagatedBuildInputs = with self; [ pytest coverage ];
|
||||
propagatedBuildInputs = with self; [ coverage ];
|
||||
buildInputs = with self; [ pytest covCore virtualenv process-tests helper ];
|
||||
|
||||
# xdist related tests fail with the following error
|
||||
# OSError: [Errno 13] Permission denied: 'py/_code'
|
||||
@ -16688,6 +16673,11 @@ in {
|
||||
|
||||
propagatedBuildInputs = with self; [ pbr Babel testrepository subunit testtools ];
|
||||
buildInputs = with self; [ coverage oslosphinx oslotest testscenarios six ddt ];
|
||||
|
||||
# Requires pbr < 2
|
||||
# Or update to latest version but that requires updating the whole of openstack / oslo
|
||||
meta.broken = true;
|
||||
|
||||
};
|
||||
|
||||
bandit = buildPythonPackage rec {
|
||||
@ -19858,20 +19848,7 @@ in {
|
||||
};
|
||||
});
|
||||
|
||||
pydot = buildPythonPackage rec {
|
||||
name = "pydot-1.2.3";
|
||||
disabled = isPy3k;
|
||||
|
||||
src = pkgs.fetchurl {
|
||||
url = "mirror://pypi/p/pydot/${name}.tar.gz";
|
||||
sha256 = "edb5d3f249f97fbd9c4bb16959e61bc32ecf40eee1a9f6d27abe8d01c0a73502";
|
||||
};
|
||||
propagatedBuildInputs = with self; [pyparsing pkgs.graphviz];
|
||||
meta = {
|
||||
homepage = https://github.com/erocarrera/pydot;
|
||||
description = "Allows to easily create both directed and non directed graphs from Python";
|
||||
};
|
||||
};
|
||||
pydot = callPackage ../development/python-modules/pydot { };
|
||||
|
||||
pydot_ng = buildPythonPackage rec {
|
||||
name = "pydot_ng-1.0.0";
|
||||
@ -21741,6 +21718,8 @@ in {
|
||||
homepage = "http://github.com/diyan/pywinrm/";
|
||||
description = "Python library for Windows Remote Management";
|
||||
license = licenses.mit;
|
||||
# error: libgssapi_krb5.so: cannot open shared object file: No such file or directory
|
||||
broken = true; #
|
||||
};
|
||||
};
|
||||
|
||||
@ -23319,11 +23298,15 @@ in {
|
||||
url = "mirror://pypi/s/${pname}/${name}.tar.gz";
|
||||
sha256 = "14220f8f761c48ba1e2526f087195077cf54fad7098b382ce220422f0ff59b12";
|
||||
};
|
||||
buildInputs = with self; [ pytest_29 virtualenv pytestrunner pytest-virtualenv ];
|
||||
buildInputs = with self; [ pytest virtualenv pytestrunner pytest-virtualenv ];
|
||||
propagatedBuildInputs = with self; [ twisted pathlib2 ];
|
||||
postPatch = ''
|
||||
sed -i '12,$d' tests/test_main.py
|
||||
'';
|
||||
|
||||
# Couldn't get tests working
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
description = "Setuptools plugin that makes unit tests execute with trial instead of pyunit.";
|
||||
homepage = "https://github.com/rutsky/setuptools-trial";
|
||||
@ -23768,25 +23751,7 @@ in {
|
||||
};
|
||||
};
|
||||
|
||||
stevedore = buildPythonPackage rec {
|
||||
name = "stevedore-1.7.0";
|
||||
|
||||
src = pkgs.fetchurl {
|
||||
url = "mirror://pypi/s/stevedore/${name}.tar.gz";
|
||||
sha256 = "149pjc0c3z6khjisn4yil3f94qjnzwafz093wc8rrzbw828qdkv8";
|
||||
};
|
||||
|
||||
doCheck = false;
|
||||
|
||||
buildInputs = with self; [ oslosphinx ];
|
||||
propagatedBuildInputs = with self; [ pbr six argparse ];
|
||||
|
||||
meta = {
|
||||
description = "Manage dynamic plugins for Python applications";
|
||||
homepage = "https://pypi.python.org/pypi/stevedore";
|
||||
license = licenses.asl20;
|
||||
};
|
||||
};
|
||||
stevedore = callPackage ../development/python-modules/stevedore {};
|
||||
|
||||
Theano = self.TheanoWithoutCuda;
|
||||
|
||||
@ -26845,9 +26810,7 @@ EOF
|
||||
};
|
||||
});
|
||||
|
||||
magic-wormhole = callPackage ../development/python-modules/magic-wormhole {
|
||||
pythonPackages = self;
|
||||
};
|
||||
magic-wormhole = callPackage ../development/python-modules/magic-wormhole { };
|
||||
|
||||
wsgiproxy2 = buildPythonPackage rec {
|
||||
name = "WSGIProxy2-0.4.2";
|
||||
@ -31348,6 +31311,7 @@ EOF
|
||||
rev = "8eab90908f2a3adcc414347566f4434636202344";
|
||||
sha256 = "18n14ha2d3j3ghg2f2aqnf2mks94nn7ma9ii7vkiwcay93zm82cf";
|
||||
};
|
||||
disabled = isPy3k; # Judging from SyntaxError
|
||||
buildInputs = with self; [ pkgs.swig1 pkgs.coin3d pkgs.soqt pkgs.mesa pkgs.xorg.libXi ];
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user