mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-10 14:14:20 +00:00
Merge remote-tracking branch 'upstream/master' into HEAD
This commit is contained in:
commit
4e22e88b91
@ -281,6 +281,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
|
|||||||
url = https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception;
|
url = https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
hpnd = spdx {
|
||||||
|
spdxId = "HPND";
|
||||||
|
fullName = "Historic Permission Notice and Disclaimer";
|
||||||
|
};
|
||||||
|
|
||||||
# Intel's license, seems free
|
# Intel's license, seems free
|
||||||
iasl = {
|
iasl = {
|
||||||
fullName = "iASL";
|
fullName = "iASL";
|
||||||
|
@ -335,6 +335,13 @@ FLUSH PRIVILEGES;
|
|||||||
was removed and should not be needed anymore.</para>
|
was removed and should not be needed anymore.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Redis has been updated to version 4 which mandates a cluster
|
||||||
|
mass-restart, due to changes in the network handling, in order
|
||||||
|
to ensure compatibility with networks NATing traffic.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
||||||
<para>Other notable improvements:</para>
|
<para>Other notable improvements:</para>
|
||||||
@ -432,6 +439,16 @@ FLUSH PRIVILEGES;
|
|||||||
version, kernel version and build date of all bootable generations.
|
version, kernel version and build date of all bootable generations.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The dnscrypt-proxy service now defaults to using a random upstream resolver,
|
||||||
|
selected from the list of public non-logging resolvers with DNSSEC support.
|
||||||
|
Existing configurations can be migrated to this mode of operation by
|
||||||
|
omitting the <option>services.dnscrypt-proxy.resolverName</option> option
|
||||||
|
or setting it to <literal>"random"</literal>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
@ -40,6 +40,12 @@ in
|
|||||||
{
|
{
|
||||||
|
|
||||||
config = mkIf enabled {
|
config = mkIf enabled {
|
||||||
|
assertions = [
|
||||||
|
{
|
||||||
|
assertion = services.xserver.displayManager.gdm.wayland;
|
||||||
|
message = "NVidia drivers don't support wayland";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
services.xserver.drivers = singleton
|
services.xserver.drivers = singleton
|
||||||
{ name = "nvidia"; modules = [ nvidia_x11.bin ]; libPath = [ nvidia_x11 ]; };
|
{ name = "nvidia"; modules = [ nvidia_x11.bin ]; libPath = [ nvidia_x11 ]; };
|
||||||
@ -62,11 +68,16 @@ in
|
|||||||
boot.extraModulePackages = [ nvidia_x11.bin ];
|
boot.extraModulePackages = [ nvidia_x11.bin ];
|
||||||
|
|
||||||
# nvidia-uvm is required by CUDA applications.
|
# nvidia-uvm is required by CUDA applications.
|
||||||
boot.kernelModules = [ "nvidia-uvm" ];
|
boot.kernelModules = [ "nvidia-uvm" ] ++
|
||||||
|
lib.optionals config.services.xserver.enable [ "nvidia" "nvidia_modeset" "nvidia_drm" ];
|
||||||
|
|
||||||
|
|
||||||
# Create /dev/nvidia-uvm when the nvidia-uvm module is loaded.
|
# Create /dev/nvidia-uvm when the nvidia-uvm module is loaded.
|
||||||
services.udev.extraRules =
|
services.udev.extraRules =
|
||||||
''
|
''
|
||||||
|
KERNEL=="nvidia", RUN+="${pkgs.stdenv.shell} -c 'mknod -m 666 /dev/nvidiactl c $(grep nvidia-frontend /proc/devices | cut -d \ -f 1) 255'"
|
||||||
|
KERNEL=="nvidia_modeset", RUN+="${pkgs.stdenv.shell} -c 'mknod -m 666 /dev/nvidia-modeset c $(grep nvidia-frontend /proc/devices | cut -d \ -f 1) 254'"
|
||||||
|
KERNEL=="card*", SUBSYSTEM=="drm", DRIVERS=="nvidia", RUN+="${pkgs.stdenv.shell} -c 'mknod -m 666 /dev/nvidia%n c $(grep nvidia-frontend /proc/devices | cut -d \ -f 1) %n'"
|
||||||
KERNEL=="nvidia_uvm", RUN+="${pkgs.stdenv.shell} -c 'mknod -m 666 /dev/nvidia-uvm c $(grep nvidia-uvm /proc/devices | cut -d \ -f 1) 0'"
|
KERNEL=="nvidia_uvm", RUN+="${pkgs.stdenv.shell} -c 'mknod -m 666 /dev/nvidia-uvm c $(grep nvidia-uvm /proc/devices | cut -d \ -f 1) 0'"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -361,6 +361,9 @@ in
|
|||||||
{ source = config.isoImage.splashImage;
|
{ source = config.isoImage.splashImage;
|
||||||
target = "/isolinux/background.png";
|
target = "/isolinux/background.png";
|
||||||
}
|
}
|
||||||
|
{ source = pkgs.writeText "version" config.system.nixosVersion;
|
||||||
|
target = "/version.txt";
|
||||||
|
}
|
||||||
] ++ optionals config.isoImage.makeEfiBootable [
|
] ++ optionals config.isoImage.makeEfiBootable [
|
||||||
{ source = efiImg;
|
{ source = efiImg;
|
||||||
target = "/boot/efi.img";
|
target = "/boot/efi.img";
|
||||||
|
@ -17,20 +17,22 @@ in
|
|||||||
};
|
};
|
||||||
config = mkOption {
|
config = mkOption {
|
||||||
default = "";
|
default = "";
|
||||||
description = "monit.conf content";
|
description = "monitrc content";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf config.services.monit.enable {
|
config = mkIf config.services.monit.enable {
|
||||||
|
|
||||||
|
environment.systemPackages = [ pkgs.monit ];
|
||||||
|
|
||||||
environment.etc = [
|
environment.etc = [
|
||||||
{
|
{
|
||||||
source = pkgs.writeTextFile {
|
source = pkgs.writeTextFile {
|
||||||
name = "monit.conf";
|
name = "monitrc";
|
||||||
text = config.services.monit.config;
|
text = config.services.monit.config;
|
||||||
};
|
};
|
||||||
target = "monit.conf";
|
target = "monitrc";
|
||||||
mode = "0400";
|
mode = "0400";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
@ -40,9 +42,9 @@ in
|
|||||||
after = [ "network.target" ];
|
after = [ "network.target" ];
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStart = "${pkgs.monit}/bin/monit -I -c /etc/monit.conf";
|
ExecStart = "${pkgs.monit}/bin/monit -I -c /etc/monitrc";
|
||||||
ExecStop = "${pkgs.monit}/bin/monit -c /etc/monit.conf quit";
|
ExecStop = "${pkgs.monit}/bin/monit -c /etc/monitrc quit";
|
||||||
ExecReload = "${pkgs.monit}/bin/monit -c /etc/monit.conf reload";
|
ExecReload = "${pkgs.monit}/bin/monit -c /etc/monitrc reload";
|
||||||
KillMode = "process";
|
KillMode = "process";
|
||||||
Restart = "always";
|
Restart = "always";
|
||||||
};
|
};
|
||||||
|
@ -183,6 +183,7 @@ in
|
|||||||
ExecReload = "${cfg.package.bin}/bin/consul reload";
|
ExecReload = "${cfg.package.bin}/bin/consul reload";
|
||||||
PermissionsStartOnly = true;
|
PermissionsStartOnly = true;
|
||||||
User = if cfg.dropPrivileges then "consul" else null;
|
User = if cfg.dropPrivileges then "consul" else null;
|
||||||
|
Restart = "on-failure";
|
||||||
TimeoutStartSec = "0";
|
TimeoutStartSec = "0";
|
||||||
} // (optionalAttrs (cfg.leaveOnStop) {
|
} // (optionalAttrs (cfg.leaveOnStop) {
|
||||||
ExecStop = "${cfg.package.bin}/bin/consul leave";
|
ExecStop = "${cfg.package.bin}/bin/consul leave";
|
||||||
|
@ -163,6 +163,12 @@ in
|
|||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
after = [ "network.target" ];
|
after = [ "network.target" ];
|
||||||
path = [ data.package ];
|
path = [ data.package ];
|
||||||
|
restartTriggers =
|
||||||
|
let
|
||||||
|
drvlist = [ config.environment.etc."tinc/${network}/tinc.conf".source ]
|
||||||
|
++ mapAttrsToList (host: _: config.environment.etc."tinc/${network}/hosts/${host}".source) data.hosts;
|
||||||
|
in # drvlist might be too long to be used directly
|
||||||
|
[ (builtins.hashString "sha256" (concatMapStrings (d: d.outPath) drvlist)) ];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "simple";
|
Type = "simple";
|
||||||
Restart = "always";
|
Restart = "always";
|
||||||
|
@ -148,6 +148,7 @@ in {
|
|||||||
wants = [ "network.target" ];
|
wants = [ "network.target" ];
|
||||||
requires = lib.concatMap deviceUnit ifaces;
|
requires = lib.concatMap deviceUnit ifaces;
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
stopIfChanged = false;
|
||||||
|
|
||||||
path = [ pkgs.wpa_supplicant ];
|
path = [ pkgs.wpa_supplicant ];
|
||||||
|
|
||||||
|
@ -212,6 +212,14 @@ in
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
openFirewall = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
Whether to open ports in the firewall for ZNC.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
zncConf = mkOption {
|
zncConf = mkOption {
|
||||||
default = "";
|
default = "";
|
||||||
example = "See: http://wiki.znc.in/Configuration";
|
example = "See: http://wiki.znc.in/Configuration";
|
||||||
@ -276,14 +284,6 @@ in
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
openFirewall = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
description = ''
|
|
||||||
Whether to open ports in the firewall for ZNC.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
passBlock = mkOption {
|
passBlock = mkOption {
|
||||||
example = defaultPassBlock;
|
example = defaultPassBlock;
|
||||||
type = types.string;
|
type = types.string;
|
||||||
@ -359,7 +359,7 @@ in
|
|||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
networking.firewall = mkIf cfg.openFirewall {
|
networking.firewall = mkIf cfg.openFirewall {
|
||||||
allowedTCPPorts = [ cfg.port ];
|
allowedTCPPorts = [ cfg.confOptions.port ];
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.services.znc = {
|
systemd.services.znc = {
|
||||||
|
@ -64,6 +64,14 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
wayland = mkOption {
|
||||||
|
default = true;
|
||||||
|
description = ''
|
||||||
|
Allow GDM run on Wayland instead of Xserver
|
||||||
|
'';
|
||||||
|
type = types.bool;
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
@ -94,6 +102,7 @@ in
|
|||||||
# GDM needs different xserverArgs, presumable because using wayland by default.
|
# GDM needs different xserverArgs, presumable because using wayland by default.
|
||||||
services.xserver.tty = null;
|
services.xserver.tty = null;
|
||||||
services.xserver.display = null;
|
services.xserver.display = null;
|
||||||
|
services.xserver.verbose = null;
|
||||||
|
|
||||||
services.xserver.displayManager.job =
|
services.xserver.displayManager.job =
|
||||||
{
|
{
|
||||||
@ -139,6 +148,7 @@ in
|
|||||||
# presented and there's a little delay.
|
# presented and there's a little delay.
|
||||||
environment.etc."gdm/custom.conf".text = ''
|
environment.etc."gdm/custom.conf".text = ''
|
||||||
[daemon]
|
[daemon]
|
||||||
|
WaylandEnable=${if cfg.gdm.wayland then "true" else "false"}
|
||||||
${optionalString cfg.gdm.autoLogin.enable (
|
${optionalString cfg.gdm.autoLogin.enable (
|
||||||
if cfg.gdm.autoLogin.delay > 0 then ''
|
if cfg.gdm.autoLogin.delay > 0 then ''
|
||||||
TimedLoginEnable=true
|
TimedLoginEnable=true
|
||||||
|
@ -480,6 +480,15 @@ in
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
verbose = mkOption {
|
||||||
|
type = types.nullOr types.int;
|
||||||
|
default = 3;
|
||||||
|
example = 7;
|
||||||
|
description = ''
|
||||||
|
Controls verbosity of X logging.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
useGlamor = mkOption {
|
useGlamor = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
@ -631,10 +640,11 @@ in
|
|||||||
[ "-config ${configFile}"
|
[ "-config ${configFile}"
|
||||||
"-xkbdir" "${cfg.xkbDir}"
|
"-xkbdir" "${cfg.xkbDir}"
|
||||||
# Log at the default verbosity level to stderr rather than /var/log/X.*.log.
|
# Log at the default verbosity level to stderr rather than /var/log/X.*.log.
|
||||||
"-verbose" "3" "-logfile" "/dev/null"
|
"-logfile" "/dev/null"
|
||||||
] ++ optional (cfg.display != null) ":${toString cfg.display}"
|
] ++ optional (cfg.display != null) ":${toString cfg.display}"
|
||||||
++ optional (cfg.tty != null) "vt${toString cfg.tty}"
|
++ optional (cfg.tty != null) "vt${toString cfg.tty}"
|
||||||
++ optional (cfg.dpi != null) "-dpi ${toString cfg.dpi}"
|
++ optional (cfg.dpi != null) "-dpi ${toString cfg.dpi}"
|
||||||
|
++ optional (cfg.verbose != null) "-verbose ${toString cfg.verbose}"
|
||||||
++ optional (!cfg.enableTCP) "-nolisten tcp"
|
++ optional (!cfg.enableTCP) "-nolisten tcp"
|
||||||
++ optional (cfg.autoRepeatDelay != null) "-ardelay ${toString cfg.autoRepeatDelay}"
|
++ optional (cfg.autoRepeatDelay != null) "-ardelay ${toString cfg.autoRepeatDelay}"
|
||||||
++ optional (cfg.autoRepeatInterval != null) "-arinterval ${toString cfg.autoRepeatInterval}"
|
++ optional (cfg.autoRepeatInterval != null) "-arinterval ${toString cfg.autoRepeatInterval}"
|
||||||
|
@ -875,7 +875,12 @@ in
|
|||||||
systemd.services.systemd-remount-fs.restartIfChanged = false;
|
systemd.services.systemd-remount-fs.restartIfChanged = false;
|
||||||
systemd.services.systemd-update-utmp.restartIfChanged = false;
|
systemd.services.systemd-update-utmp.restartIfChanged = false;
|
||||||
systemd.services.systemd-user-sessions.restartIfChanged = false; # Restart kills all active sessions.
|
systemd.services.systemd-user-sessions.restartIfChanged = false; # Restart kills all active sessions.
|
||||||
systemd.services.systemd-logind.restartTriggers = [ config.environment.etc."systemd/logind.conf".source ];
|
# Restarting systemd-logind breaks X11
|
||||||
|
# - upstream commit: https://cgit.freedesktop.org/xorg/xserver/commit/?id=dc48bd653c7e101
|
||||||
|
# - systemd announcement: https://github.com/systemd/systemd/blob/22043e4317ecd2bc7834b48a6d364de76bb26d91/NEWS#L103-L112
|
||||||
|
# - this might be addressed in the future by xorg
|
||||||
|
#systemd.services.systemd-logind.restartTriggers = [ config.environment.etc."systemd/logind.conf".source ];
|
||||||
|
systemd.services.systemd-logind.restartIfChanged = false;
|
||||||
systemd.services.systemd-logind.stopIfChanged = false;
|
systemd.services.systemd-logind.stopIfChanged = false;
|
||||||
systemd.services.systemd-journald.restartTriggers = [ config.environment.etc."systemd/journald.conf".source ];
|
systemd.services.systemd-journald.restartTriggers = [ config.environment.etc."systemd/journald.conf".source ];
|
||||||
systemd.services.systemd-journald.stopIfChanged = false;
|
systemd.services.systemd-journald.stopIfChanged = false;
|
||||||
|
@ -98,22 +98,10 @@ in
|
|||||||
'') config.i18n.consoleColors}
|
'') config.i18n.consoleColors}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
/* XXX: systemd-vconsole-setup needs a "main" terminal. By default
|
|
||||||
* /dev/tty0 is used which wouldn't work when the service is restarted
|
|
||||||
* from X11. We set this to /dev/tty1; not ideal because it may also be
|
|
||||||
* owned by X11 or something else.
|
|
||||||
*
|
|
||||||
* See #22470.
|
|
||||||
*/
|
|
||||||
systemd.services."systemd-vconsole-setup" =
|
systemd.services."systemd-vconsole-setup" =
|
||||||
{ wantedBy = [ "sysinit.target" ];
|
{ before = [ "display-manager.service" ];
|
||||||
before = [ "display-manager.service" ];
|
|
||||||
after = [ "systemd-udev-settle.service" ];
|
after = [ "systemd-udev-settle.service" ];
|
||||||
restartTriggers = [ vconsoleConf kbdEnv ];
|
restartTriggers = [ vconsoleConf kbdEnv ];
|
||||||
serviceConfig.ExecStart = [
|
|
||||||
""
|
|
||||||
"${pkgs.systemd}/lib/systemd/systemd-vconsole-setup /dev/tty1"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -122,24 +122,32 @@ let
|
|||||||
|
|
||||||
# Set the default gateway.
|
# Set the default gateway.
|
||||||
${optionalString (cfg.defaultGateway != null && cfg.defaultGateway.address != "") ''
|
${optionalString (cfg.defaultGateway != null && cfg.defaultGateway.address != "") ''
|
||||||
# FIXME: get rid of "|| true" (necessary to make it idempotent).
|
${optionalString (cfg.defaultGateway.interface != null) ''
|
||||||
ip route add default ${optionalString (cfg.defaultGateway.metric != null)
|
ip route replace ${cfg.defaultGateway.address} dev ${cfg.defaultGateway.interface} ${optionalString (cfg.defaultGateway.metric != null)
|
||||||
|
"metric ${toString cfg.defaultGateway.metric}"
|
||||||
|
} proto static
|
||||||
|
''}
|
||||||
|
ip route replace default ${optionalString (cfg.defaultGateway.metric != null)
|
||||||
"metric ${toString cfg.defaultGateway.metric}"
|
"metric ${toString cfg.defaultGateway.metric}"
|
||||||
} via "${cfg.defaultGateway.address}" ${
|
} via "${cfg.defaultGateway.address}" ${
|
||||||
optionalString (cfg.defaultGatewayWindowSize != null)
|
optionalString (cfg.defaultGatewayWindowSize != null)
|
||||||
"window ${toString cfg.defaultGatewayWindowSize}"} ${
|
"window ${toString cfg.defaultGatewayWindowSize}"} ${
|
||||||
optionalString (cfg.defaultGateway.interface != null)
|
optionalString (cfg.defaultGateway.interface != null)
|
||||||
"dev ${cfg.defaultGateway.interface}"} proto static || true
|
"dev ${cfg.defaultGateway.interface}"} proto static
|
||||||
''}
|
''}
|
||||||
${optionalString (cfg.defaultGateway6 != null && cfg.defaultGateway6.address != "") ''
|
${optionalString (cfg.defaultGateway6 != null && cfg.defaultGateway6.address != "") ''
|
||||||
# FIXME: get rid of "|| true" (necessary to make it idempotent).
|
${optionalString (cfg.defaultGateway6.interface != null) ''
|
||||||
ip -6 route add ::/0 ${optionalString (cfg.defaultGateway6.metric != null)
|
ip -6 route replace ${cfg.defaultGateway6.address} dev ${cfg.defaultGateway6.interface} ${optionalString (cfg.defaultGateway6.metric != null)
|
||||||
|
"metric ${toString cfg.defaultGateway6.metric}"
|
||||||
|
} proto static
|
||||||
|
''}
|
||||||
|
ip -6 route replace default ${optionalString (cfg.defaultGateway6.metric != null)
|
||||||
"metric ${toString cfg.defaultGateway6.metric}"
|
"metric ${toString cfg.defaultGateway6.metric}"
|
||||||
} via "${cfg.defaultGateway6.address}" ${
|
} via "${cfg.defaultGateway6.address}" ${
|
||||||
optionalString (cfg.defaultGatewayWindowSize != null)
|
optionalString (cfg.defaultGatewayWindowSize != null)
|
||||||
"window ${toString cfg.defaultGatewayWindowSize}"} ${
|
"window ${toString cfg.defaultGatewayWindowSize}"} ${
|
||||||
optionalString (cfg.defaultGateway6.interface != null)
|
optionalString (cfg.defaultGateway6.interface != null)
|
||||||
"dev ${cfg.defaultGateway6.interface}"} proto static || true
|
"dev ${cfg.defaultGateway6.interface}"} proto static
|
||||||
''}
|
''}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
@ -56,9 +56,7 @@ import ./make-test.nix ({ pkgs, ...} : rec {
|
|||||||
src = ./mesos_test.py;
|
src = ./mesos_test.py;
|
||||||
phases = [ "installPhase" "fixupPhase" ];
|
phases = [ "installPhase" "fixupPhase" ];
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir $out
|
install -Dvm 0755 $src $out/bin/mesos_test.py
|
||||||
cp $src $out/mesos_test.py
|
|
||||||
chmod +x $out/mesos_test.py
|
|
||||||
|
|
||||||
echo "done" > test.result
|
echo "done" > test.result
|
||||||
tar czf $out/test.tar.gz test.result
|
tar czf $out/test.tar.gz test.result
|
||||||
@ -74,18 +72,18 @@ import ./make-test.nix ({ pkgs, ...} : rec {
|
|||||||
$master->waitForOpenPort(5050);
|
$master->waitForOpenPort(5050);
|
||||||
$slave->waitForOpenPort(5051);
|
$slave->waitForOpenPort(5051);
|
||||||
|
|
||||||
# is slave registred?
|
# is slave registered?
|
||||||
$master->waitUntilSucceeds("curl -s --fail http://master:5050/master/slaves".
|
$master->waitUntilSucceeds("curl -s --fail http://master:5050/master/slaves".
|
||||||
" | grep -q \"\\\"hostname\\\":\\\"slave\\\"\"");
|
" | grep -q \"\\\"hostname\\\":\\\"slave\\\"\"");
|
||||||
|
|
||||||
# try to run docker image
|
# try to run docker image
|
||||||
$master->succeed("${pkgs.mesos}/bin/mesos-execute --master=master:5050".
|
$master->succeed("${pkgs.mesos}/bin/mesos-execute --master=master:5050".
|
||||||
" --resources=\"cpus:0.1;mem:32\" --name=simple-docker".
|
" --resources=\"cpus:0.1;mem:32\" --name=simple-docker".
|
||||||
" --containerizer=mesos --docker_image=echo:latest".
|
" --containerizer=mesos --docker_image=echo:latest".
|
||||||
" --shell=true --command=\"echo done\" | grep -q TASK_FINISHED");
|
" --shell=true --command=\"echo done\" | grep -q TASK_FINISHED");
|
||||||
|
|
||||||
# simple command with .tar.gz uri
|
# simple command with .tar.gz uri
|
||||||
$master->succeed("${testFramework}/mesos_test.py master ".
|
$master->succeed("${testFramework}/bin/mesos_test.py master ".
|
||||||
"${testFramework}/test.tar.gz");
|
"${testFramework}/test.tar.gz");
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
|
43
pkgs/applications/altcoins/bitcoin-abc.nix
Normal file
43
pkgs/applications/altcoins/bitcoin-abc.nix
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, openssl, db48, boost
|
||||||
|
, zlib, miniupnpc, qt5, utillinux, protobuf, qrencode, libevent
|
||||||
|
, withGui }:
|
||||||
|
|
||||||
|
with stdenv.lib;
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
|
||||||
|
name = "bitcoin" + (toString (optional (!withGui) "d")) + "-abc-" + version;
|
||||||
|
version = "0.15.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "bitcoin-ABC";
|
||||||
|
repo = "bitcoin-abc";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "1fygn6cc99iasg5g5jyps5ps873hfnn4ln4hsmcwlwiqd591qxyv";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [ ./fix-bitcoin-qt-build.patch ];
|
||||||
|
|
||||||
|
nativeBuildInputs = [ pkgconfig autoreconfHook ];
|
||||||
|
buildInputs = [ openssl db48 boost zlib
|
||||||
|
miniupnpc utillinux protobuf libevent ]
|
||||||
|
++ optionals withGui [ qt5.qtbase qt5.qttools qrencode ];
|
||||||
|
|
||||||
|
configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
|
||||||
|
++ optionals withGui [ "--with-gui=qt5" ];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Peer-to-peer electronic cash system (Cash client)";
|
||||||
|
longDescription= ''
|
||||||
|
Bitcoin ABC is the name of open source software which enables the use of Bitcoin.
|
||||||
|
It is designed to facilite a hard fork to increase Bitcoin's block size limit.
|
||||||
|
"ABC" stands for "Adjustable Blocksize Cap".
|
||||||
|
|
||||||
|
Bitcoin ABC is a fork of the Bitcoin Core software project.
|
||||||
|
'';
|
||||||
|
homepage = https://bitcoinabc.org/;
|
||||||
|
maintainers = with maintainers; [ lassulus ];
|
||||||
|
license = licenses.mit;
|
||||||
|
platforms = platforms.unix;
|
||||||
|
};
|
||||||
|
}
|
@ -5,6 +5,9 @@ rec {
|
|||||||
bitcoin = callPackage ./bitcoin.nix { withGui = true; };
|
bitcoin = callPackage ./bitcoin.nix { withGui = true; };
|
||||||
bitcoind = callPackage ./bitcoin.nix { withGui = false; };
|
bitcoind = callPackage ./bitcoin.nix { withGui = false; };
|
||||||
|
|
||||||
|
bitcoin-abc = callPackage ./bitcoin-abc.nix { withGui = true; };
|
||||||
|
bitcoind-abc = callPackage ./bitcoin-abc.nix { withGui = false; };
|
||||||
|
|
||||||
bitcoin-unlimited = callPackage ./bitcoin-unlimited.nix { withGui = true; };
|
bitcoin-unlimited = callPackage ./bitcoin-unlimited.nix { withGui = true; };
|
||||||
bitcoind-unlimited = callPackage ./bitcoin-unlimited.nix { withGui = false; };
|
bitcoind-unlimited = callPackage ./bitcoin-unlimited.nix { withGui = false; };
|
||||||
|
|
||||||
|
15
pkgs/applications/altcoins/fix-bitcoin-qt-build.patch
Normal file
15
pkgs/applications/altcoins/fix-bitcoin-qt-build.patch
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
--- bitcoin-abc-v0.15.0-src/build-aux/m4/bitcoin_qt.m4 1970-01-01 01:00:01.000000000 +0100
|
||||||
|
+++ bitcoin-abc-v0.15.0-src.org/build-aux/m4/bitcoin_qt.m4 2017-09-27 23:38:44.748384197 +0100
|
||||||
|
@@ -35,11 +35,7 @@
|
||||||
|
dnl Output: $1 is set to the path of $2 if found. $2 are searched in order.
|
||||||
|
AC_DEFUN([BITCOIN_QT_PATH_PROGS],[
|
||||||
|
BITCOIN_QT_CHECK([
|
||||||
|
- if test "x$3" != "x"; then
|
||||||
|
- AC_PATH_PROGS($1,$2,,$3)
|
||||||
|
- else
|
||||||
|
- AC_PATH_PROGS($1,$2)
|
||||||
|
- fi
|
||||||
|
+ AC_PATH_PROGS($1,$2)
|
||||||
|
if test "x$$1" = "x" && test "x$4" != "xyes"; then
|
||||||
|
BITCOIN_QT_FAIL([$1 not found])
|
||||||
|
fi
|
@ -1,6 +1,8 @@
|
|||||||
{ stdenv, fetchurl, fetchpatch, pkgconfig
|
{ stdenv, lib, fetchurl, fetchpatch, pkgconfig
|
||||||
, zlib, freetype, libjpeg, jbig2dec, openjpeg
|
, freetype, harfbuzz, openjpeg, jbig2dec
|
||||||
, libX11, libXcursor, libXrandr, libXinerama, libXext, harfbuzz, mesa }:
|
, enableX11 ? true, libX11, libXext
|
||||||
|
, enableCurl ? true, curl, openssl
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "1.11";
|
version = "1.11";
|
||||||
@ -28,7 +30,9 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
makeFlags = [ "prefix=$(out)" ];
|
makeFlags = [ "prefix=$(out)" ];
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
buildInputs = [ zlib libX11 libXcursor libXext harfbuzz mesa libXrandr libXinerama freetype libjpeg jbig2dec openjpeg ];
|
buildInputs = [ freetype harfbuzz openjpeg jbig2dec ]
|
||||||
|
++ lib.optionals enableX11 [ libX11 libXext ]
|
||||||
|
++ lib.optionals enableCurl [ curl openssl ];
|
||||||
outputs = [ "bin" "dev" "out" "man" "doc" ];
|
outputs = [ "bin" "dev" "out" "man" "doc" ];
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
|
@ -1,18 +1,18 @@
|
|||||||
From 0defcf6ec155899c414f66524b7df629f59327f0 Mon Sep 17 00:00:00 2001
|
From 314bcebfcd1759981ce12255be29d8ae68cd400b Mon Sep 17 00:00:00 2001
|
||||||
From: Nikolay Amiantov <ab@fmap.me>
|
From: Nikolay Amiantov <ab@fmap.me>
|
||||||
Date: Wed, 23 Nov 2016 00:40:48 +0300
|
Date: Wed, 23 Nov 2016 00:40:48 +0300
|
||||||
Subject: [PATCH] Build and use one version of preprocessor library
|
Subject: [PATCH] Build and use one version of preprocessor library
|
||||||
|
|
||||||
---
|
---
|
||||||
octoprint_m33fio/__init__.py | 67 ++----------------------------------------
|
octoprint_m33fio/__init__.py | 73 ++----------------------------------------
|
||||||
shared library source/Makefile | 62 +++-----------------------------------
|
shared library source/Makefile | 62 +++--------------------------------
|
||||||
2 files changed, 6 insertions(+), 123 deletions(-)
|
2 files changed, 6 insertions(+), 129 deletions(-)
|
||||||
|
|
||||||
diff --git a/octoprint_m33fio/__init__.py b/octoprint_m33fio/__init__.py
|
diff --git a/octoprint_m33fio/__init__.py b/octoprint_m33fio/__init__.py
|
||||||
index 4b43c59..d1259e4 100755
|
index 054870a..4d5ecc1 100755
|
||||||
--- a/octoprint_m33fio/__init__.py
|
--- a/octoprint_m33fio/__init__.py
|
||||||
+++ b/octoprint_m33fio/__init__.py
|
+++ b/octoprint_m33fio/__init__.py
|
||||||
@@ -1062,71 +1062,8 @@ class M33FioPlugin(
|
@@ -1189,78 +1189,9 @@ class M33FioPlugin(
|
||||||
# Check if using shared library or checking if it is usable
|
# Check if using shared library or checking if it is usable
|
||||||
if self._settings.get_boolean(["UseSharedLibrary"]) or isUsable :
|
if self._settings.get_boolean(["UseSharedLibrary"]) or isUsable :
|
||||||
|
|
||||||
@ -54,7 +54,9 @@ index 4b43c59..d1259e4 100755
|
|||||||
-
|
-
|
||||||
- # Otherwise check if running on Windows and using an i386 or x86-64 device
|
- # Otherwise check if running on Windows and using an i386 or x86-64 device
|
||||||
- elif platform.uname()[0].startswith("Windows") and (platform.uname()[4].endswith("86") or platform.uname()[4].endswith("64")) :
|
- elif platform.uname()[0].startswith("Windows") and (platform.uname()[4].endswith("86") or platform.uname()[4].endswith("64")) :
|
||||||
-
|
+ # Set shared library
|
||||||
|
+ self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/libpreprocessor.so")
|
||||||
|
|
||||||
- # Check if Python is running as 32-bit
|
- # Check if Python is running as 32-bit
|
||||||
- if platform.architecture()[0].startswith("32") :
|
- if platform.architecture()[0].startswith("32") :
|
||||||
-
|
-
|
||||||
@ -81,11 +83,16 @@ index 4b43c59..d1259e4 100755
|
|||||||
-
|
-
|
||||||
- # Set shared library
|
- # Set shared library
|
||||||
- self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace("\\", "/") + "/static/libraries/preprocessor_x86-64.dylib")
|
- self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace("\\", "/") + "/static/libraries/preprocessor_x86-64.dylib")
|
||||||
+ # Set shared library
|
-
|
||||||
+ self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/libpreprocessor.so")
|
- # Otherwise check if running FreeBSD
|
||||||
|
- elif platform.uname()[0].startswith("FreeBSD") :
|
||||||
|
-
|
||||||
|
- # TODO: Compile FreeBSD shared library pre-processors
|
||||||
|
- pass
|
||||||
|
-
|
||||||
# Check if shared library was set
|
# Check if shared library was set
|
||||||
if self.sharedLibrary :
|
if self.sharedLibrary :
|
||||||
|
|
||||||
diff --git a/shared library source/Makefile b/shared library source/Makefile
|
diff --git a/shared library source/Makefile b/shared library source/Makefile
|
||||||
index 792b4f4..4c74f5c 100755
|
index 792b4f4..4c74f5c 100755
|
||||||
--- a/shared library source/Makefile
|
--- a/shared library source/Makefile
|
||||||
@ -164,5 +171,5 @@ index 792b4f4..4c74f5c 100755
|
|||||||
clean:
|
clean:
|
||||||
rm -f ../octoprint_m33fio/static/libraries/$(PROG)
|
rm -f ../octoprint_m33fio/static/libraries/$(PROG)
|
||||||
--
|
--
|
||||||
2.11.0
|
2.14.1
|
||||||
|
|
||||||
|
@ -12,13 +12,13 @@ let
|
|||||||
|
|
||||||
m33-fio = buildPlugin rec {
|
m33-fio = buildPlugin rec {
|
||||||
name = "M33-Fio-${version}";
|
name = "M33-Fio-${version}";
|
||||||
version = "1.20";
|
version = "1.21";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "donovan6000";
|
owner = "donovan6000";
|
||||||
repo = "M33-Fio";
|
repo = "M33-Fio";
|
||||||
rev = "V${version}";
|
rev = "V${version}";
|
||||||
sha256 = "1ng7lzlkqsjcr1w7wgzwsqkkvcvpajcj2cwqlffh95916sw8n767";
|
sha256 = "1la3611kkqn8yiwjn6cizc45ri8pnk6ckld1na4nk6mqk88jvjq7";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -15,7 +15,6 @@
|
|||||||
, noto-fonts-emoji
|
, noto-fonts-emoji
|
||||||
|
|
||||||
# Extensions, common
|
# Extensions, common
|
||||||
, unzip
|
|
||||||
, zip
|
, zip
|
||||||
|
|
||||||
# HTTPS Everywhere
|
# HTTPS Everywhere
|
||||||
@ -27,6 +26,7 @@
|
|||||||
|
|
||||||
# Customization
|
# Customization
|
||||||
, extraPrefs ? ""
|
, extraPrefs ? ""
|
||||||
|
, extraExtensions ? [ ]
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
@ -36,144 +36,19 @@ let
|
|||||||
sha256 = "0j37mqldj33fnzghxifvy6v8vdwkcz0i4z81prww64md5s8qcsa9";
|
sha256 = "0j37mqldj33fnzghxifvy6v8vdwkcz0i4z81prww64md5s8qcsa9";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Each extension drv produces an output comprising an unpacked .xpi
|
firefoxExtensions = import ./extensions.nix {
|
||||||
# named after the extension uuid, as it would appear under
|
inherit stdenv fetchurl fetchgit zip
|
||||||
# `firefox/extensions'.
|
git libxml2 python27 python27Packages rsync;
|
||||||
firefoxExtensions = {
|
|
||||||
https-everywhere = stdenv.mkDerivation rec {
|
|
||||||
name = "https-everywhere-${version}";
|
|
||||||
version = "5.2.21";
|
|
||||||
|
|
||||||
extid = "https-everywhere-eff@eff.org";
|
|
||||||
|
|
||||||
src = fetchgit {
|
|
||||||
url = "https://git.torproject.org/https-everywhere.git";
|
|
||||||
rev = "refs/tags/${version}";
|
|
||||||
sha256 = "0z9madihh4b4z4blvfmh6w1hsv8afyi0x7b243nciq9r4w55xgfa";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
git
|
|
||||||
libxml2 # xmllint
|
|
||||||
python27
|
|
||||||
python27Packages.lxml
|
|
||||||
rsync
|
|
||||||
unzip
|
|
||||||
zip
|
|
||||||
];
|
|
||||||
|
|
||||||
unpackPhase = ''
|
|
||||||
cp -dR --no-preserve=mode "$src" src
|
|
||||||
cd src
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Beware: the build expects translations/ to be non-empty (which it
|
|
||||||
# will be with submodules initialized).
|
|
||||||
buildPhase = ''
|
|
||||||
$shell ./makexpi.sh ${version} --no-recurse
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir $out
|
|
||||||
unzip -d "$out/$extid" "pkg/https-everywhere-$version-eff.xpi"
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = https://gitweb.torproject.org/https-everywhere.git/;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
noscript = stdenv.mkDerivation rec {
|
|
||||||
name = "noscript-${version}";
|
|
||||||
version = "5.0.10";
|
|
||||||
|
|
||||||
extid = "{73a6fe31-595d-460b-a920-fcc0f8843232}";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "https://secure.informaction.com/download/releases/noscript-${version}.xpi";
|
|
||||||
sha256 = "18k5karbaj5mhd9cyjbqgik6044bw88rjalkh6anjanxbn503j6g";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [ unzip ];
|
|
||||||
|
|
||||||
unpackPhase = ":";
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir $out
|
|
||||||
unzip -d "$out/$extid" "$src"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
torbutton = stdenv.mkDerivation rec {
|
|
||||||
name = "torbutton-${version}";
|
|
||||||
version = "1.9.8.1";
|
|
||||||
|
|
||||||
extid = "torbutton@torproject.org";
|
|
||||||
|
|
||||||
src = fetchgit {
|
|
||||||
url = "https://git.torproject.org/torbutton.git";
|
|
||||||
rev = "refs/tags/${version}";
|
|
||||||
sha256 = "1amp0c9ky0a7fsa0bcbi6n6ginw7s2g3an4rj7kvc1lxmrcsm65l";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [ unzip zip ];
|
|
||||||
|
|
||||||
unpackPhase = ''
|
|
||||||
cp -dR --no-preserve=mode "$src" src
|
|
||||||
cd src
|
|
||||||
'';
|
|
||||||
|
|
||||||
buildPhase = ''
|
|
||||||
$shell ./makexpi.sh
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir $out
|
|
||||||
unzip -d "$out/$extid" "pkg/torbutton-$version.xpi"
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = https://gitweb.torproject.org/torbutton.git/;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
tor-launcher = stdenv.mkDerivation rec {
|
|
||||||
name = "tor-launcher-${version}";
|
|
||||||
version = "0.2.12.3";
|
|
||||||
|
|
||||||
extid = "tor-launcher@torproject.org";
|
|
||||||
|
|
||||||
src = fetchgit {
|
|
||||||
url = "https://git.torproject.org/tor-launcher.git";
|
|
||||||
rev = "refs/tags/${version}";
|
|
||||||
sha256 = "0126x48pjiy2zm4l8jzhk70w24hviaz560ffp4lb9x0ar615bc9q";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [ unzip zip ];
|
|
||||||
|
|
||||||
unpackPhase = ''
|
|
||||||
cp -dR --no-preserve=mode "$src" src
|
|
||||||
cd src
|
|
||||||
'';
|
|
||||||
|
|
||||||
buildPhase = ''
|
|
||||||
make package
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir $out
|
|
||||||
unzip -d "$out/$extid" "pkg/tor-launcher-$version.xpi"
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = https://gitweb.torproject.org/tor-launcher.git/;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
extensionsEnv = symlinkJoin {
|
extensionsEnv = symlinkJoin {
|
||||||
name = "tor-browser-extensions";
|
name = "tor-browser-extensions";
|
||||||
paths = with firefoxExtensions; [ https-everywhere noscript torbutton tor-launcher ];
|
paths = with firefoxExtensions; [
|
||||||
|
https-everywhere
|
||||||
|
noscript
|
||||||
|
torbutton
|
||||||
|
tor-launcher
|
||||||
|
] ++ extraExtensions;
|
||||||
};
|
};
|
||||||
|
|
||||||
fontsEnv = symlinkJoin {
|
fontsEnv = symlinkJoin {
|
||||||
|
@ -0,0 +1,122 @@
|
|||||||
|
{ stdenv
|
||||||
|
, fetchgit
|
||||||
|
, fetchurl
|
||||||
|
|
||||||
|
# common
|
||||||
|
, zip
|
||||||
|
|
||||||
|
# HTTPS Everywhere
|
||||||
|
, git
|
||||||
|
, libxml2 # xmllint
|
||||||
|
, python27
|
||||||
|
, python27Packages
|
||||||
|
, rsync
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
https-everywhere = stdenv.mkDerivation rec {
|
||||||
|
name = "https-everywhere-${version}";
|
||||||
|
version = "5.2.21";
|
||||||
|
|
||||||
|
extid = "https-everywhere-eff@eff.org";
|
||||||
|
|
||||||
|
src = fetchgit {
|
||||||
|
url = "https://git.torproject.org/https-everywhere.git";
|
||||||
|
rev = "refs/tags/${version}";
|
||||||
|
sha256 = "0z9madihh4b4z4blvfmh6w1hsv8afyi0x7b243nciq9r4w55xgfa";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
git
|
||||||
|
libxml2 # xmllint
|
||||||
|
python27
|
||||||
|
python27Packages.lxml
|
||||||
|
rsync
|
||||||
|
zip
|
||||||
|
];
|
||||||
|
|
||||||
|
unpackPhase = ''
|
||||||
|
cp -dR --no-preserve=mode "$src" src && cd src
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
$shell ./makexpi.sh ${version} --no-recurse
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -m 444 -D pkg/https-everywhere-$version-eff.xpi "$out/$extid.xpi"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
noscript = stdenv.mkDerivation rec {
|
||||||
|
name = "noscript-${version}";
|
||||||
|
version = "5.0.10";
|
||||||
|
|
||||||
|
extid = "{73a6fe31-595d-460b-a920-fcc0f8843232}";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://secure.informaction.com/download/releases/noscript-${version}.xpi";
|
||||||
|
sha256 = "18k5karbaj5mhd9cyjbqgik6044bw88rjalkh6anjanxbn503j6g";
|
||||||
|
};
|
||||||
|
|
||||||
|
unpackPhase = ":";
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -m 444 -D $src "$out/$extid.xpi"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
torbutton = stdenv.mkDerivation rec {
|
||||||
|
name = "torbutton-${version}";
|
||||||
|
version = "1.9.8.1";
|
||||||
|
|
||||||
|
extid = "torbutton@torproject.org";
|
||||||
|
|
||||||
|
src = fetchgit {
|
||||||
|
url = "https://git.torproject.org/torbutton.git";
|
||||||
|
rev = "refs/tags/${version}";
|
||||||
|
sha256 = "1amp0c9ky0a7fsa0bcbi6n6ginw7s2g3an4rj7kvc1lxmrcsm65l";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ zip ];
|
||||||
|
|
||||||
|
unpackPhase = ''
|
||||||
|
cp -dR --no-preserve=mode "$src" src && cd src
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
$shell ./makexpi.sh
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -m 444 -D pkg/torbutton-$version.xpi "$out/$extid.xpi"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
tor-launcher = stdenv.mkDerivation rec {
|
||||||
|
name = "tor-launcher-${version}";
|
||||||
|
version = "0.2.12.3";
|
||||||
|
|
||||||
|
extid = "tor-launcher@torproject.org";
|
||||||
|
|
||||||
|
src = fetchgit {
|
||||||
|
url = "https://git.torproject.org/tor-launcher.git";
|
||||||
|
rev = "refs/tags/${version}";
|
||||||
|
sha256 = "0126x48pjiy2zm4l8jzhk70w24hviaz560ffp4lb9x0ar615bc9q";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ zip ];
|
||||||
|
|
||||||
|
unpackPhase = ''
|
||||||
|
cp -dR --no-preserve=mode "$src" src && cd src
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
make package
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -m 444 -D pkg/tor-launcher-$version.xpi "$out/$extid.xpi"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
@ -1,9 +1,9 @@
|
|||||||
{ stdenv, lib, makeWrapper, fetchurl, curl, sasl, openssh, autoconf
|
{ stdenv, lib, makeWrapper, fetchurl, curl, sasl, openssh
|
||||||
, automake, libtool, unzip, gnutar, jdk, maven, python, wrapPython
|
, unzip, gnutar, jdk, python, wrapPython
|
||||||
, setuptools, boto, pythonProtobuf, apr, subversion, gzip, systemd
|
, setuptools, boto, pythonProtobuf, apr, subversion, gzip, systemd
|
||||||
, leveldb, glog, perf, utillinux, libnl, iproute, openssl, libevent
|
, leveldb, glog, perf, utillinux, libnl, iproute, openssl, libevent
|
||||||
, ethtool, coreutils, which, iptables
|
, ethtool, coreutils, which, iptables, maven
|
||||||
, bash
|
, bash, autoreconfHook
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
@ -21,7 +21,7 @@ let
|
|||||||
});
|
});
|
||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
version = "1.1.1";
|
version = "1.4.0";
|
||||||
name = "mesos-${version}";
|
name = "mesos-${version}";
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
@ -29,7 +29,7 @@ in stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://apache/mesos/${version}/${name}.tar.gz";
|
url = "mirror://apache/mesos/${version}/${name}.tar.gz";
|
||||||
sha256 = "0f46ebb130d2d4a9732f95d0a71d80c8c5967f3c172b110f2ece316e05922115";
|
sha256 = "0c08kd226nrjwm2z2drpq4vi97h9r8b1xkdvkgh1114fxg7cyvys";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
@ -40,11 +40,13 @@ in stdenv.mkDerivation rec {
|
|||||||
# see https://github.com/cstrahan/mesos/tree/nixos-${version}
|
# see https://github.com/cstrahan/mesos/tree/nixos-${version}
|
||||||
./nixos.patch
|
./nixos.patch
|
||||||
];
|
];
|
||||||
|
nativeBuildInputs = [
|
||||||
|
autoreconfHook
|
||||||
|
];
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
makeWrapper autoconf automake libtool curl sasl jdk maven
|
makeWrapper curl sasl jdk
|
||||||
python wrapPython boto setuptools leveldb
|
python wrapPython boto setuptools leveldb
|
||||||
subversion apr glog openssl libevent
|
subversion apr glog openssl libevent maven
|
||||||
] ++ lib.optionals stdenv.isLinux [
|
] ++ lib.optionals stdenv.isLinux [
|
||||||
libnl
|
libnl
|
||||||
];
|
];
|
||||||
@ -52,10 +54,6 @@ in stdenv.mkDerivation rec {
|
|||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
pythonProtobuf
|
pythonProtobuf
|
||||||
];
|
];
|
||||||
|
|
||||||
# note that we *must* statically link libprotobuf.
|
|
||||||
# if we dynamically link the lib, we get these errors:
|
|
||||||
# https://github.com/NixOS/nixpkgs/pull/19064#issuecomment-255082684
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
# https://issues.apache.org/jira/browse/MESOS-6616
|
# https://issues.apache.org/jira/browse/MESOS-6616
|
||||||
configureFlagsArray+=(
|
configureFlagsArray+=(
|
||||||
@ -66,13 +64,10 @@ in stdenv.mkDerivation rec {
|
|||||||
# <sys/types.h> instead of <sys/sysmacros.h>
|
# <sys/types.h> instead of <sys/sysmacros.h>
|
||||||
sed 1i'#include <sys/sysmacros.h>' -i src/linux/fs.cpp
|
sed 1i'#include <sys/sysmacros.h>' -i src/linux/fs.cpp
|
||||||
sed 1i'#include <sys/sysmacros.h>' -i src/slave/containerizer/mesos/isolators/gpu/isolator.cpp
|
sed 1i'#include <sys/sysmacros.h>' -i src/slave/containerizer/mesos/isolators/gpu/isolator.cpp
|
||||||
|
|
||||||
substituteInPlace 3rdparty/stout/include/stout/os/posix/chown.hpp \
|
substituteInPlace 3rdparty/stout/include/stout/os/posix/chown.hpp \
|
||||||
--subst-var-by chown ${coreutils}/bin/chown
|
--subst-var-by chown ${coreutils}/bin/chown
|
||||||
|
|
||||||
substituteInPlace 3rdparty/stout/Makefile.am \
|
substituteInPlace 3rdparty/stout/Makefile.am \
|
||||||
--replace "-lprotobuf" \
|
|
||||||
"${pythonProtobuf.protobuf}/lib/libprotobuf.so"
|
|
||||||
|
|
||||||
substituteInPlace 3rdparty/stout/include/stout/os/posix/fork.hpp \
|
substituteInPlace 3rdparty/stout/include/stout/os/posix/fork.hpp \
|
||||||
--subst-var-by sh ${bash}/bin/bash
|
--subst-var-by sh ${bash}/bin/bash
|
||||||
@ -99,8 +94,6 @@ in stdenv.mkDerivation rec {
|
|||||||
--subst-var-by mesos-resolve $out/bin/mesos-resolve
|
--subst-var-by mesos-resolve $out/bin/mesos-resolve
|
||||||
|
|
||||||
substituteInPlace src/python/native_common/ext_modules.py.in \
|
substituteInPlace src/python/native_common/ext_modules.py.in \
|
||||||
--replace "-lprotobuf" \
|
|
||||||
"${pythonProtobuf.protobuf}/lib/libprotobuf.so"
|
|
||||||
|
|
||||||
substituteInPlace src/slave/containerizer/mesos/isolators/gpu/volume.cpp \
|
substituteInPlace src/slave/containerizer/mesos/isolators/gpu/volume.cpp \
|
||||||
--subst-var-by cp ${coreutils}/bin/cp \
|
--subst-var-by cp ${coreutils}/bin/cp \
|
||||||
@ -124,8 +117,6 @@ in stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
substituteInPlace src/Makefile.am \
|
substituteInPlace src/Makefile.am \
|
||||||
--subst-var-by mavenRepo ${mavenRepo} \
|
--subst-var-by mavenRepo ${mavenRepo} \
|
||||||
--replace "-lprotobuf" \
|
|
||||||
"${pythonProtobuf.protobuf}/lib/libprotobuf.so"
|
|
||||||
|
|
||||||
'' + lib.optionalString stdenv.isLinux ''
|
'' + lib.optionalString stdenv.isLinux ''
|
||||||
|
|
||||||
@ -179,7 +170,7 @@ in stdenv.mkDerivation rec {
|
|||||||
"--enable-libevent"
|
"--enable-libevent"
|
||||||
"--with-libevent=${libevent.dev}"
|
"--with-libevent=${libevent.dev}"
|
||||||
"--with-protobuf=${pythonProtobuf.protobuf}"
|
"--with-protobuf=${pythonProtobuf.protobuf}"
|
||||||
"PROTOBUF_JAR=${mavenRepo}/com/google/protobuf/protobuf-java/2.6.1/protobuf-java-2.6.1.jar"
|
"PROTOBUF_JAR=${mavenRepo}/com/google/protobuf/protobuf-java/3.3.0/protobuf-java-3.3.0.jar"
|
||||||
] ++ lib.optionals stdenv.isLinux [
|
] ++ lib.optionals stdenv.isLinux [
|
||||||
"--with-network-isolator"
|
"--with-network-isolator"
|
||||||
"--with-nl=${libnl.dev}"
|
"--with-nl=${libnl.dev}"
|
||||||
|
@ -1127,10 +1127,12 @@ fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.pom
|
|||||||
fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.pom.sha1
|
fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.pom.sha1
|
||||||
fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.jar
|
fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.jar
|
||||||
fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.jar.sha1
|
fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.jar.sha1
|
||||||
fetchArtifact com/google/protobuf/protobuf-java/2.6.1/protobuf-java-2.6.1.pom
|
fetchArtifact com/google/protobuf/protobuf-java/3.3.0/protobuf-java-3.3.0.pom
|
||||||
fetchArtifact com/google/protobuf/protobuf-java/2.6.1/protobuf-java-2.6.1.pom.sha1
|
fetchArtifact com/google/protobuf/protobuf-java/3.3.0/protobuf-java-3.3.0.pom.sha1
|
||||||
fetchArtifact com/google/protobuf/protobuf-java/2.6.1/protobuf-java-2.6.1.jar
|
fetchArtifact com/google/protobuf/protobuf-java/3.3.0/protobuf-java-3.3.0.jar
|
||||||
fetchArtifact com/google/protobuf/protobuf-java/2.6.1/protobuf-java-2.6.1.jar.sha1
|
fetchArtifact com/google/protobuf/protobuf-java/3.3.0/protobuf-java-3.3.0.jar.sha1
|
||||||
|
fetchArtifact com/google/protobuf/protobuf-parent/3.3.0/protobuf-parent-3.3.0.pom
|
||||||
|
fetchArtifact com/google/protobuf/protobuf-parent/3.3.0/protobuf-parent-3.3.0.pom.sha1
|
||||||
fetchArtifact com/google/google/1/google-1.pom
|
fetchArtifact com/google/google/1/google-1.pom
|
||||||
fetchArtifact com/google/google/1/google-1.pom.sha1
|
fetchArtifact com/google/google/1/google-1.pom.sha1
|
||||||
fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.pom
|
fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.pom
|
||||||
|
@ -6,7 +6,7 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
outputHashAlgo = "sha256";
|
outputHashAlgo = "sha256";
|
||||||
outputHashMode = "recursive";
|
outputHashMode = "recursive";
|
||||||
outputHash = "066ikswavq3l37x1s3pfdncyj77pvpa0kj14ax5dqb9njmsg0s11";
|
outputHash = "10h0qs7svw0cqjkyxs8z6s3qraa8ga920zfrr59rdlanbwg4klly";
|
||||||
|
|
||||||
buildInputs = [ curl ];
|
buildInputs = [ curl ];
|
||||||
|
|
||||||
|
@ -1,20 +1,7 @@
|
|||||||
diff --git a/3rdparty/stout/include/stout/os/posix/chown.hpp b/3rdparty/stout/include/stout/os/posix/chown.hpp
|
diff --git i/3rdparty/stout/include/stout/os/posix/fork.hpp w/3rdparty/stout/include/stout/os/posix/fork.hpp
|
||||||
index c82e2e574..15d332107 100644
|
index a29967d..290b98b 100644
|
||||||
--- a/3rdparty/stout/include/stout/os/posix/chown.hpp
|
--- i/3rdparty/stout/include/stout/os/posix/fork.hpp
|
||||||
+++ b/3rdparty/stout/include/stout/os/posix/chown.hpp
|
+++ w/3rdparty/stout/include/stout/os/posix/fork.hpp
|
||||||
@@ -34,7 +34,7 @@ inline Try<Nothing> chown(
|
|
||||||
// TODO(bmahler): Consider walking the file tree instead. We would need
|
|
||||||
// to be careful to not miss dotfiles.
|
|
||||||
std::string command =
|
|
||||||
- "chown -R " + stringify(uid) + ':' + stringify(gid) + " '" + path + "'";
|
|
||||||
+ "@chown@ -R " + stringify(uid) + ':' + stringify(gid) + " '" + path + "'";
|
|
||||||
|
|
||||||
int status = os::system(command);
|
|
||||||
if (status != 0) {
|
|
||||||
diff --git a/3rdparty/stout/include/stout/os/posix/fork.hpp b/3rdparty/stout/include/stout/os/posix/fork.hpp
|
|
||||||
index a29967dcb..290b98b50 100644
|
|
||||||
--- a/3rdparty/stout/include/stout/os/posix/fork.hpp
|
|
||||||
+++ b/3rdparty/stout/include/stout/os/posix/fork.hpp
|
|
||||||
@@ -369,7 +369,7 @@ private:
|
@@ -369,7 +369,7 @@ private:
|
||||||
if (exec.isSome()) {
|
if (exec.isSome()) {
|
||||||
// Execute the command (via '/bin/sh -c command').
|
// Execute the command (via '/bin/sh -c command').
|
||||||
@ -24,11 +11,11 @@ index a29967dcb..290b98b50 100644
|
|||||||
EXIT(EXIT_FAILURE)
|
EXIT(EXIT_FAILURE)
|
||||||
<< "Failed to execute '" << command << "': " << os::strerror(errno);
|
<< "Failed to execute '" << command << "': " << os::strerror(errno);
|
||||||
} else if (wait.isSome()) {
|
} else if (wait.isSome()) {
|
||||||
diff --git a/3rdparty/stout/include/stout/posix/os.hpp b/3rdparty/stout/include/stout/posix/os.hpp
|
diff --git i/3rdparty/stout/include/stout/posix/os.hpp w/3rdparty/stout/include/stout/posix/os.hpp
|
||||||
index c37e64db6..d3d87b7f0 100644
|
index 8511dfd..1e7be01 100644
|
||||||
--- a/3rdparty/stout/include/stout/posix/os.hpp
|
--- i/3rdparty/stout/include/stout/posix/os.hpp
|
||||||
+++ b/3rdparty/stout/include/stout/posix/os.hpp
|
+++ w/3rdparty/stout/include/stout/posix/os.hpp
|
||||||
@@ -375,7 +375,7 @@ inline Option<std::string> getenv(const std::string& key)
|
@@ -366,7 +366,7 @@ inline Try<std::set<pid_t>> pids(Option<pid_t> group, Option<pid_t> session)
|
||||||
inline Try<Nothing> tar(const std::string& path, const std::string& archive)
|
inline Try<Nothing> tar(const std::string& path, const std::string& archive)
|
||||||
{
|
{
|
||||||
Try<std::string> tarOut =
|
Try<std::string> tarOut =
|
||||||
@ -37,11 +24,11 @@ index c37e64db6..d3d87b7f0 100644
|
|||||||
|
|
||||||
if (tarOut.isError()) {
|
if (tarOut.isError()) {
|
||||||
return Error("Failed to archive " + path + ": " + tarOut.error());
|
return Error("Failed to archive " + path + ": " + tarOut.error());
|
||||||
diff --git a/src/Makefile.am b/src/Makefile.am
|
diff --git i/src/Makefile.am w/src/Makefile.am
|
||||||
index 3bcc0f2df..e5cbc57e8 100644
|
index 68fff14..c572f92 100644
|
||||||
--- a/src/Makefile.am
|
--- i/src/Makefile.am
|
||||||
+++ b/src/Makefile.am
|
+++ w/src/Makefile.am
|
||||||
@@ -1545,7 +1545,7 @@ if HAS_JAVA
|
@@ -1775,7 +1775,7 @@ if HAS_JAVA
|
||||||
|
|
||||||
$(MESOS_JAR): $(MESOS_JAR_SOURCE) $(MESOS_JAR_GENERATED) java/mesos.pom
|
$(MESOS_JAR): $(MESOS_JAR_SOURCE) $(MESOS_JAR_GENERATED) java/mesos.pom
|
||||||
@echo "Building mesos-$(PACKAGE_VERSION).jar ..."
|
@echo "Building mesos-$(PACKAGE_VERSION).jar ..."
|
||||||
@ -50,10 +37,10 @@ index 3bcc0f2df..e5cbc57e8 100644
|
|||||||
|
|
||||||
# Convenience library for JNI bindings.
|
# Convenience library for JNI bindings.
|
||||||
# TODO(Charles Reiss): We really should be building the Java library
|
# TODO(Charles Reiss): We really should be building the Java library
|
||||||
diff --git a/src/cli/mesos-scp b/src/cli/mesos-scp
|
diff --git i/src/cli/mesos-scp w/src/cli/mesos-scp
|
||||||
index a71ab0708..1043d1b3c 100755
|
index a71ab07..1043d1b 100755
|
||||||
--- a/src/cli/mesos-scp
|
--- i/src/cli/mesos-scp
|
||||||
+++ b/src/cli/mesos-scp
|
+++ w/src/cli/mesos-scp
|
||||||
@@ -19,7 +19,8 @@ if sys.version_info < (2,6,0):
|
@@ -19,7 +19,8 @@ if sys.version_info < (2,6,0):
|
||||||
|
|
||||||
|
|
||||||
@ -64,11 +51,11 @@ index a71ab0708..1043d1b3c 100755
|
|||||||
try:
|
try:
|
||||||
process = subprocess.Popen(
|
process = subprocess.Popen(
|
||||||
cmd,
|
cmd,
|
||||||
diff --git a/src/common/command_utils.cpp b/src/common/command_utils.cpp
|
diff --git i/src/common/command_utils.cpp w/src/common/command_utils.cpp
|
||||||
index 09e805140..90bf65896 100644
|
index c50be76..388cc53 100644
|
||||||
--- a/src/common/command_utils.cpp
|
--- i/src/common/command_utils.cpp
|
||||||
+++ b/src/common/command_utils.cpp
|
+++ w/src/common/command_utils.cpp
|
||||||
@@ -140,7 +140,7 @@ Future<Nothing> tar(
|
@@ -142,7 +142,7 @@ Future<Nothing> tar(
|
||||||
|
|
||||||
argv.emplace_back(input);
|
argv.emplace_back(input);
|
||||||
|
|
||||||
@ -77,7 +64,7 @@ index 09e805140..90bf65896 100644
|
|||||||
.then([]() { return Nothing(); });
|
.then([]() { return Nothing(); });
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -162,7 +162,7 @@ Future<Nothing> untar(
|
@@ -164,7 +164,7 @@ Future<Nothing> untar(
|
||||||
argv.emplace_back(directory.get());
|
argv.emplace_back(directory.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -86,7 +73,7 @@ index 09e805140..90bf65896 100644
|
|||||||
.then([]() { return Nothing(); });
|
.then([]() { return Nothing(); });
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -170,7 +170,7 @@ Future<Nothing> untar(
|
@@ -172,7 +172,7 @@ Future<Nothing> untar(
|
||||||
Future<string> sha512(const Path& input)
|
Future<string> sha512(const Path& input)
|
||||||
{
|
{
|
||||||
#ifdef __linux__
|
#ifdef __linux__
|
||||||
@ -95,7 +82,7 @@ index 09e805140..90bf65896 100644
|
|||||||
vector<string> argv = {
|
vector<string> argv = {
|
||||||
cmd,
|
cmd,
|
||||||
input // Input file to compute shasum.
|
input // Input file to compute shasum.
|
||||||
@@ -206,7 +206,7 @@ Future<Nothing> gzip(const Path& input)
|
@@ -208,7 +208,7 @@ Future<Nothing> gzip(const Path& input)
|
||||||
input
|
input
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -104,7 +91,7 @@ index 09e805140..90bf65896 100644
|
|||||||
.then([]() { return Nothing(); });
|
.then([]() { return Nothing(); });
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -219,7 +219,7 @@ Future<Nothing> decompress(const Path& input)
|
@@ -221,7 +221,7 @@ Future<Nothing> decompress(const Path& input)
|
||||||
input
|
input
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -113,41 +100,45 @@ index 09e805140..90bf65896 100644
|
|||||||
.then([]() { return Nothing(); });
|
.then([]() { return Nothing(); });
|
||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/launcher/fetcher.cpp b/src/launcher/fetcher.cpp
|
diff --git i/src/launcher/fetcher.cpp w/src/launcher/fetcher.cpp
|
||||||
index 4456c2813..e22c8fc03 100644
|
index 42980f5..3aebeed 100644
|
||||||
--- a/src/launcher/fetcher.cpp
|
--- i/src/launcher/fetcher.cpp
|
||||||
+++ b/src/launcher/fetcher.cpp
|
+++ w/src/launcher/fetcher.cpp
|
||||||
@@ -68,13 +68,13 @@ static Try<bool> extract(
|
@@ -80,17 +80,17 @@ static Try<bool> extract(
|
||||||
strings::endsWith(sourcePath, ".tar.bz2") ||
|
strings::endsWith(sourcePath, ".tar.bz2") ||
|
||||||
strings::endsWith(sourcePath, ".txz") ||
|
strings::endsWith(sourcePath, ".txz") ||
|
||||||
strings::endsWith(sourcePath, ".tar.xz")) {
|
strings::endsWith(sourcePath, ".tar.xz")) {
|
||||||
- command = "tar -C '" + destinationDirectory + "' -xf";
|
- command = {"tar", "-C", destinationDirectory, "-xf", sourcePath};
|
||||||
+ command = "@tar@ -C '" + destinationDirectory + "' -xf";
|
+ command = {"@tar@", "-C", destinationDirectory, "-xf", sourcePath};
|
||||||
} else if (strings::endsWith(sourcePath, ".gz")) {
|
} else if (strings::endsWith(sourcePath, ".gz")) {
|
||||||
string pathWithoutExtension = sourcePath.substr(0, sourcePath.length() - 3);
|
string pathWithoutExtension = sourcePath.substr(0, sourcePath.length() - 3);
|
||||||
string filename = Path(pathWithoutExtension).basename();
|
string filename = Path(pathWithoutExtension).basename();
|
||||||
- command = "gzip -dc > '" + destinationDirectory + "/" + filename + "' <";
|
string destinationPath = path::join(destinationDirectory, filename);
|
||||||
+ command = "@gzip@ -dc > '" + destinationDirectory + "/" + filename + "' <";
|
|
||||||
|
- command = {"gunzip", "-d", "-c"};
|
||||||
|
+ command = {"@gunzip@", "-d", "-c"};
|
||||||
|
in = Subprocess::PATH(sourcePath);
|
||||||
|
out = Subprocess::PATH(destinationPath);
|
||||||
} else if (strings::endsWith(sourcePath, ".zip")) {
|
} else if (strings::endsWith(sourcePath, ".zip")) {
|
||||||
- command = "unzip -o -d '" + destinationDirectory + "'";
|
- command = {"unzip", "-o", "-d", destinationDirectory, sourcePath};
|
||||||
+ command = "@unzip@ -o -d '" + destinationDirectory + "'";
|
+ command = {"@unzip@", "-o", "-d", destinationDirectory, sourcePath};
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -162,7 +162,7 @@ static Try<string> copyFile(
|
@@ -193,7 +193,7 @@ static Try<string> copyFile(
|
||||||
const string& sourcePath,
|
const string& sourcePath,
|
||||||
const string& destinationPath)
|
const string& destinationPath)
|
||||||
{
|
{
|
||||||
- const string command = "cp '" + sourcePath + "' '" + destinationPath + "'";
|
- int status = os::spawn("cp", {"cp", sourcePath, destinationPath});
|
||||||
+ const string command = "@cp@ '" + sourcePath + "' '" + destinationPath + "'";
|
+ int status = os::spawn("cp", {"@cp@", sourcePath, destinationPath});
|
||||||
|
|
||||||
LOG(INFO) << "Copying resource with command:" << command;
|
if (status == -1) {
|
||||||
|
return ErrnoError("Failed to copy '" + sourcePath + "'");
|
||||||
diff --git a/src/linux/perf.cpp b/src/linux/perf.cpp
|
diff --git i/src/linux/perf.cpp w/src/linux/perf.cpp
|
||||||
index aa31982eb..8b5331b17 100644
|
index b301e25..356a2cf 100644
|
||||||
--- a/src/linux/perf.cpp
|
--- i/src/linux/perf.cpp
|
||||||
+++ b/src/linux/perf.cpp
|
+++ w/src/linux/perf.cpp
|
||||||
@@ -127,7 +127,7 @@ private:
|
@@ -128,7 +128,7 @@ private:
|
||||||
// NOTE: The supervisor childhook places perf in its own process group
|
// NOTE: The supervisor childhook places perf in its own process group
|
||||||
// and will kill the perf process when the parent dies.
|
// and will kill the perf process when the parent dies.
|
||||||
Try<Subprocess> _perf = subprocess(
|
Try<Subprocess> _perf = subprocess(
|
||||||
@ -156,19 +147,10 @@ index aa31982eb..8b5331b17 100644
|
|||||||
argv,
|
argv,
|
||||||
Subprocess::PIPE(),
|
Subprocess::PIPE(),
|
||||||
Subprocess::PIPE(),
|
Subprocess::PIPE(),
|
||||||
@@ -319,7 +319,7 @@ bool valid(const set<string>& events)
|
diff --git i/src/linux/systemd.cpp w/src/linux/systemd.cpp
|
||||||
ostringstream command;
|
index 6318f48..394d88d 100644
|
||||||
|
--- i/src/linux/systemd.cpp
|
||||||
// Log everything to stderr which is then redirected to /dev/null.
|
+++ w/src/linux/systemd.cpp
|
||||||
- command << "perf stat --log-fd 2";
|
|
||||||
+ command << "@perf@ stat --log-fd 2";
|
|
||||||
foreach (const string& event, events) {
|
|
||||||
command << " --event " << event;
|
|
||||||
}
|
|
||||||
diff --git a/src/linux/systemd.cpp b/src/linux/systemd.cpp
|
|
||||||
index 6318f48fc..394d88d47 100644
|
|
||||||
--- a/src/linux/systemd.cpp
|
|
||||||
+++ b/src/linux/systemd.cpp
|
|
||||||
@@ -196,13 +196,21 @@ bool exists()
|
@@ -196,13 +196,21 @@ bool exists()
|
||||||
// This is static as the init system should not change while we are running.
|
// This is static as the init system should not change while we are running.
|
||||||
static const bool exists = []() -> bool {
|
static const bool exists = []() -> bool {
|
||||||
@ -209,10 +191,10 @@ index 6318f48fc..394d88d47 100644
|
|||||||
Try<string> daemonReload = os::shell("systemctl daemon-reload");
|
Try<string> daemonReload = os::shell("systemctl daemon-reload");
|
||||||
if (daemonReload.isError()) {
|
if (daemonReload.isError()) {
|
||||||
return Error("Failed to reload systemd daemon: " + daemonReload.error());
|
return Error("Failed to reload systemd daemon: " + daemonReload.error());
|
||||||
diff --git a/src/python/cli/src/mesos/cli.py b/src/python/cli/src/mesos/cli.py
|
diff --git i/src/python/cli/src/mesos/cli.py w/src/python/cli/src/mesos/cli.py
|
||||||
index f342992e0..354abf443 100644
|
index 4a9b558..c08a8b9 100644
|
||||||
--- a/src/python/cli/src/mesos/cli.py
|
--- i/src/python/cli/src/mesos/cli.py
|
||||||
+++ b/src/python/cli/src/mesos/cli.py
|
+++ w/src/python/cli/src/mesos/cli.py
|
||||||
@@ -40,7 +40,7 @@ def resolve(master):
|
@@ -40,7 +40,7 @@ def resolve(master):
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
@ -222,10 +204,10 @@ index f342992e0..354abf443 100644
|
|||||||
stdin=None,
|
stdin=None,
|
||||||
stdout=subprocess.PIPE,
|
stdout=subprocess.PIPE,
|
||||||
stderr=subprocess.PIPE,
|
stderr=subprocess.PIPE,
|
||||||
diff --git a/src/slave/containerizer/mesos/isolators/docker/volume/isolator.cpp b/src/slave/containerizer/mesos/isolators/docker/volume/isolator.cpp
|
diff --git i/src/slave/containerizer/mesos/isolators/docker/volume/isolator.cpp w/src/slave/containerizer/mesos/isolators/docker/volume/isolator.cpp
|
||||||
index af9f3736b..f8554d414 100644
|
index 5b630c1..d63ad69 100644
|
||||||
--- a/src/slave/containerizer/mesos/isolators/docker/volume/isolator.cpp
|
--- i/src/slave/containerizer/mesos/isolators/docker/volume/isolator.cpp
|
||||||
+++ b/src/slave/containerizer/mesos/isolators/docker/volume/isolator.cpp
|
+++ w/src/slave/containerizer/mesos/isolators/docker/volume/isolator.cpp
|
||||||
@@ -499,7 +499,7 @@ Future<Option<ContainerLaunchInfo>> DockerVolumeIsolatorProcess::_prepare(
|
@@ -499,7 +499,7 @@ Future<Option<ContainerLaunchInfo>> DockerVolumeIsolatorProcess::_prepare(
|
||||||
// unsafe arbitrary commands).
|
// unsafe arbitrary commands).
|
||||||
CommandInfo* command = launchInfo.add_pre_exec_commands();
|
CommandInfo* command = launchInfo.add_pre_exec_commands();
|
||||||
@ -235,11 +217,11 @@ index af9f3736b..f8554d414 100644
|
|||||||
command->add_arguments("mount");
|
command->add_arguments("mount");
|
||||||
command->add_arguments("-n");
|
command->add_arguments("-n");
|
||||||
command->add_arguments("--rbind");
|
command->add_arguments("--rbind");
|
||||||
diff --git a/src/slave/containerizer/mesos/isolators/filesystem/linux.cpp b/src/slave/containerizer/mesos/isolators/filesystem/linux.cpp
|
diff --git i/src/slave/containerizer/mesos/isolators/filesystem/linux.cpp w/src/slave/containerizer/mesos/isolators/filesystem/linux.cpp
|
||||||
index df16b8fee..4a17475bd 100644
|
index d7fe9a8..1361a4e 100644
|
||||||
--- a/src/slave/containerizer/mesos/isolators/filesystem/linux.cpp
|
--- i/src/slave/containerizer/mesos/isolators/filesystem/linux.cpp
|
||||||
+++ b/src/slave/containerizer/mesos/isolators/filesystem/linux.cpp
|
+++ w/src/slave/containerizer/mesos/isolators/filesystem/linux.cpp
|
||||||
@@ -159,9 +159,9 @@ Try<Isolator*> LinuxFilesystemIsolatorProcess::create(const Flags& flags)
|
@@ -154,9 +154,9 @@ Try<Isolator*> LinuxFilesystemIsolatorProcess::create(const Flags& flags)
|
||||||
// here because 'create' will only be invoked during
|
// here because 'create' will only be invoked during
|
||||||
// initialization.
|
// initialization.
|
||||||
Try<string> mount = os::shell(
|
Try<string> mount = os::shell(
|
||||||
@ -252,7 +234,7 @@ index df16b8fee..4a17475bd 100644
|
|||||||
workDir->c_str(),
|
workDir->c_str(),
|
||||||
workDir->c_str(),
|
workDir->c_str(),
|
||||||
workDir->c_str(),
|
workDir->c_str(),
|
||||||
@@ -180,8 +180,8 @@ Try<Isolator*> LinuxFilesystemIsolatorProcess::create(const Flags& flags)
|
@@ -175,8 +175,8 @@ Try<Isolator*> LinuxFilesystemIsolatorProcess::create(const Flags& flags)
|
||||||
LOG(INFO) << "Making '" << workDir.get() << "' a shared mount";
|
LOG(INFO) << "Making '" << workDir.get() << "' a shared mount";
|
||||||
|
|
||||||
Try<string> mount = os::shell(
|
Try<string> mount = os::shell(
|
||||||
@ -263,7 +245,7 @@ index df16b8fee..4a17475bd 100644
|
|||||||
workDir->c_str(),
|
workDir->c_str(),
|
||||||
workDir->c_str());
|
workDir->c_str());
|
||||||
|
|
||||||
@@ -404,7 +404,7 @@ Try<vector<CommandInfo>> LinuxFilesystemIsolatorProcess::getPreExecCommands(
|
@@ -422,7 +422,7 @@ Try<vector<CommandInfo>> LinuxFilesystemIsolatorProcess::getPreExecCommands(
|
||||||
|
|
||||||
CommandInfo command;
|
CommandInfo command;
|
||||||
command.set_shell(false);
|
command.set_shell(false);
|
||||||
@ -272,7 +254,7 @@ index df16b8fee..4a17475bd 100644
|
|||||||
command.add_arguments("mount");
|
command.add_arguments("mount");
|
||||||
command.add_arguments("-n");
|
command.add_arguments("-n");
|
||||||
command.add_arguments("--rbind");
|
command.add_arguments("--rbind");
|
||||||
@@ -569,7 +569,7 @@ Try<vector<CommandInfo>> LinuxFilesystemIsolatorProcess::getPreExecCommands(
|
@@ -610,7 +610,7 @@ Try<vector<CommandInfo>> LinuxFilesystemIsolatorProcess::getPreExecCommands(
|
||||||
// TODO(jieyu): Consider the mode in the volume.
|
// TODO(jieyu): Consider the mode in the volume.
|
||||||
CommandInfo command;
|
CommandInfo command;
|
||||||
command.set_shell(false);
|
command.set_shell(false);
|
||||||
@ -281,11 +263,11 @@ index df16b8fee..4a17475bd 100644
|
|||||||
command.add_arguments("mount");
|
command.add_arguments("mount");
|
||||||
command.add_arguments("-n");
|
command.add_arguments("-n");
|
||||||
command.add_arguments("--rbind");
|
command.add_arguments("--rbind");
|
||||||
diff --git a/src/slave/containerizer/mesos/isolators/filesystem/shared.cpp b/src/slave/containerizer/mesos/isolators/filesystem/shared.cpp
|
diff --git i/src/slave/containerizer/mesos/isolators/filesystem/shared.cpp w/src/slave/containerizer/mesos/isolators/filesystem/shared.cpp
|
||||||
index a1283e5ee..a918427bf 100644
|
index 927d95b..576dc63 100644
|
||||||
--- a/src/slave/containerizer/mesos/isolators/filesystem/shared.cpp
|
--- i/src/slave/containerizer/mesos/isolators/filesystem/shared.cpp
|
||||||
+++ b/src/slave/containerizer/mesos/isolators/filesystem/shared.cpp
|
+++ w/src/slave/containerizer/mesos/isolators/filesystem/shared.cpp
|
||||||
@@ -207,7 +207,7 @@ Future<Option<ContainerLaunchInfo>> SharedFilesystemIsolatorProcess::prepare(
|
@@ -208,7 +208,7 @@ Future<Option<ContainerLaunchInfo>> SharedFilesystemIsolatorProcess::prepare(
|
||||||
}
|
}
|
||||||
|
|
||||||
launchInfo.add_pre_exec_commands()->set_value(
|
launchInfo.add_pre_exec_commands()->set_value(
|
||||||
@ -294,11 +276,11 @@ index a1283e5ee..a918427bf 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
return launchInfo;
|
return launchInfo;
|
||||||
diff --git a/src/slave/containerizer/mesos/isolators/gpu/isolator.cpp b/src/slave/containerizer/mesos/isolators/gpu/isolator.cpp
|
diff --git i/src/slave/containerizer/mesos/isolators/gpu/isolator.cpp w/src/slave/containerizer/mesos/isolators/gpu/isolator.cpp
|
||||||
index e3756c920..cfe458b59 100644
|
index 25636b5..33ec315 100644
|
||||||
--- a/src/slave/containerizer/mesos/isolators/gpu/isolator.cpp
|
--- i/src/slave/containerizer/mesos/isolators/gpu/isolator.cpp
|
||||||
+++ b/src/slave/containerizer/mesos/isolators/gpu/isolator.cpp
|
+++ w/src/slave/containerizer/mesos/isolators/gpu/isolator.cpp
|
||||||
@@ -355,7 +355,7 @@ Future<Option<ContainerLaunchInfo>> NvidiaGpuIsolatorProcess::_prepare(
|
@@ -401,7 +401,7 @@ Future<Option<ContainerLaunchInfo>> NvidiaGpuIsolatorProcess::_prepare(
|
||||||
}
|
}
|
||||||
|
|
||||||
launchInfo.add_pre_exec_commands()->set_value(
|
launchInfo.add_pre_exec_commands()->set_value(
|
||||||
@ -307,11 +289,11 @@ index e3756c920..cfe458b59 100644
|
|||||||
volume.HOST_PATH() + " " + target);
|
volume.HOST_PATH() + " " + target);
|
||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/slave/containerizer/mesos/isolators/gpu/volume.cpp b/src/slave/containerizer/mesos/isolators/gpu/volume.cpp
|
diff --git i/src/slave/containerizer/mesos/isolators/gpu/volume.cpp w/src/slave/containerizer/mesos/isolators/gpu/volume.cpp
|
||||||
index 478752f37..ab527f0cd 100644
|
index 536a3c7..e2819dd 100644
|
||||||
--- a/src/slave/containerizer/mesos/isolators/gpu/volume.cpp
|
--- i/src/slave/containerizer/mesos/isolators/gpu/volume.cpp
|
||||||
+++ b/src/slave/containerizer/mesos/isolators/gpu/volume.cpp
|
+++ w/src/slave/containerizer/mesos/isolators/gpu/volume.cpp
|
||||||
@@ -281,7 +281,7 @@ Try<NvidiaVolume> NvidiaVolume::create()
|
@@ -274,7 +274,7 @@ Try<NvidiaVolume> NvidiaVolume::create()
|
||||||
string path = path::join(hostPath, "bin", binary);
|
string path = path::join(hostPath, "bin", binary);
|
||||||
|
|
||||||
if (!os::exists(path)) {
|
if (!os::exists(path)) {
|
||||||
@ -320,7 +302,7 @@ index 478752f37..ab527f0cd 100644
|
|||||||
Try<string> which = os::shell(command);
|
Try<string> which = os::shell(command);
|
||||||
|
|
||||||
if (which.isSome()) {
|
if (which.isSome()) {
|
||||||
@@ -295,7 +295,7 @@ Try<NvidiaVolume> NvidiaVolume::create()
|
@@ -288,7 +288,7 @@ Try<NvidiaVolume> NvidiaVolume::create()
|
||||||
: "No such file or directory"));
|
: "No such file or directory"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -329,7 +311,7 @@ index 478752f37..ab527f0cd 100644
|
|||||||
Try<string> cp = os::shell(command);
|
Try<string> cp = os::shell(command);
|
||||||
if (cp.isError()) {
|
if (cp.isError()) {
|
||||||
return Error("Failed to os::shell '" + command + "': " + cp.error());
|
return Error("Failed to os::shell '" + command + "': " + cp.error());
|
||||||
@@ -367,7 +367,7 @@ Try<NvidiaVolume> NvidiaVolume::create()
|
@@ -360,7 +360,7 @@ Try<NvidiaVolume> NvidiaVolume::create()
|
||||||
Path(realpath.get()).basename());
|
Path(realpath.get()).basename());
|
||||||
|
|
||||||
if (!os::exists(libraryPath)) {
|
if (!os::exists(libraryPath)) {
|
||||||
@ -338,11 +320,11 @@ index 478752f37..ab527f0cd 100644
|
|||||||
Try<string> cp = os::shell(command);
|
Try<string> cp = os::shell(command);
|
||||||
if (cp.isError()) {
|
if (cp.isError()) {
|
||||||
return Error("Failed to os::shell '" + command + "':"
|
return Error("Failed to os::shell '" + command + "':"
|
||||||
diff --git a/src/slave/containerizer/mesos/isolators/namespaces/pid.cpp b/src/slave/containerizer/mesos/isolators/namespaces/pid.cpp
|
diff --git i/src/slave/containerizer/mesos/isolators/namespaces/pid.cpp w/src/slave/containerizer/mesos/isolators/namespaces/pid.cpp
|
||||||
index 0d9ec57d9..a177e4476 100644
|
index 42bc2e1..2f9066e 100644
|
||||||
--- a/src/slave/containerizer/mesos/isolators/namespaces/pid.cpp
|
--- i/src/slave/containerizer/mesos/isolators/namespaces/pid.cpp
|
||||||
+++ b/src/slave/containerizer/mesos/isolators/namespaces/pid.cpp
|
+++ w/src/slave/containerizer/mesos/isolators/namespaces/pid.cpp
|
||||||
@@ -94,7 +94,7 @@ Future<Option<ContainerLaunchInfo>> NamespacesPidIsolatorProcess::prepare(
|
@@ -131,7 +131,7 @@ Future<Option<ContainerLaunchInfo>> NamespacesPidIsolatorProcess::prepare(
|
||||||
//
|
//
|
||||||
// TOOD(jieyu): Consider unmount the existing /proc.
|
// TOOD(jieyu): Consider unmount the existing /proc.
|
||||||
launchInfo.add_pre_exec_commands()->set_value(
|
launchInfo.add_pre_exec_commands()->set_value(
|
||||||
@ -351,11 +333,11 @@ index 0d9ec57d9..a177e4476 100644
|
|||||||
|
|
||||||
return launchInfo;
|
return launchInfo;
|
||||||
}
|
}
|
||||||
diff --git a/src/slave/containerizer/mesos/isolators/network/cni/cni.cpp b/src/slave/containerizer/mesos/isolators/network/cni/cni.cpp
|
diff --git i/src/slave/containerizer/mesos/isolators/network/cni/cni.cpp w/src/slave/containerizer/mesos/isolators/network/cni/cni.cpp
|
||||||
index c87e6715a..6601cd1b3 100644
|
index fc68f04..267b040 100644
|
||||||
--- a/src/slave/containerizer/mesos/isolators/network/cni/cni.cpp
|
--- i/src/slave/containerizer/mesos/isolators/network/cni/cni.cpp
|
||||||
+++ b/src/slave/containerizer/mesos/isolators/network/cni/cni.cpp
|
+++ w/src/slave/containerizer/mesos/isolators/network/cni/cni.cpp
|
||||||
@@ -262,9 +262,9 @@ Try<Isolator*> NetworkCniIsolatorProcess::create(const Flags& flags)
|
@@ -205,9 +205,9 @@ Try<Isolator*> NetworkCniIsolatorProcess::create(const Flags& flags)
|
||||||
// here because 'create' will only be invoked during
|
// here because 'create' will only be invoked during
|
||||||
// initialization.
|
// initialization.
|
||||||
Try<string> mount = os::shell(
|
Try<string> mount = os::shell(
|
||||||
@ -368,7 +350,7 @@ index c87e6715a..6601cd1b3 100644
|
|||||||
rootDir->c_str(),
|
rootDir->c_str(),
|
||||||
rootDir->c_str(),
|
rootDir->c_str(),
|
||||||
rootDir->c_str(),
|
rootDir->c_str(),
|
||||||
@@ -284,8 +284,8 @@ Try<Isolator*> NetworkCniIsolatorProcess::create(const Flags& flags)
|
@@ -227,8 +227,8 @@ Try<Isolator*> NetworkCniIsolatorProcess::create(const Flags& flags)
|
||||||
LOG(INFO) << "Making '" << rootDir.get() << "' a shared mount";
|
LOG(INFO) << "Making '" << rootDir.get() << "' a shared mount";
|
||||||
|
|
||||||
Try<string> mount = os::shell(
|
Try<string> mount = os::shell(
|
||||||
@ -379,11 +361,11 @@ index c87e6715a..6601cd1b3 100644
|
|||||||
rootDir->c_str(),
|
rootDir->c_str(),
|
||||||
rootDir->c_str());
|
rootDir->c_str());
|
||||||
|
|
||||||
diff --git a/src/slave/containerizer/mesos/isolators/network/cni/plugins/port_mapper/port_mapper.cpp b/src/slave/containerizer/mesos/isolators/network/cni/plugins/port_mapper/port_mapper.cpp
|
diff --git i/src/slave/containerizer/mesos/isolators/network/cni/plugins/port_mapper/port_mapper.cpp w/src/slave/containerizer/mesos/isolators/network/cni/plugins/port_mapper/port_mapper.cpp
|
||||||
index b470f0c82..6110a43ee 100644
|
index 43cf3e4..94bad8b 100644
|
||||||
--- a/src/slave/containerizer/mesos/isolators/network/cni/plugins/port_mapper/port_mapper.cpp
|
--- i/src/slave/containerizer/mesos/isolators/network/cni/plugins/port_mapper/port_mapper.cpp
|
||||||
+++ b/src/slave/containerizer/mesos/isolators/network/cni/plugins/port_mapper/port_mapper.cpp
|
+++ w/src/slave/containerizer/mesos/isolators/network/cni/plugins/port_mapper/port_mapper.cpp
|
||||||
@@ -303,7 +303,7 @@ Try<Nothing> PortMapper::addPortMapping(
|
@@ -301,7 +301,7 @@ Try<Nothing> PortMapper::addPortMapping(
|
||||||
# Check if the `chain` exists in the iptable. If it does not
|
# Check if the `chain` exists in the iptable. If it does not
|
||||||
# exist go ahead and install the chain in the iptables NAT
|
# exist go ahead and install the chain in the iptables NAT
|
||||||
# table.
|
# table.
|
||||||
@ -392,7 +374,7 @@ index b470f0c82..6110a43ee 100644
|
|||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
# NOTE: When we create the chain, there is a possibility of a
|
# NOTE: When we create the chain, there is a possibility of a
|
||||||
# race due to which a container launch can fail. This can
|
# race due to which a container launch can fail. This can
|
||||||
@@ -317,25 +317,25 @@ Try<Nothing> PortMapper::addPortMapping(
|
@@ -315,25 +315,25 @@ Try<Nothing> PortMapper::addPortMapping(
|
||||||
# since it can happen only when the chain is created the first
|
# since it can happen only when the chain is created the first
|
||||||
# time and two commands for creation of the chain are executed
|
# time and two commands for creation of the chain are executed
|
||||||
# simultaneously.
|
# simultaneously.
|
||||||
@ -422,7 +404,7 @@ index b470f0c82..6110a43ee 100644
|
|||||||
chain,
|
chain,
|
||||||
chain,
|
chain,
|
||||||
chain,
|
chain,
|
||||||
@@ -362,7 +362,7 @@ Try<Nothing> PortMapper::delPortMapping()
|
@@ -360,7 +360,7 @@ Try<Nothing> PortMapper::delPortMapping()
|
||||||
# The iptables command searches for the DNAT rules with tag
|
# The iptables command searches for the DNAT rules with tag
|
||||||
# "container_id: <CNI_CONTAINERID>", and if it exists goes ahead
|
# "container_id: <CNI_CONTAINERID>", and if it exists goes ahead
|
||||||
# and deletes it.
|
# and deletes it.
|
||||||
@ -431,11 +413,11 @@ index b470f0c82..6110a43ee 100644
|
|||||||
chain,
|
chain,
|
||||||
getIptablesRuleTag()).get();
|
getIptablesRuleTag()).get();
|
||||||
|
|
||||||
diff --git a/src/slave/containerizer/mesos/isolators/network/port_mapping.cpp b/src/slave/containerizer/mesos/isolators/network/port_mapping.cpp
|
diff --git i/src/slave/containerizer/mesos/isolators/network/port_mapping.cpp w/src/slave/containerizer/mesos/isolators/network/port_mapping.cpp
|
||||||
index 20fb6ab35..46c160977 100644
|
index 57d4ccd..68c9577 100644
|
||||||
--- a/src/slave/containerizer/mesos/isolators/network/port_mapping.cpp
|
--- i/src/slave/containerizer/mesos/isolators/network/port_mapping.cpp
|
||||||
+++ b/src/slave/containerizer/mesos/isolators/network/port_mapping.cpp
|
+++ w/src/slave/containerizer/mesos/isolators/network/port_mapping.cpp
|
||||||
@@ -1393,19 +1393,19 @@ Try<Isolator*> PortMappingIsolatorProcess::create(const Flags& flags)
|
@@ -1394,19 +1394,19 @@ Try<Isolator*> PortMappingIsolatorProcess::create(const Flags& flags)
|
||||||
// Check the availability of a few Linux commands that we will use.
|
// Check the availability of a few Linux commands that we will use.
|
||||||
// We use the blocking os::shell here because 'create' will only be
|
// We use the blocking os::shell here because 'create' will only be
|
||||||
// invoked during initialization.
|
// invoked during initialization.
|
||||||
@ -458,7 +440,7 @@ index 20fb6ab35..46c160977 100644
|
|||||||
if (checkCommandIp.isError()) {
|
if (checkCommandIp.isError()) {
|
||||||
return Error("Check command 'ip' failed: " + checkCommandIp.error());
|
return Error("Check command 'ip' failed: " + checkCommandIp.error());
|
||||||
}
|
}
|
||||||
@@ -1925,9 +1925,9 @@ Try<Isolator*> PortMappingIsolatorProcess::create(const Flags& flags)
|
@@ -1940,9 +1940,9 @@ Try<Isolator*> PortMappingIsolatorProcess::create(const Flags& flags)
|
||||||
// visible. It's OK to use the blocking os::shell here because
|
// visible. It's OK to use the blocking os::shell here because
|
||||||
// 'create' will only be invoked during initialization.
|
// 'create' will only be invoked during initialization.
|
||||||
Try<string> mount = os::shell(
|
Try<string> mount = os::shell(
|
||||||
@ -471,7 +453,7 @@ index 20fb6ab35..46c160977 100644
|
|||||||
bindMountRoot->c_str(),
|
bindMountRoot->c_str(),
|
||||||
bindMountRoot->c_str(),
|
bindMountRoot->c_str(),
|
||||||
bindMountRoot->c_str(),
|
bindMountRoot->c_str(),
|
||||||
@@ -1944,8 +1944,8 @@ Try<Isolator*> PortMappingIsolatorProcess::create(const Flags& flags)
|
@@ -1959,8 +1959,8 @@ Try<Isolator*> PortMappingIsolatorProcess::create(const Flags& flags)
|
||||||
// shared mount yet (possibly due to slave crash while preparing
|
// shared mount yet (possibly due to slave crash while preparing
|
||||||
// the work directory mount). It's safe to re-do the following.
|
// the work directory mount). It's safe to re-do the following.
|
||||||
Try<string> mount = os::shell(
|
Try<string> mount = os::shell(
|
||||||
@ -482,7 +464,7 @@ index 20fb6ab35..46c160977 100644
|
|||||||
bindMountRoot->c_str(),
|
bindMountRoot->c_str(),
|
||||||
bindMountRoot->c_str());
|
bindMountRoot->c_str());
|
||||||
|
|
||||||
@@ -1964,8 +1964,8 @@ Try<Isolator*> PortMappingIsolatorProcess::create(const Flags& flags)
|
@@ -1979,8 +1979,8 @@ Try<Isolator*> PortMappingIsolatorProcess::create(const Flags& flags)
|
||||||
// so that they are in different peer groups.
|
// so that they are in different peer groups.
|
||||||
if (entry.shared() == bindMountEntry->shared()) {
|
if (entry.shared() == bindMountEntry->shared()) {
|
||||||
Try<string> mount = os::shell(
|
Try<string> mount = os::shell(
|
||||||
@ -493,7 +475,7 @@ index 20fb6ab35..46c160977 100644
|
|||||||
bindMountRoot->c_str(),
|
bindMountRoot->c_str(),
|
||||||
bindMountRoot->c_str());
|
bindMountRoot->c_str());
|
||||||
|
|
||||||
@@ -3911,6 +3911,8 @@ Try<Nothing> PortMappingIsolatorProcess::removeHostIPFilters(
|
@@ -3927,6 +3927,8 @@ Try<Nothing> PortMappingIsolatorProcess::removeHostIPFilters(
|
||||||
// TODO(jieyu): Use the Subcommand abstraction to remove most of the
|
// TODO(jieyu): Use the Subcommand abstraction to remove most of the
|
||||||
// logic here. Completely remove this function once we can assume a
|
// logic here. Completely remove this function once we can assume a
|
||||||
// newer kernel where 'setns' works for mount namespaces.
|
// newer kernel where 'setns' works for mount namespaces.
|
||||||
@ -502,7 +484,7 @@ index 20fb6ab35..46c160977 100644
|
|||||||
string PortMappingIsolatorProcess::scripts(Info* info)
|
string PortMappingIsolatorProcess::scripts(Info* info)
|
||||||
{
|
{
|
||||||
ostringstream script;
|
ostringstream script;
|
||||||
@@ -3921,7 +3923,7 @@ string PortMappingIsolatorProcess::scripts(Info* info)
|
@@ -3937,7 +3939,7 @@ string PortMappingIsolatorProcess::scripts(Info* info)
|
||||||
// Mark the mount point PORT_MAPPING_BIND_MOUNT_ROOT() as slave
|
// Mark the mount point PORT_MAPPING_BIND_MOUNT_ROOT() as slave
|
||||||
// mount so that changes in the container will not be propagated to
|
// mount so that changes in the container will not be propagated to
|
||||||
// the host.
|
// the host.
|
||||||
@ -511,7 +493,7 @@ index 20fb6ab35..46c160977 100644
|
|||||||
|
|
||||||
// Disable IPv6 when IPv6 module is loaded as IPv6 packets won't be
|
// Disable IPv6 when IPv6 module is loaded as IPv6 packets won't be
|
||||||
// forwarded anyway.
|
// forwarded anyway.
|
||||||
@@ -3929,7 +3931,7 @@ string PortMappingIsolatorProcess::scripts(Info* info)
|
@@ -3945,7 +3947,7 @@ string PortMappingIsolatorProcess::scripts(Info* info)
|
||||||
<< " echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6\n";
|
<< " echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6\n";
|
||||||
|
|
||||||
// Configure lo and eth0.
|
// Configure lo and eth0.
|
||||||
@ -520,7 +502,7 @@ index 20fb6ab35..46c160977 100644
|
|||||||
<< " mtu " << hostEth0MTU << " up\n";
|
<< " mtu " << hostEth0MTU << " up\n";
|
||||||
|
|
||||||
// NOTE: This is mostly a kernel issue: in veth_xmit() the kernel
|
// NOTE: This is mostly a kernel issue: in veth_xmit() the kernel
|
||||||
@@ -3938,12 +3940,12 @@ string PortMappingIsolatorProcess::scripts(Info* info)
|
@@ -3954,12 +3956,12 @@ string PortMappingIsolatorProcess::scripts(Info* info)
|
||||||
// when we receive a packet with a bad checksum. Disabling rx
|
// when we receive a packet with a bad checksum. Disabling rx
|
||||||
// checksum offloading ensures the TCP layer will checksum and drop
|
// checksum offloading ensures the TCP layer will checksum and drop
|
||||||
// it.
|
// it.
|
||||||
@ -537,7 +519,7 @@ index 20fb6ab35..46c160977 100644
|
|||||||
|
|
||||||
// Restrict the ephemeral ports that can be used by the container.
|
// Restrict the ephemeral ports that can be used by the container.
|
||||||
script << "echo " << info->ephemeralPorts.lower() << " "
|
script << "echo " << info->ephemeralPorts.lower() << " "
|
||||||
@@ -3972,19 +3974,19 @@ string PortMappingIsolatorProcess::scripts(Info* info)
|
@@ -3988,19 +3990,19 @@ string PortMappingIsolatorProcess::scripts(Info* info)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set up filters on lo and eth0.
|
// Set up filters on lo and eth0.
|
||||||
@ -561,7 +543,7 @@ index 20fb6ab35..46c160977 100644
|
|||||||
<< " protocol ip"
|
<< " protocol ip"
|
||||||
<< " prio " << Priority(IP_FILTER_PRIORITY, NORMAL).get() << " u32"
|
<< " prio " << Priority(IP_FILTER_PRIORITY, NORMAL).get() << " u32"
|
||||||
<< " flowid ffff:0"
|
<< " flowid ffff:0"
|
||||||
@@ -3995,7 +3997,7 @@ string PortMappingIsolatorProcess::scripts(Info* info)
|
@@ -4011,7 +4013,7 @@ string PortMappingIsolatorProcess::scripts(Info* info)
|
||||||
foreach (const PortRange& range,
|
foreach (const PortRange& range,
|
||||||
getPortRanges(info->nonEphemeralPorts + info->ephemeralPorts)) {
|
getPortRanges(info->nonEphemeralPorts + info->ephemeralPorts)) {
|
||||||
// Local traffic inside a container will not be redirected to eth0.
|
// Local traffic inside a container will not be redirected to eth0.
|
||||||
@ -570,7 +552,7 @@ index 20fb6ab35..46c160977 100644
|
|||||||
<< " protocol ip"
|
<< " protocol ip"
|
||||||
<< " prio " << Priority(IP_FILTER_PRIORITY, HIGH).get() << " u32"
|
<< " prio " << Priority(IP_FILTER_PRIORITY, HIGH).get() << " u32"
|
||||||
<< " flowid ffff:0"
|
<< " flowid ffff:0"
|
||||||
@@ -4004,7 +4006,7 @@ string PortMappingIsolatorProcess::scripts(Info* info)
|
@@ -4020,7 +4022,7 @@ string PortMappingIsolatorProcess::scripts(Info* info)
|
||||||
|
|
||||||
// Traffic going to host loopback IP and ports assigned to this
|
// Traffic going to host loopback IP and ports assigned to this
|
||||||
// container will be redirected to lo.
|
// container will be redirected to lo.
|
||||||
@ -579,7 +561,7 @@ index 20fb6ab35..46c160977 100644
|
|||||||
<< " protocol ip"
|
<< " protocol ip"
|
||||||
<< " prio " << Priority(IP_FILTER_PRIORITY, NORMAL).get() << " u32"
|
<< " prio " << Priority(IP_FILTER_PRIORITY, NORMAL).get() << " u32"
|
||||||
<< " flowid ffff:0"
|
<< " flowid ffff:0"
|
||||||
@@ -4016,14 +4018,14 @@ string PortMappingIsolatorProcess::scripts(Info* info)
|
@@ -4032,14 +4034,14 @@ string PortMappingIsolatorProcess::scripts(Info* info)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do not forward the ICMP packet if the destination IP is self.
|
// Do not forward the ICMP packet if the destination IP is self.
|
||||||
@ -596,8 +578,8 @@ index 20fb6ab35..46c160977 100644
|
|||||||
<< " protocol ip"
|
<< " protocol ip"
|
||||||
<< " prio " << Priority(ICMP_FILTER_PRIORITY, NORMAL).get() << " u32"
|
<< " prio " << Priority(ICMP_FILTER_PRIORITY, NORMAL).get() << " u32"
|
||||||
<< " flowid ffff:0"
|
<< " flowid ffff:0"
|
||||||
@@ -4032,9 +4034,9 @@ string PortMappingIsolatorProcess::scripts(Info* info)
|
@@ -4048,9 +4050,9 @@ string PortMappingIsolatorProcess::scripts(Info* info)
|
||||||
<< net::IPNetwork::LOOPBACK_V4().address() << "\n";
|
<< net::IP::Network::LOOPBACK_V4().address() << "\n";
|
||||||
|
|
||||||
// Display the filters created on eth0 and lo.
|
// Display the filters created on eth0 and lo.
|
||||||
- script << "tc filter show dev " << eth0
|
- script << "tc filter show dev " << eth0
|
||||||
@ -608,7 +590,7 @@ index 20fb6ab35..46c160977 100644
|
|||||||
<< " parent " << ingress::HANDLE << "\n";
|
<< " parent " << ingress::HANDLE << "\n";
|
||||||
|
|
||||||
// If throughput limit for container egress traffic exists, use HTB
|
// If throughput limit for container egress traffic exists, use HTB
|
||||||
@@ -4046,9 +4048,9 @@ string PortMappingIsolatorProcess::scripts(Info* info)
|
@@ -4062,9 +4064,9 @@ string PortMappingIsolatorProcess::scripts(Info* info)
|
||||||
// throughput. TBF requires other parameters such as 'burst' that
|
// throughput. TBF requires other parameters such as 'burst' that
|
||||||
// HTB already has default values for.
|
// HTB already has default values for.
|
||||||
if (egressRateLimitPerContainer.isSome()) {
|
if (egressRateLimitPerContainer.isSome()) {
|
||||||
@ -620,7 +602,7 @@ index 20fb6ab35..46c160977 100644
|
|||||||
<< CONTAINER_TX_HTB_HANDLE << " classid "
|
<< CONTAINER_TX_HTB_HANDLE << " classid "
|
||||||
<< CONTAINER_TX_HTB_CLASS_ID << " htb rate "
|
<< CONTAINER_TX_HTB_CLASS_ID << " htb rate "
|
||||||
<< egressRateLimitPerContainer.get().bytes() * 8 << "bit\n";
|
<< egressRateLimitPerContainer.get().bytes() * 8 << "bit\n";
|
||||||
@@ -4059,12 +4061,12 @@ string PortMappingIsolatorProcess::scripts(Info* info)
|
@@ -4075,12 +4077,12 @@ string PortMappingIsolatorProcess::scripts(Info* info)
|
||||||
// fq_codel, which has a larger buffer and better control on
|
// fq_codel, which has a larger buffer and better control on
|
||||||
// buffer bloat.
|
// buffer bloat.
|
||||||
// TODO(cwang): Verity that fq_codel qdisc is available.
|
// TODO(cwang): Verity that fq_codel qdisc is available.
|
||||||
@ -636,24 +618,24 @@ index 20fb6ab35..46c160977 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
return script.str();
|
return script.str();
|
||||||
diff --git a/src/slave/containerizer/mesos/isolators/posix/disk.cpp b/src/slave/containerizer/mesos/isolators/posix/disk.cpp
|
diff --git i/src/slave/containerizer/mesos/isolators/posix/disk.cpp w/src/slave/containerizer/mesos/isolators/posix/disk.cpp
|
||||||
index db0583386..542586370 100644
|
index eb23025..db268ea 100644
|
||||||
--- a/src/slave/containerizer/mesos/isolators/posix/disk.cpp
|
--- i/src/slave/containerizer/mesos/isolators/posix/disk.cpp
|
||||||
+++ b/src/slave/containerizer/mesos/isolators/posix/disk.cpp
|
+++ w/src/slave/containerizer/mesos/isolators/posix/disk.cpp
|
||||||
@@ -540,7 +540,7 @@ private:
|
@@ -572,7 +572,7 @@ private:
|
||||||
// NOTE: The supervisor childhook will watch the parent process and kill
|
// NOTE: The supervisor childhook will watch the parent process and kill
|
||||||
// the 'du' process in case that the parent die.
|
// the 'du' process in case that the parent die.
|
||||||
Try<Subprocess> s = subprocess(
|
Try<Subprocess> s = subprocess(
|
||||||
- "du",
|
- "du",
|
||||||
+ "@du@",
|
+ "@du@",
|
||||||
command,
|
command,
|
||||||
Subprocess::PATH("/dev/null"),
|
Subprocess::PATH(os::DEV_NULL),
|
||||||
Subprocess::PIPE(),
|
Subprocess::PIPE(),
|
||||||
diff --git a/src/slave/containerizer/mesos/isolators/volume/image.cpp b/src/slave/containerizer/mesos/isolators/volume/image.cpp
|
diff --git i/src/slave/containerizer/mesos/isolators/volume/image.cpp w/src/slave/containerizer/mesos/isolators/volume/image.cpp
|
||||||
index 210e67ad0..60b3a15e4 100644
|
index 35966aa..b62fc86 100644
|
||||||
--- a/src/slave/containerizer/mesos/isolators/volume/image.cpp
|
--- i/src/slave/containerizer/mesos/isolators/volume/image.cpp
|
||||||
+++ b/src/slave/containerizer/mesos/isolators/volume/image.cpp
|
+++ w/src/slave/containerizer/mesos/isolators/volume/image.cpp
|
||||||
@@ -214,7 +214,7 @@ Future<Option<ContainerLaunchInfo>> VolumeImageIsolatorProcess::_prepare(
|
@@ -231,7 +231,7 @@ Future<Option<ContainerLaunchInfo>> VolumeImageIsolatorProcess::_prepare(
|
||||||
|
|
||||||
CommandInfo* command = launchInfo.add_pre_exec_commands();
|
CommandInfo* command = launchInfo.add_pre_exec_commands();
|
||||||
command->set_shell(false);
|
command->set_shell(false);
|
||||||
@ -662,11 +644,11 @@ index 210e67ad0..60b3a15e4 100644
|
|||||||
command->add_arguments("mount");
|
command->add_arguments("mount");
|
||||||
command->add_arguments("-n");
|
command->add_arguments("-n");
|
||||||
command->add_arguments("--rbind");
|
command->add_arguments("--rbind");
|
||||||
diff --git a/src/slave/containerizer/mesos/isolators/volume/sandbox_path.cpp b/src/slave/containerizer/mesos/isolators/volume/sandbox_path.cpp
|
diff --git i/src/slave/containerizer/mesos/isolators/volume/sandbox_path.cpp w/src/slave/containerizer/mesos/isolators/volume/sandbox_path.cpp
|
||||||
index 7b976d292..474dcd486 100644
|
index b321b86..8ed3e78 100644
|
||||||
--- a/src/slave/containerizer/mesos/isolators/volume/sandbox_path.cpp
|
--- i/src/slave/containerizer/mesos/isolators/volume/sandbox_path.cpp
|
||||||
+++ b/src/slave/containerizer/mesos/isolators/volume/sandbox_path.cpp
|
+++ w/src/slave/containerizer/mesos/isolators/volume/sandbox_path.cpp
|
||||||
@@ -240,7 +240,7 @@ Future<Option<ContainerLaunchInfo>> VolumeSandboxPathIsolatorProcess::prepare(
|
@@ -265,7 +265,7 @@ Future<Option<ContainerLaunchInfo>> VolumeSandboxPathIsolatorProcess::prepare(
|
||||||
|
|
||||||
CommandInfo* command = launchInfo.add_pre_exec_commands();
|
CommandInfo* command = launchInfo.add_pre_exec_commands();
|
||||||
command->set_shell(false);
|
command->set_shell(false);
|
||||||
@ -675,58 +657,60 @@ index 7b976d292..474dcd486 100644
|
|||||||
command->add_arguments("mount");
|
command->add_arguments("mount");
|
||||||
command->add_arguments("-n");
|
command->add_arguments("-n");
|
||||||
command->add_arguments("--rbind");
|
command->add_arguments("--rbind");
|
||||||
diff --git a/src/slave/containerizer/mesos/provisioner/backends/copy.cpp b/src/slave/containerizer/mesos/provisioner/backends/copy.cpp
|
diff --git i/src/slave/containerizer/mesos/provisioner/backends/copy.cpp w/src/slave/containerizer/mesos/provisioner/backends/copy.cpp
|
||||||
index 9c5354e5f..a73a9692e 100644
|
index 69faa03..01a3ed6 100644
|
||||||
--- a/src/slave/containerizer/mesos/provisioner/backends/copy.cpp
|
--- i/src/slave/containerizer/mesos/provisioner/backends/copy.cpp
|
||||||
+++ b/src/slave/containerizer/mesos/provisioner/backends/copy.cpp
|
+++ w/src/slave/containerizer/mesos/provisioner/backends/copy.cpp
|
||||||
@@ -147,7 +147,7 @@ Future<Nothing> CopyBackendProcess::_provision(
|
@@ -266,7 +266,7 @@ Future<Nothing> CopyBackendProcess::_provision(
|
||||||
#endif // __APPLE__ || __FreeBSD__
|
#endif // __APPLE__ || __FreeBSD__
|
||||||
|
|
||||||
Try<Subprocess> s = subprocess(
|
Try<Subprocess> s = subprocess(
|
||||||
- "cp",
|
- "cp",
|
||||||
+ "@cp@",
|
+ "@cp@",
|
||||||
args,
|
args,
|
||||||
Subprocess::PATH("/dev/null"),
|
Subprocess::PATH(os::DEV_NULL),
|
||||||
Subprocess::PATH("/dev/null"),
|
Subprocess::PATH(os::DEV_NULL),
|
||||||
@@ -180,7 +180,7 @@ Future<bool> CopyBackendProcess::destroy(const string& rootfs)
|
@@ -313,7 +313,7 @@ Future<bool> CopyBackendProcess::destroy(const string& rootfs)
|
||||||
vector<string> argv{"rm", "-rf", rootfs};
|
vector<string> argv{"rm", "-rf", rootfs};
|
||||||
|
|
||||||
Try<Subprocess> s = subprocess(
|
Try<Subprocess> s = subprocess(
|
||||||
- "rm",
|
- "rm",
|
||||||
+ "@rm@",
|
+ "@rm@",
|
||||||
argv,
|
argv,
|
||||||
Subprocess::PATH("/dev/null"),
|
Subprocess::PATH(os::DEV_NULL),
|
||||||
Subprocess::FD(STDOUT_FILENO),
|
Subprocess::FD(STDOUT_FILENO),
|
||||||
diff --git a/src/uri/fetchers/copy.cpp b/src/uri/fetchers/copy.cpp
|
diff --git i/src/uri/fetchers/copy.cpp w/src/uri/fetchers/copy.cpp
|
||||||
index 2cfef5ab0..8a62f7699 100644
|
index 17f69be..831b08a 100644
|
||||||
--- a/src/uri/fetchers/copy.cpp
|
--- i/src/uri/fetchers/copy.cpp
|
||||||
+++ b/src/uri/fetchers/copy.cpp
|
+++ w/src/uri/fetchers/copy.cpp
|
||||||
@@ -97,7 +97,7 @@ Future<Nothing> CopyFetcherPlugin::fetch(
|
@@ -97,8 +97,8 @@ Future<Nothing> CopyFetcherPlugin::fetch(
|
||||||
const vector<string> argv = {"cp", "-a", uri.path(), directory};
|
VLOG(1) << "Copying '" << uri.path() << "' to '" << directory << "'";
|
||||||
|
|
||||||
Try<Subprocess> s = subprocess(
|
#ifndef __WINDOWS__
|
||||||
- "cp",
|
- const char* copyCommand = "cp";
|
||||||
+ "@cp@",
|
- const vector<string> argv = {"cp", "-a", uri.path(), directory};
|
||||||
argv,
|
+ const char* copyCommand = "@cp@";
|
||||||
Subprocess::PATH("/dev/null"),
|
+ const vector<string> argv = {"@cp@", "-a", uri.path(), directory};
|
||||||
Subprocess::PIPE(),
|
#else // __WINDOWS__
|
||||||
diff --git a/src/uri/fetchers/curl.cpp b/src/uri/fetchers/curl.cpp
|
const char* copyCommand = os::Shell::name;
|
||||||
index 7b746d619..12bbb04df 100644
|
const vector<string> argv =
|
||||||
--- a/src/uri/fetchers/curl.cpp
|
diff --git i/src/uri/fetchers/curl.cpp w/src/uri/fetchers/curl.cpp
|
||||||
+++ b/src/uri/fetchers/curl.cpp
|
index f34daf2..6a50341 100644
|
||||||
@@ -107,7 +107,7 @@ Future<Nothing> CurlFetcherPlugin::fetch(
|
--- i/src/uri/fetchers/curl.cpp
|
||||||
|
+++ w/src/uri/fetchers/curl.cpp
|
||||||
|
@@ -109,7 +109,7 @@ Future<Nothing> CurlFetcherPlugin::fetch(
|
||||||
};
|
};
|
||||||
|
|
||||||
Try<Subprocess> s = subprocess(
|
Try<Subprocess> s = subprocess(
|
||||||
- "curl",
|
- "curl",
|
||||||
+ "@curl@",
|
+ "@curl@",
|
||||||
argv,
|
argv,
|
||||||
Subprocess::PATH("/dev/null"),
|
Subprocess::PATH(os::DEV_NULL),
|
||||||
Subprocess::PIPE(),
|
Subprocess::PIPE(),
|
||||||
diff --git a/src/uri/fetchers/docker.cpp b/src/uri/fetchers/docker.cpp
|
diff --git i/src/uri/fetchers/docker.cpp w/src/uri/fetchers/docker.cpp
|
||||||
index 3f38dddfb..fd991ee74 100644
|
index 91db13b..82a7fc4 100644
|
||||||
--- a/src/uri/fetchers/docker.cpp
|
--- i/src/uri/fetchers/docker.cpp
|
||||||
+++ b/src/uri/fetchers/docker.cpp
|
+++ w/src/uri/fetchers/docker.cpp
|
||||||
@@ -114,7 +114,7 @@ static Future<http::Response> curl(
|
@@ -114,7 +114,7 @@ static Future<http::Response> curl(
|
||||||
|
|
||||||
// TODO(jieyu): Kill the process if discard is called.
|
// TODO(jieyu): Kill the process if discard is called.
|
||||||
@ -734,14 +718,14 @@ index 3f38dddfb..fd991ee74 100644
|
|||||||
- "curl",
|
- "curl",
|
||||||
+ "@curl@",
|
+ "@curl@",
|
||||||
argv,
|
argv,
|
||||||
Subprocess::PATH("/dev/null"),
|
Subprocess::PATH(os::DEV_NULL),
|
||||||
Subprocess::PIPE(),
|
Subprocess::PIPE(),
|
||||||
@@ -213,7 +213,7 @@ static Future<int> download(
|
@@ -229,7 +229,7 @@ static Future<int> download(
|
||||||
|
|
||||||
// TODO(jieyu): Kill the process if discard is called.
|
// TODO(jieyu): Kill the process if discard is called.
|
||||||
Try<Subprocess> s = subprocess(
|
Try<Subprocess> s = subprocess(
|
||||||
- "curl",
|
- "curl",
|
||||||
+ "@curl@",
|
+ "@curl@",
|
||||||
argv,
|
argv,
|
||||||
Subprocess::PATH("/dev/null"),
|
Subprocess::PATH(os::DEV_NULL),
|
||||||
Subprocess::PIPE(),
|
Subprocess::PIPE(),
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
source $stdenv/setup
|
|
||||||
|
|
||||||
unpackPhase
|
|
||||||
|
|
||||||
cd freebayes-*
|
|
||||||
|
|
||||||
make
|
|
||||||
|
|
||||||
mkdir -p $out/bin
|
|
||||||
cp bin/freebayes bin/bamleftalign $out/bin
|
|
||||||
cp scripts/* $out/bin
|
|
@ -1,21 +1,23 @@
|
|||||||
{ stdenv, fetchFromGitHub, cmake, gcc, zlib}:
|
{ stdenv, fetchFromGitHub, cmake, gcc, zlib, bzip2, lzma }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "freebayes-${version}";
|
name = "freebayes-${version}";
|
||||||
version = "1.1.0";
|
version = "2017-08-23";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
name = "freebayes-${version}-src";
|
name = "freebayes-${version}-src";
|
||||||
owner = "ekg";
|
owner = "ekg";
|
||||||
repo = "freebayes";
|
repo = "freebayes";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "8d2b3a060da473e1f4f89be04edfce5cba63f1d3";
|
||||||
sha256 = "0xb8aicb36w9mfs1gq1x7mcp3p82kl7i61d162hfncqzg2npg8rr";
|
sha256 = "0yyrgk2639lz1yvg4jf0ccahnkic31dy77q05pb3i28rjf37v45z";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ cmake gcc zlib ];
|
buildInputs = [ zlib bzip2 lzma ];
|
||||||
|
|
||||||
builder = ./builder.sh;
|
installPhase = ''
|
||||||
|
install -vD bin/freebayes bin/bamleftalign scripts/* -t $out/bin
|
||||||
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "Bayesian haplotype-based polymorphism discovery and genotyping";
|
description = "Bayesian haplotype-based polymorphism discovery and genotyping";
|
||||||
|
@ -5,11 +5,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "i3-${version}";
|
name = "i3-${version}";
|
||||||
version = "4.14";
|
version = "4.14.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://i3wm.org/downloads/${name}.tar.bz2";
|
url = "http://i3wm.org/downloads/${name}.tar.bz2";
|
||||||
sha256 = "1mm5jazwv4dz3k8vl1lfrcw86agpws5k9lmav1ly51qvmzivsfmf";
|
sha256 = "1cazmfbbx6n8c81h6x6pdayq3mxs2ml3adz165z8vapkc72kl1nh";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ which pkgconfig makeWrapper ];
|
nativeBuildInputs = [ which pkgconfig makeWrapper ];
|
||||||
|
@ -3,12 +3,12 @@
|
|||||||
i3.overrideDerivation (super : rec {
|
i3.overrideDerivation (super : rec {
|
||||||
|
|
||||||
name = "i3-gaps-${version}";
|
name = "i3-gaps-${version}";
|
||||||
version = "4.14";
|
version = "4.14.1";
|
||||||
releaseDate = "2017-09-04";
|
releaseDate = "2017-09-24";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/Airblader/i3/archive/${version}.tar.gz";
|
url = "https://github.com/Airblader/i3/archive/${version}.tar.gz";
|
||||||
sha256 = "08y2m0afcm8mbzb92qz286fd1hnqfya2pvhpxbgv83sgjcsg6hlr";
|
sha256 = "11fnkg4halplcnannfw3ishzwwbxbnjafmkxsim199jhlyjjd8j7";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = super.nativeBuildInputs ++ [ autoreconfHook ];
|
nativeBuildInputs = super.nativeBuildInputs ++ [ autoreconfHook ];
|
||||||
|
@ -1,13 +1,14 @@
|
|||||||
{ stdenv, fetchFromGitHub, cmake, pkgconfig, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, libqtxdg, xorg }:
|
{ stdenv, fetchFromGitHub, cmake, pkgconfig, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, libqtxdg, xorg }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "screengrab-unstable-2017-02-18";
|
name = "screengrab-${version}";
|
||||||
|
version = "1.97";
|
||||||
|
|
||||||
srcs = fetchFromGitHub {
|
srcs = fetchFromGitHub {
|
||||||
owner = "QtDesktop";
|
owner = "QtDesktop";
|
||||||
repo = "screengrab";
|
repo = "screengrab";
|
||||||
rev = "6fc03c70fe132b89f35d4cef2f62c9d804de3b64";
|
rev = version;
|
||||||
sha256 = "1h3rlpmaqxzysaibcw7s5msbrwaxkg6sz7a8xv6cqzjvggv09my0";
|
sha256 = "0qhdxnv1pz745qgvdv5x7kyfx9dz9rrq0wxyfimppzxcszv4pl2z";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake pkgconfig ];
|
nativeBuildInputs = [ cmake pkgconfig ];
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
date = "20170911";
|
date = "20170924";
|
||||||
rev = "870271ea071971002fa556e09e1873db316fa1a9";
|
rev = "1443039416dd02750765efde1af35e31c8d41be3";
|
||||||
sha256 = "1a9djm0p7cd5nzqdhch9y48c4wai76x6d4nwx0bj5jz46ws39bs9";
|
sha256 = "060l0f77hirq3i5bg294gxcszlvyn89ds2q21jwgy3ryrapfbl8i";
|
||||||
version = "0.9.27pre-${date}";
|
version = "0.9.27pre-${date}";
|
||||||
in
|
in
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ stdenv, lib, fetchurl, file, openssl, mlton
|
{ stdenv, lib, fetchurl, file, openssl, mlton
|
||||||
, mysql, postgresql, sqlite
|
, mysql, postgresql, sqlite, gcc
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
@ -24,8 +24,10 @@ stdenv.mkDerivation rec {
|
|||||||
export MSHEADER="${lib.getDev mysql.client}/include/mysql/mysql.h";
|
export MSHEADER="${lib.getDev mysql.client}/include/mysql/mysql.h";
|
||||||
export SQHEADER="${sqlite.dev}/include/sqlite3.h";
|
export SQHEADER="${sqlite.dev}/include/sqlite3.h";
|
||||||
|
|
||||||
|
export CC="${gcc}/bin/gcc";
|
||||||
export CCARGS="-I$out/include \
|
export CCARGS="-I$out/include \
|
||||||
-L${lib.getLib mysql.client}/lib/mysql \
|
-L${openssl.out}/lib \
|
||||||
|
-L${lib.getLib mysql.client}/lib \
|
||||||
-L${postgresql.lib}/lib \
|
-L${postgresql.lib}/lib \
|
||||||
-L${sqlite.out}/lib";
|
-L${sqlite.out}/lib";
|
||||||
'';
|
'';
|
||||||
@ -37,7 +39,7 @@ stdenv.mkDerivation rec {
|
|||||||
description = "Advanced purely-functional web programming language";
|
description = "Advanced purely-functional web programming language";
|
||||||
homepage = "http://www.impredicative.com/ur/";
|
homepage = "http://www.impredicative.com/ur/";
|
||||||
license = stdenv.lib.licenses.bsd3;
|
license = stdenv.lib.licenses.bsd3;
|
||||||
platforms = stdenv.lib.platforms.linux;
|
platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
|
||||||
maintainers = [ stdenv.lib.maintainers.thoughtpolice stdenv.lib.maintainers.sheganinans ];
|
maintainers = [ stdenv.lib.maintainers.thoughtpolice stdenv.lib.maintainers.sheganinans ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -99,12 +99,12 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
postgresql = {
|
postgresql = {
|
||||||
configureFlags = ["--with-pgsql=${postgresql.dev}"];
|
configureFlags = ["--with-pgsql=${postgresql}"];
|
||||||
buildInputs = [ postgresql ];
|
buildInputs = [ postgresql ];
|
||||||
};
|
};
|
||||||
|
|
||||||
pdo_pgsql = {
|
pdo_pgsql = {
|
||||||
configureFlags = ["--with-pdo-pgsql=${postgresql.dev}"];
|
configureFlags = ["--with-pdo-pgsql=${postgresql}"];
|
||||||
buildInputs = [ postgresql ];
|
buildInputs = [ postgresql ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
|
|||||||
"--with-png=${libpng.dev}" # optional
|
"--with-png=${libpng.dev}" # optional
|
||||||
"--with-poppler=${poppler.dev}" # optional
|
"--with-poppler=${poppler.dev}" # optional
|
||||||
"--with-libz=${zlib.dev}" # optional
|
"--with-libz=${zlib.dev}" # optional
|
||||||
"--with-pg=${postgresql.dev}/bin/pg_config"
|
"--with-pg=${postgresql}/bin/pg_config"
|
||||||
"--with-mysql=${mysql.lib.dev}/bin/mysql_config"
|
"--with-mysql=${mysql.lib.dev}/bin/mysql_config"
|
||||||
"--with-geotiff=${libgeotiff}"
|
"--with-geotiff=${libgeotiff}"
|
||||||
"--with-sqlite3=${sqlite.dev}"
|
"--with-sqlite3=${sqlite.dev}"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, mesa, libX11 }:
|
{ stdenv, fetchurl, mesa_glu, mesa_noglu, libX11, libXext }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "glfw-2.7.9";
|
name = "glfw-2.7.9";
|
||||||
@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "17c2msdcb7pn3p8f83805h1c216bmdqnbn9hgzr1j8wnwjcpxx6i";
|
sha256 = "17c2msdcb7pn3p8f83805h1c216bmdqnbn9hgzr1j8wnwjcpxx6i";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ mesa libX11 ];
|
buildInputs = [ mesa_glu mesa_noglu libX11 libXext ];
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
make x11
|
make x11
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
{ stdenv, fetchFromGitHub, cmake, mesa, libXrandr, libXi, libXxf86vm, libXfixes, xlibsWrapper
|
{ stdenv, lib, fetchFromGitHub, cmake, mesa_noglu, libXrandr, libXinerama, libXcursor, libX11
|
||||||
, libXinerama, libXcursor
|
|
||||||
, darwin, fixDarwinDylibNames
|
, darwin, fixDarwinDylibNames
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@ -16,12 +15,15 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
buildInputs = [
|
propagatedBuildInputs = [ mesa_noglu ];
|
||||||
cmake mesa libXrandr libXi libXxf86vm libXfixes xlibsWrapper
|
|
||||||
libXinerama libXcursor
|
|
||||||
] ++ stdenv.lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ Cocoa Kernel fixDarwinDylibNames ]);
|
|
||||||
|
|
||||||
cmakeFlags = "-DBUILD_SHARED_LIBS=ON";
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
libX11 libXrandr libXinerama libXcursor
|
||||||
|
] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ Cocoa Kernel fixDarwinDylibNames ]);
|
||||||
|
|
||||||
|
cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "Multi-platform library for creating OpenGL contexts and managing input, including keyboard, mouse, joystick and time";
|
description = "Multi-platform library for creating OpenGL contexts and managing input, including keyboard, mouse, joystick and time";
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
{ stdenv, fetchurl, ncurses ? null, perl ? null }:
|
{ stdenv, fetchurl, ncurses ? null, perl ? null }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "liboping-1.9.0";
|
name = "liboping-1.10.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://verplant.org/liboping/files/${name}.tar.bz2";
|
url = "http://verplant.org/liboping/files/${name}.tar.bz2";
|
||||||
sha256 = "0c1mdx9ixqypayhm617jjv9kr6y60nh3mnryafjzv23bnn41vfs4";
|
sha256 = "1n2wkmvw6n80ybdwkjq8ka43z2x8mvxq49byv61b52iyz69slf7b";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ ncurses perl ];
|
buildInputs = [ ncurses perl ];
|
||||||
@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
|
|||||||
'';
|
'';
|
||||||
homepage = http://noping.cc/;
|
homepage = http://noping.cc/;
|
||||||
license = licenses.lgpl21;
|
license = licenses.lgpl21;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.unix;
|
||||||
maintainers = [ maintainers.bjornfor ];
|
maintainers = [ maintainers.bjornfor ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,47 +0,0 @@
|
|||||||
{stdenv, fetchurl, mesa, tcl, tk, file, libXmu, automake, autoconf, libtool, qt4,
|
|
||||||
ftgl, freetype}:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
name = "opencascade-6.5.5";
|
|
||||||
src = fetchurl {
|
|
||||||
url = http://files.opencascade.com/OCCT/OCC_6.5.5_release/OpenCASCADE655.tgz;
|
|
||||||
sha256 = "1dnik00adfh6dxvn9kgf35yjda8chbi05f71i9119idmmrcapipm";
|
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs = [ mesa tcl tk file libXmu automake autoconf libtool qt4 ftgl freetype ];
|
|
||||||
|
|
||||||
preUnpack = ''
|
|
||||||
sourceRoot=`pwd`/ros
|
|
||||||
'';
|
|
||||||
|
|
||||||
preConfigure = ''
|
|
||||||
sh ./build_configure
|
|
||||||
'';
|
|
||||||
|
|
||||||
# -fpermissive helps building opencascade, although gcc detects a flaw in the code
|
|
||||||
# and reports an error otherwise. Further versions may fix that.
|
|
||||||
NIX_CFLAGS_COMPILE = "-fpermissive"
|
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=902561
|
|
||||||
+ " -DUSE_INTERP_RESULT"
|
|
||||||
# https://bugs.freedesktop.org/show_bug.cgi?id=83631
|
|
||||||
+ " -DGLX_GLXEXT_LEGACY";
|
|
||||||
|
|
||||||
hardeningDisable = [ "format" ];
|
|
||||||
|
|
||||||
configureFlags = [ "--with-tcl=${tcl}/lib" "--with-tk=${tk}/lib" "--with-qt=${qt4}" "--with-ftgl=${ftgl}" "--with-freetype=${freetype.dev}" ];
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
mv $out/inc $out/include
|
|
||||||
mkdir -p $out/share/doc/${name}
|
|
||||||
cp -R ../doc $out/share/doc/${name}
|
|
||||||
'';
|
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "Open CASCADE Technology, libraries for 3D modeling and numerical simulation";
|
|
||||||
homepage = http://www.opencascade.org/;
|
|
||||||
maintainers = with stdenv.lib.maintainers; [viric];
|
|
||||||
platforms = with stdenv.lib.platforms; linux;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,39 +1,22 @@
|
|||||||
{stdenv, fetchurl, mesa, tcl, tk, file, libXmu, cmake, qt4, freetype}:
|
{stdenv, fetchurl, mesa, tcl, tk, file, libXmu, cmake, libtool, qt4,
|
||||||
|
ftgl, freetype}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "opencascade-6.6.0";
|
name = "opencascade-oce-0.17.2";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = http://files.opencascade.com/OCCT/OCC_6.6.0_release/OpenCASCADE660.tgz;
|
url = https://github.com/tpaviot/oce/archive/OCE-0.17.2.tar.gz;
|
||||||
sha256 = "0q2xn915w9skv9sj74lxnyv9g3b0yi1j04majyzxk6sv4nra97z3";
|
sha256 = "0vpmnb0k5y2f7lpmwx9pg9yfq24zjvnsak5alzacncfm1hv9b6cd";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ cmake mesa tcl tk file libXmu qt4 freetype ];
|
buildInputs = [ mesa tcl tk file libXmu libtool qt4 ftgl freetype cmake ];
|
||||||
|
|
||||||
sourceRoot = "ros/adm/cmake";
|
preConfigure = ''
|
||||||
|
cmakeFlags="$cmakeFlags -DOCE_INSTALL_PREFIX=$out"
|
||||||
cmakeFlags = [
|
'';
|
||||||
"-D3RDPARTY_TCL_DIR=${tcl}"
|
|
||||||
"-D3RDPARTY_FREETYPE_DIR=${freetype.dev}"
|
|
||||||
|
|
||||||
# Not used on Linux but must be defined during configuration.
|
|
||||||
"-D3RDPARTY_FREETYPE_DLL=${freetype.dev}"
|
|
||||||
];
|
|
||||||
|
|
||||||
# https://bugs.freedesktop.org/show_bug.cgi?id=83631
|
# https://bugs.freedesktop.org/show_bug.cgi?id=83631
|
||||||
NIX_CFLAGS_COMPILE = "-DGLX_GLXEXT_LEGACY";
|
NIX_CFLAGS_COMPILE = "-DGLX_GLXEXT_LEGACY";
|
||||||
|
|
||||||
hardeningDisable = [ "format" ];
|
|
||||||
|
|
||||||
preConfigure = ''
|
|
||||||
cmakeFlags="$cmakeFlags -DINSTALL_DIR=$out"
|
|
||||||
'';
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
mv $out/inc $out/include
|
|
||||||
mkdir -p $out/share/doc/${name}
|
|
||||||
cp -R ../../../doc $out/share/doc/${name}
|
|
||||||
'';
|
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -1,28 +0,0 @@
|
|||||||
{stdenv, fetchurl, mesa, tcl, tk, file, libXmu, cmake, libtool, qt4,
|
|
||||||
ftgl, freetype}:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
name = "opencascade-oce-0.17.2";
|
|
||||||
src = fetchurl {
|
|
||||||
url = https://github.com/tpaviot/oce/archive/OCE-0.17.2.tar.gz;
|
|
||||||
sha256 = "0vpmnb0k5y2f7lpmwx9pg9yfq24zjvnsak5alzacncfm1hv9b6cd";
|
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs = [ mesa tcl tk file libXmu libtool qt4 ftgl freetype cmake ];
|
|
||||||
|
|
||||||
preConfigure = ''
|
|
||||||
cmakeFlags="$cmakeFlags -DOCE_INSTALL_PREFIX=$out"
|
|
||||||
'';
|
|
||||||
|
|
||||||
# https://bugs.freedesktop.org/show_bug.cgi?id=83631
|
|
||||||
NIX_CFLAGS_COMPILE = "-DGLX_GLXEXT_LEGACY";
|
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "Open CASCADE Technology, libraries for 3D modeling and numerical simulation";
|
|
||||||
homepage = http://www.opencascade.org/;
|
|
||||||
maintainers = with stdenv.lib.maintainers; [viric];
|
|
||||||
platforms = with stdenv.lib.platforms; linux;
|
|
||||||
};
|
|
||||||
}
|
|
24
pkgs/development/python-modules/pyblake2/default.nix
Normal file
24
pkgs/development/python-modules/pyblake2/default.nix
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchPypi
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "pyblake2";
|
||||||
|
version = "0.9.3";
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "626448e1fe1cc01d2197118954bec9f158378577e12686d5b01979f7f0fa2212";
|
||||||
|
};
|
||||||
|
|
||||||
|
# requires setting up sphinx doctest
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "BLAKE2 hash function extension module";
|
||||||
|
license = lib.licenses.publicDomain;
|
||||||
|
homepage = https://github.com/dchest/pyblake2;
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,32 @@
|
|||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchPypi
|
||||||
|
, requests
|
||||||
|
, betamax
|
||||||
|
, mock
|
||||||
|
, pytest
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "requests-toolbelt";
|
||||||
|
version = "0.8.0";
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "f6a531936c6fa4c6cfce1b9c10d5c4f498d16528d2a54a22ca00011205a187b5";
|
||||||
|
};
|
||||||
|
|
||||||
|
checkInputs = [ betamax mock pytest ];
|
||||||
|
propagatedBuildInputs = [ requests ];
|
||||||
|
|
||||||
|
checkPhase = ''
|
||||||
|
py.test tests
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "A toolbelt of useful classes and functions to be used with python-requests";
|
||||||
|
homepage = http://toolbelt.rtfd.org;
|
||||||
|
maintainers = with lib.maintainers; [ matthiasbeyer jgeerds ];
|
||||||
|
};
|
||||||
|
}
|
32
pkgs/development/python-modules/twine/default.nix
Normal file
32
pkgs/development/python-modules/twine/default.nix
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchPypi
|
||||||
|
, pkginfo
|
||||||
|
, requests
|
||||||
|
, requests_toolbelt
|
||||||
|
, tqdm
|
||||||
|
, pyblake2
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "twine";
|
||||||
|
version = "1.9.1";
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "caa45b7987fc96321258cd7668e3be2ff34064f5c66d2d975b641adca659c1ab";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ pkginfo requests requests_toolbelt tqdm pyblake2 ];
|
||||||
|
|
||||||
|
# Requires network
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Collection of utilities for interacting with PyPI";
|
||||||
|
homepage = https://github.com/pypa/twine;
|
||||||
|
license = lib.licenses.asl20;
|
||||||
|
maintainer = with lib.maintainers; [ fridh ];
|
||||||
|
};
|
||||||
|
}
|
@ -183,7 +183,7 @@ in
|
|||||||
|
|
||||||
pg = attrs: {
|
pg = attrs: {
|
||||||
buildFlags = [
|
buildFlags = [
|
||||||
"--with-pg-config=${postgresql.dev}/bin/pg_config"
|
"--with-pg-config=${postgresql}/bin/pg_config"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,26 +1,26 @@
|
|||||||
{stdenv, fetchurl, nasm, SDL, zlib, libpng, ncurses, mesa, intltool, gtk2, pkgconfig, libxml2, xlibsWrapper, libpulseaudio}:
|
{ stdenv, fetchFromGitHub, autoreconfHook, intltool, pkgconfig
|
||||||
|
, SDL, zlib, gtk2, libxml2, libXv }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "snes9x-gtk-${version}";
|
name = "snes9x-gtk-${version}";
|
||||||
version = "1.53";
|
version = "1.54.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromGitHub {
|
||||||
url = "http://files.ipherswipsite.com/snes9x/snes9x-${version}-src.tar.bz2";
|
owner = "snes9xgit";
|
||||||
sha256 = "9f7c5d2d0fa3fe753611cf94e8879b73b8bb3c0eab97cdbcb6ab7376efa78dc3";
|
repo = "snes9x";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "10fqm7lk36zj2gnx0ypps0nlws923f60b0zj4pmq9apawgx8k6rw";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ nasm SDL zlib libpng ncurses mesa intltool gtk2 pkgconfig libxml2 xlibsWrapper libpulseaudio];
|
nativeBuildInputs = [ autoreconfHook intltool pkgconfig ];
|
||||||
|
|
||||||
sourceRoot = "snes9x-${version}-src/gtk";
|
sourceRoot = "snes9x-${version}-src";
|
||||||
|
preAutoreconf = "cd gtk; intltoolize";
|
||||||
|
|
||||||
|
buildInputs = [ SDL zlib gtk2 libxml2 libXv ];
|
||||||
|
installPhase = "install -Dt $out/bin snes9x-gtk";
|
||||||
|
|
||||||
configureFlags = "--prefix=$out/ --with-opengl";
|
meta = with stdenv.lib; {
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
cp snes9x-gtk $out/bin
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "A portable, freeware Super Nintendo Entertainment System (SNES) emulator";
|
description = "A portable, freeware Super Nintendo Entertainment System (SNES) emulator";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
Snes9x is a portable, freeware Super Nintendo Entertainment System (SNES)
|
Snes9x is a portable, freeware Super Nintendo Entertainment System (SNES)
|
||||||
@ -28,9 +28,9 @@ stdenv.mkDerivation rec {
|
|||||||
and Super Famicom Nintendo game systems on your PC or Workstation; which
|
and Super Famicom Nintendo game systems on your PC or Workstation; which
|
||||||
includes some real gems that were only ever released in Japan.
|
includes some real gems that were only ever released in Japan.
|
||||||
'';
|
'';
|
||||||
license = stdenv.lib.licenses.lgpl2;
|
license = licenses.lgpl2;
|
||||||
maintainers = [ stdenv.lib.maintainers.qknight ];
|
maintainers = with maintainers; [ qknight ];
|
||||||
homepage = http://www.snes9x.com/;
|
homepage = http://www.snes9x.com/;
|
||||||
platforms = stdenv.lib.platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, dbus, glib, alsaLib,
|
{ stdenv, fetchurl, pkgconfig, dbus, glib, alsaLib,
|
||||||
pythonPackages, readline, libsndfile, udev, libical,
|
pythonPackages, readline, udev, libical,
|
||||||
systemd, enableWiimote ? false }:
|
systemd, enableWiimote ? false }:
|
||||||
|
|
||||||
assert stdenv.isLinux;
|
assert stdenv.isLinux;
|
||||||
@ -15,13 +15,10 @@ stdenv.mkDerivation rec {
|
|||||||
pythonPath = with pythonPackages;
|
pythonPath = with pythonPackages;
|
||||||
[ dbus pygobject2 pygobject3 recursivePthLoader ];
|
[ dbus pygobject2 pygobject3 recursivePthLoader ];
|
||||||
|
|
||||||
buildInputs =
|
buildInputs = [
|
||||||
[ pkgconfig dbus glib alsaLib pythonPackages.python pythonPackages.wrapPython
|
pkgconfig dbus glib alsaLib pythonPackages.python pythonPackages.wrapPython
|
||||||
readline libsndfile udev libical
|
readline udev libical
|
||||||
# Disables GStreamer; not clear what it gains us other than a
|
];
|
||||||
# zillion extra dependencies.
|
|
||||||
# gstreamer gst-plugins-base
|
|
||||||
];
|
|
||||||
|
|
||||||
outputs = [ "out" "dev" "test" ];
|
outputs = [ "out" "dev" "test" ];
|
||||||
|
|
||||||
@ -51,10 +48,8 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
makeFlags = "rulesdir=$(out)/lib/udev/rules.d";
|
makeFlags = "rulesdir=$(out)/lib/udev/rules.d";
|
||||||
|
|
||||||
# FIXME: Move these into a separate package to prevent Bluez from
|
|
||||||
# depending on Python etc.
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mkdir -p $test/test
|
mkdir -p $test/{bin,test}
|
||||||
cp -a test $test
|
cp -a test $test
|
||||||
pushd $test/test
|
pushd $test/test
|
||||||
for a in \
|
for a in \
|
||||||
@ -65,7 +60,7 @@ stdenv.mkDerivation rec {
|
|||||||
list-devices \
|
list-devices \
|
||||||
monitor-bluetooth \
|
monitor-bluetooth \
|
||||||
; do
|
; do
|
||||||
ln -s ../test/$a $out/bin/bluez-$a
|
ln -s ../test/$a $test/bin/bluez-$a
|
||||||
done
|
done
|
||||||
popd
|
popd
|
||||||
wrapPythonProgramsIn $test/test "$test/test $pythonPath"
|
wrapPythonProgramsIn $test/test "$test/test $pythonPath"
|
||||||
|
@ -6,11 +6,11 @@ in
|
|||||||
{
|
{
|
||||||
# Policy: use the highest stable version as the default (on our master).
|
# Policy: use the highest stable version as the default (on our master).
|
||||||
stable = generic {
|
stable = generic {
|
||||||
version = "384.69";
|
version = "384.90";
|
||||||
sha256_32bit = "1zgq9vji0ndadvql3bsnd0a6p7pq0vr8d0yb5c8b22i2h9smhw1v";
|
sha256_32bit = "0mq0h7g56m9zvr42ipy2664ph922754l0pdp8wpsmzfpkzg6g9lp";
|
||||||
sha256_64bit = "0l3np6cx2rnb2q89zbnq4lvfcjl2g7i56hxwcb11ggijqm7ridx7";
|
sha256_64bit = "1ggylpzw1j217w64rspw4fhvq25wz0la0hhy0b1kxjpwy8h6ipqd";
|
||||||
settingsSha256 = "064va75p7dnkhy4hyi9b1gl4wjmrpjksg4cyiwl6n3lkmjnvmnwy";
|
settingsSha256 = "023jfbsxsbkjk78i9i6wd0sybv5hib2d7mfvy635w3anjcrsk5il";
|
||||||
persistencedSha256 = "0ijq25gnihw34qhkba62l5fy6lwkma94i0fxp8084byyilm3fwms";
|
persistencedSha256 = "166ya8pnv4frvrsp0x5zkg8li85vipags03wy6dlf8s940al92z2";
|
||||||
};
|
};
|
||||||
|
|
||||||
beta = generic {
|
beta = generic {
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
buildGoPackage rec {
|
buildGoPackage rec {
|
||||||
name = "dgraph-${version}";
|
name = "dgraph-${version}";
|
||||||
version = "0.8.1";
|
version = "0.8.2";
|
||||||
|
|
||||||
goPackagePath = "github.com/dgraph-io/dgraph";
|
goPackagePath = "github.com/dgraph-io/dgraph";
|
||||||
|
|
||||||
@ -10,13 +10,13 @@ buildGoPackage rec {
|
|||||||
owner = "dgraph-io";
|
owner = "dgraph-io";
|
||||||
repo = "dgraph";
|
repo = "dgraph";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1gls2pvgcmd364x84gz5fafs7pwkll4k352rg1lmv70wvzyydsdr";
|
sha256 = "0zc5bda8m2srjbk0gy1nnm0bya8if0kmk1szqr1qv3xifdzmi4nf";
|
||||||
};
|
};
|
||||||
|
|
||||||
extraOutputsToInstall = [ "dashboard" ];
|
extraOutputsToInstall = [ "dashboard" ];
|
||||||
|
|
||||||
goDeps = ./deps.nix;
|
goDeps = ./deps.nix;
|
||||||
subPackages = [ "cmd/dgraph" "cmd/dgraphloader" ];
|
subPackages = [ "cmd/dgraph" "cmd/dgraphloader" "cmd/bulkloader"];
|
||||||
|
|
||||||
# let's move the dashboard to a different output, to prevent $bin from
|
# let's move the dashboard to a different output, to prevent $bin from
|
||||||
# depending on $out
|
# depending on $out
|
||||||
@ -36,6 +36,7 @@ buildGoPackage rec {
|
|||||||
# Removing it fixes cycle between $out and $bin
|
# Removing it fixes cycle between $out and $bin
|
||||||
install_name_tool -delete_rpath $out/lib $bin/bin/dgraph
|
install_name_tool -delete_rpath $out/lib $bin/bin/dgraph
|
||||||
install_name_tool -delete_rpath $out/lib $bin/bin/dgraphloader
|
install_name_tool -delete_rpath $out/lib $bin/bin/dgraphloader
|
||||||
|
install_name_tool -delete_rpath $out/lib $bin/bin/bulkloader
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -94,8 +94,8 @@
|
|||||||
fetch = {
|
fetch = {
|
||||||
type = "git";
|
type = "git";
|
||||||
url = "https://github.com/coreos/etcd";
|
url = "https://github.com/coreos/etcd";
|
||||||
rev = "1ebeef5cbfe69c0dab2bc701ee5307eed7a7d8d2";
|
rev = "9d43462d174c664f5edf313dec0de31e1ef4ed47";
|
||||||
sha256 = "12lidn1a8nwsk6nlwyfirrxkxhs4lhj53f4cd19xm8w070q0mg19";
|
sha256 = "0qxqjxhhciaacag1jz2rlncmlgw861ig2yx993ylvfm30jvyj2cj";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
@ -112,8 +112,8 @@
|
|||||||
fetch = {
|
fetch = {
|
||||||
type = "git";
|
type = "git";
|
||||||
url = "https://github.com/dgraph-io/badger";
|
url = "https://github.com/dgraph-io/badger";
|
||||||
rev = "ad23a425b3c87b8223780cb882bed568ca14b9f0";
|
rev = "64df7f57d9ee20d7b28de4a3eea90bf8d7310a77";
|
||||||
sha256 = "1xjd05vska1kanmgdhp5cvkn2i6236rqphrc9i4kfjndgwkmas57";
|
sha256 = "1ikgzn2l62kb238n0wm6s95py5ypv71p09w7zyvzkjf34x675mzz";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
@ -139,8 +139,8 @@
|
|||||||
fetch = {
|
fetch = {
|
||||||
type = "git";
|
type = "git";
|
||||||
url = "https://github.com/golang/geo";
|
url = "https://github.com/golang/geo";
|
||||||
rev = "3a42ea109208469f16baf9e090135dd0e82ece5c";
|
rev = "31fb0106dc4a947e5aaee1fe186e56447f839510";
|
||||||
sha256 = "1fzlakjj94gv516q7gd9qycn91lij7wmjbdv0vsrh6qnxvgqr8hw";
|
sha256 = "00w4kwm98hrgr3ggfdk1h7qa5gp00z4s0j0iwgwd9rgadb59kb2c";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
@ -292,8 +292,8 @@
|
|||||||
fetch = {
|
fetch = {
|
||||||
type = "git";
|
type = "git";
|
||||||
url = "https://go.googlesource.com/text";
|
url = "https://go.googlesource.com/text";
|
||||||
rev = "836efe42bb4aa16aaa17b9c155d8813d336ed720";
|
rev = "1cbadb444a806fd9430d14ad08967ed91da4fa0a";
|
||||||
sha256 = "11s7bjk0karl1lx8v4n6dvdnsh702x4f2qlmnqac2qdz8hdswmi1";
|
sha256 = "0ih9ysagh4ylj08393497sscf3yziybc6acg4mrh0wa7mld75j56";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
@ -301,8 +301,8 @@
|
|||||||
fetch = {
|
fetch = {
|
||||||
type = "git";
|
type = "git";
|
||||||
url = "https://github.com/google/go-genproto";
|
url = "https://github.com/google/go-genproto";
|
||||||
rev = "b0a3dcfcd1a9bd48e63634bd8802960804cf8315";
|
rev = "1e559d0a00eef8a9a43151db4665280bd8dd5886";
|
||||||
sha256 = "0lkj73lyr4dzj2pxgmild0i1bl6kdgrxa3c8m44j5ms537pyxcpr";
|
sha256 = "1dfm8zd9mif1aswks79wgyi7n818s5brbdnnrrlg79whfhaf20hd";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
@ -310,8 +310,8 @@
|
|||||||
fetch = {
|
fetch = {
|
||||||
type = "git";
|
type = "git";
|
||||||
url = "https://github.com/grpc/grpc-go";
|
url = "https://github.com/grpc/grpc-go";
|
||||||
rev = "2bb318258959db281674bc6fd67b5167b7ff0d65";
|
rev = "f92cdcd7dcdc69e81b2d7b338479a19a8723cfa3";
|
||||||
sha256 = "1g8ir87ksr8549801vdgb0n6rmxws05ky50bkgjv86370h146cqm";
|
sha256 = "1li8rn2s4f8qc77npamlm2ijin44scb8vvd8c4cr0l7za2m89jfn";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, elk5Version, makeWrapper, jre, utillinux, getopt }:
|
{ stdenv, fetchurl, elk5Version, makeWrapper, jre_headless, utillinux, getopt }:
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
|
|
||||||
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
patches = [ ./es-home-5.x.patch ./es-classpath-5.x.patch ];
|
patches = [ ./es-home-5.x.patch ./es-classpath-5.x.patch ];
|
||||||
|
|
||||||
buildInputs = [ makeWrapper jre ] ++
|
buildInputs = [ makeWrapper jre_headless ] ++
|
||||||
(if (!stdenv.isDarwin) then [utillinux] else [getopt]);
|
(if (!stdenv.isDarwin) then [utillinux] else [getopt]);
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
@ -27,10 +27,10 @@ stdenv.mkDerivation rec {
|
|||||||
${if (!stdenv.isDarwin)
|
${if (!stdenv.isDarwin)
|
||||||
then ''--prefix PATH : "${utillinux}/bin/"''
|
then ''--prefix PATH : "${utillinux}/bin/"''
|
||||||
else ''--prefix PATH : "${getopt}/bin"''} \
|
else ''--prefix PATH : "${getopt}/bin"''} \
|
||||||
--set JAVA_HOME "${jre}" \
|
--set JAVA_HOME "${jre_headless}" \
|
||||||
--set ES_JVM_OPTIONS "$out/config/jvm.options"
|
--set ES_JVM_OPTIONS "$out/config/jvm.options"
|
||||||
|
|
||||||
wrapProgram $out/bin/elasticsearch-plugin --set JAVA_HOME "${jre}"
|
wrapProgram $out/bin/elasticsearch-plugin --set JAVA_HOME "${jre_headless}"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -11,7 +11,7 @@ let
|
|||||||
inherit sha256;
|
inherit sha256;
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" "lib" "doc" "man" ];
|
outputs = [ "out" "lib" "doc" "man" ];
|
||||||
setOutputFlags = false; # $out retains configureFlags :-/
|
setOutputFlags = false; # $out retains configureFlags :-/
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
@ -46,16 +46,18 @@ let
|
|||||||
let path = if atLeast "9.6" then "src/common/config_info.c" else "src/bin/pg_config/pg_config.c"; in
|
let path = if atLeast "9.6" then "src/common/config_info.c" else "src/bin/pg_config/pg_config.c"; in
|
||||||
''
|
''
|
||||||
# Hardcode the path to pgxs so pg_config returns the path in $out
|
# Hardcode the path to pgxs so pg_config returns the path in $out
|
||||||
substituteInPlace "${path}" --replace HARDCODED_PGXS_PATH $dev/lib
|
substituteInPlace "${path}" --replace HARDCODED_PGXS_PATH $out/lib
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postInstall =
|
postInstall =
|
||||||
''
|
''
|
||||||
moveToOutput "bin/pg_config" "$dev"
|
moveToOutput "lib/pgxs" "$out" # looks strange, but not deleting it
|
||||||
moveToOutput "lib/pgxs" "$dev" # looks strange, but not deleting it
|
|
||||||
moveToOutput "lib/*.a" "$out"
|
moveToOutput "lib/*.a" "$out"
|
||||||
moveToOutput "lib/libecpg*" "$out"
|
moveToOutput "lib/libecpg*" "$out"
|
||||||
|
|
||||||
|
# Prevent a retained dependency on gcc-wrapper.
|
||||||
|
substituteInPlace "$out/lib/pgxs/src/Makefile.global" --replace ${stdenv.cc}/bin/ld ld
|
||||||
|
|
||||||
# Remove static libraries in case dynamic are available.
|
# Remove static libraries in case dynamic are available.
|
||||||
for i in $out/lib/*.a; do
|
for i in $out/lib/*.a; do
|
||||||
name="$(basename "$i")"
|
name="$(basename "$i")"
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
{ stdenv, fetchFromGitHub, boost, sqlite }:
|
{ stdenv, fetchFromGitHub, boost, sqlite, cmake, gtest }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "udpt-${version}";
|
name = "udpt-${version}";
|
||||||
version = "2016-02-20"; # v2.0-rc0 with sample config
|
version = "2017-09-27";
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
@ -12,11 +12,21 @@ stdenv.mkDerivation rec {
|
|||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "naim94a";
|
owner = "naim94a";
|
||||||
repo = "udpt";
|
repo = "udpt";
|
||||||
rev = "0790558de8b5bb841bb10a9115bbf72c3b4711b5";
|
rev = "e0dffc83c8ce76b08a41a4abbd5f8065535d534f";
|
||||||
sha256 = "0rgkjwvnqwbnqy7pm3dk176d3plb5lypaf12533yr0yfzcp6gnzk";
|
sha256 = "187dw96mzgcmh4k9pvfpb7ckbb8d4vlikamr2x8vkpwzgjs3xd6g";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ boost sqlite ];
|
doCheck = true;
|
||||||
|
|
||||||
|
checkPhase = ''
|
||||||
|
runHook preCheck
|
||||||
|
|
||||||
|
make test
|
||||||
|
|
||||||
|
runHook postCheck
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildInputs = [ boost sqlite cmake gtest ];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
# Enabling optimization (implied by fortify hardening) causes htons
|
# Enabling optimization (implied by fortify hardening) causes htons
|
||||||
@ -27,7 +37,7 @@ stdenv.mkDerivation rec {
|
|||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin $out/etc/
|
mkdir -p $out/bin $out/etc/
|
||||||
cp udpt $out/bin
|
cp udpt $out/bin
|
||||||
cp udpt.conf $out/etc/
|
cp ../udpt.conf $out/etc/
|
||||||
# without this, the resulting binary is unstripped.
|
# without this, the resulting binary is unstripped.
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
54
pkgs/tools/X11/xwinwrap/default.nix
Normal file
54
pkgs/tools/X11/xwinwrap/default.nix
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
{ stdenv, fetchbzr, x11 }:
|
||||||
|
|
||||||
|
let
|
||||||
|
version = "4";
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "xwinwrap-${version}";
|
||||||
|
|
||||||
|
src = fetchbzr {
|
||||||
|
url = https://code.launchpad.net/~shantanu-goel/xwinwrap/devel;
|
||||||
|
rev = version;
|
||||||
|
sha256 = "1annhqc71jcgx5zvcy31c1c488ygx4q1ygrwyy2y0ww743smbchw";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
x11
|
||||||
|
];
|
||||||
|
|
||||||
|
buildPhase = if stdenv.system == "x86_64-linux" then ''
|
||||||
|
make all64
|
||||||
|
'' else if stdenv.system == "i686-linux" then ''
|
||||||
|
make all32
|
||||||
|
'' else throw "xwinwrap is not supported on ${stdenv.system}";
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
mv */xwinwrap $out/bin
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "A utility that allows you to use an animated X window as the wallpaper";
|
||||||
|
longDescription = ''
|
||||||
|
XWinWrap is a small utility written a loooong time ago that allowed you to
|
||||||
|
stick most of the apps to your desktop background. What this meant was you
|
||||||
|
could use an animated screensaver (like glmatrix, electric sheep, etc) or
|
||||||
|
even a movie, and use it as your wallpaper. But only one version of this
|
||||||
|
app was ever released, and it had a few problems, like:
|
||||||
|
|
||||||
|
- Well, sticking didn’t work. So if you did a “minimize all” or “go to
|
||||||
|
desktop” kind of thing, your “wallpaper” got minimized as well.
|
||||||
|
|
||||||
|
- The geometry option didn’t work, so you could not create, e.g., a small
|
||||||
|
matrix window surrounded by your original wallpaper.
|
||||||
|
|
||||||
|
Seeing no-one picking it up, I decided to give it a bit of polish last
|
||||||
|
weekend by fixing the above problems and also add a few features. And here
|
||||||
|
it is, in its new avatar “Shantz XWinWrap”.
|
||||||
|
'';
|
||||||
|
license = licenses.hpnd;
|
||||||
|
homepage = https://shantanugoel.com/2008/09/03/shantz-xwinwrap/;
|
||||||
|
maintainers = with maintainers; [ infinisil ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
@ -12,9 +12,9 @@ stdenv.mkDerivation rec {
|
|||||||
# acl relies on attr, which I can't get to build on darwin
|
# acl relies on attr, which I can't get to build on darwin
|
||||||
++ stdenv.lib.optional (!stdenv.isDarwin) acl;
|
++ stdenv.lib.optional (!stdenv.isDarwin) acl;
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--with-sqlite3=${sqlite.dev}"
|
"--with-sqlite3=${sqlite.dev}"
|
||||||
"--with-postgresql=${postgresql.dev}"
|
"--with-postgresql=${postgresql}"
|
||||||
];
|
];
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
{ stdenv
|
{ stdenv
|
||||||
, fetchurl
|
, fetchurl
|
||||||
|
, gcc
|
||||||
|
, removeReferencesTo
|
||||||
, cpp ? false
|
, cpp ? false
|
||||||
, gfortran ? null
|
, gfortran ? null
|
||||||
, zlib ? null
|
, zlib ? null
|
||||||
@ -30,6 +32,8 @@ stdenv.mkDerivation rec {
|
|||||||
inherit mpi;
|
inherit mpi;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ removeReferencesTo ];
|
||||||
|
|
||||||
buildInputs = []
|
buildInputs = []
|
||||||
++ optional (gfortran != null) gfortran
|
++ optional (gfortran != null) gfortran
|
||||||
++ optional (szip != null) szip;
|
++ optional (szip != null) szip;
|
||||||
@ -47,6 +51,10 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
patches = [./bin-mv.patch];
|
patches = [./bin-mv.patch];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
find "$out" -type f -exec remove-references-to -t ${stdenv.cc} '{}' +
|
||||||
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Data model, library, and file format for storing and managing data";
|
description = "Data model, library, and file format for storing and managing data";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
{ stdenv, fetchgit, perl, cdrkit, syslinux, xz, openssl }:
|
{ stdenv, fetchgit, perl, cdrkit, syslinux, xz, openssl }:
|
||||||
|
|
||||||
let
|
let
|
||||||
date = "20160831";
|
date = "20170922";
|
||||||
rev = "827dd1bfee67daa683935ce65316f7e0f057fe1c";
|
rev = "74d90b33f8490adcee2026ece18d8411d93b6a39";
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
@ -12,7 +12,7 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = git://git.ipxe.org/ipxe.git;
|
url = git://git.ipxe.org/ipxe.git;
|
||||||
sha256 = "11w8b0vln3skfn8r1cvzngslz12njdkwmnacyq3qffb96k2dn2ww";
|
sha256 = "12ijrq451fj2x3i7c7xjlxig5mwbhmgzqjvmfl2sza953vfbk4vw";
|
||||||
inherit rev;
|
inherit rev;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -40,6 +40,10 @@ stdenv.mkDerivation {
|
|||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
cp bin/ipxe.dsk bin/ipxe.usb bin/ipxe.iso bin/ipxe.lkrn bin/undionly.kpxe $out
|
cp bin/ipxe.dsk bin/ipxe.usb bin/ipxe.iso bin/ipxe.lkrn bin/undionly.kpxe $out
|
||||||
|
|
||||||
|
# Some PXE constellations especially with dnsmasq are looking for the file with .0 ending
|
||||||
|
# let's provide it as a symlink to be compatible in this case.
|
||||||
|
ln -s undionly.kpxe $out/undionly.kpxe.0
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib;
|
meta = with stdenv.lib;
|
||||||
|
@ -15,11 +15,11 @@ with stdenv.lib;
|
|||||||
buildPythonApplication rec {
|
buildPythonApplication rec {
|
||||||
|
|
||||||
name = "youtube-dl-${version}";
|
name = "youtube-dl-${version}";
|
||||||
version = "2017.09.15";
|
version = "2017.09.24";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://yt-dl.org/downloads/${version}/${name}.tar.gz";
|
url = "https://yt-dl.org/downloads/${version}/${name}.tar.gz";
|
||||||
sha256 = "1kw8pqzvhbpyxcz2jb692j4cgzd3vmd81mra09xvpzkq974jkx7f";
|
sha256 = "0j2m75j0d1n83i7jzpkcj7ir0bkskj024j9b0yi88zipcg740wbx";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
|
|||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--localstatedir=/var"
|
"--localstatedir=/var"
|
||||||
"--with-botan-config=${botan}/bin/botan-config-1.10"
|
"--with-botan-config=${botan}/bin/botan-config-1.10"
|
||||||
"--with-dhcp-pgsql=${postgresql.dev}/bin/pg_config"
|
"--with-dhcp-pgsql=${postgresql}/bin/pg_config"
|
||||||
"--with-dhcp-mysql=${mysql.client.dev}/bin/mysql_config"
|
"--with-dhcp-mysql=${mysql.client.dev}/bin/mysql_config"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
{ stdenv, fetchurl, gnutls, pkgconfig, readline, zlib, libidn2, gmp, libiconv, gettext }:
|
{ stdenv, fetchurl, gnutls, pkgconfig, readline, zlib, libidn2, gmp, libiconv, libunistring, gettext }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "lftp-${version}";
|
name = "lftp-${version}";
|
||||||
version = "4.8.0";
|
version = "4.8.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
urls = [
|
urls = [
|
||||||
@ -10,12 +10,12 @@ stdenv.mkDerivation rec {
|
|||||||
"ftp://ftp.st.ryukoku.ac.jp/pub/network/ftp/lftp/${name}.tar.bz2"
|
"ftp://ftp.st.ryukoku.ac.jp/pub/network/ftp/lftp/${name}.tar.bz2"
|
||||||
"http://lftp.yar.ru/ftp/old/${name}.tar.bz2"
|
"http://lftp.yar.ru/ftp/old/${name}.tar.bz2"
|
||||||
];
|
];
|
||||||
sha256 = "0z2432zxzg808swi72yak9kia976qrjj030grk0v4p54mcib3s34";
|
sha256 = "0a4sp9khqgny1md0b2c9vvg4c7sz0g31w3sfdslxw7dsvijin3mn";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
|
||||||
buildInputs = [ gnutls readline zlib libidn2 gmp libiconv ]
|
buildInputs = [ gnutls readline zlib libidn2 gmp libiconv libunistring ]
|
||||||
++ stdenv.lib.optional stdenv.isDarwin gettext;
|
++ stdenv.lib.optional stdenv.isDarwin gettext;
|
||||||
|
|
||||||
hardeningDisable = stdenv.lib.optional stdenv.isDarwin "format";
|
hardeningDisable = stdenv.lib.optional stdenv.isDarwin "format";
|
||||||
|
@ -5157,6 +5157,8 @@ with pkgs;
|
|||||||
|
|
||||||
xwinmosaic = callPackage ../tools/X11/xwinmosaic {};
|
xwinmosaic = callPackage ../tools/X11/xwinmosaic {};
|
||||||
|
|
||||||
|
xwinwrap = callPackage ../tools/X11/xwinwrap {};
|
||||||
|
|
||||||
yaft = callPackage ../applications/misc/yaft { };
|
yaft = callPackage ../applications/misc/yaft { };
|
||||||
|
|
||||||
yarn = callPackage ../development/tools/yarn { };
|
yarn = callPackage ../development/tools/yarn { };
|
||||||
@ -9906,17 +9908,9 @@ with pkgs;
|
|||||||
|
|
||||||
openbabel = callPackage ../development/libraries/openbabel { };
|
openbabel = callPackage ../development/libraries/openbabel { };
|
||||||
|
|
||||||
opencascade = callPackage ../development/libraries/opencascade {
|
opencascade = callPackage ../development/libraries/opencascade { };
|
||||||
tcl = tcl-8_5;
|
|
||||||
tk = tk-8_5;
|
|
||||||
};
|
|
||||||
|
|
||||||
opencascade_6_5 = callPackage ../development/libraries/opencascade/6.5.nix {
|
opencascade_oce = opencascade;
|
||||||
automake = automake111x;
|
|
||||||
ftgl = ftgl212;
|
|
||||||
};
|
|
||||||
|
|
||||||
opencascade_oce = callPackage ../development/libraries/opencascade/oce.nix { };
|
|
||||||
|
|
||||||
opencl-headers = callPackage ../development/libraries/opencl-headers { };
|
opencl-headers = callPackage ../development/libraries/opencl-headers { };
|
||||||
|
|
||||||
@ -11123,6 +11117,10 @@ with pkgs;
|
|||||||
go = go_1_8;
|
go = go_1_8;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
buildGo19Package = callPackage ../development/go-modules/generic {
|
||||||
|
go = go_1_9;
|
||||||
|
};
|
||||||
|
|
||||||
buildGoPackage = buildGo18Package;
|
buildGoPackage = buildGo18Package;
|
||||||
|
|
||||||
go2nix = callPackage ../development/tools/go2nix { };
|
go2nix = callPackage ../development/tools/go2nix { };
|
||||||
@ -11684,7 +11682,7 @@ with pkgs;
|
|||||||
libmemcached = null; # Detection is broken upstream
|
libmemcached = null; # Detection is broken upstream
|
||||||
};
|
};
|
||||||
|
|
||||||
postgresql = postgresql95;
|
postgresql = postgresql96;
|
||||||
|
|
||||||
inherit (callPackages ../servers/sql/postgresql { })
|
inherit (callPackages ../servers/sql/postgresql { })
|
||||||
postgresql93
|
postgresql93
|
||||||
@ -14546,7 +14544,6 @@ with pkgs;
|
|||||||
|
|
||||||
freecad = callPackage ../applications/graphics/freecad {
|
freecad = callPackage ../applications/graphics/freecad {
|
||||||
boost = boost155;
|
boost = boost155;
|
||||||
opencascade = opencascade_oce;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
freemind = callPackage ../applications/misc/freemind { };
|
freemind = callPackage ../applications/misc/freemind { };
|
||||||
|
@ -7156,6 +7156,8 @@ in {
|
|||||||
|
|
||||||
pycassa = callPackage ../development/python-modules/pycassa { };
|
pycassa = callPackage ../development/python-modules/pycassa { };
|
||||||
|
|
||||||
|
pyblake2 = callPackage ../development/python-modules/pyblake2 { };
|
||||||
|
|
||||||
pybluez = buildPythonPackage rec {
|
pybluez = buildPythonPackage rec {
|
||||||
version = "unstable-20160819";
|
version = "unstable-20160819";
|
||||||
pname = "pybluez";
|
pname = "pybluez";
|
||||||
@ -18428,26 +18430,8 @@ in {
|
|||||||
|
|
||||||
requests_oauthlib = callPackage ../development/python-modules/requests-oauthlib.nix { };
|
requests_oauthlib = callPackage ../development/python-modules/requests-oauthlib.nix { };
|
||||||
|
|
||||||
requests_toolbelt = buildPythonPackage rec {
|
requests-toolbelt = callPackage ../development/python-modules/requests-toolbelt { };
|
||||||
version = "0.7.1";
|
requests_toolbelt = self.requests-toolbelt; # Old attr, 2017-09-26
|
||||||
name = "requests-toolbelt-${version}";
|
|
||||||
|
|
||||||
src = pkgs.fetchurl {
|
|
||||||
url = "https://github.com/sigmavirus24/requests-toolbelt/archive/${version}.tar.gz";
|
|
||||||
sha256 = "16grklnbgcfwqj3f39gw7fc9afi7xlp9gm7x8w6mi81dzhdxf50y";
|
|
||||||
};
|
|
||||||
|
|
||||||
propagatedBuildInputs = with self; [ requests ];
|
|
||||||
|
|
||||||
buildInputs = with self; [ betamax mock pytest ];
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "A toolbelt of useful classes and functions to be used with python-requests";
|
|
||||||
homepage = http://toolbelt.rtfd.org;
|
|
||||||
maintainers = with maintainers; [ matthiasbeyer jgeerds ];
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
retry_decorator = buildPythonPackage rec {
|
retry_decorator = buildPythonPackage rec {
|
||||||
name = "retry_decorator-1.0.0";
|
name = "retry_decorator-1.0.0";
|
||||||
@ -21944,27 +21928,7 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
twine = buildPythonPackage rec {
|
twine = callPackage ../development/python-modules/twine { };
|
||||||
name = "twine-${version}";
|
|
||||||
version = "1.8.1";
|
|
||||||
|
|
||||||
src = pkgs.fetchurl {
|
|
||||||
url = "mirror://pypi/t/twine/${name}.tar.gz";
|
|
||||||
sha256 = "68b663691a947b844f92853c992d42bb68b6333bffc9ab7f661346b001c1da82";
|
|
||||||
};
|
|
||||||
|
|
||||||
propagatedBuildInputs = with self; [ clint pkginfo requests requests_toolbelt ];
|
|
||||||
|
|
||||||
# Requires network
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "Collection of utilities for interacting with PyPI";
|
|
||||||
homepage = https://github.com/pypa/twine;
|
|
||||||
license = licenses.asl20;
|
|
||||||
maintainer = with maintainers; [ fridh ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
twisted = callPackage ../development/python-modules/twisted { };
|
twisted = callPackage ../development/python-modules/twisted { };
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user