Merge remote-tracking branch 'upstream/master' into gcc-6

This commit is contained in:
Robin Gloster 2017-05-23 11:50:02 +02:00
commit cb00af4a2c
No known key found for this signature in database
GPG Key ID: 5E4C836C632C2882
212 changed files with 22572 additions and 54992 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>";
@ -563,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>";

View File

@ -1,6 +1,9 @@
let inherit (import ../attrsets.nix) mapAttrs; in
rec {
doubles = import ./doubles.nix;
parse = import ./parse.nix;
inspect = import ./inspect.nix;
platforms = import ./platforms.nix;
# Elaborate a `localSystem` or `crossSystem` so that it contains everything
@ -18,6 +21,13 @@ rec {
config = parse.tripleFromSystem final.parsed;
# Just a guess, based on `system`
platform = platforms.selectBySystem final.system;
} // args;
libc =
/**/ if final.isDarwin then "libSystem"
else if final.isMinGW then "msvcrt"
else if final.isLinux then "glibc"
# TODO(@Ericson2314) think more about other operating systems
else "native/impure";
} // mapAttrs (n: v: v final.parsed) inspect.predicates
// args;
in final;
}

View File

@ -1,8 +1,9 @@
let lists = import ../lists.nix; in
let parse = import ./parse.nix; in
let inherit (import ../attrsets.nix) matchAttrs; in
let
lists = import ../lists.nix;
parse = import ./parse.nix;
inherit (import ./inspect.nix) predicates;
inherit (import ../attrsets.nix) matchAttrs;
all = [
"aarch64-linux"
"armv5tel-linux" "armv6l-linux" "armv7l-linux"
@ -25,20 +26,21 @@ in rec {
allBut = platforms: lists.filter (x: !(builtins.elem x platforms)) all;
none = [];
arm = filterDoubles (matchAttrs { cpu = { family = "arm"; bits = 32; }; });
i686 = filterDoubles parse.isi686;
mips = filterDoubles (matchAttrs { cpu = { family = "mips"; }; });
x86_64 = filterDoubles parse.isx86_64;
arm = filterDoubles predicates.isArm32;
i686 = filterDoubles predicates.isi686;
mips = filterDoubles predicates.isMips;
x86_64 = filterDoubles predicates.isx86_64;
cygwin = filterDoubles parse.isCygwin;
darwin = filterDoubles parse.isDarwin;
freebsd = filterDoubles (matchAttrs { kernel = parse.kernels.freebsd; });
gnu = filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnu; }); # Should be better
illumos = filterDoubles (matchAttrs { kernel = parse.kernels.solaris; });
linux = filterDoubles parse.isLinux;
netbsd = filterDoubles (matchAttrs { kernel = parse.kernels.netbsd; });
openbsd = filterDoubles (matchAttrs { kernel = parse.kernels.openbsd; });
unix = filterDoubles parse.isUnix;
cygwin = filterDoubles predicates.isCygwin;
darwin = filterDoubles predicates.isDarwin;
freebsd = filterDoubles predicates.isFreeBSD;
# Should be better, but MinGW is unclear, and HURD is bit-rotted.
gnu = filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnu; });
illumos = filterDoubles predicates.isSunOS;
linux = filterDoubles predicates.isLinux;
netbsd = filterDoubles predicates.isNetBSD;
openbsd = filterDoubles predicates.isOpenBSD;
unix = filterDoubles predicates.isUnix;
mesaPlatforms = ["i686-linux" "x86_64-linux" "x86_64-darwin" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "aarch64-linux"];
}

37
lib/systems/inspect.nix Normal file
View File

@ -0,0 +1,37 @@
with import ./parse.nix;
with import ../attrsets.nix;
rec {
patterns = {
"32bit" = { cpu = { bits = 32; }; };
"64bit" = { cpu = { bits = 64; }; };
i686 = { cpu = cpuTypes.i686; };
x86_64 = { cpu = cpuTypes.x86_64; };
x86 = { cpu = { family = "x86"; }; };
Arm = { cpu = { family = "arm"; }; };
Mips = { cpu = { family = "mips"; }; };
BigEndian = { cpu = { significantByte = significantBytes.bigEndian; }; };
LittleEndian = { cpu = { significantByte = significantBytes.littleEndian; }; };
Unix = { kernel = { families = { inherit (kernelFamilies) unix; }; }; };
BSD = { kernel = { families = { inherit (kernelFamilies) bsd; }; }; };
Darwin = { kernel = kernels.darwin; };
Linux = { kernel = kernels.linux; };
SunOS = { kernel = kernels.solaris; };
FreeBSD = { kernel = kernels.freebsd; };
Hurd = { kernel = kernels.hurd; };
NetBSD = { kernel = kernels.netbsd; };
OpenBSD = { kernel = kernels.openbsd; };
Windows = { kernel = kernels.windows; };
Cygwin = { kernel = kernels.windows; abi = abis.cygnus; };
MinGW = { kernel = kernels.windows; abi = abis.gnu; };
Arm32 = recursiveUpdate patterns.Arm patterns."32bit";
Arm64 = recursiveUpdate patterns.Arm patterns."64bit";
};
predicates = mapAttrs'
(name: value: nameValuePair ("is" + name) (matchAttrs value))
patterns;
}

View File

@ -8,6 +8,7 @@
with import ../lists.nix;
with import ../types.nix;
with import ../attrsets.nix;
with (import ./inspect.nix).predicates;
let
lib = import ../default.nix;
@ -76,6 +77,7 @@ rec {
{
darwin = { execFormat = macho; families = { inherit unix; }; };
freebsd = { execFormat = elf; families = { inherit unix bsd; }; };
hurd = { execFormat = elf; families = { inherit unix; }; };
linux = { execFormat = elf; families = { inherit unix; }; };
netbsd = { execFormat = elf; families = { inherit unix bsd; }; };
none = { execFormat = unknown; families = { inherit unix; }; };
@ -109,23 +111,12 @@ rec {
inherit cpu vendor kernel abi;
};
is64Bit = matchAttrs { cpu = { bits = 64; }; };
is32Bit = matchAttrs { cpu = { bits = 32; }; };
isi686 = matchAttrs { cpu = cpuTypes.i686; };
isx86_64 = matchAttrs { cpu = cpuTypes.x86_64; };
isDarwin = matchAttrs { kernel = kernels.darwin; };
isLinux = matchAttrs { kernel = kernels.linux; };
isUnix = matchAttrs { kernel = { families = { inherit (kernelFamilies) unix; }; }; };
isWindows = matchAttrs { kernel = kernels.windows; };
isCygwin = matchAttrs { kernel = kernels.windows; abi = abis.cygnus; };
isMinGW = matchAttrs { kernel = kernels.windows; abi = abis.gnu; };
mkSkeletonFromList = l: {
"2" = # We only do 2-part hacks for things Nix already supports
if elemAt l 1 == "cygwin"
then { cpu = elemAt l 0; kernel = "windows"; abi = "cygnus"; }
then { cpu = elemAt l 0; kernel = "windows"; abi = "cygnus"; }
else if elemAt l 1 == "gnu"
then { cpu = elemAt l 0; kernel = "hurd"; abi = "gnu"; }
else { cpu = elemAt l 0; kernel = elemAt l 1; };
"3" = # Awkwards hacks, beware!
if elemAt l 1 == "apple"
@ -153,22 +144,22 @@ rec {
getKernel = name: kernels.${name} or (throw "Unknown kernel: ${name}");
getAbi = name: abis.${name} or (throw "Unknown ABI: ${name}");
system = rec {
parsed = rec {
cpu = getCpu args.cpu;
vendor =
/**/ if args ? vendor then getVendor args.vendor
else if isDarwin system then vendors.apple
else if isWindows system then vendors.pc
else if isDarwin parsed then vendors.apple
else if isWindows parsed then vendors.pc
else vendors.unknown;
kernel = getKernel args.kernel;
abi =
/**/ if args ? abi then getAbi args.abi
else if isLinux system then abis.gnu
else if isWindows system then abis.gnu
else if isLinux parsed then abis.gnu
else if isWindows parsed then abis.gnu
else abis.unknown;
};
in mkSystem system;
in mkSystem parsed;
mkSystemFromString = s: mkSystemFromSkeleton (mkSkeletonFromList (lib.splitString "-" s));

View File

@ -1,4 +1,4 @@
{ pkgs ? import ((import ../../lib).cleanSource ../..) {} }:
{ pkgs ? import ((import ../.).cleanSource ../..) {} }:
pkgs.stdenv.mkDerivation {
name = "nixpkgs-lib-tests";

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

@ -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
@ -430,11 +431,14 @@
./services/networking/i2p.nix
./services/networking/iodine.nix
./services/networking/ircd-hybrid/default.nix
./services/networking/iwd.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

@ -9,6 +9,26 @@ in
options = {
services.znapzend = {
enable = mkEnableOption "ZnapZend daemon";
logLevel = mkOption {
default = "debug";
example = "warning";
type = lib.types.enum ["debug" "info" "warning" "err" "alert"];
description = "The log level when logging to file. Any of debug, info, warning, err, alert. Default in daemonized form is debug.";
};
logTo = mkOption {
type = types.str;
default = "syslog::daemon";
example = "/var/log/znapzend.log";
description = "Where to log to (syslog::&lt;facility&gt; or &lt;filepath&gt;).";
};
noDestroy = mkOption {
type = types.bool;
default = false;
description = "Does all changes to the filesystem except destroy";
};
};
};
@ -18,16 +38,17 @@ in
systemd.services = {
"znapzend" = {
description = "ZnapZend - ZFS Backup System";
wantedBy = [ "zfs.target" ];
after = [ "zfs.target" ];
path = with pkgs; [ zfs mbuffer openssh ];
serviceConfig = {
ExecStart = "${pkgs.znapzend}/bin/znapzend";
ExecStart = "${pkgs.znapzend}/bin/znapzend --logto=${cfg.logTo} --loglevel=${cfg.logLevel} ${optionalString cfg.noDestroy "--nodestroy"}";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
Restart = "on-failure";
};
};
};
};
}

View File

@ -235,6 +235,6 @@ in {
};
};
meta.maintainers = with lib.maintainers; [ nand0p Mic92 ];
meta.maintainers = with lib.maintainers; [ nand0p mic92 ];
}

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 || true
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

@ -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,34 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.networking.wireless.iwd;
in {
options.networking.wireless.iwd.enable = mkEnableOption "iwd";
config = mkIf cfg.enable {
assertions = [{
assertion = !config.networking.wireless.enable;
message = ''
Only one wireless daemon is allowed at the time: networking.wireless.enable and networking.wireless.iwd.enable are mutually exclusive.
'';
}];
# for iwctl
environment.systemPackages = [ pkgs.iwd ];
services.dbus.packages = [ pkgs.iwd ];
systemd.services.iwd = {
description = "Wireless daemon";
before = [ "network.target" ];
wants = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig.ExecStart = "${pkgs.iwd}/bin/iwd";
};
};
meta.maintainers = with lib.maintainers; [ mic92 ];
}

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

@ -3,52 +3,7 @@
with lib;
let cfg = config.services.cloud-init;
path = with pkgs; [ cloud-init nettools utillinux e2fsprogs shadow dmidecode openssh ];
configFile = pkgs.writeText "cloud-init.cfg" ''
users:
- root
disable_root: false
preserve_hostname: false
cloud_init_modules:
- migrator
- seed_random
- bootcmd
- write-files
- growpart
- resizefs
- set_hostname
- update_hostname
- update_etc_hosts
- ca-certs
- rsyslog
- users-groups
cloud_config_modules:
- emit_upstart
- disk_setup
- mounts
- ssh-import-id
- set-passwords
- timezone
- disable-ec2-metadata
- runcmd
- ssh
cloud_final_modules:
- rightscale_userdata
- scripts-vendor
- scripts-per-once
- scripts-per-boot
- scripts-per-instance
- scripts-user
- ssh-authkey-fingerprints
- keys-to-console
- phone-home
- final-message
- power-state-change
'';
path = with pkgs; [ cloud-init nettools utillinux e2fsprogs shadow openssh iproute ];
in
{
options = {
@ -74,12 +29,63 @@ in
'';
};
config = mkOption {
type = types.str;
default = ''
system_info:
distro: nixos
users:
- root
disable_root: false
preserve_hostname: false
cloud_init_modules:
- migrator
- seed_random
- bootcmd
- write-files
- growpart
- resizefs
- update_etc_hosts
- ca-certs
- rsyslog
- users-groups
cloud_config_modules:
- disk_setup
- mounts
- ssh-import-id
- set-passwords
- timezone
- disable-ec2-metadata
- runcmd
- ssh
cloud_final_modules:
- rightscale_userdata
- scripts-vendor
- scripts-per-once
- scripts-per-boot
- scripts-per-instance
- scripts-user
- ssh-authkey-fingerprints
- keys-to-console
- phone-home
- final-message
- power-state-change
'';
description = ''cloud-init configuration.'';
};
};
};
config = mkIf cfg.enable {
environment.etc."cloud/cloud.cfg".text = cfg.config;
systemd.services.cloud-init-local =
{ description = "Initial cloud-init job (pre-networking)";
wantedBy = [ "multi-user.target" ];
@ -88,7 +94,7 @@ in
path = path;
serviceConfig =
{ Type = "oneshot";
ExecStart = "${pkgs.cloud-init}/bin/cloud-init -f ${configFile} init --local";
ExecStart = "${pkgs.cloud-init}/bin/cloud-init init --local";
RemainAfterExit = "yes";
TimeoutSec = "0";
StandardOutput = "journal+console";
@ -105,7 +111,7 @@ in
path = path;
serviceConfig =
{ Type = "oneshot";
ExecStart = "${pkgs.cloud-init}/bin/cloud-init -f ${configFile} init";
ExecStart = "${pkgs.cloud-init}/bin/cloud-init init";
RemainAfterExit = "yes";
TimeoutSec = "0";
StandardOutput = "journal+console";
@ -121,7 +127,7 @@ in
path = path;
serviceConfig =
{ Type = "oneshot";
ExecStart = "${pkgs.cloud-init}/bin/cloud-init -f ${configFile} modules --mode=config";
ExecStart = "${pkgs.cloud-init}/bin/cloud-init modules --mode=config";
RemainAfterExit = "yes";
TimeoutSec = "0";
StandardOutput = "journal+console";
@ -137,7 +143,7 @@ in
path = path;
serviceConfig =
{ Type = "oneshot";
ExecStart = "${pkgs.cloud-init}/bin/cloud-init -f ${configFile} modules --mode=final";
ExecStart = "${pkgs.cloud-init}/bin/cloud-init modules --mode=final";
RemainAfterExit = "yes";
TimeoutSec = "0";
StandardOutput = "journal+console";

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

@ -1,16 +1,20 @@
{ stdenv, fetchurl, libclthreads, zita-alsa-pcmi, alsaLib, libjack2
, libclxclient, libX11, libXft, readline}:
, libclxclient, libX11, libXft, readline
}:
stdenv.mkDerivation rec {
name = "aeolus-${version}";
version = "0.9.0";
version = "0.9.5";
src = fetchurl {
url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2";
sha256 = "0dkkibza25a6z9446njqlaynx8gfk5wb828pl9v1snmi5390iggp";
sha256 = "0wfp8ihldyq2dhdyy7ld7z0zzfvnwam1dvbxnpd9d6xgc4k3j4nv";
};
buildInputs = [ libclthreads zita-alsa-pcmi alsaLib libjack2 libclxclient
libX11 libXft readline ];
buildInputs = [
libclthreads zita-alsa-pcmi alsaLib libjack2 libclxclient
libX11 libXft readline
];
patchPhase = ''sed "s@ldconfig.*@@" -i source/Makefile'';

View File

@ -3,11 +3,11 @@
stdenv.mkDerivation rec {
name = packageName + "-" + version ;
packageName = "aj-snapshot" ;
version = "0.9.6" ;
version = "0.9.7";
src = fetchurl {
url = "mirror://sourceforge/${packageName}/${name}.tar.bz2";
sha256 = "12n2h3609fbvsnnwrwma4m55iyv6lcv1v3q5pznz2w6f12wf0c9z";
sha256 = "0yxccgp9qw2cyqv719wlbq8wfsr5ga8czvwa7bmb8dh5s11n3rn8";
};
doCheck = false;

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

@ -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,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

@ -2,7 +2,7 @@
buildGoPackage rec {
name = "hugo-${version}";
version = "0.20.6";
version = "0.21";
goPackagePath = "github.com/spf13/hugo";
@ -10,7 +10,7 @@ buildGoPackage rec {
owner = "spf13";
repo = "hugo";
rev = "v${version}";
sha256 = "1r8sjx7rbrjk2a3x3x6cd987xykm2j06jbnwxxsn4rs6yym0yjl8";
sha256 = "1lv815dwj02gwp5jhs03yrcfilhg5afx476bv7hb9ipx4q3a8lqm";
};
goDeps = ./deps.nix;

View File

@ -4,8 +4,8 @@
fetch = {
type = "git";
url = "https://github.com/BurntSushi/toml";
rev = "99064174e013895bbd9b025c31100bd1d9b590ca";
sha256 = "058qrar8rvw3wb0ci1mf1axnqq2729cvv9zmdr4ms2nn9s97yiz9";
rev = "b26d9c308763d68093482582cea63d69be07a0f0";
sha256 = "0k7v2i1d2d6si8gswn83qb84czhhia53v2wdy33yz9ppdidxk0ry";
};
}
{
@ -13,8 +13,8 @@
fetch = {
type = "git";
url = "https://github.com/PuerkitoBio/purell";
rev = "0bcb03f4b4d0a9428594752bd2a3b9aa0a9d4bd4";
sha256 = "0vsxyn1fbm7g873b8kf3hcsgqgncb5nmfq3zfsc35a9yhzarka91";
rev = "b938d81255b5473c57635324295cb0fe398c7a58";
sha256 = "0d44lrg04g9nibhdlagwq9n8g5ka1784pm0jzyl6cfpq8nc1ppj8";
};
}
{
@ -22,8 +22,8 @@
fetch = {
type = "git";
url = "https://github.com/PuerkitoBio/urlesc";
rev = "5bd2802263f21d8788851d5305584c82a5c75d7e";
sha256 = "15y5r3asvm7196m3nza5xvdvlc2k11p6lfs6hi917hl7r9vgi6mp";
rev = "bbf7a2afc14f93e1e0a5c06df524fbd75e5031e5";
sha256 = "13r896yy71i6jj1cwv2pjp53wjfxkg7bh884fggv6y79ly0qr63j";
};
}
{
@ -76,8 +76,8 @@
fetch = {
type = "git";
url = "https://github.com/eknkc/amber";
rev = "9be5e8aae85904f63d505e0c00e5e0881d44ef4d";
sha256 = "1hmsqxwajgpmg1svzjqxf4n81qy7qs6m39cjv69jkhz9lpwc305j";
rev = "d15eb996544134263b00cce829b5bc4988fdb2df";
sha256 = "1izrfw8vp5m2x8bmjaz1psmyn9pqcmcdsr3adiv1kkkqr01r37bb";
};
}
{
@ -103,8 +103,8 @@
fetch = {
type = "git";
url = "https://github.com/gorilla/websocket";
rev = "adf16b31781325cbd41085c5be901d95b4d1f33d";
sha256 = "0f93k3igbqqwsl734lxnkbfajc4lcyzg4szg15vb26qn939b5ccx";
rev = "a91eba7f97777409bc2c443f5534d41dd20c5720";
sha256 = "13cg6wwkk2ddqbm0nh9fpx4mq7f6qym12ch4lvs53n028ycdgw87";
};
}
{
@ -112,8 +112,8 @@
fetch = {
type = "git";
url = "https://github.com/hashicorp/hcl";
rev = "80e628d796135357b3d2e33a985c666b9f35eee1";
sha256 = "0l85a7ir60hycb3mqsxmrz18f1kax03k55afsahr8xf46pjp5pyb";
rev = "630949a3c5fa3c613328e1b8256052cbc2327c9b";
sha256 = "00lalg0gz7218gnw6zgn28gfizpcl8zw8jpkghn681vj7lfah5dh";
};
}
{
@ -130,8 +130,8 @@
fetch = {
type = "git";
url = "https://github.com/kardianos/osext";
rev = "9b883c5eb462dd5cb1b0a7a104fe86bc6b9bd391";
sha256 = "0cyhbgsxwdfnwy57pdfivvjfy951gxbg9qlsjbwm6vs3gfws07mr";
rev = "9d302b58e975387d0b4d9be876622c86cefe64be";
sha256 = "0r6f727s16g4f66k8c2z1xh8ga1p53hg9g2v95pmhd1i60fhy47a";
};
}
{
@ -148,8 +148,8 @@
fetch = {
type = "git";
url = "https://github.com/kyokomi/emoji";
rev = "7e06b236c489543f53868841f188a294e3383eab";
sha256 = "1q2j0k5a8qqka1syc9zwmf1cvm6k628kf2g1nmghp2kdr7q1xmyb";
rev = "7ad0be7be9d4ee6ec2cf5df483dbec752626ac64";
sha256 = "1ck33c8xhdqdpmi5zjdk0f2qv2fda3wz88i22bxr10f9rmwkj004";
};
}
{
@ -157,8 +157,8 @@
fetch = {
type = "git";
url = "https://github.com/magiconair/properties";
rev = "9c47895dc1ce54302908ab8a43385d1f5df2c11c";
sha256 = "0497bacr3gc7352gcwb07wyw7vb9m04xfd82mw0hpnzzw3kfnav3";
rev = "51463bfca2576e06c62a8504b5c0f06d61312647";
sha256 = "0d7hr78y8gg2mrm5z4jjgm2w3awkznz383b7wvyzk3l33jw6i288";
};
}
{
@ -166,8 +166,8 @@
fetch = {
type = "git";
url = "https://github.com/miekg/mmark";
rev = "2d4f1dd6f87cad351b9323bbaa6f6c586f0c4bee";
sha256 = "1ak54nvmryx73g16q6qaac9x0klhbxxmk1j6zlnfvvibnkj2pa90";
rev = "8b498b013a3e10b12864c2023a59d490c9d4bf5b";
sha256 = "1v1q365d94hmpdip13a5435y6pfw3mq5isjj33q19by21zvb433v";
};
}
{
@ -175,8 +175,8 @@
fetch = {
type = "git";
url = "https://github.com/mitchellh/mapstructure";
rev = "bfdb1a85537d60bc7e954e600c250219ea497417";
sha256 = "141kkh801jyp1r6hba14krydqg1iivp13j12is70j0g05z9fbji8";
rev = "53818660ed4955e899c0bcafa97299a388bd7c8e";
sha256 = "10gdkk8gcjv0lg15ajy68dwgvfkjhawk08ccs9x9ym1adp6l2ycs";
};
}
{
@ -184,8 +184,8 @@
fetch = {
type = "git";
url = "https://github.com/nicksnyder/go-i18n";
rev = "4df9b06c0c1ffd8538a3cfa9d888f8f52985b302";
sha256 = "1cbbvq9l822p7vrscvaah3zybsj5yxcsq9fgvgsg062njbb0x41f";
rev = "f373441d6d54a32891b2d8b1dbf99bc518f3d60d";
sha256 = "094kcybx0vmdvi3n2y4krrirg79527cq8713kppd6b19jwrqwqf4";
};
}
{
@ -202,8 +202,8 @@
fetch = {
type = "git";
url = "https://github.com/pelletier/go-toml";
rev = "fee7787d3f811af92276f5ff10107092e95b7a1d";
sha256 = "0srx5hr35f9qzn5dnqqa0msyjknwn7vcq0jmlkvfxgaq0ygd6s3r";
rev = "fe206efb84b2bc8e8cfafe6b4c1826622be969e3";
sha256 = "1dlabfpnlzvwf4i86idy8ilqpjsl8yqfgdv0nv5cccm8gkcans5w";
};
}
{
@ -211,8 +211,8 @@
fetch = {
type = "git";
url = "https://github.com/pkg/errors";
rev = "248dadf4e9068a0b3e79f02ed0a610d935de5302";
sha256 = "03l80r0i9bxl0vz363w62k4a8apzglgbrz6viwym3044sxkl1qks";
rev = "ff09b135c25aae272398c51a07235b90a75aa4f0";
sha256 = "0pwl6v3hmc22zp32gkyqykl4kg69xk1mlp0vmhgd1f44difd5fvz";
};
}
{
@ -229,8 +229,8 @@
fetch = {
type = "git";
url = "https://github.com/russross/blackfriday";
rev = "5f33e7b7878355cd2b7e6b8eefc48a5472c69f70";
sha256 = "0d7faqxrxvh8hwc1r8gbasgmr8x5blxvzciwspir2yafjfbqy87k";
rev = "b253417e1cb644d645a0a3bb1fa5034c8030127c";
sha256 = "1knj8vabymhmkg12cj3hnpqf3b74wwrvqib12yczcvpi52xaqi20";
};
}
{
@ -256,8 +256,8 @@
fetch = {
type = "git";
url = "https://github.com/spf13/cast";
rev = "ce135a4ebeee6cfe9a26c93ee0d37825f26113c7";
sha256 = "1a2ahiyynn1kdjznqvzjfm5g5bc098gfw857bw9qikhdljvsnjiy";
rev = "acbeb36b902d72a7a4c18e8f3241075e7ab763e4";
sha256 = "0w25s6gjbbwv47b9208hysyqqphd6pib3d2phg24mjy4wigkm050";
};
}
{
@ -265,8 +265,8 @@
fetch = {
type = "git";
url = "https://github.com/spf13/cobra";
rev = "7be4beda01ec05d0b93d80b3facd2b6f44080d94";
sha256 = "0jd2ya8kn763z16c3q5jl1x6raw2f3xq3vbaf4ppiy70zqzscmyg";
rev = "3d7bff8a321b0a0f88b115558bb7e21bec9124ab";
sha256 = "07lxw8lnbpdqjvjlx732v9i04z8kgyvlp68d0fqdv6a16smf3nyz";
};
}
{
@ -301,8 +301,8 @@
fetch = {
type = "git";
url = "https://github.com/spf13/pflag";
rev = "9ff6c6923cfffbcd502984b8e0c80539a94968b7";
sha256 = "0mfrxzyl8x7araa126lh8l3sihbbgfbzgkrg3v3cx7y4n3wrsqvn";
rev = "f1d95a35e132e8a1868023a08932b14f0b8b8fcb";
sha256 = "0fwvkyq36jvy2gid81031ll7qaj8jxr5g36fff7hhkp3hh4kz6zh";
};
}
{
@ -310,8 +310,8 @@
fetch = {
type = "git";
url = "https://github.com/spf13/viper";
rev = "7538d73b4eb9511d85a9f1dfef202eeb8ac260f4";
sha256 = "0i4q715bjp018zw1b52zgx79j4s7s8l26dyrw8cslshibkx0frnl";
rev = "5d46e70da8c0b6f812e0b170b7a985753b5c63cb";
sha256 = "1wvcb1n3y3b7ixlw9vcj4fss5r6vi35a89c42nfb1hqaaji3lypi";
};
}
{
@ -337,8 +337,8 @@
fetch = {
type = "git";
url = "https://go.googlesource.com/crypto";
rev = "453249f01cfeb54c3d549ddb75ff152ca243f9d8";
sha256 = "0akybbzgi3v507a39bgnkk79rfhj8gflr7538g5a0177z5i9ygwa";
rev = "cbc3d0884eac986df6e78a039b8792e869bff863";
sha256 = "1b82asfxajwjb9rindx85c39lll8ygsj9rxxjca9171yh6wi5xbb";
};
}
{
@ -346,8 +346,8 @@
fetch = {
type = "git";
url = "https://go.googlesource.com/net";
rev = "906cda9512f77671ab44f8c8563b13a8e707b230";
sha256 = "0aa33n5a2zzrm2pnjyc3xkdmf8hq2qpafgdp8v6fxfb0swqjl2n3";
rev = "5602c733f70afc6dcec6766be0d5034d4c4f14de";
sha256 = "0n7jv3sl2s5fzdvj9jv4dqsgsdgkw6m3azqhiwq8igi97rymchyd";
};
}
{
@ -355,8 +355,8 @@
fetch = {
type = "git";
url = "https://go.googlesource.com/sys";
rev = "075e574b89e4c2d22f2286a7e2b919519c6f3547";
sha256 = "1p38siwqcbd592lphaqpigl7scshkfy67k6jcwscbcsl6akw51km";
rev = "dbc2be9168a660ef302e04b6ff6406de6f967473";
sha256 = "1hz9d7wnxwlvhlgmqrxjdx9fihx30f9ww6ir2l74l8ping1g6w1j";
};
}
{
@ -364,8 +364,8 @@
fetch = {
type = "git";
url = "https://go.googlesource.com/text";
rev = "0ad425fe45e885577bef05dc1c50f72e33188b16";
sha256 = "1jz0i8iagfd703flx5z006kisjixpm8iy4hiwywgbh31wypsxxyl";
rev = "f4b4367115ec2de254587813edaa901bc1c723a8";
sha256 = "1a5m97y7sdxks02p4swg8ffp8bgr95aaf5fhfw511p7h3xg1dm0d";
};
}
{
@ -373,8 +373,8 @@
fetch = {
type = "git";
url = "https://gopkg.in/yaml.v2";
rev = "a3f3340b5840cee44f372bddb5880fcbc419b46a";
sha256 = "1djb53a8ikwgkfpf8namgf4d8pq1mq6q9q2c7q0z8x4dxf3whxj7";
rev = "cd8b52f8269e0feb286dfeef29f8fe4d5b397e0b";
sha256 = "1hj2ag9knxflpjibck0n90jrhsrqz7qvad4qnif7jddyapi9bqzl";
};
}
]

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

@ -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;

View File

@ -1,15 +1,17 @@
{ stdenv, buildGoPackage, fetchFromGitHub }:
buildGoPackage rec {
name = "c14-cli-2016-09-09";
name = "c14-cli-unstable-${version}";
version = "2017-05-15";
rev = "97f437ef5133f73edd551c883db3076c76cb1f6b";
goPackagePath = "github.com/online-net/c14-cli";
subPackages = [ "cmd/c14" ];
src = fetchFromGitHub {
owner = "online-net";
repo = "c14-cli";
rev = "e7c7c3cb214fd06df63530a4e861210e7a0a1b6c";
sha256 = "1k53lii2c04j8cy1bnyfvckl9fglprxp75cmbg15lrp9iic2w22a";
inherit rev;
sha256 = "1b44bh0zhh6rhw4d3nprnnxhjgaskl9kzp2cvwwyli5svhjxrfdj";
};
goDeps = ./deps.nix;

View File

@ -1,65 +1 @@
[
{
goPackagePath = "github.com/davecgh/go-spew";
fetch = {
type = "git";
url = "https://github.com/davecgh/go-spew";
rev = "6d212800a42e8ab5c146b8ace3490ee17e5225f9";
sha256 = "01i0n1s4j7khb7n6mz2wymniz37q0vbzkgfv7rbi6p9hpg227q93";
};
}
{
goPackagePath = "github.com/fatih/color";
fetch = {
type = "git";
url = "https://github.com/fatih/color";
rev = "87d4004f2ab62d0d255e0a38f1680aa534549fe3";
sha256 = "0d51avdl4z38f7jd8qmzrzyh4gxkcjpxd0vvma9zfqhmqy15jqhb";
};
}
{
goPackagePath = "github.com/mattn/go-colorable";
fetch = {
type = "git";
url = "https://github.com/mattn/go-colorable";
rev = "ed8eb9e318d7a84ce5915b495b7d35e0cfe7b5a8";
sha256 = "034fhyqmiqmn0v9gdbdmm0ca5d0pki2q1ch1rd34p9kh9574mjyq";
};
}
{
goPackagePath = "github.com/mattn/go-isatty";
fetch = {
type = "git";
url = "https://github.com/mattn/go-isatty";
rev = "66b8e73f3f5cda9f96b69efd03dd3d7fc4a5cdb8";
sha256 = "17lf13ndnai9a6dlmykqkdyzf1z04q7kffs0l7kvd78wpv3l6rm5";
};
}
{
goPackagePath = "github.com/online-net/c14-cli";
fetch = {
type = "git";
url = "https://github.com/online-net/c14-cli";
rev = "e7c7c3cb214fd06df63530a4e861210e7a0a1b6c";
sha256 = "1k53lii2c04j8cy1bnyfvckl9fglprxp75cmbg15lrp9iic2w22a";
};
}
{
goPackagePath = "github.com/pmezard/go-difflib";
fetch = {
type = "git";
url = "https://github.com/pmezard/go-difflib";
rev = "792786c7400a136282c1664665ae0a8db921c6c2";
sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
};
}
{
goPackagePath = "github.com/stretchr/testify";
fetch = {
type = "git";
url = "https://github.com/stretchr/testify";
rev = "d77da356e56a7428ad25149ca77381849a6a5232";
sha256 = "11id286pkzyswxcx2xz6185fzh0nz6yzkk055dd6z02gvinl6pqa";
};
}
]
[]

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

@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
name = "astroid-${version}";
version = "0.8";
version = "0.9.1";
src = fetchFromGitHub {
owner = "astroidmail";
repo = "astroid";
rev = "v${version}";
sha256 = "1gjrdls1mz8y8bca7s8l965l0m7s2sb6g7a90gy848admjsyav7h";
sha256 = "0ha2jd3fvc54amh0x8f58s9ac4r8xgyhvkwd4jvs0h4mfh6cg496";
};
nativeBuildInputs = [ scons pkgconfig wrapGAppsHook ];

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

@ -0,0 +1,31 @@
{ stdenv, fetchFromGitHub, fetchpatch, cmake, python, vim }:
stdenv.mkDerivation rec {
name = "cryptominisat-${version}";
version = "5.0.1";
src = fetchFromGitHub {
owner = "msoos";
repo = "cryptominisat";
rev = version;
sha256 = "0cpw5d9vplxvv3aaplhnga55gz1hy29p7s4pkw1306knkbhlzvkb";
};
# vim for xxd binary
buildInputs = [ python vim ];
nativeBuildInputs = [ cmake ];
patches = [(fetchpatch rec {
name = "fix-exported-library-name.patch";
url = "https://github.com/msoos/cryptominisat/commit/7a47795cbe5ad5a899731102d297f234bcade077.patch";
sha256 = "11hf3cfqs4cykn7rlgjglq29lzqfxvlm0f20qasi0kdrz01cr30f";
})];
meta = with stdenv.lib; {
description = "An advanced SAT Solver";
maintainers = with maintainers; [ mic92 ];
platforms = platforms.unix;
license = licenses.mit;
homepage = https://github.com/msoos/cryptominisat;
};
}

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

@ -0,0 +1,23 @@
{ stdenv, fetchFromGitHub, zlib, cmake }:
stdenv.mkDerivation rec {
name = "minisat-unstable-2013-09-25";
src = fetchFromGitHub {
owner = "niklasso";
repo = "minisat";
rev = "37dc6c67e2af26379d88ce349eb9c4c6160e8543";
sha256 = "091hf3qkm197s5r7xcr3m07xsdwyz2rqk1hc9kj0hn13imz09irq";
};
buildInputs = [ zlib ];
nativeBuildInputs = [ cmake ];
meta = with stdenv.lib; {
description = "Compact and readable SAT solver";
maintainers = with maintainers; [ mic92 ];
platforms = platforms.unix;
license = licenses.mit;
homepage = "http://minisat.se/";
};
}

View File

@ -1,23 +1,32 @@
{stdenv, cmake, boost, bison, flex, fetchgit, perl, zlib}:
{ stdenv, cmake, boost, bison, flex, fetchFromGitHub, perl, python3, python3Packages, zlib, minisatUnstable, cryptominisat }:
stdenv.mkDerivation rec {
version = "2014.01.07";
version = "2.2.0";
name = "stp-${version}";
src = fetchgit {
url = "git://github.com/stp/stp";
rev = "3aa11620a823d617fc033d26aedae91853d18635";
sha256 = "832520787f57f63cf47364d080f30ad10d6d6e00f166790c19b125be3d6dd45c";
src = fetchFromGitHub {
owner = "stp";
repo = "stp";
rev = "stp-${version}";
sha256 = "1jh23wjm62nnqfx447g2y53bbangq04hjrvqc35v9xxpcjgj3i49";
};
buildInputs = [ cmake boost bison flex perl zlib ];
cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
patchPhase = ''
sed -e 's,^export(PACKAGE.*,,' -i CMakeLists.txt
patch -p1 < ${./fixbuild.diff}
patch -p1 < ${./fixrefs.diff}
buildInputs = [ boost zlib minisatUnstable cryptominisat python3 ];
nativeBuildInputs = [ cmake bison flex perl ];
preConfigure = ''
python_install_dir=$out/${python3Packages.python.sitePackages}
mkdir -p $python_install_dir
cmakeFlagsArray=(
$cmakeFlagsArray
"-DBUILD_SHARED_LIBS=ON"
"-DPYTHON_LIB_INSTALL_DIR=$python_install_dir"
)
'';
meta = {
description = ''Simple Theorem Prover'';
maintainers = with stdenv.lib.maintainers; [mornfall];
platforms = with stdenv.lib.platforms; linux;
license = stdenv.lib.licenses.mit;
meta = with stdenv.lib; {
description = "Simple Theorem Prover";
maintainers = with maintainers; [ mornfall ];
platforms = platforms.linux;
license = licenses.mit;
};
}

View File

@ -1,45 +0,0 @@
diff --git a/src/libstp/CMakeLists.txt b/src/libstp/CMakeLists.txt
index 83bd03a..9c0304b 100644
--- a/src/libstp/CMakeLists.txt
+++ b/src/libstp/CMakeLists.txt
@@ -23,6 +23,15 @@ set(stp_lib_targets
printer
)
+include_directories(${CMAKE_SOURCE_DIR}/src/AST/)
+include_directories(${CMAKE_BINARY_DIR}/src/AST/)
+
+add_library(globalstp OBJECT
+ ../main/Globals.cpp
+ ${CMAKE_CURRENT_BINARY_DIR}/../main/GitSHA1.cpp
+)
+add_dependencies(globalstp ASTKind_header)
+
# Create list of objects and gather list of
# associated public headers.
set(stp_lib_objects "")
@@ -31,6 +40,7 @@ foreach(target ${stp_lib_targets})
list(APPEND stp_lib_objects $<TARGET_OBJECTS:${target}>)
get_target_property(TARGETS_PUBLIC_HEADERS ${target} PUBLIC_HEADER)
+ set_target_properties(${target} PROPERTIES POSITION_INDEPENDENT_CODE ON)
if (EXISTS "${TARGETS_PUBLIC_HEADERS}")
list(APPEND stp_public_headers "${TARGETS_PUBLIC_HEADERS}")
message("Adding public header(s) ${TARGETS_PUBLIC_HEADERS} to target libstp")
diff --git a/src/main/CMakeLists.txt b/src/main/CMakeLists.txt
index 0735137..73039f5 100644
--- a/src/main/CMakeLists.txt
+++ b/src/main/CMakeLists.txt
@@ -3,12 +3,6 @@ include_directories(${CMAKE_BINARY_DIR}/src/AST/)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/GitSHA1.cpp.in" "${CMAKE_CURRENT_BINARY_DIR}/GitSHA1.cpp" @ONLY)
-add_library(globalstp OBJECT
- Globals.cpp
- ${CMAKE_CURRENT_BINARY_DIR}/GitSHA1.cpp
-)
-add_dependencies(globalstp ASTKind_header)
-
# -----------------------------------------------------------------------------
# Create binary
# -----------------------------------------------------------------------------

View File

@ -1,192 +0,0 @@
commit 53b6043e25b2eba264faab845077fbf6736cf22f
Author: Petr Rockai <me@mornfall.net>
Date: Tue Jan 7 13:30:07 2014 +0100
aig: Comment out unused functions with undefined references in them.
diff --git a/src/extlib-abc/aig/aig/aigPart.c b/src/extlib-abc/aig/aig/aigPart.c
index a4cc116..5bd5f08 100644
--- a/src/extlib-abc/aig/aig/aigPart.c
+++ b/src/extlib-abc/aig/aig/aigPart.c
@@ -869,6 +869,7 @@ Vec_Ptr_t * Aig_ManMiterPartitioned( Aig_Man_t * p1, Aig_Man_t * p2, int nPartSi
SeeAlso []
***********************************************************************/
+#if 0
Aig_Man_t * Aig_ManChoicePartitioned( Vec_Ptr_t * vAigs, int nPartSize )
{
extern int Cmd_CommandExecute( void * pAbc, char * sCommand );
@@ -981,6 +982,7 @@ Aig_Man_t * Aig_ManChoicePartitioned( Vec_Ptr_t * vAigs, int nPartSize )
Aig_ManMarkValidChoices( pAig );
return pAig;
}
+#endif
////////////////////////////////////////////////////////////////////////
diff --git a/src/extlib-abc/aig/aig/aigShow.c b/src/extlib-abc/aig/aig/aigShow.c
index ae8fa8b..f04eedc 100644
--- a/src/extlib-abc/aig/aig/aigShow.c
+++ b/src/extlib-abc/aig/aig/aigShow.c
@@ -326,6 +326,7 @@ void Aig_WriteDotAig( Aig_Man_t * pMan, char * pFileName, int fHaig, Vec_Ptr_t *
SeeAlso []
***********************************************************************/
+#if 0
void Aig_ManShow( Aig_Man_t * pMan, int fHaig, Vec_Ptr_t * vBold )
{
extern void Abc_ShowFile( char * FileNameDot );
@@ -347,7 +348,7 @@ void Aig_ManShow( Aig_Man_t * pMan, int fHaig, Vec_Ptr_t * vBold )
// visualize the file
Abc_ShowFile( FileNameDot );
}
-
+#endif
////////////////////////////////////////////////////////////////////////
/// END OF FILE ///
diff --git a/src/extlib-abc/aig/dar/darRefact.c b/src/extlib-abc/aig/dar/darRefact.c
index d744b4f..23fc3d5 100644
--- a/src/extlib-abc/aig/dar/darRefact.c
+++ b/src/extlib-abc/aig/dar/darRefact.c
@@ -340,6 +340,7 @@ printf( "\n" );
SeeAlso []
***********************************************************************/
+#if 0
int Dar_ManRefactorTryCuts( Ref_Man_t * p, Aig_Obj_t * pObj, int nNodesSaved, int Required )
{
Vec_Ptr_t * vCut;
@@ -428,6 +429,7 @@ int Dar_ManRefactorTryCuts( Ref_Man_t * p, Aig_Obj_t * pObj, int nNodesSaved, in
}
return p->GainBest;
}
+#endif
/**Function*************************************************************
@@ -461,6 +463,7 @@ int Dar_ObjCutLevelAchieved( Vec_Ptr_t * vCut, int nLevelMin )
SeeAlso []
***********************************************************************/
+#if 0
int Dar_ManRefactor( Aig_Man_t * pAig, Dar_RefPar_t * pPars )
{
// Bar_Progress_t * pProgress;
@@ -583,6 +586,7 @@ p->timeOther = p->timeTotal - p->timeCuts - p->timeEval;
return 1;
}
+#endif
////////////////////////////////////////////////////////////////////////
/// END OF FILE ///
diff --git a/src/extlib-abc/aig/dar/darScript.c b/src/extlib-abc/aig/dar/darScript.c
index e60df00..1b9c24f 100644
--- a/src/extlib-abc/aig/dar/darScript.c
+++ b/src/extlib-abc/aig/dar/darScript.c
@@ -64,6 +64,7 @@ Aig_Man_t * Dar_ManRewriteDefault( Aig_Man_t * pAig )
SeeAlso []
***********************************************************************/
+#if 0
Aig_Man_t * Dar_ManRwsat( Aig_Man_t * pAig, int fBalance, int fVerbose )
//alias rwsat "st; rw -l; b -l; rw -l; rf -l"
{
@@ -108,7 +109,7 @@ Aig_Man_t * Dar_ManRwsat( Aig_Man_t * pAig, int fBalance, int fVerbose )
return pAig;
}
-
+#endif
/**Function*************************************************************
@@ -121,6 +122,7 @@ Aig_Man_t * Dar_ManRwsat( Aig_Man_t * pAig, int fBalance, int fVerbose )
SeeAlso []
***********************************************************************/
+#if 0
Aig_Man_t * Dar_ManCompress( Aig_Man_t * pAig, int fBalance, int fUpdateLevel, int fVerbose )
//alias compress2 "b -l; rw -l; rwz -l; b -l; rwz -l; b -l"
{
@@ -180,6 +182,7 @@ Aig_Man_t * Dar_ManCompress( Aig_Man_t * pAig, int fBalance, int fUpdateLevel, i
return pAig;
}
+#endif
/**Function*************************************************************
@@ -192,6 +195,7 @@ Aig_Man_t * Dar_ManCompress( Aig_Man_t * pAig, int fBalance, int fUpdateLevel, i
SeeAlso []
***********************************************************************/
+#if 0
Aig_Man_t * Dar_ManCompress2( Aig_Man_t * pAig, int fBalance, int fUpdateLevel, int fVerbose )
//alias compress2 "b -l; rw -l; rf -l; b -l; rw -l; rwz -l; b -l; rfz -l; rwz -l; b -l"
{
@@ -285,6 +289,7 @@ Aig_Man_t * Dar_ManCompress2( Aig_Man_t * pAig, int fBalance, int fUpdateLevel,
}
return pAig;
}
+#endif
/**Function*************************************************************
@@ -297,6 +302,7 @@ Aig_Man_t * Dar_ManCompress2( Aig_Man_t * pAig, int fBalance, int fUpdateLevel,
SeeAlso []
***********************************************************************/
+#if 0
Vec_Ptr_t * Dar_ManChoiceSynthesis( Aig_Man_t * pAig, int fBalance, int fUpdateLevel, int fVerbose )
//alias resyn "b; rw; rwz; b; rwz; b"
//alias resyn2 "b; rw; rf; b; rw; rwz; b; rfz; rwz; b"
@@ -311,6 +317,7 @@ Vec_Ptr_t * Dar_ManChoiceSynthesis( Aig_Man_t * pAig, int fBalance, int fUpdateL
Vec_PtrPush( vAigs, pAig );
return vAigs;
}
+#endif
/**Function*************************************************************
diff --git a/src/extlib-abc/aig/kit/kitAig.c b/src/extlib-abc/aig/kit/kitAig.c
index de301f2..7e5df0f 100644
--- a/src/extlib-abc/aig/kit/kitAig.c
+++ b/src/extlib-abc/aig/kit/kitAig.c
@@ -95,6 +95,7 @@ Aig_Obj_t * Kit_GraphToAig( Aig_Man_t * pMan, Aig_Obj_t ** pFanins, Kit_Graph_t
SeeAlso []
***********************************************************************/
+#if 0
Aig_Obj_t * Kit_TruthToAig( Aig_Man_t * pMan, Aig_Obj_t ** pFanins, unsigned * pTruth, int nVars, Vec_Int_t * vMemory )
{
Aig_Obj_t * pObj;
@@ -113,6 +114,7 @@ Aig_Obj_t * Kit_TruthToAig( Aig_Man_t * pMan, Aig_Obj_t ** pFanins, unsigned * p
Kit_GraphFree( pGraph );
return pObj;
}
+#endif
////////////////////////////////////////////////////////////////////////
/// END OF FILE ///
diff --git a/src/extlib-abc/aig/kit/kitGraph.c b/src/extlib-abc/aig/kit/kitGraph.c
index 39ef587..0485c66 100644
--- a/src/extlib-abc/aig/kit/kitGraph.c
+++ b/src/extlib-abc/aig/kit/kitGraph.c
@@ -349,6 +349,7 @@ unsigned Kit_GraphToTruth( Kit_Graph_t * pGraph )
SeeAlso []
***********************************************************************/
+#if 0
Kit_Graph_t * Kit_TruthToGraph( unsigned * pTruth, int nVars, Vec_Int_t * vMemory )
{
Kit_Graph_t * pGraph;
@@ -365,6 +366,7 @@ Kit_Graph_t * Kit_TruthToGraph( unsigned * pTruth, int nVars, Vec_Int_t * vMemor
pGraph = Kit_SopFactor( vMemory, RetValue, nVars, vMemory );
return pGraph;
}
+#endif
/**Function*************************************************************

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

@ -1,5 +1,6 @@
{ stdenv, fetchurl, fetchFromGitHub, fetchpatch, lib
, unzip, cmake, kodi, steam, libcec_platform, tinyxml }:
, unzip, cmake, kodi, steam, libcec_platform, tinyxml
, jsoncpp, libhdhomerun }:
let
@ -265,4 +266,37 @@ in
ln -s $out/lib/addons/pvr.hts/pvr.hts.so* $out/share/kodi/addons/pvr.hts
'';
};
pvr-hdhomerun = (mkKodiPlugin rec {
plugin = "pvr-hdhomerun";
namespace = "pvr.hdhomerun";
version = "2.4.7";
src = fetchFromGitHub {
owner = "kodi-pvr";
repo = "pvr.hdhomerun";
rev = "60d89d16dd953d38947e8a6da2f8bb84a0f764ef";
sha256 = "0dvdv0vk2q12nj0i5h51iaypy3i7jfsxjyxwwpxfy82y8260ragy";
};
meta = with stdenv.lib; {
homepage = https://github.com/kodi-pvr/pvr.hdhomerun;
description = "Kodi's HDHomeRun PVR client addon";
platforms = platforms.all;
maintainers = with maintainers; [ titanous ];
};
}).override {
buildInputs = [ cmake jsoncpp libhdhomerun kodi libcec_platform kodi-platform ];
# disables check ensuring install prefix is that of kodi
cmakeFlags = [ "-DOVERRIDE_PATHS=1" ];
# kodi checks for plugin .so libs existance in the addon folder (share/...)
# and the non-wrapped kodi lib/... folder before even trying to dlopen
# them. Symlinking .so, as setting LD_LIBRARY_PATH is of no use
installPhase = ''
make install
ln -s $out/lib/addons/pvr.hdhomerun/pvr.hdhomerun.so* $out/share/kodi/addons/pvr.hdhomerun
'';
};
}

View File

@ -26,13 +26,13 @@ let
optional = stdenv.lib.optional;
in stdenv.mkDerivation rec {
name = "obs-studio-${version}";
version = "18.0.2";
version = "19.0.2";
src = fetchFromGitHub {
owner = "jp9000";
repo = "obs-studio";
rev = "2bf9d548";
sha256 = "036l29m3dlqadvaazj0nmgi2lcji8zckdvx3gjrx1kp96yd5myqd";
rev = "${version}";
sha256 = "0sawpk2yr52frdm4pkvahc11i1s1jlm7i07crhkxa8342sdc70ab";
};
patches = [ ./find-xcb.patch ];

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

@ -148,7 +148,7 @@ EOF
cd "$out/git/checkouts/$name/$branch"
rev="$(git rev-parse HEAD)"
revs="$revs $rev"
revs="$rev $revs"
done < <(find . -type d -name .git -print)
echo "List of revs to keep for git db $name: $revs"
@ -179,7 +179,7 @@ EOF
done
# Create ad-hoc branches for the revs we need
echo "$revs" | tr " " "\n" | while read -d " " rev; do
echo "$revs" | while read -d " " rev; do
echo "Creating git branch b_$rev $rev"
git branch b_$rev $rev
done

View File

@ -6,6 +6,6 @@
fetchFromGitHub {
owner = "commercialhaskell";
repo = "all-cabal-hashes";
rev = "53fcf983669a3f0cdfd795fec28ecb40740a64ca";
sha256 = "0jfrr6mjb3x1ybgrsinhm0nl3jmdjyf9mghpgsm75lgr83cm12a5";
rev = "60443435510c1523ae4596f20595a274531dd485";
sha256 = "1k3c0ix5rax92ywrpjxd7cmbzwsgrv03s6dvq6wjm8vljchqg4li";
}

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

@ -226,7 +226,7 @@ stdenv.mkDerivation ({
libc_dev = stdenv.cc.libc_dev;
postPatch =
if (stdenv.isGNU
if (stdenv.isHurd
|| (libcCross != null # e.g., building `gcc.crossDrv'
&& libcCross ? crossConfig
&& libcCross.crossConfig == "i586-pc-gnu")

View File

@ -230,7 +230,7 @@ stdenv.mkDerivation ({
libc_dev = stdenv.cc.libc_dev;
postPatch =
if (stdenv.isGNU
if (stdenv.isHurd
|| (libcCross != null # e.g., building `gcc.crossDrv'
&& libcCross ? crossConfig
&& libcCross.crossConfig == "i586-pc-gnu")

View File

@ -247,7 +247,7 @@ stdenv.mkDerivation ({
'';
postPatch =
if (stdenv.isGNU
if (stdenv.isHurd
|| (libcCross != null # e.g., building `gcc.crossDrv'
&& libcCross ? crossConfig
&& libcCross.crossConfig == "i586-pc-gnu")

View File

@ -229,7 +229,7 @@ stdenv.mkDerivation ({
hardeningDisable = [ "format" ];
postPatch =
if (stdenv.isGNU
if (stdenv.isHurd
|| (libcCross != null # e.g., building `gcc.crossDrv'
&& libcCross ? crossConfig
&& libcCross.crossConfig == "i586-pc-gnu")

View File

@ -230,7 +230,7 @@ stdenv.mkDerivation ({
hardeningDisable = [ "format" ];
postPatch =
if (stdenv.isGNU
if (stdenv.isHurd
|| (libcCross != null # e.g., building `gcc.crossDrv'
&& libcCross ? crossConfig
&& libcCross.crossConfig == "i586-pc-gnu")

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

@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
name = "urweb-${version}";
version = "20160621";
version = "20170105";
src = fetchurl {
url = "http://www.impredicative.com/ur/${name}.tgz";
sha256 = "08km96hli5yp754nsxxjzih2la0m89j5wc2cq12rkas43nqqgr65";
sha256 = "2ad3aea2c4851c9b18f752d38c7127af8293fbbbbdb3dd06b73a4603fe399b67";
};
buildInputs = [ openssl mlton mysql.client postgresql sqlite ];
@ -38,6 +38,6 @@ stdenv.mkDerivation rec {
homepage = "http://www.impredicative.com/ur/";
license = stdenv.lib.licenses.bsd3;
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
maintainers = [ stdenv.lib.maintainers.thoughtpolice stdenv.lib.maintainers.sheganinans ];
};
}

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

@ -14,13 +14,13 @@ let
else throw "Unsupported system!";
in stdenv.mkDerivation rec {
name = "aws-sdk-cpp-${version}";
version = "1.0.60";
version = "1.0.127";
src = fetchFromGitHub {
owner = "awslabs";
repo = "aws-sdk-cpp";
rev = version;
sha256 = "0k6jv70l4xhkf2rna6zaxkxgd7xh7cc1ghzska637h5d2v6h8nzk";
sha256 = "1p06rkvi6mm4jylk5j7gji2c52qbls3i0yqg3hgs9iys4nd1p14r";
};
# FIXME: might be nice to put different APIs in different outputs

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 {}))

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