Merge remote-tracking branch 'upstream/master' into HEAD

This commit is contained in:
Frederik Rietdijk 2017-05-22 09:21:40 +02:00
commit 99cfab07b9
188 changed files with 22491 additions and 54822 deletions

View File

@ -71,6 +71,7 @@
benwbooth = "Ben Booth <benwbooth@gmail.com>";
berdario = "Dario Bertini <berdario@gmail.com>";
bergey = "Daniel Bergey <bergey@teallabs.org>";
bhipple = "Benjamin Hipple <bhipple@protonmail.com>";
bjg = "Brian Gough <bjg@gnu.org>";
bjornfor = "Bjørn Forsman <bjorn.forsman@gmail.com>";
bluescreen303 = "Mathijs Kwik <mathijs@bluescreen303.nl>";
@ -220,6 +221,7 @@
hinton = "Tom Hinton <t@larkery.com>";
hodapp = "Chris Hodapp <hodapp87@gmail.com>";
hrdinka = "Christoph Hrdinka <c.nix@hrdinka.at>";
htr = "Hugo Tavares Reis <hugo@linux.com>";
iand675 = "Ian Duncan <ian@iankduncan.com>";
ianwookim = "Ian-Woo Kim <ianwookim@gmail.com>";
igsha = "Igor Sharonov <igor.sharonov@gmail.com>";
@ -297,6 +299,7 @@
lsix = "Lancelot SIX <lsix@lancelotsix.com>";
lucas8 = "Luc Chabassier <luc.linux@mailoo.org>";
ludo = "Ludovic Courtès <ludo@gnu.org>";
lufia = "Kyohei Kadota <lufia@lufia.org>";
luispedro = "Luis Pedro Coelho <luis@luispedro.org>";
lukego = "Luke Gorrie <luke@snabb.co>";
lw = "Sergey Sofeychuk <lw@fmap.me>";
@ -333,6 +336,7 @@
michaelpj = "Michael Peyton Jones <michaelpj@gmail.com>";
michalrus = "Michal Rus <m@michalrus.com>";
michelk = "Michel Kuhlmann <michel@kuhlmanns.info>";
midchildan = "midchildan <midchildan+nix@gmail.com>";
mikefaille = "Michaël Faille <michael@faille.io>";
miltador = "Vasiliy Solovey <miltador@yandex.ua>";
mimadrid = "Miguel Madrid <mimadrid@ucm.es>";
@ -452,6 +456,7 @@
rht = "rht <rhtbot@protonmail.com>";
rick68 = "Wei-Ming Yang <rick68@gmail.com>";
rickynils = "Rickard Nilsson <rickynils@gmail.com>";
ris = "Robert Scott <code@humanleg.org.uk>";
rlupton20 = "Richard Lupton <richard.lupton@gmail.com>";
rnhmjoj = "Michele Guerini Rocco <micheleguerinirocco@me.com>";
rob = "Rob Vermaas <rob.vermaas@gmail.com>";
@ -562,6 +567,7 @@
vlstill = "Vladimír Štill <xstill@fi.muni.cz>";
vmandela = "Venkateswara Rao Mandela <venkat.mandela@gmail.com>";
vmchale = "Vanessa McHale <tmchale@wisc.edu>";
valeriangalliat = "Valérian Galliat <val@codejam.info>";
volhovm = "Mikhail Volkhov <volhovm.cs@gmail.com>";
volth = "Jaroslavas Pocepko <jaroslavas@volth.com>";
vozz = "Oliver Hunt <oliver.huntuk@gmail.com>";
@ -586,6 +592,7 @@
yurrriq = "Eric Bailey <eric@ericb.me>";
z77z = "Marco Maggesi <maggesi@math.unifi.it>";
zagy = "Christian Zagrodnick <cz@flyingcircus.io>";
zalakain = "Unai Zalakain <contact@unaizalakain.info>";
zauberpony = "Elmar Athmer <elmar@athmer.org>";
zef = "Zef Hemel <zef@zef.me>";
zimbatm = "zimbatm <zimbatm@zimbatm.com>";

View File

@ -41,8 +41,9 @@ options = {
<term><varname>default</varname></term>
<listitem>
<para>The default value used if no value is defined by any
module. A default is not required; in that case, if the option
value is never used, an error will be thrown.</para>
module. A default is not required; but if a default is not given,
then users of the module will have to define the value of the
option, otherwise an error will be thrown.</para>
</listitem>
</varlistentry>

View File

@ -282,7 +282,7 @@ config.mod.two = { foo = 2; bar = "two"; };</screen></example>
<screen>
byte = mkOption {
description = "An integer between 0 and 255.";
type = addCheck (x: x &gt;= 0 &amp;&amp; x &lt;= 255) types.int;
type = addCheck types.int (x: x &gt;= 0 &amp;&amp; x &lt;= 255);
};</screen></example>
<example xml:id='ex-extending-type-check-2'><title>Overriding a type

View File

@ -37,15 +37,7 @@
</orderedlist>
<para>
There are a few modifications you should make in configuration.nix. Enable
the virtualbox guest service in the main block:
</para>
<programlisting>
virtualisation.virtualbox.guest.enable = true;
</programlisting>
<para>
There are a few modifications you should make in configuration.nix.
Enable booting:
</para>

View File

@ -617,29 +617,19 @@ sub copyFileFromHost {
my %charToKey = (
'!' => "shift-0x02",
'@' => "shift-0x03",
'#' => "shift-0x04",
'$' => "shift-0x05",
'%' => "shift-0x06",
'^' => "shift-0x07",
'&' => "shift-0x08",
'*' => "shift-0x09",
'(' => "shift-0x0A",
')' => "shift-0x0B",
'-' => "0x0C", '_' => "shift-0x0C",
'=' => "0x0D", '+' => "shift-0x0D",
'[' => "0x1A", '{' => "shift-0x1A",
']' => "0x1B", '}' => "shift-0x1B",
';' => "0x27", ':' => "shift-0x27",
'\'' => "0x28", '"' => "shift-0x28",
'`' => "0x29", '~' => "shift-0x29",
'\\' => "0x2B", '|' => "shift-0x2B",
',' => "0x33", '<' => "shift-0x33",
'.' => "0x34", '>' => "shift-0x34",
'/' => "0x35", '?' => "shift-0x35",
' ' => "spc",
"\n" => "ret",
'A' => "shift-a", 'N' => "shift-n", '-' => "0x0C", '_' => "shift-0x0C", '!' => "shift-0x02",
'B' => "shift-b", 'O' => "shift-o", '=' => "0x0D", '+' => "shift-0x0D", '@' => "shift-0x03",
'C' => "shift-c", 'P' => "shift-p", '[' => "0x1A", '{' => "shift-0x1A", '#' => "shift-0x04",
'D' => "shift-d", 'Q' => "shift-q", ']' => "0x1B", '}' => "shift-0x1B", '$' => "shift-0x05",
'E' => "shift-e", 'R' => "shift-r", ';' => "0x27", ':' => "shift-0x27", '%' => "shift-0x06",
'F' => "shift-f", 'S' => "shift-s", '\'' => "0x28", '"' => "shift-0x28", '^' => "shift-0x07",
'G' => "shift-g", 'T' => "shift-t", '`' => "0x29", '~' => "shift-0x29", '&' => "shift-0x08",
'H' => "shift-h", 'U' => "shift-u", '\\' => "0x2B", '|' => "shift-0x2B", '*' => "shift-0x09",
'I' => "shift-i", 'V' => "shift-v", ',' => "0x33", '<' => "shift-0x33", '(' => "shift-0x0A",
'J' => "shift-j", 'W' => "shift-w", '.' => "0x34", '>' => "shift-0x34", ')' => "shift-0x0B",
'K' => "shift-k", 'X' => "shift-x", '/' => "0x35", '?' => "shift-0x35",
'L' => "shift-l", 'Y' => "shift-y", ' ' => "spc",
'M' => "shift-m", 'Z' => "shift-z", "\n" => "ret",
);

View File

@ -370,6 +370,7 @@
./services/network-filesystems/cachefilesd.nix
./services/network-filesystems/drbd.nix
./services/network-filesystems/glusterfs.nix
./services/network-filesystems/kbfs.nix
./services/network-filesystems/ipfs.nix
./services/network-filesystems/netatalk.nix
./services/network-filesystems/nfsd.nix
@ -431,10 +432,12 @@
./services/networking/iodine.nix
./services/networking/ircd-hybrid/default.nix
./services/networking/keepalived/default.nix
./services/networking/keybase.nix
./services/networking/kippo.nix
./services/networking/kresd.nix
./services/networking/lambdabot.nix
./services/networking/libreswan.nix
./services/networking/lldpd.nix
./services/networking/logmein-hamachi.nix
./services/networking/mailpile.nix
./services/networking/mfi.nix

View File

@ -104,8 +104,6 @@ in
environment.etc."fish/foreign-env/interactiveShellInit".text = cfge.interactiveShellInit;
environment.etc."fish/nixos-env-preinit.fish".text = ''
# avoid clobbering the environment if it's been set by a parent shell
# This happens before $__fish_datadir/config.fish sets fish_function_path, so it is currently
# unset. We set it and then completely erase it, leaving its configuration to $__fish_datadir/config.fish
set fish_function_path ${pkgs.fish-foreign-env}/share/fish-foreign-env/functions $__fish_datadir/functions
@ -120,7 +118,7 @@ in
environment.etc."fish/config.fish".text = ''
# /etc/fish/config.fish: DO NOT EDIT -- this file has been generated automatically.
# if our parent shell didn't source the general config, do it
# if we haven't sourced the general config, do it
if not set -q __fish_nixos_general_config_sourced
set fish_function_path ${pkgs.fish-foreign-env}/share/fish-foreign-env/functions $fish_function_path
fenv source /etc/fish/foreign-env/shellInit > /dev/null
@ -128,11 +126,12 @@ in
${cfg.shellInit}
# and leave a note to our children to spare them the same work
set -gx __fish_nixos_general_config_sourced 1
# and leave a note so we don't source this config section again from
# this very shell (children will source the general config anew)
set -g __fish_nixos_general_config_sourced 1
end
# if our parent shell didn't source the login config, do it
# if we haven't sourced the login config, do it
status --is-login; and not set -q __fish_nixos_login_config_sourced
and begin
set fish_function_path ${pkgs.fish-foreign-env}/share/fish-foreign-env/functions $fish_function_path
@ -141,11 +140,12 @@ in
${cfg.loginShellInit}
# and leave a note to our children to spare them the same work
set -gx __fish_nixos_login_config_sourced 1
# and leave a note so we don't source this config section again from
# this very shell (children will source the general config anew)
set -g __fish_nixos_login_config_sourced 1
end
# if our parent shell didn't source the interactive config, do it
# if we haven't sourced the interactive config, do it
status --is-interactive; and not set -q __fish_nixos_interactive_config_sourced
and begin
${fishAliases}
@ -158,8 +158,10 @@ in
${cfg.promptInit}
${cfg.interactiveShellInit}
# and leave a note to our children to spare them the same work
set -gx __fish_nixos_interactive_config_sourced 1
# and leave a note so we don't source this config section again from
# this very shell (children will source the general config anew,
# allowing configuration changes in, e.g, aliases, to propagate)
set -g __fish_nixos_interactive_config_sourced 1
end
'';

View File

@ -3,11 +3,11 @@
with lib;
let
cfg = config.programs.zsh.syntax-highlighting;
cfg = config.programs.zsh.syntaxHighlighting;
in
{
options = {
programs.zsh.syntax-highlighting = {
programs.zsh.syntaxHighlighting = {
enable = mkOption {
default = false;
type = types.bool;

View File

@ -206,6 +206,9 @@ with lib;
(mkRemovedOptionModule [ "fonts" "fontconfig" "renderMonoTTFAsBitmap" ] "")
# ZSH
(mkRenamedOptionModule [ "programs" "zsh" "enableSyntaxHighlighting" ] [ "programs" "zsh" "syntax-highlighting" "enable" ])
(mkRenamedOptionModule [ "programs" "zsh" "enableSyntaxHighlighting" ] [ "programs" "zsh" "syntaxHighlighting" "enable" ])
(mkRenamedOptionModule [ "programs" "zsh" "syntax-highlighting" "enable" ] [ "programs" "zsh" "syntaxHighlighting" "enable" ])
(mkRenamedOptionModule [ "programs" "zsh" "syntax-highlighting" "highlighters" ] [ "programs" "zsh" "syntaxHighlighting" "highlighters" ])
(mkRenamedOptionModule [ "programs" "zsh" "syntax-highlighting" "patterns" ] [ "programs" "zsh" "syntaxHighlighting" "patterns" ])
];
}

View File

@ -18,6 +18,7 @@ in
systemd.services = {
"znapzend" = {
description = "ZnapZend - ZFS Backup System";
wantedBy = [ "zfs.target" ];
after = [ "zfs.target" ];
path = with pkgs; [ zfs mbuffer openssh ];
@ -28,6 +29,5 @@ in
};
};
};
};
}

View File

@ -101,6 +101,22 @@ in {
'';
};
plugins = mkOption {
default = null;
#type = types.nullOr (types.attrsOf types.package);
description = ''
A set of plugins to activate. Note that this will completely
remove and replace any previously installed plugins. If you
have manually-installed plugins that you want to keep while
using this module, set this option to
<literal>null</literal>. You can generate this set with a
tool such as <literal>jenkinsPlugins2nix</literal>.
'';
example = literalExample ''
import path/to/jenkinsPlugins2nix-generated-plugins.nix { inherit (pkgs) fetchurl stdenv; }
'';
};
extraOptions = mkOption {
type = types.listOf types.str;
default = [ ];
@ -149,9 +165,24 @@ in {
path = cfg.packages;
# Force .war (re)extraction, or else we might run stale Jenkins.
preStart = ''
rm -rf ${cfg.home}/war
'';
preStart =
let replacePlugins =
if isNull cfg.plugins
then ""
else
let pluginCmds = lib.attrsets.mapAttrsToList
(n: v: "cp ${v} ${cfg.home}/plugins/${n}.hpi")
cfg.plugins;
in ''
rm -r ${cfg.home}/plugins
mkdir -p ${cfg.home}/plugins
${lib.strings.concatStringsSep "\n" pluginCmds}
'';
in ''
rm -rf ${cfg.home}/war
${replacePlugins}
'';
script = ''
${pkgs.jdk}/bin/java -jar ${pkgs.jenkins}/webapps/jenkins.war --httpListenAddress=${cfg.listenAddress} \

View File

@ -22,6 +22,12 @@ in
default = "emby";
description = "Group under which emby runs.";
};
dataDir = mkOption {
type = types.path;
default = "/var/lib/emby/ProgramData-Server";
description = "Location where Emby stores its data.";
};
};
};
@ -31,10 +37,10 @@ in
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
preStart = ''
test -d /var/lib/emby/ProgramData-Server || {
echo "Creating initial Emby data directory in /var/lib/emby/ProgramData-Server"
mkdir -p /var/lib/emby/ProgramData-Server
chown -R ${cfg.user}:${cfg.group} /var/lib/emby/ProgramData-Server
test -d ${cfg.dataDir} || {
echo "Creating initial Emby data directory in ${cfg.dataDir}"
mkdir -p ${cfg.dataDir}
chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir}
}
'';

View File

@ -605,6 +605,7 @@ in {
} ];
systemd.services.matrix-synapse = {
description = "Synapse Matrix homeserver";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
preStart = ''
@ -620,6 +621,7 @@ in {
WorkingDirectory = "/var/lib/matrix-synapse";
PermissionsStartOnly = true;
ExecStart = "${cfg.package}/bin/homeserver --config-path ${configFile} --keys-directory /var/lib/matrix-synapse";
Restart = "on-failure";
};
};
};

View File

@ -0,0 +1,62 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.kbfs;
in {
###### interface
options = {
services.kbfs = {
enable = mkOption {
type = types.bool;
default = false;
description = "Whether to mount the Keybase filesystem.";
};
mountPoint = mkOption {
type = types.str;
default = "%h/keybase";
example = "/keybase";
description = "Mountpoint for the Keybase filesystem.";
};
extraFlags = mkOption {
type = types.listOf types.str;
default = [];
example = [
"-label kbfs"
"-mount-type normal"
];
description = ''
Additional flags to pass to the Keybase filesystem on launch.
'';
};
};
};
###### implementation
config = mkIf cfg.enable {
systemd.user.services.kbfs = {
description = "Keybase File System";
requires = [ "keybase.service" ];
after = [ "keybase.service" ];
path = [ "/run/wrappers" ];
serviceConfig = {
ExecStartPre = "${pkgs.coreutils}/bin/mkdir -p ${cfg.mountPoint}";
ExecStart = "${pkgs.kbfs}/bin/kbfsfuse ${toString cfg.extraFlags} ${cfg.mountPoint}";
ExecStopPost = "/run/wrappers/bin/fusermount -u ${cfg.mountPoint}";
Restart = "on-failure";
PrivateTmp = true;
};
};
services.keybase.enable = true;
};
}

View File

@ -0,0 +1,40 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.keybase;
in {
###### interface
options = {
services.keybase = {
enable = mkOption {
type = types.bool;
default = false;
description = "Whether to start the Keybase service.";
};
};
};
###### implementation
config = mkIf cfg.enable {
systemd.user.services.keybase = {
description = "Keybase service";
serviceConfig = {
ExecStart = ''
${pkgs.keybase}/bin/keybase service
'';
Restart = "on-failure";
PrivateTmp = true;
};
};
environment.systemPackages = [ pkgs.keybase ];
};
}

View File

@ -0,0 +1,43 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.lldpd;
in
{
options.services.lldpd = {
enable = mkEnableOption "Link Layer Discovery Protocol Daemon";
extraArgs = mkOption {
type = types.listOf types.str;
default = [];
example = [ "-c" "-k" "-I eth0" ];
description = "List of command line parameters for lldpd";
};
};
config = mkIf cfg.enable {
users.extraUsers._lldpd = {
description = "lldpd user";
group = "_lldpd";
home = "/var/run/lldpd";
};
users.extraGroups._lldpd = {};
environment.systemPackages = [ pkgs.lldpd ];
systemd.services.lldpd = {
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
requires = [ "network.target" ];
serviceConfig = {
ExecStart = "${pkgs.lldpd}/bin/lldpd -d ${concatStringsSep " " cfg.extraArgs}";
PrivateTmp = true;
PrivateDevices = true;
};
};
};
}

View File

@ -124,7 +124,7 @@ in {
type = types.attrsOf types.package;
default = { inherit networkmanager modemmanager wpa_supplicant
networkmanager_openvpn networkmanager_vpnc
networkmanager_openconnect
networkmanager_openconnect networkmanager_fortisslvpn
networkmanager_pptp networkmanager_l2tp; };
internal = true;
};
@ -222,6 +222,9 @@ in {
{ source = "${networkmanager_openconnect}/etc/NetworkManager/VPN/nm-openconnect-service.name";
target = "NetworkManager/VPN/nm-openconnect-service.name";
}
{ source = "${networkmanager_fortisslvpn}/etc/NetworkManager/VPN/nm-fortisslvpn-service.name";
target = "NetworkManager/VPN/nm-fortisslvpn-service.name";
}
{ source = "${networkmanager_pptp}/etc/NetworkManager/VPN/nm-pptp-service.name";
target = "NetworkManager/VPN/nm-pptp-service.name";
}

View File

@ -37,7 +37,7 @@ let
IPv6 = true
SSL = ${boolToString confOpts.useSSL}
</Listener>
<User ${confOpts.userName}>
${confOpts.passBlock}
Admin = true
@ -50,9 +50,12 @@ let
${ lib.concatStringsSep "\n" (lib.mapAttrsToList (name: net: ''
<Network ${name}>
${concatMapStrings (m: "LoadModule = ${m}\n") net.modules}
Server = ${net.server} ${if net.useSSL then "+" else ""}${toString net.port}
Server = ${net.server} ${lib.optionalString net.useSSL "+"}${toString net.port} ${net.password}
${concatMapStrings (c: "<Chan #${c}>\n</Chan>\n") net.channels}
${lib.optionalString net.hasBitlbeeControlChannel ''
<Chan &bitlbee></Chan>
''}
${net.extraConf}
</Network>
'') confOpts.networks) }
</User>
@ -85,6 +88,23 @@ let
'';
};
userName = mkOption {
default = "";
example = "johntron";
type = types.string;
description = ''
A nick identity specific to the IRC server.
'';
};
password = mkOption {
type = types.str;
default = "";
description = ''
IRC server password, such as for a Slack gateway.
'';
};
useSSL = mkOption {
type = types.bool;
default = true;
@ -119,6 +139,31 @@ let
IRC channels to join.
'';
};
hasBitlbeeControlChannel = mkOption {
type = types.bool;
default = false;
description = ''
Whether to add the special Bitlbee operations channel.
'';
};
extraConf = mkOption {
default = "";
type = types.lines;
example = ''
Encoding = ^UTF-8
FloodBurst = 4
FloodRate = 1.00
IRCConnectEnabled = true
Ident = johntron
JoinDelay = 0
Nick = johntron
'';
description = ''
Extra config for the network.
'';
};
};
};
@ -273,21 +318,21 @@ in
A list of global znc module packages to add to znc.
'';
};
mutable = mkOption {
default = false;
type = types.bool;
description = ''
Indicates whether to allow the contents of the `dataDir` directory to be changed
by the user at run-time.
If true, modifications to the ZNC configuration after its initial creation are not
If true, modifications to the ZNC configuration after its initial creation are not
overwritten by a NixOS system rebuild.
If false, the ZNC configuration is rebuilt by every system rebuild.
If the user wants to manage the ZNC service using the web admin interface, this value
should be set to true.
'';
};
extraFlags = mkOption {
default = [ ];
example = [ "--debug" ];
@ -334,7 +379,7 @@ in
if [[ ! -f ${cfg.dataDir}/znc.pem ]]; then
${pkgs.coreutils}/bin/echo "No znc.pem file found in ${cfg.dataDir}. Creating one now."
${pkgs.znc}/bin/znc --makepem --datadir ${cfg.dataDir}
${pkgs.znc}/bin/znc --makepem --datadir ${cfg.dataDir}
fi
# Symlink modules
@ -352,7 +397,7 @@ in
home = cfg.dataDir;
createHome = true;
};
users.extraGroups = optional (cfg.user == defaultUser)
{ name = defaultUser;
gid = config.ids.gids.znc;

View File

@ -186,7 +186,7 @@ in {
networking.networkmanager.basePackages =
{ inherit (pkgs) networkmanager modemmanager wpa_supplicant;
inherit (gnome3) networkmanager_openvpn networkmanager_vpnc
networkmanager_openconnect networkmanager_pptp
networkmanager_openconnect networkmanager_fortisslvpn networkmanager_pptp
networkmanager_l2tp; };
# Needed for themes and backgrounds

View File

@ -14,11 +14,12 @@ let
(assertOnlyFields [
"Boot" "ProcessTwo" "Parameters" "Environment" "User" "WorkingDirectory"
"Capability" "DropCapability" "KillSignal" "Personality" "MachineId"
"PrivateUsers"
"PrivateUsers" "NotifyReady"
])
(assertValueOneOf "Boot" boolValues)
(assertValueOneOf "ProcessTwo" boolValues)
(assertValueOneOf "PrivateUsers" (boolValues ++ [ "pick" ]))
(assertValueOneOf "NotifyReady" boolValues)
];
checkFiles = checkUnitConfig "Files" [
@ -82,7 +83,7 @@ let
};
instanceToUnit = name: def:
instanceToUnit = name: def:
{ text = ''
[Exec]
${attrsToSection def.execConfig}

View File

@ -20,7 +20,7 @@ in
rm $out/disk.raw
popd
'';
configFile = ./google-compute-config.nix;
configFile = <nixpkgs/nixos/modules/virtualisation/google-compute-config.nix>;
format = "raw";
inherit diskSize;
inherit config lib pkgs;
@ -78,51 +78,34 @@ in
# When dealing with cryptographic keys, we want to keep things private.
umask 077
# Don't download the SSH key if it has already been downloaded
if ! [ -s /root/.ssh/authorized_keys ]; then
echo "obtaining SSH key..."
mkdir -m 0700 -p /root/.ssh
AUTH_KEYS=$(${mktemp})
${wget} -O $AUTH_KEYS http://metadata.google.internal/0.1/meta-data/authorized-keys
if [ -s $AUTH_KEYS ]; then
KEY_PUB=$(${mktemp})
cat $AUTH_KEYS | cut -d: -f2- > $KEY_PUB
if ! grep -q -f $KEY_PUB /root/.ssh/authorized_keys; then
cat $KEY_PUB >> /root/.ssh/authorized_keys
echo "New key added to authorized_keys."
fi
chmod 600 /root/.ssh/authorized_keys
rm -f $KEY_PUB
else
echo "Downloading http://metadata.google.internal/0.1/meta-data/authorized-keys failed."
false
fi
rm -f $AUTH_KEYS
fi
echo "Obtaining SSH keys..."
mkdir -m 0700 -p /root/.ssh
AUTH_KEYS=$(${mktemp})
${wget} -O $AUTH_KEYS http://metadata.google.internal/computeMetadata/v1/project/attributes/sshKeys
if [ -s $AUTH_KEYS ]; then
countKeys=0
${flip concatMapStrings config.services.openssh.hostKeys (k :
let kName = baseNameOf k.path; in ''
PRIV_KEY=$(${mktemp})
echo "trying to obtain SSH private host key ${kName}"
${wget} -O $PRIV_KEY http://metadata.google.internal/0.1/meta-data/attributes/${kName} && :
if [ $? -eq 0 -a -s $PRIV_KEY ]; then
countKeys=$((countKeys+1))
mv -f $PRIV_KEY ${k.path}
echo "Downloaded ${k.path}"
chmod 600 ${k.path}
${config.programs.ssh.package}/bin/ssh-keygen -y -f ${k.path} > ${k.path}.pub
chmod 644 ${k.path}.pub
else
echo "Downloading http://metadata.google.internal/0.1/meta-data/attributes/${kName} failed."
# Read in key one by one, split in case Google decided
# to append metadata (it does sometimes) and add to
# authorized_keys if not already present.
touch /root/.ssh/authorized_keys
NEW_KEYS=$(${mktemp})
# Yes this is a nix escape of two single quotes.
while IFS=''' read -r line || [[ -n "$line" ]]; do
keyLine=$(echo -n "$line" | cut -d ':' -f2)
IFS=' ' read -r -a array <<< "$keyLine"
if [ ''${#array[@]} -ge 3 ]; then
echo ''${array[@]:0:3} >> $NEW_KEYS
echo "Added ''${array[@]:2} to authorized_keys"
fi
rm -f $PRIV_KEY
''
)}
if [[ $countKeys -le 0 ]]; then
echo "failed to obtain any SSH private host keys."
false
done < $AUTH_KEYS
mv $NEW_KEYS /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys
rm -f $KEY_PUB
else
echo "Downloading http://metadata.google.internal/computeMetadata/v1/project/attributes/sshKeys failed."
false
fi
rm -f $AUTH_KEYS
'';
serviceConfig.Type = "oneshot";
serviceConfig.RemainAfterExit = true;

View File

@ -15,7 +15,7 @@ let
'';
qemuConfigFile = pkgs.writeText "qemu.conf" ''
${optionalString cfg.qemuOvmf ''
nvram = ["${pkgs.OVMF}/FV/OVMF_CODE.fd:${pkgs.OVMF}/FV/OVMF_VARS.fd"]
nvram = ["${pkgs.OVMF.fd}/FV/OVMF_CODE.fd:${pkgs.OVMF.fd}/FV/OVMF_VARS.fd"]
''}
${cfg.qemuVerbatimConfig}
'';

View File

@ -126,7 +126,7 @@ let
bootFlash=$out/bios.bin
${qemu}/bin/qemu-img create -f qcow2 $diskImage "40M"
${if cfg.useEFIBoot then ''
cp ${pkgs.OVMF-CSM}/FV/OVMF.fd $bootFlash
cp ${pkgs.OVMF-CSM.fd}/FV/OVMF.fd $bootFlash
chmod 0644 $bootFlash
'' else ''
''}

View File

@ -406,6 +406,9 @@ in
'';
serviceConfig.ExecStart = "${pkgs.dnsmasq}/bin/dnsmasq --conf-file=/var/run/xen/dnsmasq.conf";
postStop = ''
IFS='-' read -a data <<< `${pkgs.sipcalc}/bin/sipcalc ${cfg.bridge.address}/${toString cfg.bridge.prefixLength} | grep Network\ address`
export XEN_BRIDGE_NETWORK_ADDRESS="${"\${data[1]//[[:blank:]]/}"}"
${pkgs.inetutils}/bin/ifconfig ${cfg.bridge.name} down
${pkgs.bridge-utils}/bin/brctl delbr ${cfg.bridge.name}
@ -413,8 +416,8 @@ in
${pkgs.iptables}/bin/iptables -w -D INPUT -i ${cfg.bridge.name} -p udp -d ${cfg.bridge.address} --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
${pkgs.iptables}/bin/iptables -w -D INPUT -i ${cfg.bridge.name} -p tcp -d ${cfg.bridge.address} --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
# DHCP
${pkgs.iptables}/bin/iptables -w -D INPUT -i ${cfg.bridge.name} -p udp --sport 68 --dport 67 -j ACCEPT
${pkgs.iptables}/bin/iptables -w -D INPUT -i ${cfg.bridge.name} -p tcp --sport 68 --dport 67 -j ACCEPT
${pkgs.iptables}/bin/iptables -w -D INPUT -i ${cfg.bridge.name} -p udp -s $XEN_BRIDGE_NETWORK_ADDRESS/${toString cfg.bridge.prefixLength} --sport 68 --dport 67 -j ACCEPT
${pkgs.iptables}/bin/iptables -w -D INPUT -i ${cfg.bridge.name} -p tcp -s $XEN_BRIDGE_NETWORK_ADDRESS/${toString cfg.bridge.prefixLength} --sport 68 --dport 67 -j ACCEPT
'';
};

View File

@ -40,12 +40,12 @@ in {
uefiCdrom = makeBootTest "uefi-cdrom" ''
cdrom => glob("${iso}/iso/*.iso"),
bios => '${pkgs.OVMF}/FV/OVMF.fd'
bios => '${pkgs.OVMF.fd}/FV/OVMF.fd'
'';
uefiUsb = makeBootTest "uefi-usb" ''
usb => glob("${iso}/iso/*.iso"),
bios => '${pkgs.OVMF}/FV/OVMF.fd'
bios => '${pkgs.OVMF.fd}/FV/OVMF.fd'
'';
netboot = let

View File

@ -63,7 +63,7 @@ let
(if system == "x86_64-linux" then "-m 768 " else "-m 512 ") +
(optionalString (system == "x86_64-linux") "-cpu kvm64 ");
hdFlags = ''hda => "vm-state-machine/machine.qcow2", hdaInterface => "${iface}", ''
+ optionalString (bootLoader == "systemd-boot") ''bios => "${pkgs.OVMF}/FV/OVMF.fd", '';
+ optionalString (bootLoader == "systemd-boot") ''bios => "${pkgs.OVMF.fd}/FV/OVMF.fd", '';
in
''
$machine->start;

View File

@ -7,13 +7,13 @@ with stdenv.lib;
stdenv.mkDerivation rec {
name = "bitcoin" + (toString (optional (!withGui) "d")) + "-classic-" + version;
version = "1.2.3";
version = "1.2.5";
src = fetchFromGitHub {
owner = "bitcoinclassic";
repo = "bitcoinclassic";
rev = "v${version}";
sha256 = "0y99c8zv42ps3pxp46p3fqj9sir580v7s5qyi3cxva12mq2z0cql";
sha256 = "1z6g930csvx49krl34207yqwlr8dkxpi72k3msh15p1kjvv90nvz";
};
nativeBuildInputs = [ pkgconfig autoreconfHook ];
@ -32,11 +32,13 @@ stdenv.mkDerivation rec {
parties. Users hold the crypto keys to their own money and transact directly
with each other, with the help of a P2P network to check for double-spending.
We call our code repository Bitcoin Classic. It starts as a one-feature patch
to bitcoin-core that increases the blocksize limit to 2 MB. We will have
ports for master and 0.11.2, so that miners and businesses can upgrade to 2 MB
blocks from any recent bitcoin software version they run. In the future we will
continue to release updates that are in line with Satoshis whitepaper &
Bitcoin Classic stands for the original Bitcoin as Satoshi described it,
"A Peer-to-Peer Electronic Cash System". We are writing the software that
miners and users say they want. We will make sure it solves their needs, help
them deploy it, and gracefully upgrade the bitcoin network's capacity
together. The data shows that Bitcoin can grow, on-chain, to welcome many
more users onto our coin in a safe and distributed manner. In the future we
will continue to release updates that are in line with Satoshis whitepaper &
vision, and are agreed upon by the community.
'';
homepage = https://bitcoinclassic.com/;

View File

@ -2,6 +2,7 @@
, alsaLib ? null
, libpulseaudio ? null
, tcltk ? null
, liblo ? null
# maybe csound can be compiled with support for those, see configure output
# , ladspa ? null
@ -27,7 +28,7 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ cmake flex bison ];
buildInputs = [ libsndfile alsaLib libpulseaudio tcltk boost ];
buildInputs = [ libsndfile alsaLib libpulseaudio tcltk boost liblo ];
meta = with stdenv.lib; {
description = "Sound design, audio synthesis, and signal processing system, providing facilities for music composition and performance on all major operating systems and platforms";

View File

@ -33,8 +33,8 @@
let
version = "2.2.3.0";
build = "145.3537739";
version = "2.3.2.0";
build = "162.3934792";
androidStudio = stdenv.mkDerivation {
name = "android-studio";
@ -98,7 +98,7 @@ let
'';
src = fetchurl {
url = "https://dl.google.com/dl/android/studio/ide-zips/${version}/android-studio-ide-${build}-linux.zip";
sha256 = "10fmffkvvbnmgjxb4rq7rjwnn16jp5phw6div4n7hh2ad6spf8wq";
sha256 = "19wmbvmiqa9znvnslmp0xmkq4avpmgpzmyaai1fa28388qra4cvf";
};
meta = {
description = "The Official IDE for Android";

View File

@ -47126,12 +47126,12 @@
nix-buffer = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "nix-buffer";
version = "20170305.1601";
version = "20170520.553";
src = fetchFromGitHub {
owner = "shlevy";
repo = "nix-buffer";
rev = "89d30002eddcc33c5c74dcc871a97aee0228d403";
sha256 = "0pz1p8mdk988x4k41qi3j8rf6g33gj6lx4dm9sgfyzgzi9ixyma8";
rev = "749f48b510d0fd47dac67850f4089119fbff142a";
sha256 = "1iav1s2vc2ivkah9v42961vpk74z8961ybyxq0cnswzjb1xi5n25";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/08b978724ff26b3ea7a134d307d888c80e2a92a9/recipes/nix-buffer";

View File

@ -23319,12 +23319,12 @@
nix-buffer = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "nix-buffer";
version = "3.0.0";
version = "3.0.1";
src = fetchFromGitHub {
owner = "shlevy";
repo = "nix-buffer";
rev = "89d30002eddcc33c5c74dcc871a97aee0228d403";
sha256 = "0pz1p8mdk988x4k41qi3j8rf6g33gj6lx4dm9sgfyzgzi9ixyma8";
rev = "749f48b510d0fd47dac67850f4089119fbff142a";
sha256 = "1iav1s2vc2ivkah9v42961vpk74z8961ybyxq0cnswzjb1xi5n25";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/08b978724ff26b3ea7a134d307d888c80e2a92a9/recipes/nix-buffer";

View File

@ -18,16 +18,11 @@ stdenv.mkDerivation (rec {
-e "s|^\(\(DEST_\)\?PREFIX\)=.*$|\1=$out|g ; \
s|/sbin/install-info|install-info|g"
sed -i "bin/proofgeneral" -e's/which/type -p/g'
# @image{ProofGeneral} fails, so remove it.
sed -i '94d' doc/PG-adapting.texi
sed -i '96d' doc/ProofGeneral.texi
'';
patches = [ ./pg.patch ];
preBuild = ''
make clean;
'';

View File

@ -1,16 +0,0 @@
diff -r c7d8bfff4c0a bin/proofgeneral
--- a/bin/proofgeneral Sat Sep 27 02:25:15 2014 +0100
+++ b/bin/proofgeneral Sat Sep 27 02:28:16 2014 +0100
@@ -73,11 +73,7 @@
# Try to find Proof General directory
if [ -z "$PGHOME" ] || [ ! -d "$PGHOME" ]; then
- # default relative to this script, otherwise PGHOMEDEFAULT
- MYDIR="`readlink --canonicalize "$0" | sed -ne 's,/bin/proofgeneral$,,p'`"
- if [ -d "$MYDIR/generic" ]; then
- PGHOME="$MYDIR"
- elif [ -d "$PGHOMEDEFAULT" ]; then
+ if [ -d "$PGHOMEDEFAULT" ]; then
PGHOME="$PGHOMEDEFAULT"
else
echo "Cannot find the Proof General lisp files: Set PGHOME or use --pghome."

View File

@ -134,7 +134,7 @@ let
platform and ReSharper. Rider supports .NET Core,
.NET Framework and Mono based projects. This lets you
develop a wide array of applications including .NET desktop
apps, services and libraries, Unity games, ASP.NET and
apps, services and libraries, Unity games, ASP.NET and
ASP.NET Core web applications.
'';
maintainers = [ maintainers.miltador ];
@ -209,12 +209,12 @@ in
gogland = buildGogland rec {
name = "gogland-${version}";
version = "171.3780.106";
version = "171.4424.55";
description = "Up and Coming Go IDE";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/go/${name}.tar.gz";
sha256 = "cbe84d07fdec6425d8ac63b0ecd5e04148299c1c0c6d05751523aaaa9360110b";
sha256 = "0l5pn2wj541v1xc58bpipkl483zrhwjr37grkwiwx2j4iygrikq7";
};
wmClass = "jetbrains-gogland";
};
@ -233,12 +233,12 @@ in
idea-community = buildIdea rec {
name = "idea-community-${version}";
version = "2017.1.1";
version = "2017.1.3";
description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
license = stdenv.lib.licenses.asl20;
src = fetchurl {
url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
sha256 = "1222xkw7n424ihqxyjk352nnx9ka6as7ajwafgb2f27hfiz8d3li";
sha256 = "0ag70z4cark69hzhvx5j75qa8dglwzfaqrzi8pim3asd161fwxrx";
};
wmClass = "jetbrains-idea-ce";
};
@ -305,24 +305,24 @@ in
pycharm-community = buildPycharm rec {
name = "pycharm-community-${version}";
version = "2017.1";
version = "2017.1.2";
description = "PyCharm Community Edition";
license = stdenv.lib.licenses.asl20;
src = fetchurl {
url = "https://download.jetbrains.com/python/${name}.tar.gz";
sha256 = "14p6f15n0927awgpsdsdqgmdfbbwkykrw5xggz5hnfl7d05i4sb6";
sha256 = "03c352lj6vnc7cs5ch8p12i4f95qadnibzbrxmxv5xqglpdrp7g9";
};
wmClass = "jetbrains-pycharm-ce";
};
pycharm-professional = buildPycharm rec {
name = "pycharm-professional-${version}";
version = "2017.1";
version = "2017.1.2";
description = "PyCharm Professional Edition";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/python/${name}.tar.gz";
sha256 = "1rvic3njsq480pslhw6rxld7jngchihkplq3dfnmkr2h9gx26lkf";
sha256 = "0jrrlrkwi6f70nqrrz2vv1wdjpwjbh2in1g658dsbr9gpmkdmy0q";
};
wmClass = "jetbrains-pycharm";
};
@ -377,12 +377,12 @@ in
webstorm = buildWebStorm rec {
name = "webstorm-${version}";
version = "2017.1";
version = "2017.1.3";
description = "Professional IDE for Web and JavaScript development";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
sha256 = "e651ad78ff9de92bb5b76698eeca1e02ab0f0c36209908074fa4a6b48586071c";
sha256 = "0g4b0x910231ljdj18lnj2mlzmzyl12lv3fsbsz6v45i1kwpwnvc";
};
wmClass = "jetbrains-webstorm";
};

View File

@ -43,7 +43,7 @@ in stdenv.mkDerivation rec {
'';
meta = {
homepage = http://www.nano-editor.org/;
homepage = https://www.nano-editor.org/;
description = "A small, user-friendly console text editor";
license = licenses.gpl3Plus;
maintainers = with maintainers; [

View File

@ -0,0 +1,89 @@
{ stdenv, fetchurl, dpkg, lib, glib, dbus, makeWrapper, gnome2, atk, cairo
, freetype, fontconfig, nspr, nss, xorg, alsaLib, cups, expat, udev }:
stdenv.mkDerivation rec {
name = "typora-${version}";
version = "0.9.29";
src =
if stdenv.system == "x86_64-linux" then
fetchurl {
url = "https://www.typora.io/linux/typora_${version}_amd64.deb";
sha256 = "1d7a02ee603be871d6f8c25b5c11069267ec11644a4f513635c0769ce46a44a7";
}
else
fetchurl {
url = "https://www.typora.io/linux/typora_${version}_i386.deb";
sha256 = "79834b0ccd2257c030aec850ebc81fe115f46891b482f1ffa41fcc19c5f29659";
}
;
rpath = stdenv.lib.makeLibraryPath [
alsaLib
gnome2.GConf
gnome2.gtk
gnome2.gdk_pixbuf
gnome2.pango
expat
atk
nspr
nss
stdenv.cc.cc
glib
cairo
cups
dbus
udev
fontconfig
freetype
xorg.libX11
xorg.libXi
xorg.libXext
xorg.libXtst
xorg.libXfixes
xorg.libXcursor
xorg.libXdamage
xorg.libXrender
xorg.libXrandr
xorg.libXcomposite
xorg.libxcb
xorg.libXScrnSaver
];
buildInputs = [ dpkg makeWrapper ];
unpackPhase = "true";
installPhase = ''
mkdir -p $out
dpkg -x $src $out
cp -av $out/usr/* $out
rm $out/bin/typora
# Otherwise it looks "suspicious"
chmod -R g-w $out
'';
postFixup = ''
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "$out/share/typora:${rpath}" "$out/share/typora/Typora"
ln -s "$out/share/typora/Typora" "$out/bin/typora"
# Fix the desktop link
substituteInPlace $out/share/applications/typora.desktop \
--replace /usr/bin/ $out/bin/ \
--replace /usr/share/ $out/share/
'';
meta = with stdenv.lib; {
description = "A minimal Markdown reading & writing app";
homepage = "https://typora.io";
license = licenses.free;
maintainers = with stdenv.lib.maintainers; [ jensbin ];
platforms = [ "x86_64-linux" "i686-linux" ];
};
}

View File

@ -0,0 +1,32 @@
{ stdenv, fetchFromGitHub, makeWrapper, perl, perlPackages }:
stdenv.mkDerivation rec {
name = "timelapse-deflicker-${version}";
version = "0.1.0";
src = fetchFromGitHub {
owner = "cyberang3l";
repo = "timelapse-deflicker";
rev = "v${version}";
sha256 = "0bbfnrdycrpyz7rqrql5ib9qszny7z5xpqp65c1mxqd2876gv960";
};
installPhase = ''
install -m755 -D timelapse-deflicker.pl $out/bin/timelapse-deflicker
wrapProgram $out/bin/timelapse-deflicker --set PERL5LIB $PERL5LIB
'';
buildInputs = with perlPackages; [
makeWrapper perl
PerlMagick TermProgressBar ImageExifTool
FileType ClassMethodMaker
];
meta = with stdenv.lib; {
description = "Simple script to deflicker images taken for timelapses";
homepage = https://github.com/cyberang3l/timelapse-deflicker;
license = licenses.gpl3;
maintainers = with maintainers; [ valeriangalliat ];
platforms = platforms.unix;
};
}

View File

@ -0,0 +1,31 @@
{ stdenv, buildGoPackage, fetchFromGitHub, fetchgx }:
buildGoPackage rec {
name = "madonctl-${version}";
version = "1.1.0";
goPackagePath = "github.com/McKael/madonctl";
src = fetchFromGitHub {
owner = "McKael";
repo = "madonctl";
rev = "v${version}";
sha256 = "1dnc1xaafhwhhf5afhb0wc2wbqq0s1r7qzj5k0xzc58my541gadc";
};
# How to update:
# go get -u github.com/McKael/madonctl
# cd $GOPATH/src/github.com/McKael/madonctl
# git checkout v<version-number>
# go2nix save
goDeps = ./deps.nix;
meta = with stdenv.lib; {
description = "CLI for the Mastodon social network API";
homepage = https://github.com/McKael/madonctl;
license = licenses.mit;
platforms = platforms.unix;
maintainers = with maintainers; [ matthiasbeyer ];
};
}

View File

@ -0,0 +1,228 @@
# This file was generated by https://github.com/kamilchm/go2nix v1.2.0
[
{
goPackagePath = "github.com/McKael/madon";
fetch = {
type = "git";
url = "https://github.com/McKael/madon";
rev = "e580cd41ac42bbb0b2ea5b3843b3f1f854db357c";
sha256 = "0jvvfkf3wlzisvcq54xv3jxncx178ks5wxd6cx8k8215437b3hra";
};
}
{
goPackagePath = "github.com/fsnotify/fsnotify";
fetch = {
type = "git";
url = "https://github.com/fsnotify/fsnotify";
rev = "4da3e2cfbabc9f751898f250b49f2439785783a1";
sha256 = "1y2l9jaf99j6gidcfdgq3hifxyiwv4f7awpll80p170ixdbqxvl3";
};
}
{
goPackagePath = "github.com/ghodss/yaml";
fetch = {
type = "git";
url = "https://github.com/ghodss/yaml";
rev = "0ca9ea5df5451ffdf184b4428c902747c2c11cd7";
sha256 = "0skwmimpy7hlh7pva2slpcplnm912rp3igs98xnqmn859kwa5v8g";
};
}
{
goPackagePath = "github.com/gorilla/websocket";
fetch = {
type = "git";
url = "https://github.com/gorilla/websocket";
rev = "a91eba7f97777409bc2c443f5534d41dd20c5720";
sha256 = "13cg6wwkk2ddqbm0nh9fpx4mq7f6qym12ch4lvs53n028ycdgw87";
};
}
{
goPackagePath = "github.com/hashicorp/hcl";
fetch = {
type = "git";
url = "https://github.com/hashicorp/hcl";
rev = "392dba7d905ed5d04a5794ba89f558b27e2ba1ca";
sha256 = "1rfm67kma2hpakabf7hxlj196jags4rpjpcirwg4kan4g9b6j0kb";
};
}
{
goPackagePath = "github.com/kr/text";
fetch = {
type = "git";
url = "https://github.com/kr/text";
rev = "7cafcd837844e784b526369c9bce262804aebc60";
sha256 = "0br693pf6vdr1sfvzdz6zxq7hjpdgci0il4wj0v636r8lyy21vsx";
};
}
{
goPackagePath = "github.com/m0t0k1ch1/gomif";
fetch = {
type = "git";
url = "https://github.com/m0t0k1ch1/gomif";
rev = "f5864f63e1ed5a138f015cc2cb71a2e99c148d21";
sha256 = "0djg8chax1g0m02xz84ic19758jzv5m50b7vpwjkpjk3181j5z9k";
};
}
{
goPackagePath = "github.com/magiconair/properties";
fetch = {
type = "git";
url = "https://github.com/magiconair/properties";
rev = "51463bfca2576e06c62a8504b5c0f06d61312647";
sha256 = "0d7hr78y8gg2mrm5z4jjgm2w3awkznz383b7wvyzk3l33jw6i288";
};
}
{
goPackagePath = "github.com/mattn/go-isatty";
fetch = {
type = "git";
url = "https://github.com/mattn/go-isatty";
rev = "fc9e8d8ef48496124e79ae0df75490096eccf6fe";
sha256 = "1r5f9gkavkb1w6sr0qs5kj16706xirl3qnlq3hqpszkw9w27x65a";
};
}
{
goPackagePath = "github.com/mitchellh/mapstructure";
fetch = {
type = "git";
url = "https://github.com/mitchellh/mapstructure";
rev = "cc8532a8e9a55ea36402aa21efdf403a60d34096";
sha256 = "0705c0hq7b993sabnjy65yymvpy9w1j84bg9bjczh5607z16nw86";
};
}
{
goPackagePath = "github.com/pelletier/go-buffruneio";
fetch = {
type = "git";
url = "https://github.com/pelletier/go-buffruneio";
rev = "c37440a7cf42ac63b919c752ca73a85067e05992";
sha256 = "0l83p1gg6g5mmhmxjisrhfimhbm71lwn1r2w7d6siwwqm9q08sd2";
};
}
{
goPackagePath = "github.com/pelletier/go-toml";
fetch = {
type = "git";
url = "https://github.com/pelletier/go-toml";
rev = "5c26a6ff6fd178719e15decac1c8196da0d7d6d1";
sha256 = "0f4l7mq0nb2p2vjfjqx251s6jzkl646n1vw45chykwvv1sbad8nq";
};
}
{
goPackagePath = "github.com/pkg/errors";
fetch = {
type = "git";
url = "https://github.com/pkg/errors";
rev = "c605e284fe17294bda444b34710735b29d1a9d90";
sha256 = "1izjk4msnc6wn1mclg0ypa6i31zfwb1r3032k8q4jfbd57hp0bz6";
};
}
{
goPackagePath = "github.com/sendgrid/rest";
fetch = {
type = "git";
url = "https://github.com/sendgrid/rest";
rev = "14de1ac72d9ae5c3c0d7c02164c52ebd3b951a4e";
sha256 = "0wrggvgnqdmhscim52hvhg77jhksprxp52sc4ipd69kasd32b5dm";
};
}
{
goPackagePath = "github.com/spf13/afero";
fetch = {
type = "git";
url = "https://github.com/spf13/afero";
rev = "9be650865eab0c12963d8753212f4f9c66cdcf12";
sha256 = "12dhh6d07304lsjv7c4p95hkip0hnshqhwivdw39pbypgg0p8y34";
};
}
{
goPackagePath = "github.com/spf13/cast";
fetch = {
type = "git";
url = "https://github.com/spf13/cast";
rev = "acbeb36b902d72a7a4c18e8f3241075e7ab763e4";
sha256 = "0w25s6gjbbwv47b9208hysyqqphd6pib3d2phg24mjy4wigkm050";
};
}
{
goPackagePath = "github.com/spf13/cobra";
fetch = {
type = "git";
url = "https://github.com/spf13/cobra";
rev = "ca5710c94eabe15aa1f74490b8e5976dc652e8c6";
sha256 = "1z5fxh9akwn95av6ra8p6804nhyxjc63m0s6abxi3l424n30b08i";
};
}
{
goPackagePath = "github.com/spf13/jwalterweatherman";
fetch = {
type = "git";
url = "https://github.com/spf13/jwalterweatherman";
rev = "8f07c835e5cc1450c082fe3a439cf87b0cbb2d99";
sha256 = "1dhl6kdbyczhnsgiyc8mcb7kmxd9garx8gy3q2gx5mmv96xxzxx7";
};
}
{
goPackagePath = "github.com/spf13/pflag";
fetch = {
type = "git";
url = "https://github.com/spf13/pflag";
rev = "e57e3eeb33f795204c1ca35f56c44f83227c6e66";
sha256 = "13mhx4i913jil32j295m3a36jzvq1y64xig0naadiz7q9ja011r2";
};
}
{
goPackagePath = "github.com/spf13/viper";
fetch = {
type = "git";
url = "https://github.com/spf13/viper";
rev = "0967fc9aceab2ce9da34061253ac10fb99bba5b2";
sha256 = "016syis0rvccp2indjqi1vnz3wk7c9dhkvkgam0j79sb019kl80f";
};
}
{
goPackagePath = "golang.org/x/net";
fetch = {
type = "git";
url = "https://go.googlesource.com/net";
rev = "513929065c19401a1c7b76ecd942f9f86a0c061b";
sha256 = "19ziin0k3n45nccjbk094f61hr198wzqnas93cmcxdja8f8fz27q";
};
}
{
goPackagePath = "golang.org/x/oauth2";
fetch = {
type = "git";
url = "https://go.googlesource.com/oauth2";
rev = "f047394b6d14284165300fd82dad67edb3a4d7f6";
sha256 = "1l1a2iz1nmfmzzbjj1h8066prag4jvjqh13iv1jdlh05fgv6769i";
};
}
{
goPackagePath = "golang.org/x/sys";
fetch = {
type = "git";
url = "https://go.googlesource.com/sys";
rev = "a2e06a18b0d52d8cb2010e04b372a1965d8e3439";
sha256 = "0m0r2w2qk8jkdk21h52n66g4yqckmzpx3mph73cilkhvdfgwfd21";
};
}
{
goPackagePath = "golang.org/x/text";
fetch = {
type = "git";
url = "https://go.googlesource.com/text";
rev = "19e51611da83d6be54ddafce4a4af510cb3e9ea4";
sha256 = "09pcfzx7nrma0gjv93jx57c28farf8m1qm4x07vk5505wlcgvvfl";
};
}
{
goPackagePath = "gopkg.in/yaml.v2";
fetch = {
type = "git";
url = "https://gopkg.in/yaml.v2";
rev = "cd8b52f8269e0feb286dfeef29f8fe4d5b397e0b";
sha256 = "1hj2ag9knxflpjibck0n90jrhsrqz7qvad4qnif7jddyapi9bqzl";
};
}
]

View File

@ -0,0 +1,30 @@
{ stdenv, fetchgit, curl }:
stdenv.mkDerivation {
name = "metar-20161013.1";
src = fetchgit {
url = "https://github.com/keesL/metar.git";
rev = "20e9ca69faea330f6c2493b6829131c24cb55147";
sha256 = "1fgrlnpasqf1ihh9y6zy6mzzybqx0lxvh7gmv03rjdb55dr42dxj";
};
buildInputs = [ curl ];
meta = with stdenv.lib; {
homepage = https://github.com/keesL/metar;
license = licenses.gpl2;
maintainers = [ maintainers.zalakain ];
description = "Downloads weather reports and optionally decodes them";
longDescription = ''
METAR reports are meteorogical weather reports for aviation. Metar is a small
program which downloads weather reports for user-specified stations and
optionally decodes them into a human-readable format.
Currently, metar supports decoding date/time, wind, visibility, cloud layers,
temperature, air pressure and weather phenomena, such as rain, fog, etc. Also,
more work in the area of clouds need to be done, as support for Cumulus or
Cumulunimbus is not yet decoded.
'';
};
}

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, pkgconfig, writeText, libX11, ncurses, libXext, libXft
, fontconfig, conf ? null, patches ? []}:
, fontconfig, conf ? null, patches ? [], extraLibs ? []}:
with stdenv.lib;
@ -17,7 +17,7 @@ in stdenv.mkDerivation rec {
configFile = optionalString (conf!=null) (writeText "config.def.h" conf);
preBuild = optionalString (conf!=null) "cp ${configFile} config.def.h";
buildInputs = [ pkgconfig libX11 ncurses libXext libXft fontconfig ];
buildInputs = [ pkgconfig libX11 ncurses libXext libXft fontconfig ] ++ extraLibs;
installPhase = ''
TERMINFO=$out/share/terminfo make install PREFIX=$out

View File

@ -6,13 +6,13 @@
stdenv.mkDerivation rec {
name = "tint2-${version}";
version = "0.14.4";
version = "0.14.5";
src = fetchFromGitLab {
owner = "o9000";
repo = "tint2";
rev = version;
sha256 = "0bwz8fdh4imp1gdg8slzjq28s7mh942i09x9zl20f4frfdliyx47";
sha256 = "1nfvcw95wggih7pxh53cx4nlamny73nh88ggfh6a0ajjhafrd2j2";
};
enableParallelBuilding = true;

File diff suppressed because it is too large Load Diff

View File

@ -6,10 +6,10 @@ rec {
firefox = common rec {
pname = "firefox";
version = "53.0.2";
version = "53.0.3";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "d56d563db7e1a0faa2de9315b71b479adb9109624d0958224ad2cee331dcbdb4f414380bd91f70ee0b3e543eca812c172eb2d6f6b5620f6dd6f61675f5ac69d8";
sha512 = "cef5de1e9d6ddf6509a80cd30169fdce701b2fed022979ba5931ccea7b8f77cb644b01984dae028d350e32321cfe2eefc0236c0731bf5a2be12a994fc3fc1118";
};
meta = {
@ -25,10 +25,10 @@ rec {
firefox-esr = common rec {
pname = "firefox-esr";
version = "52.1.1esr";
version = "52.1.2esr";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "23f88de0a084341d54aab107bbf71b965a3f5be192ec8681b8b824c7e13d47968a0e56f4acfd2d2c5487c2e4c963e75ea6aeed400add915b3fb6403ee8810374";
sha512 = "76362738f6db82a41ff6af4e12a15a302068a5ce10d23739f29375f3279573d0ea43ecee9d2e46fce833a029e437efcfcceab9442c288560f476e0cff2ea9e1d";
};
meta = firefox.meta // {

View File

@ -37,7 +37,7 @@
let
mirror = https://get.geo.opera.com/pub/opera/desktop;
version = "44.0.2510.857";
version = "45.0.2552.812";
rpath = stdenv.lib.makeLibraryPath [
@ -91,12 +91,12 @@ in stdenv.mkDerivation {
if stdenv.system == "i686-linux" then
fetchurl {
url = "${mirror}/${version}/linux/opera-stable_${version}_i386.deb";
sha256 = "1589phaxbzmsr70afzqkrlm4fy4nwf2c0gn4rbv2ah2bq62bcp36";
sha256 = "0qhh7wwj3v8adz7ppjkpmfc04rxfjjhnnkawfvghlv77sjgnyml2";
}
else if stdenv.system == "x86_64-linux" then
fetchurl {
url = "${mirror}/${version}/linux/opera-stable_${version}_amd64.deb";
sha256 = "1fah9pm42ljdcdqgxjikb03c8393smhh3g2rbkhrvmjwknba05ym";
sha256 = "0xf1j8abk8f0kbjarsk1y1yna1zwrn0qc4fi1swjsxf5rx027fir";
}
else throw "Opera is not supported on ${stdenv.system} (only i686-linux and x86_64 linux are supported)";

View File

@ -0,0 +1,28 @@
{ stdenv, buildGoPackage, fetchFromGitHub}:
buildGoPackage rec {
name = "terraform-inventory-${version}";
version = "0.7-pre";
rev = "v${version}";
goPackagePath = "github.com/adammck/terraform-inventory";
subPackages = [ "./" ];
src = fetchFromGitHub {
inherit rev;
owner = "adammck";
repo = "terraform-inventory";
sha256 = "0wwyi2nfyn3wfpmvj8aabn0cjba0lpr5nw3rgd6qdywy7sc3rmb1";
};
goDeps = ./deps.nix;
meta = with stdenv.lib; {
homepage = https://github.com/adammck/terraform-inventory;
description = "Terraform state to ansible inventory adapter";
platforms = platforms.all;
license = licenses.mit;
maintainers = with maintainers; [ htr ];
};
}

View File

@ -0,0 +1,20 @@
[
{
goPackagePath = "github.com/adammck/venv";
fetch = {
type = "git";
url = "https://github.com/adammck/venv";
rev = "8a9c907a37d36a8f34fa1c5b81aaf80c2554a306";
sha256 = "1fzk3j4q59kpd2ks2aw8rmic6b123p5mh981cjh0kzs716grc6y8";
};
}
{
goPackagePath = "github.com/blang/vfs";
fetch = {
type = "git";
url = "https://github.com/blang/vfs";
rev = "c14afcac17253ce7418da751ec6b1988790cdc8f";
sha256 = "00q5qzxpn9n59nrmrljz4w9lljxvrr8i5j8i8b4iw86j0alcx53b";
};
}
]

View File

@ -0,0 +1,37 @@
alias __source_distinct__ source
def source(url)
@loaded ||= {}
unless @loaded[url]
@loaded[url] = true
__source_distinct__(url) end end
source 'https://rubygems.org'
group :default do
gem 'oauth', '>= 0.5.1'
gem 'json_pure', '~> 1.8'
gem 'addressable', '~> 2.3'
gem 'memoist', '~> 0.14'
gem 'ruby-hmac', '~> 0.4'
gem 'typed-array', '~> 0.1'
gem 'delayer', '~> 0.0'
gem 'pluggaloid', '>= 1.1.1', '< 2.0'
gem 'delayer-deferred', '>= 1.0.4', '< 2.0'
gem 'twitter-text', '1.14.2'
end
group :test do
gem 'test-unit', '~> 3.0'
gem 'rake', '~> 10.1'
gem 'watch', '~> 0.1'
gem 'mocha', '~> 0.14'
gem 'webmock', '~> 1.17'
gem 'ruby-prof'
end
group :plugin do
Dir.glob(File.expand_path(File.join(File.dirname(__FILE__), "core/plugin/*/Gemfile"))){ |path|
eval File.open(path).read
}
end

View File

@ -0,0 +1,104 @@
GEM
remote: https://rubygems.org/
specs:
addressable (2.5.1)
public_suffix (~> 2.0, >= 2.0.2)
atk (3.1.1)
glib2 (= 3.1.1)
cairo (1.15.7)
native-package-installer
pkg-config (>= 1.1.5)
crack (0.4.3)
safe_yaml (~> 1.0.0)
delayer (0.0.2)
delayer-deferred (1.1.1)
delayer (>= 0.0.2, < 0.1)
gdk_pixbuf2 (3.1.1)
gio2 (= 3.1.1)
gettext (3.0.9)
locale (>= 2.0.5)
text
gio2 (3.1.1)
glib2 (= 3.1.1)
gobject-introspection (= 3.1.1)
glib2 (3.1.1)
pkg-config
gobject-introspection (3.1.1)
glib2 (= 3.1.1)
gtk2 (3.1.1)
atk (= 3.1.1)
gdk_pixbuf2 (= 3.1.1)
pango (= 3.1.1)
hashdiff (0.3.4)
httpclient (2.8.3)
instance_storage (1.0.0)
json_pure (1.8.6)
locale (2.1.2)
memoist (0.15.0)
metaclass (0.0.4)
mini_portile2 (2.1.0)
mocha (0.14.0)
metaclass (~> 0.0.1)
moneta (1.0.0)
native-package-installer (1.0.1)
nokogiri (1.7.2)
mini_portile2 (~> 2.1.0)
oauth (0.5.1)
pango (3.1.1)
cairo (>= 1.14.0)
glib2 (= 3.1.1)
pkg-config (1.2.0)
pluggaloid (1.1.1)
delayer
instance_storage (>= 1.0.0, < 2.0.0)
power_assert (1.0.2)
public_suffix (2.0.5)
rake (10.5.0)
ruby-hmac (0.4.0)
ruby-prof (0.16.2)
safe_yaml (1.0.4)
test-unit (3.2.3)
power_assert
text (1.3.1)
totoridipjp (0.1.0)
twitter-text (1.14.2)
unf (~> 0.1.0)
typed-array (0.1.2)
unf (0.1.4)
unf_ext
unf_ext (0.0.7.4)
watch (0.1.0)
webmock (1.24.6)
addressable (>= 2.3.6)
crack (>= 0.3.2)
hashdiff
PLATFORMS
ruby
DEPENDENCIES
addressable (~> 2.3)
delayer (~> 0.0)
delayer-deferred (>= 1.0.4, < 2.0)
gettext (~> 3.0.1)
gtk2 (= 3.1.1)
httpclient
json_pure (~> 1.8)
memoist (~> 0.14)
mocha (~> 0.14)
moneta
nokogiri
oauth (>= 0.5.1)
pluggaloid (>= 1.1.1, < 2.0)
rake (~> 10.1)
ruby-hmac (~> 0.4)
ruby-prof
test-unit (~> 3.0)
totoridipjp
twitter-text (= 1.14.2)
typed-array (~> 0.1)
watch (~> 0.1)
webmock (~> 1.17)
BUNDLED WITH
1.14.4

View File

@ -0,0 +1,3 @@
source 'https://rubygems.org'
gem 'gtk2', '3.1.1'

View File

@ -0,0 +1,5 @@
source 'https://rubygems.org'
gem 'nokogiri'
gem 'httpclient'
gem 'totoridipjp'

View File

@ -0,0 +1,5 @@
source 'https://rubygems.org'
group :default do
gem 'gettext', '~> 3.0.1'
end

View File

@ -0,0 +1,63 @@
{ stdenv, fetchurl
, bundlerEnv, ruby, pkgconfig
, alsaUtils, libnotify, which, wrapGAppsHook, gtk2
}:
stdenv.mkDerivation rec {
name = "mikutter-${version}";
version = "3.5.7";
src = fetchurl {
url = "https://mikutter.hachune.net/bin/mikutter.${version}.tar.gz";
sha256 = "1vh5ap92q869j69hmmbznailaflmdp0km4sqdv06cpq7v8pwm28w";
};
env = bundlerEnv {
name = "mikutter-${version}-gems";
gemdir = ./.;
inherit ruby;
};
buildInputs = [ alsaUtils libnotify which gtk2 ruby ];
nativeBuildInputs = [ wrapGAppsHook ];
postUnpack = ''
rm -rf $sourceRoot/vendor
'';
installPhase = ''
install -v -D -m644 README $out/share/doc/mikutter/README
install -v -D -m644 LICENSE $out/share/doc/mikutter/LICENSE
rm -v README LICENSE
cp -rv . $out
mkdir $out/bin/
# hack wrapGAppsHook wants a file not a symlink
mv $out/mikutter.rb $out/bin/mikutter
gappsWrapperArgs+=(
--prefix PATH : "${ruby}/bin:${alsaUtils}/bin:${libnotify}/bin"
--prefix GEM_HOME : "${env}/${env.ruby.gemPath}"
--set DISABLE_BUNDLER_SETUP 1
)
mkdir -p $out/share/mikutter $out/share/applications
ln -sv $out/core/skin $out/share/mikutter/skin
substituteAll ${./mikutter.desktop} $out/share/applications/mikutter.desktop
'';
postFixup = ''
mv $out/bin/.mikutter-wrapped $out/mikutter.rb
substituteInPlace $out/bin/mikutter \
--replace "$out/bin/.mikutter-wrapped" "$out/mikutter.rb"
'';
meta = with stdenv.lib; {
description = "An extensible Twitter client";
homepage = "https://mikutter.hachune.net";
maintainers = with maintainers; [ midchildan ];
platforms = ruby.meta.platforms;
license = licenses.mit;
};
}

View File

@ -0,0 +1,365 @@
{
addressable = {
dependencies = ["public_suffix"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1i8q32a4gr0zghxylpyy7jfqwxvwrivsxflg9mks6kx92frh75mh";
type = "gem";
};
version = "2.5.1";
};
atk = {
dependencies = ["glib2"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "17x88g596s3pqfxplm5ia7anpcmd9kxs4nzmpf2h74bqwkbq2jrz";
type = "gem";
};
version = "3.1.1";
};
cairo = {
dependencies = ["native-package-installer" "pkg-config"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "115ksrswbs7pg7kdfi2w8bi9xxv9gzmfvcjj8qj4dxy8dkvp3k4d";
type = "gem";
};
version = "1.15.7";
};
crack = {
dependencies = ["safe_yaml"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0abb0fvgw00akyik1zxnq7yv391va148151qxdghnzngv66bl62k";
type = "gem";
};
version = "0.4.3";
};
delayer = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "156vy4x1d2jgafkjaafzfz7g8ghl4p5zgbl859b8slp4wdxy3v1r";
type = "gem";
};
version = "0.0.2";
};
delayer-deferred = {
dependencies = ["delayer"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1bw48i6qbxmjf2al4a0mw23nlkcrjrwsrdrabbwz62v8sdmdynpc";
type = "gem";
};
version = "1.1.1";
};
gdk_pixbuf2 = {
dependencies = ["gio2"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0x9fzsazfi6f3iq7zkqc0vjl6311876dvff0000vg41rajv3rhh1";
type = "gem";
};
version = "3.1.1";
};
gettext = {
dependencies = ["locale" "text"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "14vw306p46w2kyad3kp9vq56zw3ch6px30wkhl5x0qkx8d3ya3ir";
type = "gem";
};
version = "3.0.9";
};
gio2 = {
dependencies = ["glib2" "gobject-introspection"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0ki9yxp860xk5cf04hrgvh386n93bkr0pf4c0kl3fx6pnwr4w3v0";
type = "gem";
};
version = "3.1.1";
};
glib2 = {
dependencies = ["pkg-config"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "131jd26n2wwp2lrkyyfq5nb3qriasaym1zpygm991qzcaq79i444";
type = "gem";
};
version = "3.1.1";
};
gobject-introspection = {
dependencies = ["glib2"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0fbi1pxyq73d674cwznya6kda38yjp4ahc2xgxi9shsdqmqcx3vs";
type = "gem";
};
version = "3.1.1";
};
gtk2 = {
dependencies = ["atk" "gdk_pixbuf2" "pango"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "00cbfl306xkglk0cc758vsvv1saaa24gvwh0m2jnzwgfwxk7mc5w";
type = "gem";
};
version = "3.1.1";
};
hashdiff = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1n6hj7k7b9hazac0j48ypbak2nqi5wy4nh5cjra6xl3a92r8db0a";
type = "gem";
};
version = "0.3.4";
};
httpclient = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99";
type = "gem";
};
version = "2.8.3";
};
instance_storage = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "08nf5fhq9dckq9lmaklxydq0hrlfi7phk66gr3bggxg45zd687pl";
type = "gem";
};
version = "1.0.0";
};
json_pure = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1vllrpm2hpsy5w1r7000mna2mhd7yfrmd8hi713lk0n9mv27bmam";
type = "gem";
};
version = "1.8.6";
};
locale = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1sls9bq4krx0fmnzmlbn64dw23c4d6pz46ynjzrn9k8zyassdd0x";
type = "gem";
};
version = "2.1.2";
};
memoist = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0yd3rd7bnbhn9n47qlhcii5z89liabdjhy3is3h6gq77gyfk4f5q";
type = "gem";
};
version = "0.15.0";
};
metaclass = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0hp99y2b1nh0nr8pc398n3f8lakgci6pkrg4bf2b2211j1f6hsc5";
type = "gem";
};
version = "0.0.4";
};
mini_portile2 = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1y25adxb1hgg1wb2rn20g3vl07qziq6fz364jc5694611zz863hb";
type = "gem";
};
version = "2.1.0";
};
mocha = {
dependencies = ["metaclass"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0id1x7g46fzy8f4jna20ys329ydaj3sad75qs9db2a6nd7f0zc2b";
type = "gem";
};
version = "0.14.0";
};
moneta = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0pgwn6xnlh7vviy511mfgkv2j3sfihn5ic2zabmyrs2nh6kfa912";
type = "gem";
};
version = "1.0.0";
};
native-package-installer = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1zh5x87y9dr16ic7vif2c3rnpr5k5wfs6kihpy4dnb9s0mqyqhsj";
type = "gem";
};
version = "1.0.1";
};
nokogiri = {
dependencies = ["mini_portile2"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0jd8q3pr5rkrxx1vklvhcqcgl8kmfv5c8ny36ni3z5mirw6cm70c";
type = "gem";
};
version = "1.7.2";
};
oauth = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1awhy8ddhixch44y68lail3h1d214rnl3y1yzk0msq5g4z2l62ky";
type = "gem";
};
version = "0.5.1";
};
pango = {
dependencies = ["cairo" "glib2"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "18cc24lz4dmb7pavfspivbhbsypf40fhcbdzj8885zs0zr0dknby";
type = "gem";
};
version = "3.1.1";
};
pkg-config = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0fklf2dnk354ahxma3iki5cx7b8yn9khby162pz17z6f1f3xk84g";
type = "gem";
};
version = "1.2.0";
};
pluggaloid = {
dependencies = ["delayer" "instance_storage"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0p9s1bzw02jzjlpjpxsbfsy1cyfbqs10iqvhxqh4xgyh72nry9zr";
type = "gem";
};
version = "1.1.1";
};
power_assert = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "168ac459nv45a2lhdf86zv35lv9nr569ny5nh3kfnglnxyzyx0kr";
type = "gem";
};
version = "1.0.2";
};
public_suffix = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "040jf98jpp6w140ghkhw2hvc1qx41zvywx5gj7r2ylr1148qnj7q";
type = "gem";
};
version = "2.0.5";
};
rake = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0jcabbgnjc788chx31sihc5pgbqnlc1c75wakmqlbjdm8jns2m9b";
type = "gem";
};
version = "10.5.0";
};
ruby-hmac = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "01zym41f8fqbmxfz8zv19627swi62ka3gp33bfbkc87v5k7mw954";
type = "gem";
};
version = "0.4.0";
};
ruby-prof = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0y13gdcdajfgrkx5rc9pvb7bwkyximwl5yrhq05gkmhflzdr7kag";
type = "gem";
};
version = "0.16.2";
};
safe_yaml = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094";
type = "gem";
};
version = "1.0.4";
};
test-unit = {
dependencies = ["power_assert"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1kngxp21sqbm7kv7wnxfqk99ik3wv1bjab519vcbj8xj30a5y4py";
type = "gem";
};
version = "3.2.3";
};
text = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1x6kkmsr49y3rnrin91rv8mpc3dhrf3ql08kbccw8yffq61brfrg";
type = "gem";
};
version = "1.3.1";
};
totoridipjp = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "03ci9hbwc6xf4x0lkm6px4jgbmi37n8plsjhbf2ir5vka9f29lck";
type = "gem";
};
version = "0.1.0";
};
twitter-text = {
dependencies = ["unf"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0lld6d8rzj1zrgs6b227mp675bn8ds56f1c9w9wvx321f6ibn6np";
type = "gem";
};
version = "1.14.2";
};
typed-array = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0qlv2rnkin9rwkgjx3k5qvc17m0m7jf5cdirw3wxbjnw5kga27w9";
type = "gem";
};
version = "0.1.2";
};
unf = {
dependencies = ["unf_ext"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9";
type = "gem";
};
version = "0.1.4";
};
unf_ext = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "14hr2dzqh33kqc0xchs8l05pf3kjcayvad4z1ip5rdjxrkfk8glb";
type = "gem";
};
version = "0.0.7.4";
};
watch = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "02g4g6ynnldyjjzrh19r584gj4z6ksff7h0ajz5jdwhpp5y7cghx";
type = "gem";
};
version = "0.1.0";
};
webmock = {
dependencies = ["addressable" "crack" "hashdiff"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "03vlr6axajz6c7xmlk0w1kvkxc92f8y2zp27wq1z6yk916ry25n5";
type = "gem";
};
version = "1.24.6";
};
}

View File

@ -0,0 +1,9 @@
[Desktop Entry]
Name=mikutter
Comment=Twitter Client
Type=Application
Exec=@out@/bin/mikutter
Icon=@out@/core/skin/data/icon.png
Terminal=false
Categories=Network;
Keywords=Twitter;

View File

@ -0,0 +1,17 @@
{ pkgs ? import <nixpkgs> {} }:
pkgs.stdenv.mkDerivation {
name = "mikutter-shell";
buildInputs = with pkgs; [
bundix
bundler
];
shellHook = ''
truncate --size 0 Gemfile.lock
bundle lock
bundle package --path=vendor/bundle --no-install
rm -rf vendor .bundle
bundix -d
'';
}

View File

@ -26,9 +26,7 @@ let
substituteInPlace plugins/micromega/sos.ml --replace "; csdp" "; ${csdp}/bin/csdp"
substituteInPlace plugins/micromega/coq_micromega.ml --replace "System.is_in_system_path \"csdp\"" "true"
'' else "";
in
stdenv.mkDerivation {
self = stdenv.mkDerivation {
name = "coq-${version}";
inherit coq-version;
@ -36,6 +34,50 @@ stdenv.mkDerivation {
inherit (ocamlPackages) ocaml;
passthru = {
inherit (ocamlPackages) findlib;
emacsBufferSetup = pkgs: ''
; Propagate coq paths to children
(inherit-local-permanent coq-prog-name "${self}/bin/coqtop")
(inherit-local-permanent coq-dependency-analyzer "${self}/bin/coqdep")
(inherit-local-permanent coq-compiler "${self}/bin/coqc")
; If the coq-library path was already set, re-set it based on our current coq
(when (fboundp 'get-coq-library-directory)
(inherit-local-permanent coq-library-directory (get-coq-library-directory))
(coq-prog-args))
(mapc (lambda (arg)
(when (file-directory-p (concat arg "/lib/coq/${coq-version}/user-contrib"))
(setenv "COQPATH" (concat (getenv "COQPATH") ":" arg "/lib/coq/${coq-version}/user-contrib")))) '(${stdenv.lib.concatStringsSep " " (map (pkg: "\"${pkg}\"") pkgs)}))
; TODO Abstract this pattern from here and nixBufferBuilders.withPackages!
(defvar nixpkgs--coq-buffer-count 0)
(when (eq nixpkgs--coq-buffer-count 0)
(make-variable-buffer-local 'nixpkgs--is-nixpkgs-coq-buffer)
(defun nixpkgs--coq-inherit (buf)
(inherit-local-inherit-child buf)
(with-current-buffer buf
(setq nixpkgs--coq-buffer-count (1+ nixpkgs--coq-buffer-count))
(add-hook 'kill-buffer-hook 'nixpkgs--decrement-coq-buffer-count nil t))
buf)
; When generating a scomint buffer, do inherit-local inheritance and make it a nixpkgs-coq buffer
(defun nixpkgs--around-scomint-make (orig &rest r)
(if nixpkgs--is-nixpkgs-coq-buffer
(progn
(advice-add 'get-buffer-create :filter-return #'nixpkgs--coq-inherit)
(apply orig r)
(advice-remove 'get-buffer-create #'nixpkgs--coq-inherit))
(apply orig r)))
(advice-add 'scomint-make :around #'nixpkgs--around-scomint-make)
; When we have no more coq buffers, tear down the buffer handling
(defun nixpkgs--decrement-coq-buffer-count ()
(setq nixpkgs--coq-buffer-count (1- nixpkgs--coq-buffer-count))
(when (eq nixpkgs--coq-buffer-count 0)
(advice-remove 'scomint-make #'nixpkgs--around-scomint-make)
(fmakunbound 'nixpkgs--around-scomint-make)
(fmakunbound 'nixpkgs--coq-inherit)
(fmakunbound 'nixpkgs--decrement-coq-buffer-count))))
(setq nixpkgs--coq-buffer-count (1+ nixpkgs--coq-buffer-count))
(add-hook 'kill-buffer-hook 'nixpkgs--decrement-coq-buffer-count nil t)
(setq nixpkgs--is-nixpkgs-coq-buffer t)
(inherit-local 'nixpkgs--is-nixpkgs-coq-buffer)
'';
};
src = fetchurl {
@ -93,4 +135,4 @@ stdenv.mkDerivation {
maintainers = with maintainers; [ roconnor thoughtpolice vbgl ];
platforms = platforms.unix;
};
}
}; in self

View File

@ -1,15 +1,18 @@
{ stdenv, fetchurl, cln, gmp, swig, pkgconfig, readline, libantlr3c, boost, jdk, autoreconfHook, python2 }:
{ stdenv, fetchFromGitHub, cln, gmp, swig, pkgconfig, readline, libantlr3c,
boost, jdk, autoreconfHook, python2, antlr3_4 }:
stdenv.mkDerivation rec {
name = "cvc4-${version}";
version = "1.5pre-smtcomp2016";
name = "cvc4-unstable-${version}";
version = "2017-05-18";
src = fetchurl {
url = "http://cvc4.cs.nyu.edu/builds/src/cvc4-${version}.tar.gz";
sha256 = "15wz0plfc9q8acrwq1ljgsgqmh8pyz5alzv5xpchvv9w76lvj2zf";
src = fetchFromGitHub {
owner = "CVC4";
repo = "CVC4";
rev = "d77107cc56b0a089364c3d1512813701c155ea93";
sha256 = "085bjrrm33rl5pwqx13af9sgni9cfbg70wag6lm08jj41ws411xs";
};
buildInputs = [ gmp cln pkgconfig readline swig libantlr3c boost jdk autoreconfHook python2 ];
buildInputs = [ gmp cln pkgconfig readline swig libantlr3c antlr3_4 boost jdk autoreconfHook python2 ];
configureFlags = [
"--enable-language-bindings=c,c++,java"
"--enable-gpl"

View File

@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
done
'';
enableParallelBuild = true;
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "A CAS for polynomial computations";

View File

@ -0,0 +1,200 @@
diff --git a/core/base/inc/ROOT/StringConv.hxx b/core/base/inc/ROOT/StringConv.hxx
index 629fc18..4efa54a 100644
--- a/core/base/inc/ROOT/StringConv.hxx
+++ b/core/base/inc/ROOT/StringConv.hxx
@@ -89,7 +89,7 @@ EFromHumanReadableSize FromHumanReadableSize(std::string_view str, T &value)
size_t size = str.size();
size_t cur;
// Parse leading numeric factor
- const double coeff = stod(str, &cur);
+ const double coeff = stod(static_cast<std::string>(str), &cur);
// Skip any intermediate white space
while (cur<size && isspace(str[cur])) ++cur;
diff --git a/core/metacling/src/TCling.cxx b/core/metacling/src/TCling.cxx
index d71cb74..076facb 100644
--- a/core/metacling/src/TCling.cxx
+++ b/core/metacling/src/TCling.cxx
@@ -756,7 +756,7 @@ int TCling_GenerateDictionary(const std::vector<std::string> &classes,
gSystem->PrependPathName(dirbase, header);
dir = gSystem->DirName(dir);
}
- fileContent += TString("#include \"") + header + "\"\n";
+ fileContent += (TString("#include \"") + header + "\"\n").Data();
}
}
for (it = fwdDecls.begin(); it != fwdDecls.end(); ++it) {
@@ -1061,7 +1061,7 @@ TCling::TCling(const char *name, const char *title)
ROOT::TMetaUtils::SetPathsForRelocatability(clingArgsStorage);
// Add -I early so ASTReader can find the headers.
- std::string interpInclude(TROOT::GetEtcDir());
+ std::string interpInclude(TROOT::GetEtcDir().Data());
clingArgsStorage.push_back("-I" + interpInclude);
// Add include path to etc/cling. FIXME: This is a short term solution. The
@@ -1070,7 +1070,7 @@ TCling::TCling(const char *name, const char *title)
clingArgsStorage.push_back("-I" + interpInclude + "/cling");
// Add the root include directory and etc/ to list searched by default.
- clingArgsStorage.push_back(std::string("-I" + TROOT::GetIncludeDir()));
+ clingArgsStorage.push_back(std::string(("-I" + TROOT::GetIncludeDir()).Data()));
// Add the current path to the include path
// TCling::AddIncludePath(".");
diff --git a/hist/hist/src/TFormula.cxx b/hist/hist/src/TFormula.cxx
index abf3929..e7dad98 100644
--- a/hist/hist/src/TFormula.cxx
+++ b/hist/hist/src/TFormula.cxx
@@ -1677,7 +1677,7 @@ void TFormula::ProcessFormula(TString &formula)
if(fun.fName.Contains("::")) // add support for nested namespaces
{
// look for last occurence of "::"
- std::string name(fun.fName);
+ std::string name(fun.fName.Data());
size_t index = name.rfind("::");
assert(index != std::string::npos);
TString className = fun.fName(0,fun.fName(0,index).Length());
@@ -1869,7 +1869,7 @@ void TFormula::ProcessFormula(TString &formula)
// save copy of inputFormula in a std::strig for the unordered map
// and also formula is same as FClingInput typically and it will be modified
- std::string inputFormula = std::string(formula);
+ std::string inputFormula = std::string(formula.Data());
// valid input formula - try to put into Cling
diff --git a/main/src/nbmain.cxx b/main/src/nbmain.cxx
index 55d4f2f..8490149 100644
--- a/main/src/nbmain.cxx
+++ b/main/src/nbmain.cxx
@@ -173,9 +173,9 @@ static bool CreateStamp(string dest)
int main()
{
- string rootbin(TROOT::GetBinDir());
- string rootlib(TROOT::GetLibDir());
- string rootetc(TROOT::GetEtcDir());
+ string rootbin(TROOT::GetBinDir().Data());
+ string rootlib(TROOT::GetLibDir().Data());
+ string rootetc(TROOT::GetEtcDir().Data());
// If needed, install ROOT notebook files in the user's home directory
#ifdef WIN32
diff --git a/math/minuit/src/TMinuitMinimizer.cxx b/math/minuit/src/TMinuitMinimizer.cxx
index 4e2082a..18215c0 100644
--- a/math/minuit/src/TMinuitMinimizer.cxx
+++ b/math/minuit/src/TMinuitMinimizer.cxx
@@ -454,7 +454,7 @@ std::string TMinuitMinimizer::VariableName(unsigned int ivar) const {
// return the variable name
if (!CheckMinuitInstance()) return std::string();
if (!CheckVarIndex(ivar)) return std::string();
- return std::string(fMinuit->fCpnam[ivar]);
+ return std::string(fMinuit->fCpnam[ivar].Data());
}
int TMinuitMinimizer::VariableIndex(const std::string & ) const {
diff --git a/tmva/tmva/src/Factory.cxx b/tmva/tmva/src/Factory.cxx
index 36060ef..a1bbe34 100644
--- a/tmva/tmva/src/Factory.cxx
+++ b/tmva/tmva/src/Factory.cxx
@@ -390,7 +390,7 @@ TMVA::MethodBase* TMVA::Factory::BookMethod( TMVA::DataLoader *loader, TString t
// initialize methods
IMethod* im;
if (!boostNum) {
- im = ClassifierFactory::Instance().Create( std::string(theMethodName),
+ im = ClassifierFactory::Instance().Create( std::string(theMethodName.Data()),
fJobName,
methodTitle,
loader->DefaultDataSetInfo(),
@@ -933,7 +933,7 @@ void TMVA::Factory::TrainAllMethods()
// recreate
m = dynamic_cast<MethodBase*>( ClassifierFactory::Instance()
- .Create( std::string(Types::Instance().GetMethodName(methodType)),
+ .Create( std::string(Types::Instance().GetMethodName(methodType).Data()),
dataSetInfo, weightfile ) );
if( m->GetMethodType() == Types::kCategory ){
MethodCategory *methCat = (dynamic_cast<MethodCategory*>(m));
diff --git a/tmva/tmva/src/MethodBoost.cxx b/tmva/tmva/src/MethodBoost.cxx
index 1349e5d..2125ab3 100644
--- a/tmva/tmva/src/MethodBoost.cxx
+++ b/tmva/tmva/src/MethodBoost.cxx
@@ -389,7 +389,7 @@ void TMVA::MethodBoost::Train()
// the first classifier shows the option string output, the rest not
if (fCurrentMethodIdx>0) TMVA::MsgLogger::InhibitOutput();
- IMethod* method = ClassifierFactory::Instance().Create(std::string(fBoostedMethodName),
+ IMethod* method = ClassifierFactory::Instance().Create(std::string(fBoostedMethodName.Data()),
GetJobName(),
Form("%s_B%04i", fBoostedMethodTitle.Data(),fCurrentMethodIdx),
DataInfo(),
diff --git a/tmva/tmva/src/MethodCategory.cxx b/tmva/tmva/src/MethodCategory.cxx
index c2cbe80..d278cca 100644
--- a/tmva/tmva/src/MethodCategory.cxx
+++ b/tmva/tmva/src/MethodCategory.cxx
@@ -147,7 +147,7 @@ TMVA::IMethod* TMVA::MethodCategory::AddMethod( const TCut& theCut,
const TString& theTitle,
const TString& theOptions )
{
- std::string addedMethodName = std::string(Types::Instance().GetMethodName(theMethod));
+ std::string addedMethodName = std::string(Types::Instance().GetMethodName(theMethod).Data());
Log() << kINFO << "Adding sub-classifier: " << addedMethodName << "::" << theTitle << Endl;
diff --git a/tmva/tmva/src/MethodCompositeBase.cxx b/tmva/tmva/src/MethodCompositeBase.cxx
index 98fa5da..96bd9a3 100644
--- a/tmva/tmva/src/MethodCompositeBase.cxx
+++ b/tmva/tmva/src/MethodCompositeBase.cxx
@@ -194,7 +194,7 @@ void TMVA::MethodCompositeBase::ReadWeightsFromXML( void* wghtnode )
((TMVA::MethodBoost*)this)->BookMethod( Types::Instance().GetMethodType( methodTypeName), methodName, optionString );
}
fMethods.push_back(ClassifierFactory::Instance().Create(
- std::string(methodTypeName),jobName, methodName,DataInfo(),optionString));
+ std::string(methodTypeName.Data()),jobName, methodName,DataInfo(),optionString));
fMethodWeight.push_back(methodWeight);
MethodBase* meth = dynamic_cast<MethodBase*>(fMethods.back());
@@ -259,7 +259,7 @@ void TMVA::MethodCompositeBase::ReadWeightsFromStream( std::istream& istr )
((TMVA::MethodBoost*)this)->BookMethod( Types::Instance().GetMethodType( methodName), methodTitle, optionString );
}
else methodTitle=Form("%s (%04i)",GetMethodName().Data(),fCurrentMethodIdx);
- fMethods.push_back(ClassifierFactory::Instance().Create( std::string(methodName), jobName,
+ fMethods.push_back(ClassifierFactory::Instance().Create( std::string(methodName.Data()), jobName,
methodTitle,DataInfo(), optionString) );
fMethodWeight.push_back( methodWeight );
if(MethodBase* m = dynamic_cast<MethodBase*>(fMethods.back()) )
diff --git a/tmva/tmva/src/Reader.cxx b/tmva/tmva/src/Reader.cxx
index 94a8b28..0b67867 100644
--- a/tmva/tmva/src/Reader.cxx
+++ b/tmva/tmva/src/Reader.cxx
@@ -401,7 +401,7 @@ TMVA::IMethod* TMVA::Reader::BookMVA( const TString& methodTag, const TString& w
TMVA::IMethod* TMVA::Reader::BookMVA( TMVA::Types::EMVA methodType, const TString& weightfile )
{
- IMethod* im = ClassifierFactory::Instance().Create(std::string(Types::Instance().GetMethodName( methodType )),
+ IMethod* im = ClassifierFactory::Instance().Create(std::string(Types::Instance().GetMethodName( methodType ).Data()),
DataInfo(), weightfile );
MethodBase *method = (dynamic_cast<MethodBase*>(im));
@@ -440,7 +440,7 @@ TMVA::IMethod* TMVA::Reader::BookMVA( TMVA::Types::EMVA methodType, const char*
#if ROOT_VERSION_CODE >= ROOT_VERSION(5,26,00)
// books MVA method from weightfile
- IMethod* im = ClassifierFactory::Instance().Create(std::string(Types::Instance().GetMethodName( methodType )),
+ IMethod* im = ClassifierFactory::Instance().Create(std::string(Types::Instance().GetMethodName( methodType ).Data()),
DataInfo(), "" );
MethodBase *method = (dynamic_cast<MethodBase*>(im));
diff -aru a/core/base/inc/TString.h b/core/base/inc/TString.h
--- a/core/base/inc/TString.h
+++ b/core/base/inc/TString.h
@@ -106,7 +106,7 @@
char operator[](Ssiz_t i) const; // Index with bounds checking
operator std::string_view() const { return std::string_view(Data(),fExtent); }
- operator std::string() const { return std::string_view(Data(),fExtent).to_string(); }
+ operator std::string() const { return static_cast<std::string>(std::string_view(Data(),fExtent)); }
const char *Data() const;
Ssiz_t Length() const { return fExtent; }

View File

@ -1,18 +1,19 @@
{ stdenv, fetchurl, fetchpatch, cmake, pcre, pkgconfig, python2
, libX11, libXpm, libXft, libXext, zlib, lzma, gsl, Cocoa }:
, libX11, libXpm, libXft, libXext, mesa, zlib, libxml2, lzma, gsl
, Cocoa, OpenGL }:
stdenv.mkDerivation rec {
name = "root-${version}";
version = "6.08.02";
version = "6.09.02";
src = fetchurl {
url = "https://root.cern.ch/download/root_v${version}.source.tar.gz";
sha256 = "0530v1r4rvds52hgb13f00l3phhn76z6vii550mwv8bj3sl5070k";
sha256 = "0fc6b0l7bw66cyckxs4ikvyzcv1zlfx88205jx153smdhih0jj2k";
};
buildInputs = [ cmake pcre pkgconfig python2 zlib lzma gsl ]
++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext ]
++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa ]
buildInputs = [ cmake pcre pkgconfig python2 zlib libxml2 lzma gsl ]
++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext mesa ]
++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ]
;
patches = [
@ -20,6 +21,13 @@ stdenv.mkDerivation rec {
# this prevents thisroot.sh from setting $p, which interferes with stdenv setup
./thisroot.patch
# https://sft.its.cern.ch/jira/browse/ROOT-8728
(fetchpatch {
url = "https://sft.its.cern.ch/jira/secure/attachment/20025/0001-std-string_view-has-no-more-to_string.patch";
sha256 = "0ngyk960xfrcsj4vhr1ax8h85fx0g1cfycxi3k35a6ych2zmyg8q";
})
./ROOT-8728-extra.patch
];
preConfigure = ''
@ -47,7 +55,7 @@ stdenv.mkDerivation rec {
"-Dmonalisa=OFF"
"-Dmysql=OFF"
"-Dodbc=OFF"
"-Dopengl=OFF"
"-Dopengl=ON"
"-Doracle=OFF"
"-Dpgsql=OFF"
"-Dpythia6=OFF"
@ -55,7 +63,7 @@ stdenv.mkDerivation rec {
"-Drfio=OFF"
"-Dsqlite=OFF"
"-Dssl=OFF"
"-Dxml=OFF"
"-Dxml=ON"
"-Dxrootd=OFF"
]
++ stdenv.lib.optional (stdenv.cc.libc != null) "-DC_INCLUDE_DIRS=${stdenv.lib.getDev stdenv.cc.libc}/include";

View File

@ -25,7 +25,7 @@ diff --git a/cmake/modules/SetUpMacOS.cmake b/cmake/modules/SetUpMacOS.cmake
- COMMAND cut -d . -f 2
- OUTPUT_VARIABLE MACOSX_MINOR OUTPUT_STRIP_TRAILING_WHITESPACE)
-
- if(MACOSX_VERSION VERSION_GREATER 10.7 AND ${CMAKE_CXX_COMPILER_ID} STREQUAL Clang)
- if(MACOSX_VERSION VERSION_GREATER 10.7 AND ${CMAKE_CXX_COMPILER_ID} MATCHES Clang)
set(libcxx ON CACHE BOOL "Build using libc++" FORCE)
- endif()

View File

@ -13,6 +13,9 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
# LLVM 4 doesn't allow ambigous type in std::abs argument
patches = stdenv.lib.optional stdenv.cc.isClang [ ./explicit_overloads.patch ];
configureFlags = [
"--with-sqlite3=${sqlite.dev}"
"--enable-hepmc2=${hepmc}"

View File

@ -0,0 +1,119 @@
diff --git a/ATOOLS/Phys/Flavour.C b/ATOOLS/Phys/Flavour.C
index 1986348..740eea3 100644
--- a/ATOOLS/Phys/Flavour.C
+++ b/ATOOLS/Phys/Flavour.C
@@ -298,8 +298,8 @@ std::string Flavour::IDName() const
bool Flavour::IsDiQuark() const
{
- if(abs(Kfcode())>=1103&&abs(Kfcode())<=5505) {
- double help=abs(Kfcode())/100.0-int(abs(Kfcode())/100.0);
+ if(abs((long)Kfcode())>=1103&&abs((long)Kfcode())<=5505) {
+ double help=abs((long)Kfcode())/100.0-int(abs((long)Kfcode())/100.0);
if(help<0.031) return true;
}
return false;
@@ -307,27 +307,27 @@ bool Flavour::IsDiQuark() const
bool Flavour::IsBaryon() const
{
- if (abs(Kfcode())%10000<1000) return false;
+ if (abs((long)Kfcode())%10000<1000) return false;
return !IsDiQuark();
}
bool Flavour::IsB_Hadron() const
{
- if (abs(Kfcode())<100) return 0;
+ if (abs((long)Kfcode())<100) return 0;
if (Kfcode()-100*int(Kfcode()/100)<10) return 0;
- if (abs((Kfcode()-100*int(Kfcode()/100))/10)==5) return 1;
- if (abs((Kfcode()-1000*int(Kfcode()/1000))/100)==5) return 1;
- if (abs((Kfcode()-10000*int(Kfcode()/10000))/1000)==5) return 1;
+ if (abs((long)(Kfcode()-100*int(Kfcode()/100))/10)==5) return 1;
+ if (abs((long)(Kfcode()-1000*int(Kfcode()/1000))/100)==5) return 1;
+ if (abs((long)(Kfcode()-10000*int(Kfcode()/10000))/1000)==5) return 1;
return 0;
}
bool Flavour::IsC_Hadron() const
{
- if (abs(Kfcode())<100) return 0;
+ if (abs((long)Kfcode())<100) return 0;
if (Kfcode()-100*int(Kfcode()/100)<10) return 0;
- if (abs((Kfcode()-100*int(Kfcode()/100))/10)==4) return 1;
- if (abs((Kfcode()-1000*int(Kfcode()/1000))/100)==4) return 1;
- if (abs((Kfcode()-10000*int(Kfcode()/10000))/1000)==4) return 1;
+ if (abs((long)(Kfcode()-100*int(Kfcode()/100))/10)==4) return 1;
+ if (abs((long)(Kfcode()-1000*int(Kfcode()/1000))/100)==4) return 1;
+ if (abs((long)(Kfcode()-10000*int(Kfcode()/10000))/1000)==4) return 1;
return 0;
}
diff --git a/AddOns/Pythia/Pythia_Jet_Criterion.C b/AddOns/Pythia/Pythia_Jet_Criterion.C
index bbe9597..c1201e1 100644
--- a/AddOns/Pythia/Pythia_Jet_Criterion.C
+++ b/AddOns/Pythia/Pythia_Jet_Criterion.C
@@ -117,8 +117,8 @@ namespace PYTHIA {
double Qsq = sign * Q.Abs2();
// Mass term of radiator
DEBUG_VAR(ampl->MS());
- double m2Rad = ( abs(RadAfterBranch.Flav().Kfcode()) >= 4
- && abs(RadAfterBranch.Flav().Kfcode()) < 7)
+ double m2Rad = ( abs((long)RadAfterBranch.Flav().Kfcode()) >= 4
+ && abs((long)RadAfterBranch.Flav().Kfcode()) < 7)
? ampl->MS()->Mass2(RadAfterBranch.Flav())
: 0.;
// Construct 2->3 variables for FSR
diff --git a/BEAM/Main/EPA.C b/BEAM/Main/EPA.C
index 861a1b2..340ac33 100644
--- a/BEAM/Main/EPA.C
+++ b/BEAM/Main/EPA.C
@@ -54,7 +54,7 @@ double EPA::CosInt::GetCosInt(double X)
double EPA::phi(double x, double qq)
{
- if (abs(m_beam.Kfcode()) == kf_p_plus) {
+ if (abs((long)m_beam.Kfcode()) == kf_p_plus) {
const double a = 7.16;
const double b = -3.96;
const double c = .028;
@@ -179,7 +179,7 @@ bool EPA::CalculateWeight(double x,double q2)
m_weight=0.0;
return 1;
}
- if (abs(m_beam.Kfcode()) == kf_e) {
+ if (abs((long)m_beam.Kfcode()) == kf_e) {
double f = alpha/M_PI*(1+sqr(1-m_x))/m_x*log(2.*m_energy/m_mass);
if (f < 0) f = 0.;
m_weight = f;
@@ -187,7 +187,7 @@ bool EPA::CalculateWeight(double x,double q2)
<<"energy = "<<m_energy<<", "<<"mass = "<<m_mass<<".\n";
return 1;
}
- else if (abs(m_beam.Kfcode()) == kf_p_plus) {
+ else if (abs((long)m_beam.Kfcode()) == kf_p_plus) {
const double qz = 0.71;
double f, qmi, qma;
qma=m_q2Max/qz;
diff --git a/PDF/Remnant/Hadron_Remnant.C b/PDF/Remnant/Hadron_Remnant.C
index 243717c..58c2278 100644
--- a/PDF/Remnant/Hadron_Remnant.C
+++ b/PDF/Remnant/Hadron_Remnant.C
@@ -188,13 +188,13 @@ ATOOLS::Flavour Hadron_Remnant::Opposite(ATOOLS::Flavour flav) const
if (m_constit[i]==flav && !found) found=true;
else rem[j++]=m_constit[i].Kfcode();
}
- Flavour anti=Flavour((kf_code)(abs(rem[0])*1000+abs(rem[1])*100+3));
+ Flavour anti=Flavour((kf_code)(abs((long)rem[0])*1000+abs((long)rem[1])*100+3));
if (rem[0]!=rem[1]) {
if (ran->Get()<0.25)
- anti=Flavour((kf_code)(abs(rem[0])*1000+abs(rem[1])*100+1));
+ anti=Flavour((kf_code)(abs((long)rem[0])*1000+abs((long)rem[1])*100+1));
}
else {
- anti=Flavour((kf_code)(abs(rem[0])*1100+3));
+ anti=Flavour((kf_code)(abs((long)rem[0])*1100+3));
}
if (flav.IsAnti()) anti=anti.Bar();
return anti;

View File

@ -0,0 +1,28 @@
{ stdenv, fetchurl, cmake, libxml2, libxslt, boost, libarchive, python, antlr }:
with stdenv.lib;
stdenv.mkDerivation rec {
version = "0.9.5_beta";
name = "srcml-${version}";
src = fetchurl {
url = "http://www.sdml.cs.kent.edu/lmcrs/srcML-${version}-src.tar.gz";
sha256 = "13pswdi75qjsw7z75lz7l3yjsvb58drihla2mwj0f9wfahaj3pam";
};
prePatch = ''
patchShebangs .
substituteInPlace CMake/install.cmake --replace /usr/local $out
'';
nativeBuildInputs = [ cmake antlr ];
buildInputs = [ libxml2 libxslt boost libarchive python ];
meta = {
description = "Infrastructure for exploration, analysis, and manipulation of source code";
homepage = "http://www.srcml.org";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ leenaars ];
};
}

View File

@ -114,7 +114,7 @@ in stdenv.mkDerivation rec {
sed -i '/TestWebServer.cpp/d' xbmc/network/test/{Makefile,CMakeLists.txt}
'';
enableParallelBuild = true;
enableParallelBuilding = true;
doCheck = true;

View File

@ -15,6 +15,8 @@ in
stdenv.mkDerivation (edk2.setup "OvmfPkg/OvmfPkg${targetArch}.dsc" {
name = "OVMF-${version}";
outputs = [ "out" "fd" ];
# TODO: properly include openssl for secureBoot
buildInputs = [nasm iasl] ++ stdenv.lib.optionals (secureBoot == true) [ openssl ];
@ -48,6 +50,13 @@ stdenv.mkDerivation (edk2.setup "OvmfPkg/OvmfPkg${targetArch}.dsc" {
build -D CSM_ENABLE -D FD_SIZE_2MB ${if secureBoot then "-DSECURE_BOOT_ENABLE=TRUE" else ""}
'';
postFixup = ''
mkdir -p $fd/FV
mv $out/FV/OVMF{,_CODE,_VARS}.fd $fd/FV
'';
dontPatchELF = true;
meta = {
description = "Sample UEFI firmware for QEMU and KVM";
homepage = http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=OVMF;

View File

@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
makeFlags = "-C tools/lkl";
enableParallelBuilds = true;
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "LKL (Linux Kernel Library) aims to allow reusing the Linux kernel code as extensively as possible with minimal effort and reduced maintenance overhead";

View File

@ -167,7 +167,7 @@ callPackage (import ./generic.nix (rec {
++ optional (withSeabios) "--with-system-seabios=${seabios}"
++ optional (!withInternalSeabios && !withSeabios) "--disable-seabios"
++ optional (withOVMF) "--with-system-ovmf=${OVMF}"
++ optional (withOVMF) "--with-system-ovmf=${OVMF.fd}/FV/OVMF.fd"
++ optional (withInternalOVMF) "--enable-ovmf";
patches =

View File

@ -115,6 +115,19 @@ EOF
--suffix EMACSLOADPATH ":" "$deps/share/emacs/site-lisp:"
done
# Wrap MacOS app
# this has to pick up resources and metadata
# to recognize it as an "app"
if [ -d "$emacs/Applications/Emacs.app" ]; then
mkdir -p $out/Applications/Emacs.app/Contents/MacOS
cp -r $emacs/Applications/Emacs.app/Contents/Info.plist \
$emacs/Applications/Emacs.app/Contents/PkgInfo \
$emacs/Applications/Emacs.app/Contents/Resources \
$out/Applications/Emacs.app/Contents
makeWrapper $emacs/Applications/Emacs.app/Contents/MacOS/Emacs $out/Applications/Emacs.app/Contents/MacOS/Emacs \
--suffix EMACSLOADPATH ":" "$deps/share/emacs/site-lisp:"
fi
mkdir -p $out/share
# Link icons and desktop files into place
for dir in applications icons info man; do

View File

@ -59,6 +59,13 @@ in
, recursiveHash ? false
, # Shell code to build a netrc file for BASIC auth
netrcPhase ? null
, # Impure env vars (http://nixos.org/nix/manual/#sec-advanced-attributes)
# needed for netrcPhase
netrcImpureEnvVars ? []
, # Shell code executed after the file has been fetched
# successfully. This can do things like check or transform the file.
postFetch ? ""
@ -118,11 +125,18 @@ else stdenv.mkDerivation {
outputHashMode = if (recursiveHash || executable) then "recursive" else "flat";
inherit curlOpts showURLs mirrorsFile impureEnvVars postFetch downloadToTemp executable;
inherit curlOpts showURLs mirrorsFile postFetch downloadToTemp executable;
impureEnvVars = impureEnvVars ++ netrcImpureEnvVars;
# Doing the download on a remote machine just duplicates network
# traffic, so don't do that.
preferLocalBuild = true;
postHook = if netrcPhase == null then null else ''
${netrcPhase}
curlOpts="$curlOpts --netrc-file $PWD/netrc"
'';
inherit meta;
}

View File

@ -1,4 +1,4 @@
{ stdenv, makeWrapper, coreutils, gawk, gnused, nix }:
{ stdenv, makeWrapper, coreutils, gawk, gnused, diffutils, nix }:
stdenv.mkDerivation {
name = "common-updater-scripts";
@ -12,7 +12,7 @@ stdenv.mkDerivation {
cp ${./scripts}/* $out/bin
for f in $out/bin/*; do
wrapProgram $f --prefix PATH : ${stdenv.lib.makeBinPath [ coreutils gawk gnused nix ]}
wrapProgram $f --prefix PATH : ${stdenv.lib.makeBinPath [ coreutils gawk gnused nix diffutils ]}
done
'';
}

View File

@ -1,7 +1,7 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
version = "4.0.3";
version = "4.1.0";
package-name = "elementary-icon-theme";
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "https://launchpad.net/elementaryicons/4.x/${version}/+download/${name}.tar.xz";
sha256 = "0i3cp0wiy4g6d6symyfv3hvmw97109lfakd4qyphabbqllc9xlxb";
sha256 = "08pkk4299dj442dby15lwxwz7bax5d3828v1f81mbll084k7vssm";
};
dontBuild = true;

View File

@ -212,6 +212,10 @@ let
inherit gnome3;
};
networkmanager_fortisslvpn = pkgs.networkmanager_fortisslvpn.override {
inherit gnome3;
};
networkmanager_l2tp = pkgs.networkmanager_l2tp.override {
inherit gnome3;
};

View File

@ -0,0 +1,28 @@
{ stdenv, fetchurl, pkgconfig, gettext, m4, intltool, libxmlxx, keybinder
, gtk2, libX11, libfm, libwnck, libXmu, libXpm, cairo, gdk_pixbuf
, menu-cache, lxmenu-data, wirelesstools
, supportAlsa ? false, alsaLib
}:
stdenv.mkDerivation rec {
name = "lxpanel-0.9.3";
src = fetchurl {
url = "mirror://sourceforge/lxde/${name}.tar.xz";
sha256 = "1ccgv7jgl3y865cpb6w7baaz7468fxncm83bqxlwyni5bwhglb1l";
};
nativeBuildInputs = [ pkgconfig gettext m4 intltool libxmlxx ];
buildInputs = [
keybinder gtk2 libX11 libfm libwnck libXmu libXpm cairo gdk_pixbuf
menu-cache lxmenu-data m4 wirelesstools
] ++ stdenv.lib.optional supportAlsa alsaLib;
meta = {
description = "Lightweight X11 desktop panel for LXDE";
homepage = "http://lxde.org/";
license = stdenv.lib.licenses.gpl2;
maintainers = [ stdenv.lib.maintainers.ryneeverett ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -4,12 +4,14 @@
}:
stdenv.mkDerivation rec {
version = "0.2.0";
name = "xfce4-volumed-pulse-${version}";
p_name = "xfce4-volumed-pulse";
ver_maj = "0.2";
ver_min = "2";
name = "${p_name}-${ver_maj}.${ver_min}";
src = fetchurl {
url = "https://launchpad.net/xfce4-volumed-pulse/trunk/${version}/+download/${name}.tar.bz2";
sha256 = "0l75gl96skm0zn10w70mwvsjd12p1zjshvn7yc3439dz61506c39";
url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "0xjcs1b6ix6rwj9xgr9n89h315r3yhdm8wh5bkincd4lhz6ibhqf";
};
buildInputs =

View File

@ -1,19 +1,27 @@
{ stdenv, fetchFromGitHub, cmake, libffi, llvm_35, perl }:
{ stdenv
, fetchFromGitHub
, cmake
, pkgconfig
, libffi
, llvm_35
, doCheck ? false
, perl
}:
let version = "20170519";
let version = "20170419";
doCheck = false;
in stdenv.mkDerivation {
name = "dale-${version}";
src = fetchFromGitHub {
owner = "tomhrr";
repo = "dale";
rev = "64e072d0520a134b9ae8038104fa977776b6e0af";
sha256 = "1apvq3v6ra8x0sj8gg9yavqsyxiggh2wnh1zbw2ccpg723bssl4a";
rev = "39e16d8e89fa070de65a673d4462e783d530f95a";
sha256 = "0dc5cjahv7lzlp92hidlh83rwgrpgb6xz2pnba2pm5xrv2pnsskl";
};
buildInputs = [ cmake libffi llvm_35 ] ++
stdenv.lib.optional doCheck perl;
buildInputs = [ cmake pkgconfig libffi llvm_35 ]
++ stdenv.lib.optional doCheck perl;
inherit doCheck;

View File

@ -1,7 +1,8 @@
{ stdenv, fetchFromGitHub, tzdata, iana-etc, go_bootstrap, runCommand, writeScriptBin
, perl, which, pkgconfig, patch, fetchpatch
, pcre, cacert, llvm
, Security, Foundation, bash }:
, Security, Foundation, bash
, makeWrapper, git, subversion, mercurial, bazaar }:
let
@ -34,7 +35,7 @@ stdenv.mkDerivation rec {
};
# perl is used for testing go vet
nativeBuildInputs = [ perl which pkgconfig patch ];
nativeBuildInputs = [ perl which pkgconfig patch makeWrapper ];
buildInputs = [ pcre ]
++ optionals stdenv.isLinux [ stdenv.glibc.out stdenv.glibc.static ];
propagatedBuildInputs = optionals stdenv.isDarwin [ Security Foundation ];
@ -148,6 +149,9 @@ stdenv.mkDerivation rec {
installPhase = ''
cp -r . $GOROOT
( cd $GOROOT/src && ./all.bash )
# (https://github.com/golang/go/wiki/GoGetTools)
wrapProgram $out/share/go/bin/go --prefix PATH ":" "${stdenv.lib.makeBinPath [ git subversion mercurial bazaar ]}"
'';
preFixup = ''

View File

@ -1,25 +1,23 @@
{ stdenv, fetchgit, ocaml, zlib, neko, camlp4 }:
{ stdenv, fetchgit, ocaml, zlib, pcre, neko, camlp4 }:
stdenv.mkDerivation {
name = "haxe-3.2.1";
name = "haxe-3.4.2";
buildInputs = [ocaml zlib neko camlp4];
buildInputs = [ocaml zlib pcre neko camlp4];
src = fetchgit {
url = "https://github.com/HaxeFoundation/haxe.git";
sha256 = "1x9ay5a2llq46fww3k07jxx8h1vfpyxb522snc6702a050ki5vz3";
sha256 = "1m5fp183agqv8h3ynhxw4kndkpq2d6arysmirv3zl3vz5crmpwqd";
fetchSubmodules = true;
# Tag 3.2.1
rev = "deab4424399b520750671e51e5f5c2684e942c17";
# Tag 3.4.2
rev = "890f8c70cf23ce6f9fe0fdd0ee514a9699433ca7";
};
prePatch = ''
sed -i -e 's|com.class_path <- \[|&"'"$out/lib/haxe/std/"'";|' main.ml
sed -i -e 's|"/usr/lib/haxe/std/";|"'"$out/lib/haxe/std/"'";\n&|g' src/main.ml
'';
patches = [ ./haxelib-nix.patch ];
buildFlags = [ "all" "tools" ];
installPhase = ''
@ -34,7 +32,7 @@ stdenv.mkDerivation {
meta = with stdenv.lib; {
description = "Programming language targeting JavaScript, Flash, NekoVM, PHP, C++";
homepage = http://haxe.org;
homepage = https://haxe.org;
license = with licenses; [ gpl2 bsd2 /*?*/ ]; # -> docs/license.txt
maintainers = [ maintainers.marcweber ];
platforms = platforms.linux ++ platforms.darwin;

View File

@ -1,128 +0,0 @@
diff --git a/src/tools/haxelib/Main.hx b/src/tools/haxelib/Main.hx
index dc18815..def5231 100644
--- a/extra/haxelib_src/src/tools/haxelib/Main.hx
+++ b/extra/haxelib_src/src/tools/haxelib/Main.hx
@@ -1301,21 +1301,26 @@ class Main {
}
function checkRec( prj : String, version : String, l : List<{ project : String, version : String, info : Infos }> ) {
- var pdir = getRepository() + Data.safe(prj);
- if( !FileSystem.exists(pdir) )
- throw "Library "+prj+" is not installed : run 'haxelib install "+prj+"'";
- var version = if( version != null ) version else getCurrent(pdir);
- var vdir = pdir + "/" + Data.safe(version);
- if( vdir.endsWith("dev") )
- vdir = getDev(pdir);
- if( !FileSystem.exists(vdir) )
- throw "Library "+prj+" version "+version+" is not installed";
- for( p in l )
- if( p.project == prj ) {
- if( p.version == version )
- return;
- throw "Library "+prj+" has two version included "+version+" and "+p.version;
- }
+ var vdir = this.getNixLib(prj);
+ if (vdir == null) {
+ var pdir = getRepository() + Data.safe(prj);
+ if( !FileSystem.exists(pdir) )
+ throw "Library "+prj+" is not installed : run 'haxelib install "+prj+"'";
+ var version = if( version != null ) version else getCurrent(pdir);
+ var vdir = pdir + "/" + Data.safe(version);
+ if( vdir.endsWith("dev") )
+ vdir = getDev(pdir);
+ if( !FileSystem.exists(vdir) )
+ throw "Library "+prj+" version "+version+" is not installed";
+ for( p in l )
+ if( p.project == prj ) {
+ if( p.version == version )
+ return;
+ throw "Library "+prj+" has two version included "+version+" and "+p.version;
+ }
+ } else {
+ version = null;
+ }
var json = try File.getContent(vdir+"/"+Data.JSON) catch( e : Dynamic ) null;
var inf = Data.readData(json,false);
l.add({ project : prj, version : version, info: inf });
@@ -1330,15 +1335,21 @@ class Main {
var a = args[argcur++].split(":");
checkRec(a[0],a[1],list);
}
- var rep = getRepository();
for( d in list ) {
- var pdir = Data.safe(d.project)+"/"+Data.safe(d.version)+"/";
- var dir = rep + pdir;
- try {
- dir = getDev(rep+Data.safe(d.project));
+ var dir = this.getNixLib(d.project);
+ var pdir = Data.safe(d.project)+"/";
+ if (dir == null) {
+ var rep = getRepository();
+ pdir += Data.safe(d.version)+"/";
+ dir = rep + pdir;
+ try {
+ dir = getDev(rep+Data.safe(d.project));
+ dir = Path.addTrailingSlash(dir);
+ pdir = dir;
+ } catch( e : Dynamic ) {}
+ } else {
dir = Path.addTrailingSlash(dir);
- pdir = dir;
- } catch( e : Dynamic ) {}
+ }
var ndir = dir + "ndll";
if( FileSystem.exists(ndir) ) {
var sysdir = ndir+"/"+Sys.systemName();
@@ -1491,23 +1502,43 @@ class Main {
);
}
+ function getNixLib(project:String):Null<String>
+ {
+ var hlibPath = Sys.getEnv("HAXELIB_PATH");
+ if (hlibPath != null) {
+ for (libDir in hlibPath.split(":")) {
+ var fullpath = libDir;
+ fullpath += libDir.substr(-1, 1) == "/" ? "" : "/";
+ fullpath += Data.safe(project);
+ if (FileSystem.exists(fullpath))
+ return fullpath;
+ }
+ }
+ return null;
+ }
function run() {
- var rep = getRepository();
var project = param("Library");
var temp = project.split(":");
project = temp[0];
- var pdir = rep + Data.safe(project);
- if( !FileSystem.exists(pdir) )
- throw "Library "+project+" is not installed";
- pdir += "/";
- var version = temp[1] != null ? temp[1] : getCurrent(pdir);
- var dev = try getDev(pdir) catch ( e : Dynamic ) null;
- var vdir = dev != null ? dev : pdir + Data.safe(version);
args.push(cli.cwd);
+
+ var vdir = this.getNixLib(project);
+ if (vdir == null) {
+ var rep = getRepository();
+ var pdir = rep + Data.safe(project);
+ if( !FileSystem.exists(pdir) )
+ throw "Library "+project+" is not installed";
+ pdir += "/";
+ var version = temp[1] != null ? temp[1] : getCurrent(pdir);
+ var dev = try getDev(pdir) catch ( e : Dynamic ) null;
+ vdir = dev!=null ? dev : pdir + Data.safe(version);
+ var rdir = vdir + "/run.n";
+ if( !FileSystem.exists(rdir) )
+ throw "Library "+project+" version "+version+" does not have a run script";
+ }
cli.cwd = vdir;
-
var callArgs =
switch try [Data.readData(File.getContent(vdir + '/haxelib.json'), false), null] catch (e:Dynamic) [null, e] {
case [null, e]:

View File

@ -1,4 +1,4 @@
{ go, govers, parallel, lib, fetchgit, fetchhg, rsync, removeReferencesTo }:
{ go, govers, parallel, lib, fetchgit, fetchhg, fetchbzr, rsync, removeReferencesTo }:
{ name, buildInputs ? [], nativeBuildInputs ? [], passthru ? {}, preFixup ? ""
@ -54,7 +54,11 @@ let
fetchhg {
inherit (goDep.fetch) url rev sha256;
}
else abort "Unrecognized package fetch type";
else if goDep.fetch.type == "bzr" then
fetchbzr {
inherit (goDep.fetch) url rev sha256;
}
else abort "Unrecognized package fetch type: ${goDep.fetch.type}";
};
importGodeps = { depsFile }:

View File

@ -64,9 +64,10 @@ self: super: {
# https://git-annex.branchable.com/bugs/bash_completion_file_is_missing_in_the_6.20160527_tarball_on_hackage/
git-annex = ((overrideCabal super.git-annex (drv: {
src = pkgs.fetchgit {
name = "git-annex-${drv.version}-src";
url = "git://git-annex.branchable.com/";
rev = "refs/tags/" + drv.version;
sha256 = "0i08zxk68kbg6k0d9af97r9nr5vidsy63hx22fdp7c5jp64f967q";
sha256 = "1iwqxjvga0wam0dg1alwawvnz13hm7d7c9rfph0w6adrdgfmhnzc";
};
}))).override {
dbus = if pkgs.stdenv.isLinux then self.dbus else null;

View File

@ -37,7 +37,7 @@ core-packages:
- ghcjs-base-0
default-package-overrides:
# LTS Haskell 8.13
# LTS Haskell 8.14
- abstract-deque ==0.3
- abstract-par ==0.3.3
- AC-Vector ==2.3.2
@ -57,7 +57,7 @@ default-package-overrides:
- aeson-diff ==1.1.0.2
- aeson-extra ==0.4.0.0
- aeson-generic-compat ==0.0.1.0
- aeson-injector ==1.0.7.0
- aeson-injector ==1.0.8.0
- aeson-pretty ==0.8.2
- aeson-qq ==0.8.1
- aeson-utils ==0.3.0.2
@ -308,7 +308,7 @@ default-package-overrides:
- c2hs ==0.28.1
- Cabal ==1.24.2.0
- cabal-dependency-licenses ==0.2.0.0
- cabal-doctest ==1
- cabal-doctest ==1.0.1
- cabal-file-th ==0.2.4
- cabal-helper ==0.7.3.0
- cabal-rpm ==0.11.1
@ -433,7 +433,7 @@ default-package-overrides:
- convertible ==1.1.1.0
- cookie ==0.4.2.1
- countable ==1.0
- courier ==0.1.1.4
- courier ==0.1.1.5
- cpphs ==1.20.5
- cprng-aes ==0.6.1
- cpu ==0.1.2
@ -489,7 +489,7 @@ default-package-overrides:
- data-default-instances-containers ==0.0.1
- data-default-instances-dlist ==0.0.1
- data-default-instances-old-locale ==0.0.1
- data-dword ==0.3.1
- data-dword ==0.3.1.1
- data-endian ==0.1.1
- data-fix ==0.0.4
- data-has ==0.2.1.0
@ -549,7 +549,6 @@ default-package-overrides:
- distributed-process-simplelocalnet ==0.2.3.3
- distributed-static ==0.3.5.0
- distribution ==1.1.0.0
- distribution-nixpkgs ==1.0.0.1
- distributive ==0.5.2
- diversity ==0.8.0.2
- djinn-ghc ==0.0.2.3
@ -567,7 +566,7 @@ default-package-overrides:
- doctemplates ==0.1.0.2
- doctest ==0.11.2
- doctest-discover ==0.1.0.7
- dotenv ==0.3.1.0
- dotenv ==0.3.3.0
- dotnet-timespan ==0.0.1.0
- double-conversion ==2.0.2.0
- download ==0.3.2.5
@ -610,7 +609,7 @@ default-package-overrides:
- emailaddress ==0.2.0.0
- enclosed-exceptions ==1.0.2
- encoding-io ==0.0.1
- engine-io ==1.2.15
- engine-io ==1.2.16
- engine-io-wai ==1.0.6
- EntrezHTTP ==1.0.3
- entropy ==0.3.7
@ -643,7 +642,7 @@ default-package-overrides:
- exceptions ==0.8.3
- executable-hash ==0.2.0.4
- executable-path ==0.0.3.1
- exhaustive ==1.1.3
- exhaustive ==1.1.4
- exp-pairs ==0.1.5.2
- expiring-cache-map ==0.0.6.1
- explicit-exception ==0.1.8
@ -697,7 +696,7 @@ default-package-overrides:
- focus ==0.1.5
- fold-debounce ==0.2.0.5
- fold-debounce-conduit ==0.1.0.5
- foldl ==1.2.4
- foldl ==1.2.5
- foldl-statistics ==0.1.4.2
- folds ==0.7.3
- FontyFruity ==0.5.3.2
@ -706,7 +705,7 @@ default-package-overrides:
- format-numbers ==0.1.0.0
- formatting ==6.2.4
- fortran-src ==0.1.0.4
- foundation ==0.0.8
- foundation ==0.0.9
- Frames ==0.1.9
- free ==4.12.4
- free-vl ==0.1.4
@ -736,16 +735,16 @@ default-package-overrides:
- geniplate-mirror ==0.7.5
- getopt-generics ==0.13.0.1
- ghc-events ==0.4.4.0
- ghc-exactprint ==0.5.3.0
- ghc-exactprint ==0.5.3.1
- ghc-heap-view ==0.5.9
- ghc-mod ==5.7.0.0
- ghc-paths ==0.1.0.9
- ghc-prof ==1.3.0.2
- ghc-syb-utils ==0.2.3
- ghc-tcplugins-extra ==0.2
- ghc-typelits-extra ==0.2.2
- ghc-typelits-extra ==0.2.3
- ghc-typelits-knownnat ==0.2.4
- ghc-typelits-natnormalise ==0.5.2
- ghc-typelits-natnormalise ==0.5.3
- ghcid ==0.6.6
- ghcjs-base-stub ==0.1.0.2
- ghcjs-codemirror ==0.0.0.1
@ -769,7 +768,7 @@ default-package-overrides:
- giphy-api ==0.5.2.0
- git ==0.2.0
- github ==0.15.0
- github-release ==1.0.2
- github-release ==1.0.3
- github-types ==0.2.1
- github-webhook-handler ==0.0.8
- github-webhook-handler-snap ==0.0.7
@ -981,7 +980,7 @@ default-package-overrides:
- hbeanstalk ==0.2.4
- Hclip ==3.0.0.4
- HCodecs ==0.5
- hdaemonize ==0.5.2
- hdaemonize ==0.5.3
- HDBC ==2.4.0.1
- HDBC-mysql ==0.7.1.0
- HDBC-session ==0.1.1.0
@ -1034,13 +1033,12 @@ default-package-overrides:
- holy-project ==0.2.0.1
- hOpenPGP ==2.5.5
- hopenpgp-tools ==0.19.4
- hopenssl ==1.7
- hopfli ==0.2.1.1
- hosc ==0.15
- hostname ==1.0
- hostname-validate ==1.0.0
- hourglass ==0.2.10
- hpc-coveralls ==1.0.9
- hpc-coveralls ==1.0.10
- hPDB ==1.2.0.9
- hPDB-examples ==1.2.0.7
- HPDF ==1.4.10
@ -1059,8 +1057,8 @@ default-package-overrides:
- hsdns ==1.7
- hse-cpp ==0.2
- hsebaysdk ==0.4.0.0
- hsemail ==1.7.7
- HSet ==0.0.0
- hsemail ==2
- HSet ==0.0.1
- hset ==2.2.0
- hsexif ==0.6.1.1
- hsignal ==0.2.7.5
@ -1094,7 +1092,7 @@ default-package-overrides:
- hstatsd ==0.1
- HStringTemplate ==0.8.5
- hsx-jmacro ==7.3.8
- hsx2hs ==0.14.0
- hsx2hs ==0.14.1
- hsyslog ==4
- htaglib ==1.0.4
- HTF ==0.13.1.0
@ -1103,17 +1101,17 @@ default-package-overrides:
- html-email-validate ==0.2.0.0
- htoml ==1.0.0.3
- HTTP ==4000.3.6
- http-api-data ==0.3.7
- http-api-data ==0.3.7.1
- http-client ==0.5.6.1
- http-client-openssl ==0.2.0.5
- http-client-tls ==0.3.4.1
- http-client-tls ==0.3.4.2
- http-common ==0.8.2.0
- http-conduit ==2.2.3.1
- http-date ==0.0.6.1
- http-link-header ==1.0.3
- http-media ==0.6.4
- http-reverse-proxy ==0.4.4
- http-streams ==0.8.4.0
- http-streams ==0.8.5.3
- http-types ==0.9.1
- http2 ==1.6.3
- httpd-shed ==0.4.0.3
@ -1131,7 +1129,7 @@ default-package-overrides:
- hw-json ==0.4.0.0
- hw-mquery ==0.1.0.1
- hw-parser ==0.0.0.1
- hw-prim ==0.4.0.2
- hw-prim ==0.4.0.3
- hw-rankselect ==0.8.0.0
- hw-rankselect-base ==0.2.0.0
- hw-string-parse ==0.0.0.3
@ -1232,7 +1230,7 @@ default-package-overrides:
- jvm ==0.1.2
- jvm-streaming ==0.1
- jwt ==0.7.2
- kan-extensions ==5.0.1
- kan-extensions ==5.0.2
- kansas-comet ==0.4
- katip ==0.3.1.4
- katip-elasticsearch ==0.3.0.2
@ -1250,7 +1248,7 @@ default-package-overrides:
- lackey ==0.4.2
- language-c ==0.5.0
- language-c-quote ==0.11.7.3
- language-dockerfile ==0.3.5.0
- language-dockerfile ==0.3.6.0
- language-ecmascript ==0.17.1.0
- language-fortran ==0.5.1
- language-glsl ==0.2.0
@ -1258,7 +1256,6 @@ default-package-overrides:
- language-java ==0.2.8
- language-javascript ==0.6.0.9
- language-lua2 ==0.1.0.5
- language-nix ==2.1.0.1
- language-puppet ==1.3.7
- language-python ==0.5.4
- language-thrift ==0.10.0.0
@ -1281,7 +1278,7 @@ default-package-overrides:
- lens-regex ==0.1.0
- lens-simple ==0.1.0.9
- lentil ==1.0.9.0
- leveldb-haskell ==0.6.4
- leveldb-haskell ==0.6.5
- lexer-applicative ==2.1.0.1
- lhs2tex ==1.19
- libffi ==0.1
@ -1342,16 +1339,16 @@ default-package-overrides:
- markov-chain ==0.0.3.4
- markup ==3.1.0
- marvin ==0.2.3
- marvin-interpolate ==1.1.1
- marvin-interpolate ==1.1.2
- math-functions ==0.2.1.0
- mathexpr ==0.3.0.0
- matplotlib ==0.4.3
- matplotlib ==0.4.5
- matrices ==0.4.4
- matrix ==0.3.5.0
- matrix-market-attoparsec ==0.1.0.7
- maximal-cliques ==0.1.1
- mbox ==0.3.3
- mbox-utility ==0.0
- mbox-utility ==0.0.1
- mcmc-types ==1.0.3
- mediabus ==0.3.3.0
- mediabus-rtp ==0.3.2.1
@ -1368,7 +1365,7 @@ default-package-overrides:
- MFlow ==0.4.6.0
- mfsolve ==0.3.2.0
- microbench ==0.1
- microformats2-parser ==1.0.1.6
- microformats2-parser ==1.0.1.7
- microlens ==0.4.8.0
- microlens-aeson ==2.2.0.1
- microlens-contra ==0.1.0.1
@ -1398,10 +1395,10 @@ default-package-overrides:
- monad-extras ==0.6.0
- monad-http ==0.1.0.0
- monad-journal ==0.7.2
- monad-logger ==0.3.23
- monad-logger ==0.3.24
- monad-logger-json ==0.1.0.0
- monad-logger-prefix ==0.1.6
- monad-logger-syslog ==0.1.3.0
- monad-logger-syslog ==0.1.4.0
- monad-loops ==0.4.3
- monad-metrics ==0.1.0.2
- monad-par ==0.3.4.8
@ -1444,7 +1441,7 @@ default-package-overrides:
- murmur-hash ==0.1.0.9
- mushu ==0.1.1
- MusicBrainz ==0.2.4
- mustache ==2.1.3
- mustache ==2.1.4
- mutable-containers ==0.3.3
- mwc-probability ==1.3.0
- mwc-random ==0.13.6.0
@ -1529,7 +1526,7 @@ default-package-overrides:
- OpenGLRaw ==3.2.4.0
- openpgp-asciiarmor ==0.1
- opensource ==0.1.0.0
- openssl-streams ==1.2.1.0
- openssl-streams ==1.2.1.1
- operational ==0.2.3.5
- operational-class ==0.3.0.0
- opml-conduit ==0.6.0.1
@ -1560,7 +1557,7 @@ default-package-overrides:
- ParsecTools ==0.0.2.0
- parsers ==0.12.4
- partial-handler ==1.0.2
- partial-isomorphisms ==0.2.2
- partial-isomorphisms ==0.2.2.1
- patat ==0.5.1.2
- path ==0.5.13
- path-extra ==0.0.3
@ -1593,7 +1590,7 @@ default-package-overrides:
- picoparsec ==0.1.2.3
- pid1 ==0.1.0.1
- pinboard ==0.9.12.4
- pinch ==0.3.0.2
- pinch ==0.3.1.0
- pinchot ==0.24.0.0
- pipes ==4.3.3
- pipes-attoparsec ==0.5.1.5
@ -1633,9 +1630,9 @@ default-package-overrides:
- posix-realtime ==0.0.0.4
- post-mess-age ==0.2.1.0
- postgresql-binary ==0.9.3
- postgresql-libpq ==0.9.3.0
- postgresql-libpq ==0.9.3.1
- postgresql-schema ==0.1.10
- postgresql-simple ==0.5.2.1
- postgresql-simple ==0.5.3.0
- postgresql-simple-migration ==0.1.9.0
- postgresql-simple-url ==0.2.0.0
- postgresql-transactional ==1.1.1
@ -1762,8 +1759,8 @@ default-package-overrides:
- regex-tdfa ==1.2.2
- regex-tdfa-text ==1.0.0.3
- reinterpret-cast ==0.1.0
- relational-query ==0.8.3.6
- relational-query-HDBC ==0.6.0.2
- relational-query ==0.8.4.0
- relational-query-HDBC ==0.6.0.3
- relational-record ==0.1.7.1
- relational-schemas ==0.1.3.1
- renderable ==0.2.0.1
@ -1788,7 +1785,7 @@ default-package-overrides:
- rest-types ==1.14.1.1
- rest-wai ==0.2.0.1
- result ==0.2.6.0
- rethinkdb ==2.2.0.9
- rethinkdb ==2.2.0.10
- rethinkdb-client-driver ==0.0.23
- retry ==0.7.4.2
- rev-state ==0.1.2
@ -1808,7 +1805,7 @@ default-package-overrides:
- safe ==0.3.14
- safe-exceptions ==0.1.5.0
- safe-exceptions-checked ==0.1.0
- safecopy ==0.9.3.1
- safecopy ==0.9.3.2
- SafeSemaphore ==0.10.1
- sample-frame ==0.0.3
- sample-frame-np ==0.0.4.1
@ -1905,8 +1902,8 @@ default-package-overrides:
- smtLib ==1.0.8
- smtp-mail ==0.1.4.6
- snap-blaze ==0.2.1.5
- snap-core ==1.0.2.0
- snap-server ==1.0.2.0
- snap-core ==1.0.2.1
- snap-server ==1.0.2.2
- snowflake ==0.1.1.1
- soap ==0.2.3.3
- soap-openssl ==0.1.0.2
@ -1926,7 +1923,7 @@ default-package-overrides:
- sphinx ==0.6.0.2
- Spintax ==0.3.1
- splice ==0.6.1.1
- split ==0.2.3.1
- split ==0.2.3.2
- Spock ==0.12.0.0
- Spock-api ==0.12.0.0
- Spock-api-server ==0.12.0.0
@ -1939,7 +1936,7 @@ default-package-overrides:
- sql-words ==0.1.4.1
- sqlite-simple ==0.4.13.0
- sqlite-simple-errors ==0.6.0.0
- srcloc ==0.5.1.0
- srcloc ==0.5.1.1
- stache ==0.2.2
- stack-run-auto ==0.1.1.4
- stack-type ==0.1.0.0
@ -1972,8 +1969,8 @@ default-package-overrides:
- storable-tuple ==0.0.3.2
- storablevector ==0.2.12
- storablevector-carray ==0.0
- store ==0.4.2
- store-core ==0.4
- store ==0.4.3.1
- store-core ==0.4.1
- Strafunski-StrategyLib ==5.0.0.10
- stratosphere ==0.4.2
- streaming ==0.1.4.5
@ -2029,7 +2026,7 @@ default-package-overrides:
- tar ==0.5.0.3
- tar-conduit ==0.1.0
- tardis ==0.4.1.0
- tasty ==0.11.2
- tasty ==0.11.2.1
- tasty-ant-xml ==1.0.5
- tasty-auto ==0.1.0.2
- tasty-dejafu ==0.3.0.2
@ -2176,11 +2173,11 @@ default-package-overrides:
- uglymemo ==0.1.0.1
- unbound ==0.5.1
- unbound-generics ==0.3.1
- unbounded-delays ==0.1.0.10
- unbounded-delays ==0.1.1.0
- uncertain ==0.3.1.0
- unexceptionalio ==0.3.0
- unfoldable ==0.9.2
- unfoldable-restricted ==0.0.2
- unfoldable-restricted ==0.0.3
- unicode ==0.0
- unicode-show ==0.1.0.2
- unicode-transforms ==0.2.1
@ -2282,7 +2279,7 @@ default-package-overrides:
- wai-transformers ==0.0.7
- wai-websockets ==3.0.1.1
- waitra ==0.0.4.0
- warp ==3.2.11.2
- warp ==3.2.12
- warp-tls ==3.2.3
- wave ==0.1.4
- wavefront ==0.7.1
@ -2302,7 +2299,7 @@ default-package-overrides:
- webrtc-vad ==0.1.0.3
- websockets ==0.10.0.0
- websockets-rpc ==0.0.2
- websockets-snap ==0.10.2.1
- websockets-snap ==0.10.2.2
- weigh ==0.0.4
- wikicfp-scraper ==0.1.0.8
- wild-bind ==0.1.0.3
@ -2371,20 +2368,20 @@ default-package-overrides:
- xss-sanitize ==0.3.5.7
- yackage ==0.8.1
- yahoo-finance-api ==0.2.0.1
- yaml ==0.8.22
- Yampa ==0.10.5.1
- yaml ==0.8.22.1
- Yampa ==0.10.6
- YampaSynth ==0.2
- yes-precure5-command ==5.5.3
- yesod ==1.4.5
- yesod-auth ==1.4.17
- yesod-auth ==1.4.17.1
- yesod-auth-account ==1.4.3
- yesod-auth-basic ==0.1.0.2
- yesod-auth-hashdb ==1.6.1
- yesod-bin ==1.5.2.2
- yesod-bin ==1.5.2.3
- yesod-core ==1.4.33
- yesod-eventsource ==1.4.1
- yesod-fay ==0.8.0
- yesod-form ==1.4.11
- yesod-form ==1.4.12
- yesod-form-richtext ==0.1.0.0
- yesod-gitrepo ==0.2.1.0
- yesod-gitrev ==0.1.0.0

File diff suppressed because it is too large Load Diff

View File

@ -329,8 +329,8 @@ in {
};
php70 = generic {
version = "7.0.16";
sha256 = "1awp6l5bs7qkvak9hgn1qbwkn6303mprslmgcfjyq3ywfmszbic3";
version = "7.0.19";
sha256 = "0nbxgx5fkj1bcach97a3169kwic7jbd4b435n7v25v1aq2pw0fhg";
};
php71 = generic {

View File

@ -1,36 +0,0 @@
{
stdenv, fetchsvn, openssl, zlib, libvorbis, libpulseaudio, gstreamer, libao,
libtool, ncurses, glibc
}:
stdenv.mkDerivation rec {
name = "despotify-svn521";
src = fetchsvn {
url = "http://svn.code.sf.net/p/despotify/code";
rev = "521";
sha256 = "1vc453bv5ngkvaqkq7z5bj6x28m4kik59153jikcfah3k4qmxw21";
};
buildInputs = [
openssl zlib libvorbis libpulseaudio gstreamer libao libtool ncurses glibc
];
configurePhase = "cd src";
installPhase = "make LDCONFIG=true INSTALL_PREFIX=$out install";
meta = {
description = "Open source Spotify client and library";
longDescription = ''
despotify is a open source implementation of the Spotify API. This
package provides both a library and a few already quite useful,
proof-of-concept clients.
'';
homepage = "http://despotify.se";
license = stdenv.lib.licenses.bsd2;
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -6,21 +6,15 @@
let inherit (composableDerivation) edf; in
let version = "1.3.3"; in
let version = "1.3.4"; in
composableDerivation.composableDerivation {} {
name = "fltk-${version}";
src = fetchurl {
url = "http://fltk.org/pub/fltk/${version}/fltk-${version}-source.tar.gz";
sha256 = "15qd7lkz5d5ynz70xhxhigpz3wns39v9xcf7ggkl0792syc8sfgq";
sha256 = "13y57pnayrkfzm8azdfvysm8b77ysac8zhhdsh8kxmb0x3203ay8";
};
# http://www.fltk.org/str.php?L3156
postPatch = ''
substituteInPlace FL/x.H \
--replace 'class Fl_XFont_On_Demand' 'class FL_EXPORT Fl_XFont_On_Demand'
'';
patches = stdenv.lib.optionals stdenv.isDarwin [ ./nsosv.patch ];
nativeBuildInputs = [ pkgconfig ];

View File

@ -1,23 +1,34 @@
/* Build configuration used to build glibc, Info files, and locale
information. */
cross:
{ stdenv, lib, fetchurl
, gd ? null, libpng ? null
, buildPlatform, hostPlatform
, buildPackages
}:
{ name, fetchurl, lib, stdenv, installLocales ? false
, gccCross ? null, linuxHeaders ? null
, profilingLibraries ? false, meta
, withGd ? false, gd ? null, libpng ? null
, preConfigure ? "", ... }@args:
{ name
, withLinuxHeaders ? false
, profilingLibraries ? false
, installLocales ? false
, withGd ? false
, meta
, ...
} @ args:
let
inherit (buildPackages) linuxHeaders;
version = "2.25";
sha256 = "067bd9bb3390e79aa45911537d13c3721f1d9d3769931a30c2681bfee66f23a0";
cross = if buildPlatform != hostPlatform then hostPlatform else null;
in
assert cross != null -> gccCross != null;
assert withLinuxHeaders -> linuxHeaders != null;
assert withGd -> gd != null && libpng != null;
stdenv.mkDerivation ({
inherit linuxHeaders installLocales;
inherit installLocales;
linuxHeaders = if withLinuxHeaders then linuxHeaders else null;
# The host/target system.
crossConfig = if cross != null then cross.config else null;
@ -84,13 +95,13 @@ stdenv.mkDerivation ({
"--enable-obsolete-rpc"
"--sysconfdir=/etc"
"--enable-stackguard-randomization"
(if linuxHeaders != null
(if withLinuxHeaders
then "--with-headers=${linuxHeaders}/include"
else "--without-headers")
(if profilingLibraries
then "--enable-profile"
else "--disable-profile")
] ++ lib.optionals (cross == null && linuxHeaders != null) [
] ++ lib.optionals (cross == null && withLinuxHeaders) [
"--enable-kernel=2.6.32"
] ++ lib.optionals (cross != null) [
(if cross.withTLS then "--with-tls" else "--without-tls")
@ -113,8 +124,8 @@ stdenv.mkDerivation ({
outputs = [ "out" "bin" "dev" "static" ];
buildInputs = lib.optionals (cross != null) [ gccCross ]
++ lib.optionals withGd [ gd libpng ];
nativeBuildInputs = lib.optional (cross != null) buildPackages.stdenv.cc;
buildInputs = lib.optionals withGd [ gd libpng ];
# Needed to install share/zoneinfo/zone.tab. Set to impure /bin/sh to
# prevent a retained dependency on the bootstrap tools in the stdenv-linux
@ -122,9 +133,7 @@ stdenv.mkDerivation ({
BASH_SHELL = "/bin/sh";
}
# Remove the `gccCross' attribute so that the *native* glibc store path
# doesn't depend on whether `gccCross' is null or not.
// (removeAttrs args [ "lib" "gccCross" "fetchurl" "withGd" "gd" "libpng" ]) //
// (removeAttrs args [ "withLinuxHeaders" "withGd" ]) //
{
name = name + "-${version}" +
@ -153,7 +162,22 @@ stdenv.mkDerivation ({
''makeFlags="$makeFlags BUILD_LDFLAGS=-Wl,-rpath,${stdenv.cc.libc}/lib"''
}
${preConfigure}
'' + lib.optionalString (cross != null) ''
sed -i s/-lgcc_eh//g "../$sourceRoot/Makeconfig"
cat > config.cache << "EOF"
libc_cv_forced_unwind=yes
libc_cv_c_cleanup=yes
libc_cv_gnu89_inline=yes
# Only due to a problem in gcc configure scripts:
libc_cv_sparc64_tls=${if cross.withTLS then "yes" else "no"}
EOF
export BUILD_CC=gcc
export CC="$crossConfig-gcc"
export AR="$crossConfig-ar"
export RANLIB="$crossConfig-ranlib"
'';
preBuild = lib.optionalString withGd "unset NIX_DONT_SET_RPATH";
@ -176,4 +200,17 @@ stdenv.mkDerivation ({
maintainers = [ lib.maintainers.eelco ];
platforms = lib.platforms.linux;
} // meta;
}
// lib.optionalAttrs (cross != null) {
preInstall = null; # clobber the native hook
dontStrip = true;
separateDebugInfo = false; # this is currently broken for crossDrv
# To avoid a dependency on the build system 'bash'.
preFixup = ''
rm $bin/bin/{ldd,tzselect,catchsegv,xtrace}
'';
})

View File

@ -1,21 +1,16 @@
{ lib, stdenv, fetchurl, linuxHeaders
{ stdenv, callPackage
, withLinuxHeaders ? true
, installLocales ? true
, profilingLibraries ? false
, gccCross ? null
, withGd ? false, gd ? null, libpng ? null
, withGd ? false
}:
assert stdenv.cc.isGNU;
let
build = import ./common.nix;
cross = if gccCross != null then gccCross.target else null;
in
build cross ({
name = "glibc" + lib.optionalString withGd "-gd";
callPackage ./common.nix { inherit stdenv; } {
name = "glibc" + stdenv.lib.optionalString withGd "-gd";
inherit lib stdenv fetchurl linuxHeaders installLocales
profilingLibraries gccCross withGd gd libpng;
inherit withLinuxHeaders profilingLibraries installLocales withGd;
NIX_NO_SELF_RPATH = true;
@ -104,36 +99,3 @@ in
meta.description = "The GNU C Library";
}
//
(if cross != null
then {
preConfigure = ''
sed -i s/-lgcc_eh//g "../$sourceRoot/Makeconfig"
cat > config.cache << "EOF"
libc_cv_forced_unwind=yes
libc_cv_c_cleanup=yes
libc_cv_gnu89_inline=yes
# Only due to a problem in gcc configure scripts:
libc_cv_sparc64_tls=${if cross.withTLS then "yes" else "no"}
EOF
export BUILD_CC=gcc
export CC="$crossConfig-gcc"
export AR="$crossConfig-ar"
export RANLIB="$crossConfig-ranlib"
dontStrip=1
'';
preInstall = null; # clobber the native hook
separateDebugInfo = false; # this is currently broken for crossDrv
# To avoid a dependency on the build system 'bash'.
preFixup = ''
rm $bin/bin/{ldd,tzselect,catchsegv,xtrace}
'';
}
else {}))

View File

@ -1,13 +1,8 @@
{ lib, stdenv, fetchurl, texinfo, perl }:
{ callPackage, texinfo, perl }:
let build = import ./common.nix; in
/* null cross builder */
build null {
callPackage ./common.nix {} {
name = "glibc-info";
inherit fetchurl stdenv lib;
outputs = [ "out" ];
configureFlags = [ "--enable-add-ons" ];

View File

@ -6,14 +6,13 @@
http://sourceware.org/cgi-bin/cvsweb.cgi/libc/localedata/SUPPORTED?cvsroot=glibc
*/
{ lib, stdenv, fetchurl, writeText, allLocales ? true, locales ? ["en_US.UTF-8/UTF-8"] }:
{ stdenv, callPackage, writeText
, allLocales ? true, locales ? [ "en_US.UTF-8/UTF-8" ]
}:
let build = import ./common.nix; in
build null {
callPackage ./common.nix { inherit stdenv; } {
name = "glibc-locales";
inherit fetchurl stdenv lib;
installLocales = true;
builder = ./locales-builder.sh;

View File

@ -92,6 +92,39 @@ let
};
};
mkDictFromXuxen =
{ shortName, srcs, shortDescription, longDescription, dictFileName }:
stdenv.mkDerivation rec {
name = "hunspell-dict-${shortName}-xuxen-${version}";
version = "5-2015.11.10";
inherit srcs;
phases = ["unpackPhase" "installPhase"];
sourceRoot = ".";
# Copy files stripping until first dash (path and hash)
unpackCmd = "cp $curSrc \${curSrc##*-}";
installPhase = ''
# hunspell dicts
install -dm755 "$out/share/hunspell"
install -m644 ${dictFileName}.dic "$out/share/hunspell/"
install -m644 ${dictFileName}.aff "$out/share/hunspell/"
# myspell dicts symlinks
install -dm755 "$out/share/myspell/dicts"
ln -sv "$out/share/hunspell/${dictFileName}.dic" "$out/share/myspell/dicts/"
ln -sv "$out/share/hunspell/${dictFileName}.aff" "$out/share/myspell/dicts/"
'';
meta = with stdenv.lib; {
homepage = http://xuxen.eus/;
description = shortDescription;
longDescription = longDescription;
license = licenses.gpl2;
maintainers = with maintainers; [ zalakain ];
platforms = platforms.all;
};
};
in {
/* ENGLISH */
@ -191,4 +224,36 @@ in {
sha256 = "0m9frz75fx456bczknay5i446gdcp1smm48lc0qfwzhz0j3zcdrd";
};
};
/* BASQUE */
eu-es = mkDictFromXuxen {
shortName = "eu-es";
dictFileName = "eu_ES";
shortDescription = "Basque (Xuxen 5)";
longDescription = ''
Itxura berritzeaz gain, testuak zuzentzen laguntzeko zenbait hobekuntza
egin dira Xuxen.eus-en. Lexikoari dagokionez, 18645 sarrera berri erantsi
ditugu, eta proposamenak egiteko sistema ere aldatu dugu. Esate baterako,
gaizki idatzitako hitz baten inguruko proposamenak eskuratzeko, euskaraz
idaztean egiten ditugun akats arruntenak hartu dira kontuan. Sistemak
ematen dituen proposamenak ordenatzeko, berriz, aipatutako irizpidea
erabiltzeaz gain, Internetetik automatikoki eskuratutako euskarazko corpus
bateko datuen arabera ordenatu daitezke emaitzak. Erabiltzaileak horrela
ordenatu nahi baditu proposamenak, hautatu egin behar du aukera hori
testu-kutxaren azpian dituen aukeren artean. Interesgarria da proposamenak
ordenatzeko irizpide hori, hala sistemak formarik erabilienak proposatuko
baitizkigu gutxiago erabiltzen direnen aurretik.
'';
srcs = [
(fetchurl {
url = "http://xuxen.eus/static/hunspell/eu_ES.aff";
sha256 = "12w2j6phzas2rdzc7f20jnk93sm59m2zzfdgxv6p8nvcvbrkmc02";
})
(fetchurl {
url = "http://xuxen.eus/static/hunspell/eu_ES.dic";
sha256 = "0lw193jr7ldvln5x5z9p21rz1by46h0say9whfcw2kxs9vprd5b3";
})
];
};
}

View File

@ -35,11 +35,15 @@ stdenv.mkDerivation rec {
substituteInPlace ocaml/Makefile.in --replace '$(DESTDIR)$(OCAMLLIB)' '$(out)/lib/ocaml'
substituteInPlace v2v/test-harness/Makefile.am --replace '$(DESTDIR)$(OCAMLLIB)' '$(out)/lib/ocaml'
substituteInPlace v2v/test-harness/Makefile.in --replace '$(DESTDIR)$(OCAMLLIB)' '$(out)/lib/ocaml'
# some scripts hardcore /usr/bin/env which is not available in the build env
patchShebangs .
'';
configureFlags = "--disable-appliance --disable-daemon";
patches = [ ./libguestfs-syms.patch ];
NIX_CFLAGS_COMPILE="-I${libxml2.dev}/include/libxml2/";
installFlags = "REALLY_INSTALL=yes";
enableParallelBuilding = true;
postInstall = ''
for bin in $out/bin/*; do

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, pkgconfig, glib, python }:
{ stdenv, fetchurl, pkgconfig, glib, python, libgudev, libmbim }:
stdenv.mkDerivation rec {
name = "libqmi-1.16.0";
name = "libqmi-1.18.0";
src = fetchurl {
url = "https://www.freedesktop.org/software/libqmi/${name}.tar.xz";
sha256 = "0amshs06qc8zy8jz3r2yksqhhbamll7f893ll4zlvgr3zm3vpdks";
sha256 = "1v4cz3nsmh7nn3smhlhwzrb7yh6l1f270bwf40qacxayjdajr950";
};
outputs = [ "out" "dev" "devdoc" ];
@ -14,7 +14,9 @@ stdenv.mkDerivation rec {
patchShebangs .
'';
buildInputs = [ pkgconfig glib python ];
buildInputs = [ pkgconfig glib python libgudev libmbim ];
configureFlags = ["--enable-mbim-qmux" ];
meta = with stdenv.lib; {
homepage = http://www.freedesktop.org/wiki/Software/libqmi/;

View File

@ -18,6 +18,13 @@ let
doCheck = true;
# the configure script thinks that Darwin has ___exp10
# but its not available on my systems (or hydra apparently)
postConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
substituteInPlace config.h \
--replace "#define HAVE___EXP10 1" "#undef HAVE___EXP10"
'';
meta = with stdenv.lib; {
description = "Search engine library";
homepage = http://xapian.org/;

View File

@ -1,5 +1,6 @@
#!/bin/sh -e
#!/usr/bin/env nix-shell
#! nix-shell -i bash -p nodePackages.node2nix
rm -f node-env.nix
node2nix -i node-packages.json -o node-packages-v4.nix -c composition-v4.nix
node2nix -6 -i node-packages.json -o node-packages-v6.nix -c composition-v6.nix
node2nix -i node-packages-v4.json -o node-packages-v4.nix -c composition-v4.nix
node2nix -6 -i node-packages-v6.json -o node-packages-v6.nix -c composition-v6.nix

View File

@ -0,0 +1,10 @@
[
"coffee-script"
, "grunt-cli"
, "gulp"
, "node-gyp"
, "node-inspector"
, "node-pre-gyp"
, "npm"
, "titanium"
]

File diff suppressed because it is too large Load Diff

View File

@ -59,7 +59,6 @@
, "stylus"
, "svgo"
, "tern"
, "titanium"
, "typescript"
, "uglify-js"
, "ungit"

Some files were not shown because too many files have changed in this diff Show More