Merge master into staging

This commit is contained in:
Frederik Rietdijk 2018-04-05 19:25:05 +02:00
commit a9f37d1c25
87 changed files with 1145 additions and 589 deletions

View File

@ -25,13 +25,6 @@ out/html/index.html: manual-full.xml style.css highlightjs
./manual-full.xml
mkdir -p out/html/highlightjs/
echo "document.onreadystatechange = function () { \
var listings = document.querySelectorAll('.programlisting, .screen'); \
for (i = 0; i < listings.length; ++i) { \
hljs.highlightBlock(listings[i]); \
} \
} " > out/html/highlightjs/loader.js
cp -r highlightjs out/html/
cp ./overrides.css out/html/
@ -63,6 +56,7 @@ highlightjs:
cp -r "$$HIGHLIGHTJS/highlight.pack.js" highlightjs/
cp -r "$$HIGHLIGHTJS/LICENSE" highlightjs/
cp -r "$$HIGHLIGHTJS/mono-blue.css" highlightjs/
cp -r "$$HIGHLIGHTJS/loader.js" highlightjs/
manual-full.xml: ${MD_TARGETS} .version *.xml

View File

@ -248,6 +248,23 @@ table
box-shadow: 0.4em 0.4em 0.5em #e0e0e0;
}
table.simplelist
{
text-align: left;
color: #005aa0;
border: 0;
padding: 5px;
background: #fffff5;
font-weight: normal;
font-style: italic;
box-shadow: none;
margin-bottom: 1em;
}
div.navheader table, div.navfooter table {
box-shadow: none;
}
div.affiliation
{
font-style: italic;

View File

@ -695,6 +695,11 @@
github = "carlsverre";
name = "Carl Sverre";
};
cartr = {
email = "carter.sande@duodecima.technology";
github = "cartr";
name = "Carter Sande";
};
casey = {
email = "casey@rodarmor.net";
github = "casey";

View File

@ -124,11 +124,12 @@ let
manualXsltprocOptions = toString [
"--param section.autolabel 1"
"--param section.label.includes.component.label 1"
"--stringparam html.stylesheet style.css"
"--stringparam html.stylesheet 'style.css overrides.css highlightjs/mono-blue.css'"
"--stringparam html.script './highlightjs/highlight.pack.js ./highlightjs/loader.js'"
"--param xref.with.number.and.title 1"
"--param toc.section.depth 3"
"--stringparam admon.style ''"
"--stringparam callout.graphics.extension .gif"
"--stringparam callout.graphics.extension .svg"
"--stringparam current.docid manual"
"--param chunk.section.depth 0"
"--param chunk.first.sections 1"
@ -260,9 +261,11 @@ in rec {
${manual-combined}/manual-combined.xml
mkdir -p $dst/images/callouts
cp ${docbook5_xsl}/xml/xsl/docbook/images/callouts/*.gif $dst/images/callouts/
cp ${docbook5_xsl}/xml/xsl/docbook/images/callouts/*.svg $dst/images/callouts/
cp ${./style.css} $dst/style.css
cp ${../../../doc/style.css} $dst/style.css
cp ${../../../doc/overrides.css} $dst/overrides.css
cp -r ${pkgs.documentation-highlighter} $dst/highlightjs
mkdir -p $out/nix-support
echo "nix-build out $out" >> $out/nix-support/hydra-build-products
@ -286,7 +289,7 @@ in rec {
${manual-combined}/manual-combined.xml
mkdir -p $dst/epub/OEBPS/images/callouts
cp -r ${docbook5_xsl}/xml/xsl/docbook/images/callouts/*.gif $dst/epub/OEBPS/images/callouts # */
cp -r ${docbook5_xsl}/xml/xsl/docbook/images/callouts/*.svg $dst/epub/OEBPS/images/callouts # */
echo "application/epub+zip" > mimetype
manual="$dst/nixos-manual.epub"
zip -0Xq "$manual" mimetype

View File

@ -239,7 +239,7 @@ following incompatible changes:</para>
the <literal>openssh_with_kerberos</literal> package
is now a deprecated alias.
If you do not want Kerberos support,
you can do <literal>openssh.override { withKerboros = false; }</literal>.
you can do <literal>openssh.override { withKerberos = false; }</literal>.
Note, this also applies to the <literal>openssh_hpn</literal> package.
</para>
</listitem>

View File

@ -1,267 +0,0 @@
/* Copied from http://bakefile.sourceforge.net/, which appears
licensed under the GNU GPL. */
/***************************************************************************
Basic headers and text:
***************************************************************************/
body
{
font-family: "Nimbus Sans L", sans-serif;
background: white;
margin: 2em 1em 2em 1em;
}
h1, h2, h3, h4
{
color: #005aa0;
}
h1 /* title */
{
font-size: 200%;
}
h2 /* chapters, appendices, subtitle */
{
font-size: 180%;
}
/* Extra space between chapters, appendices. */
div.chapter > div.titlepage h2, div.appendix > div.titlepage h2
{
margin-top: 1.5em;
}
div.section > div.titlepage h2 /* sections */
{
font-size: 150%;
margin-top: 1.5em;
}
h3 /* subsections */
{
font-size: 125%;
}
div.simplesect h2
{
font-size: 110%;
}
div.appendix h3
{
font-size: 150%;
margin-top: 1.5em;
}
div.refnamediv h2, div.refsynopsisdiv h2, div.refsection h2 /* refentry parts */
{
margin-top: 1.4em;
font-size: 125%;
}
div.refsection h3
{
font-size: 110%;
}
/***************************************************************************
Examples:
***************************************************************************/
div.example
{
border: 1px solid #b0b0b0;
padding: 6px 6px;
margin-left: 1.5em;
margin-right: 1.5em;
background: #f4f4f8;
border-radius: 0.4em;
box-shadow: 0.4em 0.4em 0.5em #e0e0e0;
}
div.example p.title
{
margin-top: 0em;
}
div.example pre
{
box-shadow: none;
}
/***************************************************************************
Screen dumps:
***************************************************************************/
pre.screen, pre.programlisting
{
border: 1px solid #b0b0b0;
padding: 3px 3px;
margin-left: 1.5em;
margin-right: 1.5em;
color: #600000;
background: #f4f4f8;
font-family: monospace;
border-radius: 0.4em;
box-shadow: 0.4em 0.4em 0.5em #e0e0e0;
}
div.example pre.programlisting
{
border: 0px;
padding: 0 0;
margin: 0 0 0 0;
}
/***************************************************************************
Notes, warnings etc:
***************************************************************************/
.note, .warning
{
border: 1px solid #b0b0b0;
padding: 3px 3px;
margin-left: 1.5em;
margin-right: 1.5em;
margin-bottom: 1em;
padding: 0.3em 0.3em 0.3em 0.3em;
background: #fffff5;
border-radius: 0.4em;
box-shadow: 0.4em 0.4em 0.5em #e0e0e0;
}
div.note, div.warning
{
font-style: italic;
}
div.note h3, div.warning h3
{
color: red;
font-size: 100%;
padding-right: 0.5em;
display: inline;
}
div.note p, div.warning p
{
margin-bottom: 0em;
}
div.note h3 + p, div.warning h3 + p
{
display: inline;
}
div.note h3
{
color: blue;
font-size: 100%;
}
div.navfooter *
{
font-size: 90%;
}
/***************************************************************************
Links colors and highlighting:
***************************************************************************/
a { text-decoration: none; }
a:hover { text-decoration: underline; }
a:link { color: #0048b3; }
a:visited { color: #002a6a; }
/***************************************************************************
Table of contents:
***************************************************************************/
div.toc
{
font-size: 90%;
}
div.toc dl
{
margin-top: 0em;
margin-bottom: 0em;
}
/***************************************************************************
Special elements:
***************************************************************************/
tt, code
{
color: #400000;
}
.term
{
font-weight: bold;
}
div.variablelist dd p, div.glosslist dd p
{
margin-top: 0em;
}
div.variablelist dd, div.glosslist dd
{
margin-left: 1.5em;
}
div.glosslist dt
{
font-style: italic;
}
.varname
{
color: #400000;
}
span.command strong
{
font-weight: normal;
color: #400000;
}
div.calloutlist table
{
box-shadow: none;
}
table
{
border-collapse: collapse;
box-shadow: 0.4em 0.4em 0.5em #e0e0e0;
}
table.simplelist
{
text-align: left;
color: #005aa0;
border: 0;
padding: 5px;
background: #fffff5;
font-weight: normal;
font-style: italic;
box-shadow: none;
margin-bottom: 1em;
}
div.navheader table, div.navfooter table {
box-shadow: none;
}

View File

@ -17,23 +17,23 @@ let
resolved = canLoadExternalModules && config.services.resolved.enable;
hostArray = [ "files" ]
++ optionals mymachines [ "mymachines" ]
++ optionals nssmdns [ "mdns_minimal [NOTFOUND=return]" ]
++ optionals nsswins [ "wins" ]
++ optionals resolved ["resolve [!UNAVAIL=return]"]
++ optional mymachines "mymachines"
++ optional nssmdns "mdns_minimal [NOTFOUND=return]"
++ optional nsswins "wins"
++ optional resolved "resolve [!UNAVAIL=return]"
++ [ "dns" ]
++ optionals nssmdns [ "mdns" ]
++ optionals myhostname ["myhostname" ];
++ optional nssmdns "mdns"
++ optional myhostname "myhostname";
passwdArray = [ "files" ]
++ optional sssd "sss"
++ optionals ldap [ "ldap" ]
++ optionals mymachines [ "mymachines" ]
++ optional ldap "ldap"
++ optional mymachines "mymachines"
++ [ "systemd" ];
shadowArray = [ "files" ]
++ optional sssd "sss"
++ optionals ldap [ "ldap" ];
++ optional ldap "ldap";
servicesArray = [ "files" ]
++ optional sssd "sss";

View File

@ -109,7 +109,6 @@ in
"/sbin"
"/share/applications"
"/share/desktop-directories"
"/share/doc"
"/share/emacs"
"/share/icons"
"/share/menus"

View File

@ -504,9 +504,6 @@ in {
};
};
# Install all the user shells
environment.systemPackages = systemShells;
users.groups = {
root.gid = ids.gids.root;
wheel.gid = ids.gids.wheel;
@ -543,14 +540,29 @@ in {
# for backwards compatibility
system.activationScripts.groups = stringAfter [ "users" ] "";
environment.etc."subuid" = {
text = subuidFile;
mode = "0644";
};
environment.etc."subgid" = {
text = subgidFile;
mode = "0644";
};
# Install all the user shells
environment.systemPackages = systemShells;
environment.etc = {
"subuid" = {
text = subuidFile;
mode = "0644";
};
"subgid" = {
text = subgidFile;
mode = "0644";
};
} // (mapAttrs' (name: { packages, ... }: {
name = "profiles/per-user/${name}";
value.source = pkgs.buildEnv {
name = "user-environment";
paths = packages;
inherit (config.environment) pathsToLink extraOutputsToInstall;
inherit (config.system.path) ignoreCollisions postBuild;
};
}) (filterAttrs (_: u: u.packages != []) cfg.users));
environment.profiles = [ "/etc/profiles/per-user/$USER" ];
assertions = [
{ assertion = !cfg.enforceIdUniqueness || (uidsAreUnique && gidsAreUnique);
@ -581,22 +593,4 @@ in {
};
imports =
[ (mkAliasOptionModule [ "users" "extraUsers" ] [ "users" "users" ])
(mkAliasOptionModule [ "users" "extraGroups" ] [ "users" "groups" ])
{
environment = {
etc = mapAttrs' (name: { packages, ... }: {
name = "profiles/per-user/${name}";
value.source = pkgs.buildEnv {
name = "user-environment";
paths = packages;
inherit (config.environment) pathsToLink extraOutputsToInstall;
inherit (config.system.path) ignoreCollisions postBuild;
};
}) (filterAttrs (_: { packages, ... }: packages != []) cfg.users);
profiles = ["/etc/profiles/per-user/$USER"];
};
}
];
}

View File

@ -0,0 +1,77 @@
{ config, lib, pkgs, ... }:
with lib;
let cfg = config.documentation; in
{
options = {
documentation = {
enable = mkOption {
type = types.bool;
default = true;
description = ''
Whether to install documentation of packages from
<option>environment.systemPackages</option> into the generated system path.
'';
};
man.enable = mkOption {
type = types.bool;
default = true;
description = ''
Whether to install manual pages and the <command>man</command> command.
This also includes "man" outputs.
'';
};
doc.enable = mkOption {
type = types.bool;
default = true;
description = ''
Whether to install documentation distributed in packages' <literal>/share/doc</literal>.
Usually plain text and/or HTML.
This also includes "doc" outputs.
'';
};
info.enable = mkOption {
type = types.bool;
default = true;
description = ''
Whether to install info pages and the <command>info</command> command.
This also includes "info" outputs.
'';
};
};
};
config = mkIf cfg.enable (mkMerge [
(mkIf cfg.man.enable {
environment.systemPackages = [ pkgs.man-db ];
environment.pathsToLink = [ "/share/man" ];
environment.extraOutputsToInstall = [ "man" ];
})
(mkIf cfg.doc.enable {
# TODO(@oxij): put it here and remove from profiles?
# environment.systemPackages = [ pkgs.w3m ]; # w3m-nox?
environment.pathsToLink = [ "/share/doc" ];
environment.extraOutputsToInstall = [ "doc" ];
})
(mkIf cfg.info.enable {
environment.systemPackages = [ pkgs.texinfoInteractive ];
environment.pathsToLink = [ "/share/info" ];
environment.extraOutputsToInstall = [ "info" ];
})
]);
}

View File

@ -58,6 +58,7 @@
./installer/tools/tools.nix
./misc/assertions.nix
./misc/crashdump.nix
./misc/documentation.nix
./misc/extra-arguments.nix
./misc/ids.nix
./misc/lib.nix
@ -85,12 +86,10 @@
./programs/freetds.nix
./programs/gnupg.nix
./programs/gphoto2.nix
./programs/info.nix
./programs/java.nix
./programs/kbdlight.nix
./programs/less.nix
./programs/light.nix
./programs/man.nix
./programs/mosh.nix
./programs/mtr.nix
./programs/nano.nix

View File

@ -10,10 +10,9 @@ with lib;
# This isn't perfect, but let's expect the user specifies an UTF-8 defaultLocale
i18n.supportedLocales = [ (config.i18n.defaultLocale + "/UTF-8") ];
services.nixosManual.enable = mkDefault false;
programs.man.enable = mkDefault false;
programs.info.enable = mkDefault false;
documentation.enable = mkDefault false;
services.nixosManual.enable = mkDefault false;
sound.enable = mkDefault false;
}

View File

@ -1,30 +0,0 @@
{ config, lib, pkgs, ... }:
with lib;
{
options = {
programs.info.enable = mkOption {
type = types.bool;
default = true;
description = ''
Whether to enable info pages and the <command>info</command> command.
'';
};
};
config = mkIf config.programs.info.enable {
environment.systemPackages = [ pkgs.texinfoInteractive ];
environment.pathsToLink = [ "/info" "/share/info" ];
environment.extraOutputsToInstall = [ "info" ];
};
}

View File

@ -1,31 +0,0 @@
{ config, lib, pkgs, ... }:
with lib;
{
options = {
programs.man.enable = mkOption {
type = types.bool;
default = true;
description = ''
Whether to enable manual pages and the <command>man</command> command.
This also includes "man" outputs of all <literal>systemPackages</literal>.
'';
};
};
config = mkIf config.programs.man.enable {
environment.systemPackages = [ pkgs.man-db ];
environment.pathsToLink = [ "/share/man" ];
environment.extraOutputsToInstall = [ "man" ];
};
}

View File

@ -4,6 +4,7 @@ with lib;
{
imports = [
(mkRenamedOptionModule [ "dysnomia" ] [ "services" "dysnomia" ])
(mkRenamedOptionModule [ "environment" "x11Packages" ] [ "environment" "systemPackages" ])
(mkRenamedOptionModule [ "environment" "enableBashCompletion" ] [ "programs" "bash" "enableCompletion" ])
(mkRenamedOptionModule [ "environment" "nix" ] [ "nix" "package" ])
@ -203,6 +204,10 @@ with lib;
(mkRenamedOptionModule [ "config" "system" "nixosCodeName" ] [ "config" "system" "nixos" "codeName" ])
(mkRenamedOptionModule [ "config" "system" "nixosLabel" ] [ "config" "system" "nixos" "label" ])
# Users
(mkAliasOptionModule [ "users" "extraUsers" ] [ "users" "users" ])
(mkAliasOptionModule [ "users" "extraGroups" ] [ "users" "groups" ])
# Options that are obsolete and have no replacement.
(mkRemovedOptionModule [ "boot" "initrd" "luks" "enable" ] "")
(mkRemovedOptionModule [ "programs" "bash" "enable" ] "")
@ -240,6 +245,10 @@ with lib;
# Xen
(mkRenamedOptionModule [ "virtualisation" "xen" "qemu-package" ] [ "virtualisation" "xen" "package-qemu" ])
(mkRenamedOptionModule [ "programs" "info" "enable" ] [ "documentation" "info" "enable" ])
(mkRenamedOptionModule [ "programs" "man" "enable" ] [ "documentation" "man" "enable" ])
] ++ (flip map [ "blackboxExporter" "collectdExporter" "fritzboxExporter"
"jsonExporter" "minioExporter" "nginxExporter" "nodeExporter"
"snmpExporter" "unifiExporter" "varnishExporter" ]

View File

@ -766,7 +766,7 @@ in {
rm /opt/cni/bin/* || true
${concatMapStrings (package: ''
echo "Linking cni package: ${package}"
ln -fs ${package.plugins}/* /opt/cni/bin
ln -fs ${package}/bin/* /opt/cni/bin
'') cfg.kubelet.cni.packages}
'';
serviceConfig = {
@ -828,7 +828,7 @@ in {
};
# Allways include cni plugins
services.kubernetes.kubelet.cni.packages = [pkgs.cni];
services.kubernetes.kubelet.cni.packages = [pkgs.cni-plugins];
boot.kernelModules = ["br_netfilter"];

View File

@ -57,7 +57,7 @@ in
###### implementation
config = mkIf cfg.enable {
dysnomia.enable = true;
services.dysnomia.enable = true;
environment.systemPackages = [ pkgs.disnix ] ++ optional cfg.useWebServiceInterface pkgs.DisnixWebService;

View File

@ -3,8 +3,8 @@
with lib;
let
cfg = config.dysnomia;
cfg = config.services.dysnomia;
printProperties = properties:
concatMapStrings (propertyName:
let
@ -13,7 +13,7 @@ let
if isList property then "${propertyName}=(${lib.concatMapStrings (elem: "\"${toString elem}\" ") (properties."${propertyName}")})\n"
else "${propertyName}=\"${toString property}\"\n"
) (builtins.attrNames properties);
properties = pkgs.stdenv.mkDerivation {
name = "dysnomia-properties";
buildCommand = ''
@ -22,13 +22,13 @@ let
EOF
'';
};
containersDir = pkgs.stdenv.mkDerivation {
name = "dysnomia-containers";
buildCommand = ''
mkdir -p $out
cd $out
${concatMapStrings (containerName:
let
containerProperties = cfg.containers."${containerName}";
@ -42,11 +42,11 @@ let
) (builtins.attrNames cfg.containers)}
'';
};
linkMutableComponents = {containerName}:
''
mkdir ${containerName}
${concatMapStrings (componentName:
let
component = cfg.components."${containerName}"."${componentName}";
@ -54,13 +54,13 @@ let
"ln -s ${component} ${containerName}/${componentName}\n"
) (builtins.attrNames (cfg.components."${containerName}" or {}))}
'';
componentsDir = pkgs.stdenv.mkDerivation {
name = "dysnomia-components";
buildCommand = ''
mkdir -p $out
cd $out
${concatMapStrings (containerName:
let
components = cfg.components."${containerName}";
@ -72,59 +72,59 @@ let
in
{
options = {
dysnomia = {
services.dysnomia = {
enable = mkOption {
type = types.bool;
default = false;
description = "Whether to enable Dysnomia";
};
enableAuthentication = mkOption {
type = types.bool;
default = false;
description = "Whether to publish privacy-sensitive authentication credentials";
};
package = mkOption {
type = types.path;
description = "The Dysnomia package";
};
properties = mkOption {
description = "An attribute set in which each attribute represents a machine property. Optionally, these values can be shell substitutions.";
default = {};
};
containers = mkOption {
description = "An attribute set in which each key represents a container and each value an attribute set providing its configuration properties";
default = {};
};
components = mkOption {
description = "An atttribute set in which each key represents a container and each value an attribute set in which each key represents a component and each value a derivation constructing its initial state";
default = {};
};
extraContainerProperties = mkOption {
description = "An attribute set providing additional container settings in addition to the default properties";
default = {};
};
extraContainerPaths = mkOption {
description = "A list of paths containing additional container configurations that are added to the search folders";
default = [];
};
extraModulePaths = mkOption {
description = "A list of paths containing additional modules that are added to the search folders";
default = [];
};
};
};
config = mkIf cfg.enable {
environment.etc = {
"dysnomia/containers" = {
source = containersDir;
@ -136,16 +136,16 @@ in
source = properties;
};
};
environment.variables = {
DYSNOMIA_STATEDIR = "/var/state/dysnomia-nixos";
DYSNOMIA_CONTAINERS_PATH = "${lib.concatMapStrings (containerPath: "${containerPath}:") cfg.extraContainerPaths}/etc/dysnomia/containers";
DYSNOMIA_MODULES_PATH = "${lib.concatMapStrings (modulePath: "${modulePath}:") cfg.extraModulePaths}/etc/dysnomia/modules";
};
environment.systemPackages = [ cfg.package ];
dysnomia.package = pkgs.dysnomia.override (origArgs: {
services.dysnomia.package = pkgs.dysnomia.override (origArgs: {
enableApacheWebApplication = config.services.httpd.enable;
enableAxis2WebService = config.services.tomcat.axis2.enable;
enableEjabberdDump = config.services.ejabberd.enable;
@ -155,8 +155,8 @@ in
enableTomcatWebApplication = config.services.tomcat.enable;
enableMongoDatabase = config.services.mongodb.enable;
});
dysnomia.properties = {
services.dysnomia.properties = {
hostname = config.networking.hostName;
system = if config.nixpkgs.system == "" then builtins.currentSystem else config.nixpkgs.system;
@ -173,8 +173,8 @@ in
'';
}}");
};
dysnomia.containers = lib.recursiveUpdate ({
services.dysnomia.containers = lib.recursiveUpdate ({
process = {};
wrapper = {};
}

View File

@ -112,10 +112,10 @@ in
system.build.manual = manual;
environment.systemPackages =
[ manual.manual helpScript ]
++ optionals config.services.xserver.enable [desktopItem pkgs.nixos-icons]
++ optional config.programs.man.enable manual.manpages;
environment.systemPackages = []
++ optionals config.services.xserver.enable [ desktopItem pkgs.nixos-icons ]
++ optional config.documentation.man.enable manual.manpages
++ optionals config.documentation.doc.enable [ manual.manual helpScript ];
boot.extraTTYs = mkIf cfg.showManual ["tty${toString cfg.ttyNumber}"];

View File

@ -44,9 +44,9 @@ in
path = [ pkgs.iptables pkgs.tcpcrypt pkgs.procps ];
preStart = ''
mkdir -p /var/run/tcpcryptd
chown tcpcryptd /var/run/tcpcryptd
sysctl -n net.ipv4.tcp_ecn >/run/pre-tcpcrypt-ecn-state
mkdir -p /run/tcpcryptd
chown tcpcryptd /run/tcpcryptd
sysctl -n net.ipv4.tcp_ecn > /run/tcpcryptd/pre-tcpcrypt-ecn-state
sysctl -w net.ipv4.tcp_ecn=0
iptables -t raw -N nixos-tcpcrypt
@ -61,8 +61,8 @@ in
script = "tcpcryptd -x 0x10";
postStop = ''
if [ -f /run/pre-tcpcrypt-ecn-state ]; then
sysctl -w net.ipv4.tcp_ecn=$(cat /run/pre-tcpcrypt-ecn-state)
if [ -f /run/tcpcryptd/pre-tcpcrypt-ecn-state ]; then
sysctl -w net.ipv4.tcp_ecn=$(cat /run/tcpcryptd/pre-tcpcrypt-ecn-state)
fi
iptables -t mangle -D POSTROUTING -j nixos-tcpcrypt || true

View File

@ -68,8 +68,7 @@ let
(hasAttr dev cfg.macvlans) ||
(hasAttr dev cfg.sits) ||
(hasAttr dev cfg.vlans) ||
(hasAttr dev cfg.vswitches) ||
(hasAttr dev cfg.wlanInterfaces)
(hasAttr dev cfg.vswitches)
then [ "${dev}-netdev.service" ]
else optional (dev != null && dev != "lo" && !config.boot.isContainer) (subsystemDevice dev);

View File

@ -240,5 +240,22 @@ let self = {
"17.09".sa-east-1.hvm-ebs = "ami-4762202b";
"17.09".ap-south-1.hvm-ebs = "ami-4e376021";
latest = self."17.09";
# 18.03.131792.becbe4dbe16
"18.03".eu-west-1.hvm-ebs = "ami-cda4fab4";
"18.03".eu-west-2.hvm-ebs = "ami-d96786be";
"18.03".eu-west-3.hvm-ebs = "ami-6b0cba16";
"18.03".eu-central-1.hvm-ebs = "ami-5e2b75b5";
"18.03".us-east-1.hvm-ebs = "ami-d464cba9";
"18.03".us-east-2.hvm-ebs = "ami-fd221298";
"18.03".us-west-1.hvm-ebs = "ami-ff0d1d9f";
"18.03".us-west-2.hvm-ebs = "ami-c05c3bb8";
"18.03".ca-central-1.hvm-ebs = "ami-cc72f4a8";
"18.03".ap-southeast-1.hvm-ebs = "ami-b61633ca";
"18.03".ap-southeast-2.hvm-ebs = "ami-530fc131";
"18.03".ap-northeast-1.hvm-ebs = "ami-90d6c0ec";
"18.03".ap-northeast-2.hvm-ebs = "ami-a1248bcf";
"18.03".sa-east-1.hvm-ebs = "ami-b090c6dc";
"18.03".ap-south-1.hvm-ebs = "ami-32c9ec5d";
latest = self."18.03";
}; in self

View File

@ -2,7 +2,7 @@
with lib;
let
diskSize = 1024; # MB
diskSize = 1536; # MB
gce = pkgs.google-compute-engine;
in
{

View File

@ -311,7 +311,10 @@ in rec {
tests.kernel-copperhead = callTest tests/kernel-copperhead.nix {};
tests.kernel-latest = callTest tests/kernel-latest.nix {};
tests.kernel-lts = callTest tests/kernel-lts.nix {};
tests.kubernetes = callSubTestsOnMatchingSystems ["x86_64-linux"] tests/kubernetes/default.nix {};
tests.kubernetes.dns = callSubTestsOnMatchingSystems ["x86_64-linux"] tests/kubernetes/dns.nix {};
## kubernetes.e2e should eventually replace kubernetes.rbac when it works
#tests.kubernetes.e2e = callSubTestsOnMatchingSystems ["x86_64-linux"] tests/kubernetes/e2e.nix {};
tests.kubernetes.rbac = callSubTestsOnMatchingSystems ["x86_64-linux"] tests/kubernetes/rbac.nix {};
tests.latestKernel.login = callTest tests/login.nix { latestKernel = true; };
tests.ldap = callTest tests/ldap.nix {};
#tests.lightdm = callTest tests/lightdm.nix {};

View File

@ -6,29 +6,62 @@
kubelets
}:
let
runWithCFSSL = name: cmd:
builtins.fromJSON (builtins.readFile (
pkgs.runCommand "${name}-cfss.json" {
buildInputs = [ pkgs.cfssl ];
} "cfssl ${cmd} > $out"
));
runWithCFSSL = name: cmd:
let secrets = pkgs.runCommand "${name}-cfss.json" {
buildInputs = [ pkgs.cfssl pkgs.jq ];
outputs = [ "out" "cert" "key" "csr" ];
}
''
(
echo "${cmd}"
cfssl ${cmd} > tmp
cat tmp | jq -r .key > $key
cat tmp | jq -r .cert > $cert
cat tmp | jq -r .csr > $csr
writeCFSSL = content:
pkgs.runCommand content.name {
buildInputs = [ pkgs.cfssl ];
} ''
mkdir -p $out
cd $out
cat ${writeFile content} | cfssljson -bare ${content.name}
'';
touch $out
) 2>&1 | fold -w 80 -s
'';
in {
key = secrets.key;
cert = secrets.cert;
csr = secrets.csr;
};
writeCFSSL = content:
pkgs.runCommand content.name {
buildInputs = [ pkgs.cfssl pkgs.jq ];
} ''
mkdir -p $out
cd $out
json=${pkgs.lib.escapeShellArg (builtins.toJSON content)}
# for a given $field in the $json, treat the associated value as a
# file path and substitute the contents thereof into the $json
# object.
expandFileField() {
local field=$1
if jq -e --arg field "$field" 'has($field)'; then
local path="$(echo "$json" | jq -r ".$field")"
json="$(echo "$json" | jq --arg val "$(cat "$path")" ".$field = \$val")"
fi
}
expandFileField key
expandFileField ca
expandFileField cert
echo "$json" | cfssljson -bare ${content.name}
'';
noCSR = content: pkgs.lib.filterAttrs (n: v: n != "csr") content;
noKey = content: pkgs.lib.filterAttrs (n: v: n != "key") content;
writeFile = content: pkgs.writeText "content" (
if pkgs.lib.isAttrs content then builtins.toJSON content
else toString content
);
writeFile = content:
if pkgs.lib.isDerivation content
then content
else pkgs.writeText "content" (builtins.toJSON content);
createServingCertKey = { ca, cn, hosts? [], size ? 2048, name ? cn }:
noCSR (

View File

@ -2,7 +2,7 @@
with import ./base.nix { inherit system; };
let
domain = "my.zyx";
certs = import ./certs.nix { externalDomain = domain; };
certs = import ./certs.nix { externalDomain = domain; kubelets = ["machine1" "machine2"]; };
kubeconfig = pkgs.writeText "kubeconfig.json" (builtins.toJSON {
apiVersion = "v1";
kind = "Config";

View File

@ -12,7 +12,7 @@ let
});
roRoleBinding = pkgs.writeText "ro-role-binding.json" (builtins.toJSON {
apiVersion = "rbac.authorization.k8s.io/v1beta1";
apiVersion = "rbac.authorization.k8s.io/v1";
kind = "RoleBinding";
metadata = {
name = "read-pods";
@ -31,7 +31,7 @@ let
});
roRole = pkgs.writeText "ro-role.json" (builtins.toJSON {
apiVersion = "rbac.authorization.k8s.io/v1beta1";
apiVersion = "rbac.authorization.k8s.io/v1";
kind = "Role";
metadata = {
name = "pod-reader";

View File

@ -12,13 +12,13 @@ with stdenv.lib;
stdenv.mkDerivation rec {
name = "monero-gui-${version}";
version = "2018-03-31";
version = "0.12.0.0";
src = fetchFromGitHub {
owner = "monero-project";
repo = "monero-gui";
rev = "fbe5ba831795008361f4de4347e7ecb6d868b4eb";
sha256 = "06cncwk4mxfw1rqwlwisasvangl73xyqwj4g6r9j85j5x4xy0k5s";
rev = "v${version}";
sha256 = "1mg5ival8a2wdp14yib4wzqax4xyvd40zjy9anhszljds1439jhl";
};
nativeBuildInputs = [ qmake pkgconfig ];

View File

@ -1,7 +1,7 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig, git
, boost, miniupnpc, openssl, unbound, cppzmq
, zeromq, pcsclite, readline
, IOKit ? null
, CoreData, IOKit, PCSC
}:
assert stdenv.isDarwin -> IOKit != null;
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
buildInputs = [
boost miniupnpc openssl unbound
cppzmq zeromq pcsclite readline
] ++ optional stdenv.isDarwin IOKit;
] ++ optionals stdenv.isDarwin [ IOKit CoreData PCSC ];
cmakeFlags = [
"-DCMAKE_BUILD_TYPE=Release"

View File

@ -4,11 +4,11 @@
}:
stdenv.mkDerivation rec {
name = "mpg123-1.25.8";
name = "mpg123-1.25.10";
src = fetchurl {
url = "mirror://sourceforge/mpg123/${name}.tar.bz2";
sha256 = "16s9z1xc5kv1p90g42vsr9m4gq3dwjsmrj873x4i8601mvpm3nkr";
sha256 = "08vhp8lz7d9ybhxcmkq3adwfryhivfvp0745k4r9kgz4wap3f4vc";
};
buildInputs = stdenv.lib.optional (!stdenv.isDarwin) alsaLib;

View File

@ -1,5 +1,5 @@
{ stdenv, makeDesktopItem, freetype, fontconfig, libX11, libXrender
, zlib, jdk, glib, gtk2, libXtst, gsettings-desktop-schemas, webkitgtk24x-gtk2
, zlib, jdk, glib, gtk3, libXtst, gsettings-desktop-schemas, webkitgtk
, makeWrapper, ... }:
{ name, src ? builtins.getAttr stdenv.system sources, sources ? null, description }:
@ -18,9 +18,9 @@ stdenv.mkDerivation rec {
};
buildInputs = [
fontconfig freetype glib gsettings-desktop-schemas gtk2 jdk libX11
fontconfig freetype glib gsettings-desktop-schemas gtk3 jdk libX11
libXrender libXtst makeWrapper zlib
] ++ stdenv.lib.optional (webkitgtk24x-gtk2 != null) webkitgtk24x-gtk2;
] ++ stdenv.lib.optional (webkitgtk != null) webkitgtk;
buildCommand = ''
# Unpack tarball.
@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
makeWrapper $out/eclipse/eclipse $out/bin/eclipse \
--prefix PATH : ${jdk}/bin \
--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath ([ glib gtk2 libXtst ] ++ stdenv.lib.optional (webkitgtk24x-gtk2 != null) webkitgtk24x-gtk2)} \
--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath ([ glib gtk3 libXtst ] ++ stdenv.lib.optional (webkitgtk != null) webkitgtk)} \
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
--add-flags "-configuration \$HOME/.eclipse/''${productId}_$productVersion/configuration"

View File

@ -1,7 +1,7 @@
{ stdenv, lib, fetchurl, makeDesktopItem, makeWrapper
, freetype, fontconfig, libX11, libXext, libXrender, zlib
, glib, gtk2, libXtst, jdk, gsettings-desktop-schemas
, webkitgtk24x-gtk2 ? null # for internal web browser
, glib, gtk3, libXtst, jdk, gsettings-desktop-schemas
, webkitgtk ? null # for internal web browser
, buildEnv, writeText, runCommand
, callPackage
}:
@ -15,7 +15,7 @@ rec {
buildEclipse = import ./build-eclipse.nix {
inherit stdenv makeDesktopItem freetype fontconfig libX11 libXrender zlib
jdk glib gtk2 libXtst gsettings-desktop-schemas webkitgtk24x-gtk2
jdk glib gtk3 libXtst gsettings-desktop-schemas webkitgtk
makeWrapper;
};

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "focuswriter-${version}";
version = "1.6.10";
version = "1.6.11";
src = fetchurl {
url = "https://gottcode.org/focuswriter/focuswriter-${version}-src.tar.bz2";
sha256 = "0hrbycy5lapdkaa2xm90j45sgsiqdnlk9wry41kxxpdln9msabxs";
sha256 = "0izbsm2vx24pnd92gf7ky8x47g324a8d16hy1s8kk3x1inxd80z1";
};
nativeBuildInputs = [ pkgconfig qmake qttools ];

View File

@ -1,32 +1,43 @@
{ stdenv, fetchurl, gnome3, itstool, libxml2, pkgconfig, intltool,
exiv2, libjpeg, libtiff, gstreamer, libraw, libsoup, libsecret,
libchamplain, librsvg, libwebp, json-glib, webkit, lcms2, bison,
flex, hicolor-icon-theme, wrapGAppsHook, shared-mime-info }:
exiv2, libjpeg, libtiff, gst_all_1, libraw, libsoup, libsecret,
libchamplain, librsvg, libwebp, json-glib, webkitgtk, lcms2, bison,
flex, wrapGAppsHook, shared-mime-info }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
let
pname = "gthumb";
version = "${major}.0";
major = "3.6";
version = "3.6.1";
in stdenv.mkDerivation rec {
name = "${pname}-${version}";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${major}/${name}.tar.xz";
sha256 = "1zc7myvnzgq7dawjg03rqvwfad7p938m20f25sfhv65jsfq8n928";
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "1vj26gw9b5y4bmb2m49wplqg0md568g3gxin500v3slggzhzkaww";
};
nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
nativeBuildInputs = [ itstool libxml2 intltool pkgconfig bison flex wrapGAppsHook ];
buildInputs = with gnome3;
[ itstool libxml2 intltool glib gtk gsettings-desktop-schemas dconf
exiv2 libjpeg libtiff gstreamer libraw libsoup libsecret libchamplain
librsvg libwebp json-glib webkit lcms2 bison flex hicolor-icon-theme defaultIconTheme ];
buildInputs = with gnome3; [
glib gtk gsettings-desktop-schemas gst_all_1.gstreamer gst_all_1.gst-plugins-base
exiv2 libjpeg libtiff libraw libsoup libsecret libchamplain
librsvg libwebp json-glib webkitgtk lcms2 defaultIconTheme
];
enableParallelBuilding = true;
configureFlags = [
"--enable-libchamplain"
];
preFixup = ''
gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${shared-mime-info}/share")
'';
passthru = {
updateScript = gnome3.updateScript {
packageName = pname;
};
};
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/gthumb;
description = "Image browser and viewer for GNOME";

View File

@ -0,0 +1,28 @@
{
mkDerivation, fetchurl, lib,
extra-cmake-modules, kdoctools,
knotifyconfig, kidletime, kwindowsystem, ktextwidgets, kcrash
}:
let
pname = "rsibreak";
version = "0.12";
revision = ".8";
in mkDerivation rec {
name = "rsibreak-${version}${revision}";
src = fetchurl {
url = "https://download.kde.org/stable/${pname}/${version}/${name}.tar.xz";
sha256 = "1qn9xdjx9zzw47jsj7f4nkqmrangfhdgafm2jxm7cm6z6kcvzr28";
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
propagatedBuildInputs = [ knotifyconfig kidletime kwindowsystem ktextwidgets kcrash ];
meta = with lib; {
description = "RSIBreak takes care of your health and regularly breaks your work to avoid repetitive strain injury (RSI)";
license = licenses.gpl2;
homepage = https://www.kde.org/applications/utilities/rsibreak/;
maintainers = with maintainers; [ vandenoever ];
};
}

View File

@ -30,7 +30,7 @@ let
}:
let
cfg = stdenv.lib.attrByPath [ browserName ] {} config;
cfg = config.${browserName} or {};
enableAdobeFlash = cfg.enableAdobeFlash or false;
ffmpegSupport = browser.ffmpegSupport or false;
gssSupport = browser.gssSupport or false;

View File

@ -13,17 +13,14 @@ stdenv.mkDerivation rec {
buildInputs = [ go ];
outputs = ["out" "plugins"];
buildPhase = ''
patchShebangs build.sh
./build.sh
'';
installPhase = ''
mkdir -p $out/bin $plugins
mkdir -p $out/bin
mv bin/cnitool $out/bin
mv bin/* $plugins/
'';
meta = with stdenv.lib; {

View File

@ -0,0 +1,33 @@
{ stdenv, lib, fetchFromGitHub, go }:
stdenv.mkDerivation rec {
name = "cni-plugins-${version}";
version = "0.7.0";
src = fetchFromGitHub {
owner = "containernetworking";
repo = "plugins";
rev = "v${version}";
sha256 = "0m885v76azs7lrk6m6n53rwh0xadwvdcr90h0l3bxpdv87sj2mnf";
};
buildInputs = [ go ];
buildPhase = ''
patchShebangs build.sh
./build.sh
'';
installPhase = ''
mkdir -p $out/bin
mv bin/* $out/bin
'';
meta = with lib; {
description = "Some standard networking plugins, maintained by the CNI team";
homepage = https://github.com/containernetworking/plugins;
license = licenses.asl20;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ cstrahan ];
};
}

View File

@ -3,14 +3,14 @@
let
common = { stname, target, patches ? [], postInstall ? "" }:
stdenv.mkDerivation rec {
version = "0.14.45";
version = "0.14.46";
name = "${stname}-${version}";
src = fetchFromGitHub {
owner = "syncthing";
repo = "syncthing";
rev = "v${version}";
sha256 = "0hhldmvsbvkaj0x6af7c41zq5mbzcymv5xxmwvb4h5zbz49z9vzl";
sha256 = "0lv8n5id40iy2gfccy8g45fjzlnbnvi7nlvj25pri22dq2bd5svm";
};
inherit patches;

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "igv-${version}";
version = "2.4.9";
version = "2.4.10";
src = fetchurl {
url = "http://data.broadinstitute.org/igv/projects/downloads/2.4/IGV_${version}.zip";
sha256 = "0acyq7602g2pz6mc9ip1297c68kgl9pq9yzk3k2lli9l5qvxi3g1";
sha256 = "1wyv3ny06m6ipb83hi3pzcc50v49zms69c5714iixh0nqpd826f2";
};
buildInputs = [ unzip jre ];

View File

@ -90,6 +90,6 @@ in stdenv.mkDerivation rec {
homepage = http://llvm.org/;
license = stdenv.lib.licenses.ncsa;
maintainers = with stdenv.lib.maintainers; [ lovek323 raskin viric ];
platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin"];
platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" "armv7l-linux"];
};
}

View File

@ -98,7 +98,7 @@ in stdenv.mkDerivation rec {
homepage = http://llvm.org/;
license = stdenv.lib.licenses.ncsa;
maintainers = with stdenv.lib.maintainers; [ lovek323 raskin viric ];
platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin"];
platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" "armv7l-linux"];
};
}

View File

@ -4,7 +4,7 @@
, libjpeg, giflib
, setJavaClassPath
, minimal ? false
, enableGnome2 ? true, gtk2, gnome_vfs, glib, GConf
, enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf
}:
let
@ -38,7 +38,7 @@ let
libjpeg giflib libX11 libICE libXext libXrender libXtst libXt libXtst
libXi libXinerama libXcursor lndir fontconfig
] ++ lib.optionals (!minimal && enableGnome2) [
gtk2 gnome_vfs GConf glib
gtk3 gnome_vfs GConf glib
];
patches = [
@ -80,7 +80,7 @@ let
NIX_LDFLAGS= lib.optionals (!minimal) [
"-lfontconfig" "-lcups" "-lXinerama" "-lXrandr" "-lmagic"
] ++ lib.optionals (!minimal && enableGnome2) [
"-lgtk-x11-2.0" "-lgio-2.0" "-lgnomevfs-2" "-lgconf-2"
"-lgtk-3" "-lgio-2.0" "-lgnomevfs-2" "-lgconf-2"
];
buildFlags = [ "all" ];

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
name = "folly-${version}";
version = "2018.02.26.00";
version = "2018.03.26.00";
src = fetchFromGitHub {
owner = "facebook";
repo = "folly";
rev = "v${version}";
sha256 = "1pdb3nnly0x4x8yy1r13xgh9zhn34c9dq0b3nhxr8gwbzf643j1c";
sha256 = "137d9b9k2m02r8f2w31qj3gc18hpm5g51bcl60g6vzdqzwzizzyr";
};
nativeBuildInputs = [ autoreconfHook python pkgconfig ];

View File

@ -2,17 +2,20 @@
stdenv.mkDerivation rec {
name = "lmdb-${version}";
version = "0.9.21";
version = "0.9.22";
src = fetchFromGitHub {
owner = "LMDB";
repo = "lmdb";
rev = "LMDB_${version}";
sha256 = "026a6himvg3y4ssnccdbgr3c2pq3w2d47nayn05v512875z4f2w3";
sha256 = "0lng4ra2qrbqcf8klvqp68qarha0z4bkqhhv8lhh45agsxyrhfkj";
};
postUnpack = "sourceRoot=\${sourceRoot}/libraries/liblmdb";
patches = [ ./hardcoded-compiler.patch ];
patchFlags = "-p3";
outputs = [ "bin" "out" "dev" ];
makeFlags = [ "prefix=$(out)" "CC=cc" ]

View File

@ -0,0 +1,26 @@
commit 029031a68873bc3784a8561bd8e049efbd34f9d0 (HEAD)
Author: Vladimír Čunát <vcunat@gmail.com>
Date: Sun Apr 1 11:05:31 2018 +0200
make: gcc -> $(CC)
diff --git a/libraries/liblmdb/Makefile b/libraries/liblmdb/Makefile
index f254511..612484e 100644
--- a/libraries/liblmdb/Makefile
+++ b/libraries/liblmdb/Makefile
@@ -102,13 +102,13 @@ COV_OBJS=xmdb.o xmidl.o
coverage: xmtest
for i in mtest*.c [0-9]*.c; do j=`basename \$$i .c`; $(MAKE) $$j.o; \
- gcc -o x$$j $$j.o $(COV_OBJS) -pthread $(COV_FLAGS); \
+ $(CC) -o x$$j $$j.o $(COV_OBJS) -pthread $(COV_FLAGS); \
rm -rf testdb; mkdir testdb; ./x$$j; done
gcov xmdb.c
gcov xmidl.c
xmtest: mtest.o xmdb.o xmidl.o
- gcc -o xmtest mtest.o xmdb.o xmidl.o -pthread $(COV_FLAGS)
+ $(CC) -o xmtest mtest.o xmdb.o xmidl.o -pthread $(COV_FLAGS)
xmdb.o: mdb.c lmdb.h midl.h
$(CC) $(CFLAGS) -fPIC $(CPPFLAGS) -O0 $(COV_FLAGS) -c mdb.c -o $@

View File

@ -13,13 +13,13 @@
stdenv.mkDerivation rec {
name = "opendht-${version}";
version = "1.6.0";
version = "1.6.1";
src = fetchFromGitHub {
owner = "savoirfairelinux";
repo = "opendht";
rev = "${version}";
sha256 = "0ybv41nbh86ricxfv478z4izbxvnvk86csr29c6qf4dinmrysf96";
sha256 = "13sxcg2sdhnzdkrjqmhg16p4001w3rd048p71k74pbmi8qpd0bw2";
};
buildInputs = [

View File

@ -1,13 +1,13 @@
{ stdenv, fetchurl, libjpeg, zlib, perl }:
let version = "8.0.0";
let version = "8.0.2";
in
stdenv.mkDerivation rec {
name = "qpdf-${version}";
src = fetchurl {
url = "mirror://sourceforge/qpdf/qpdf/${version}/${name}.tar.gz";
sha256 = "01a1d5wyrj1m35d68yj0cyqfjyrwhxq2yqwaw5an1d1p4aaid8gz";
sha256 = "1hf8jfjar8p7v288d7ccmr8w171mv9kb86b6hq1nk58mnlq1g7mh";
};
nativeBuildInputs = [ perl ];

View File

@ -0,0 +1,36 @@
{ stdenv, fetchFromGitHub, libusb1 }:
let
version = "2018-03-27";
name = "rpiboot-unstable-${version}";
in stdenv.mkDerivation {
inherit name;
src = fetchFromGitHub {
owner = "raspberrypi";
repo = "usbboot";
rev = "fb86716935f2e820333b037a2ff93a338ad9b695";
sha256 = "163g7iw7kf6ra71adx6lf1xzf3kv20bppva15ljwn54jlah5mv98";
};
nativeBuildInputs = [ libusb1 ];
patchPhase = ''
sed -i "s@/usr/@$out/@g" main.c
'';
installPhase = ''
mkdir -p $out/bin
mkdir -p $out/share/rpiboot
cp rpiboot $out/bin
cp -r msd $out/share/rpiboot
'';
meta = {
homepage = https://github.com/raspberrypi/usbboot;
description = "Utility to boot a Raspberry Pi CM/CM3/Zero over USB";
maintainers = [ stdenv.lib.maintainers.cartr ];
license = stdenv.lib.licenses.asl20;
platforms = stdenv.lib.platforms.unix;
};
}

View File

@ -1,15 +1,30 @@
{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, oasis, ocaml_optcomp, camlp4 }:
{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, oasis, ocaml_optcomp, camlp4
, num
}:
let version = "0.7.1"; in
let param =
if stdenv.lib.versionAtLeast ocaml.version "4.03"
then {
version = "0.8.1";
sha256 = "03vzrybdpjydbpil97zmir71kpsn2yxkjnzysma7fvybk8ll4zh9";
buildInputs = [ num ];
} else {
version = "0.7.1";
sha256 = "0gg3nr3iic4rwqrcc0qvfm9x0x57zclvdsnpy0z8rv2fl5isbzms";
};
in
let inherit (param) version; in
stdenv.mkDerivation {
name = "ocsigen-deriving-${version}";
src = fetchzip {
url = "https://github.com/ocsigen/deriving/archive/${version}.tar.gz";
sha256 = "0gg3nr3iic4rwqrcc0qvfm9x0x57zclvdsnpy0z8rv2fl5isbzms";
};
inherit (param) sha256;
};
buildInputs = [ ocaml findlib ocamlbuild oasis ocaml_optcomp camlp4 ];
buildInputs = [ ocaml findlib ocamlbuild oasis ocaml_optcomp camlp4 ]
++ (param.buildInputs or []);
createFindlibDestdir = true;

View File

@ -0,0 +1,12 @@
# OASIS_START
# DO NOT EDIT (digest: ec844fa3189acb2a866b89a69d111ba4)
version = "1.6"
description = "Optional compilation with cpp-like directives"
requires = "camlp4"
archive(syntax, preprocessor) = "optcomp.cma"
archive(syntax, toploop) = "optcomp.cma"
archive(syntax, preprocessor, native) = "optcomp.cmxa"
archive(syntax, preprocessor, native, plugin) = "optcomp.cmxs"
exists_if = "optcomp.cma"
# OASIS_STOP

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, camlp4 }:
{ stdenv, fetchurl, fetchpatch, ocaml, findlib, ocamlbuild, camlp4 }:
stdenv.mkDerivation {
name = "ocaml-optcomp-1.6";
@ -6,11 +6,33 @@ stdenv.mkDerivation {
url = https://github.com/diml/optcomp/archive/1.6.tar.gz;
sha256 = "0hhhb2gisah1h22zlg5iszbgqxdd7x85cwd57bd4mfkx9l7dh8jh";
};
patches =
let inherit (stdenv.lib) optional versionAtLeast; in
optional (versionAtLeast ocaml.version "4.02") (fetchpatch {
url = "https://github.com/diml/optcomp/commit/b7f809360c9794b383a4bc0492f6df381276b429.patch";
sha256 = "1n095lk94jq1rwi0l24g2wbgms7249wdd31n0ji895dr6755s93y";
})
;
createFindlibDestdir = true;
buildInputs = [ ocaml findlib ocamlbuild camlp4 ];
configurePhase = ''
cp ${./META} META
'';
buildPhase = ''
ocamlbuild src/optcomp.cmxs src/optcomp.cma src/optcomp_o.native src/optcomp_r.native
'';
installPhase = ''
mkdir -p $out/bin
cp _build/src/optcomp_o.native $out/bin/optcomp-o
cp _build/src/optcomp_r.native $out/bin/optcomp-r
ocamlfind install optcomp META _build/src/optcomp.{a,cma,cmxa,cmxs} _build/src/pa_optcomp.{cmi,cmx,mli}
'';
meta = {
homepage = https://github.com/diml/optcomp;

View File

@ -1,23 +1,22 @@
{ stdenv, fetchPypi
, buildPythonApplication, python, pythonAtLeast
, mock, nose, pyhamcrest
, buildPythonApplication, isPy27, python, pythonOlder
, mock, nose, pathpy, pyhamcrest, pytest
, glibcLocales, parse, parse-type, six
, traceback2
}:
buildPythonApplication rec {
pname = "behave";
version = "1.2.6";
name = "${pname}-${version}";
disabled = pythonAtLeast "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "b9662327aa53294c1351b0a9c369093ccec1d21026f050c3bd9b3e5cccf81a86";
sha256 = "11hsz365qglvpp1m1w16239c3kiw15lw7adha49lqaakm8kj6rmr";
};
checkInputs = [ mock nose pyhamcrest ];
checkInputs = [ mock nose pathpy pyhamcrest pytest ];
buildInputs = [ glibcLocales ];
propagatedBuildInputs = [ parse parse-type six ];
propagatedBuildInputs = [ parse parse-type six ] ++ stdenv.lib.optional (pythonOlder "3.0") traceback2;
postPatch = ''
patchShebangs bin
@ -29,7 +28,7 @@ buildPythonApplication rec {
export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
nosetests -x
pytest test tests
${python.interpreter} bin/behave -f progress3 --stop --tags='~@xfail' features/
${python.interpreter} bin/behave -f progress3 --stop --tags='~@xfail' tools/test-features/

View File

@ -1,10 +1,7 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pyparsing
, future
, nose
, glibcLocales
, buildPythonPackage, fetchFromGitHub
, future, pyparsing
, glibcLocales, nose
}:
buildPythonPackage rec {
@ -19,7 +16,7 @@ buildPythonPackage rec {
sha256 = "0lmlarkfbq2hp1wa04a62245jr2mqizqsdlgilj5aq6vy92gr6ai";
};
propagatedBuildInputs = [ pyparsing future ];
propagatedBuildInputs = [ future pyparsing ];
checkInputs = [ nose glibcLocales ];

View File

@ -0,0 +1,23 @@
{ stdenv, buildPythonPackage, fetchPypi, pythonOlder, attrs, click }:
buildPythonPackage rec {
pname = "black";
version = "18.4a0";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "04dffr4wmzs4vf2xj0cxp03hv04x0kk06qyzx6jjrp1mq0z3n2rr";
};
propagatedBuildInputs = [ attrs click ];
meta = with stdenv.lib; {
description = "The uncompromising Python code formatter";
homepage = https://github.com/ambv/black;
license = licenses.mit;
maintainers = with maintainers; [ sveitser ];
};
}

View File

@ -0,0 +1,33 @@
{ lib, buildPythonPackage, fetchFromGitHub, glibcLocales, python, isPy3k }:
buildPythonPackage rec {
pname = "jieba";
version = "0.39";
# no tests in PyPI tarball
src = fetchFromGitHub {
owner = "fxsjy";
repo = pname;
rev = "v${version}";
sha256 = "0hbq0l1jbgcvm58qg4p37im4jl5a9igvq3wlhlk22pmbkbvqqgzs";
};
checkInputs = [ glibcLocales ];
# UnicodeEncodeError
doCheck = isPy3k;
# Citing https://github.com/fxsjy/jieba/issues/384: "testcases is in a mess"
# So just picking random ones that currently work
checkPhase = ''
export LC_ALL=en_US.UTF-8
${python.interpreter} test/test.py
${python.interpreter} test/test_tokenize.py
'';
meta = with lib; {
description = "Chinese Words Segementation Utilities";
homepage = https://github.com/fxsjy/jieba;
license = licenses.mit;
};
}

View File

@ -0,0 +1,34 @@
{ lib
, buildPythonPackage
, marisa-trie
, pythonOlder
, fetchPypi
, nose
}:
buildPythonPackage rec {
pname = "langcodes";
version = "1.4.1";
src = fetchPypi {
inherit pname version;
sha256 = "1axdiva2qglsjmnx2ak7i6hm0yhp6kbc4lcsgn8ckwy0nq1z3kr2";
};
propagatedBuildInputs = [ marisa-trie ];
disabled = pythonOlder "3.3";
checkInputs = [ nose ];
checkPhase = ''
nosetests
'';
meta = with lib; {
description = "A toolkit for working with and comparing the standardized codes for languages, such as en for English or es for Spanish";
homepage = http://github.com/LuminosoInsight/langcodes;
license = licenses.mit;
maintainers = with maintainers; [ ixxie ];
};
}

View File

@ -0,0 +1,34 @@
{ lib
, buildPythonPackage
, fetchPypi
, pytestrunner
, pytest
, hypothesis
}:
buildPythonPackage rec {
pname = "marisa-trie";
version = "0.7.4";
src = fetchPypi {
inherit pname version;
sha256 = "1n4pxnaranbh3x2fcqxwh8j1z2918vy7i4q1z4jn75m9rkm5h8ia";
};
postPatch = ''
substituteInPlace setup.py \
--replace "hypothesis==" "hypothesis>="
'';
nativeBuildInputs = [ pytestrunner ];
checkInputs = [ pytest hypothesis ];
meta = with lib; {
description = "Static memory-efficient Trie-like structures for Python (2.x and 3.x) based on marisa-trie C++ library";
longDescription = "There are official SWIG-based Python bindings included in C++ library distribution; this package provides alternative Cython-based pip-installable Python bindings.";
homepage = https://github.com/kmike/marisa-trie;
license = licenses.mit;
maintainers = with maintainers; [ ixxie ];
};
}

View File

@ -0,0 +1,24 @@
{ lib
, buildPythonPackage
, mecab
, fetchPypi
}:
buildPythonPackage rec {
pname = "mecab-python3";
version = "0.7";
src = fetchPypi {
inherit pname version;
sha256 = "007dg4f5fby2yl7cc44x6xwvcrf2w2ifmn0rmk56ss33mhs8l6qy";
};
propagatedBuildInputs = [ mecab ];
meta = with lib; {
description = "A python wrapper for mecab: Morphological Analysis engine";
homepage = https://github.com/LuminosoInsight/wordfreq/;
license = licenses.bsd0;
maintainers = with maintainers; [ ixxie ];
};
}

View File

@ -6,21 +6,13 @@
buildPythonPackage rec {
pname = "parse_type";
version = "0.3.4";
version = "0.4.2";
src = fetchPypi {
inherit pname version;
sha256 = "3dd0b323bafcb8c25e000ce5589042a1c99cba9c3bec77b9f591e46bc9606147";
sha256 = "0g3b6gsdwnm8dpkh2vn34q6dzxm9gl908ggyzcv31n9xbp3vv5pm";
};
patches = [
(fetchpatch {
name = "python-3.5-tests-compat.patch";
url = "https://github.com/jenisys/parse_type/pull/4.patch";
sha256 = "1mmn2fxss6q3qhaydd4s4v8vjgvgkg41v1vcivrzdsvgsc3npg7m";
})
];
checkInputs = [ pytest pytestrunner ];
propagatedBuildInputs = [ parse six ] ++ stdenv.lib.optional (pythonOlder "3.4") enum34;

View File

@ -3,22 +3,14 @@
}:
buildPythonPackage rec {
pname = "parse";
version = "1.6.6";
version = "1.8.2";
name = "${pname}-${version}";
src = fetchPypi {
inherit pname version;
sha256 = "71435aaac494e08cec76de646de2aab8392c114e56fe3f81c565ecc7eb886178";
sha256 = "1lj9v1q4imszyhvipb6drsm3xdl35nan011mqxxas1yaypixsj40";
};
patches = [
(fetchpatch {
name = "python-3.5-tests-compat.patch";
url = "https://github.com/r1chardj0n3s/parse/pull/34.patch";
sha256 = "16iicgkf3lwivmdnp3xkq4n87wjmr3nb77z8mwz67b7by9nnp3jg";
})
];
checkPhase = ''
${python.interpreter} test_parse.py
'';

View File

@ -0,0 +1,23 @@
{ stdenv, fetchPypi, buildPythonPackage, setuptools_scm, pygccxml }:
buildPythonPackage rec {
pname = "PyBindGen";
version = "0.18.0";
src = fetchPypi {
inherit pname version;
sha256 = "1sl4jn8rildv6f62cab66w791cixhaaxl7gwg9labs099rl74yl6";
};
buildInputs = [ setuptools_scm ];
checkInputs = [ pygccxml ];
meta = with stdenv.lib; {
homepage = https://github.com/gjcarneiro/pybindgen;
description = "Python Bindings Generator";
license = licenses.lgpl2;
maintainers = with maintainers; [ teto ];
};
}

View File

@ -0,0 +1,26 @@
{ stdenv, castxml, fetchFromGitHub, buildPythonPackage,
llvmPackages, clang }:
buildPythonPackage rec {
pname = "pygccxml";
version = "1.9.1";
src = fetchFromGitHub {
owner = "gccxml";
repo = "pygccxml";
rev = "v${version}";
sha256 = "02ip03s0vmp7czzflbvf7qnybibfrd0rzqbc5zfmq3zmpnck3hvm";
};
buildInputs = [ castxml llvmPackages.libcxxStdenv];
# running the suite is hard, needs to generate xml_generator.cfg
# but the format doesn't accept -isystem directives
doCheck = false;
meta = with stdenv.lib; {
homepage = https://github.com/gccxml/pygccxml;
description = "Python package for easy C++ declarations navigation";
license = licenses.boost;
maintainers = with maintainers; [ teto ];
};
}

View File

@ -1,4 +1,4 @@
{ lib, fetchPypi, isPy3k, buildPythonPackage, numpy, matplotlib, root, root_numpy, tables }:
{ lib, fetchPypi, isPy3k, buildPythonPackage, numpy, matplotlib, root, root_numpy, tables, pytest }:
buildPythonPackage rec {
pname = "rootpy";
@ -14,6 +14,14 @@ buildPythonPackage rec {
propagatedBuildInputs = [ matplotlib numpy root root_numpy tables ];
checkInputs = [ pytest ];
checkPhase = ''
# tests fail with /homeless-shelter
export HOME=$PWD
# skip problematic tests
py.test rootpy -k "not test_stl and not test_cpp and not test_xrootd_glob_single and not test_xrootd_glob_multiple"
'';
meta = with lib; {
homepage = http://www.rootpy.org;
license = licenses.bsd3;

View File

@ -0,0 +1,51 @@
{ stdenv
, lib
, fetchurl
, buildPythonPackage
, isPy3k, isPy36, pythonOlder
, numpy
, six
, protobuf
, absl-py
, mock
, backports_weakref
, enum34
, tensorflow-tensorboard
, cudaSupport ? false
}:
# tensorflow is built from a downloaded wheel because the source
# build doesn't yet work on Darwin.
buildPythonPackage rec {
pname = "tensorflow";
version = "1.5.0";
format = "wheel";
src = fetchurl {
url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-${version}-py3-none-any.whl";
sha256 = "1mapv45n9wmgcq3i3im0pv0gmhwkxw5z69nsnxb1gfxbj1mz5h9m";
};
propagatedBuildInputs = [ numpy six protobuf absl-py ]
++ lib.optional (!isPy3k) mock
++ lib.optionals (pythonOlder "3.4") [ backports_weakref enum34 ]
++ lib.optional (pythonOlder "3.6") tensorflow-tensorboard;
# tensorflow depends on tensorflow_tensorboard, which cannot be
# built at the moment (some of its dependencies do not build
# [htlm5lib9999999 (seven nines) -> tensorboard], and it depends on an old version of
# bleach) Hence we disable dependency checking for now.
installFlags = lib.optional isPy36 "--no-dependencies";
meta = with stdenv.lib; {
description = "Computation using data flow graphs for scalable machine learning";
homepage = http://tensorflow.org;
license = licenses.asl20;
maintainers = with maintainers; [ jyp abbradar ];
platforms = platforms.darwin;
# Python 2.7 build uses different string encoding.
# See https://github.com/NixOS/nixpkgs/pull/37044#issuecomment-373452253
broken = cudaSupport || !isPy3k;
};
}

View File

@ -149,7 +149,7 @@ in buildPythonPackage rec {
homepage = http://tensorflow.org;
license = licenses.asl20;
maintainers = with maintainers; [ jyp abbradar ];
platforms = with platforms; if cudaSupport then linux else linux ++ darwin;
platforms = platforms.linux;
broken = !(xlaSupport -> cudaSupport);
};
}

View File

@ -0,0 +1,48 @@
{ lib
, buildPythonPackage
, regex
, langcodes
, ftfy
, msgpack
, mecab-python3
, jieba
, nose
, pythonOlder
, fetchFromGitHub
}:
buildPythonPackage rec {
pname = "wordfreq";
version = "2.0";
src = fetchFromGitHub {
owner = "LuminosoInsight";
repo = "wordfreq";
rev = "e3a1b470d9f8e0d82e9f179ffc41abba434b823b";
sha256 = "1wjkhhj7nxfnrghwvmvwc672s30lp4b7yr98gxdxgqcq6wdshxwv";
};
checkInputs = [ nose ];
checkPhase = ''
# These languages require additional dictionaries
nosetests -e test_japanese -e test_korean -e test_languages
'';
propagatedBuildInputs = [ regex langcodes ftfy msgpack mecab-python3 jieba ];
# patch to relax version requirements for regex
# dependency to prevent break in upgrade
postPatch = ''
substituteInPlace setup.py --replace "regex ==" "regex >="
'';
disabled = pythonOlder "3";
meta = with lib; {
description = "A library for looking up the frequencies of words in many languages, based on many sources of data";
homepage = https://github.com/LuminosoInsight/wordfreq/;
license = licenses.mit;
maintainers = with maintainers; [ ixxie ];
};
}

View File

@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
homepage = http://bashdb.sourceforge.net/remake/;
license = stdenv.lib.licenses.gpl3;
description = "GNU Make with comprehensible tracing and a debugger";
platforms = stdenv.lib.platforms.linux;
platforms = with stdenv.lib.platforms; linux ++ darwin;
maintainers = with stdenv.lib.maintainers; [ bjornfor ];
};
}

View File

@ -0,0 +1,49 @@
{ stdenv, fetchFromGitHub
, pythonPackages
, pkgconfig
, cmake
, llvmPackages
, withMan ? true
}:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "CastXML";
version = "20180403";
src = fetchFromGitHub {
owner = "CastXML";
repo = "CastXML";
rev = "c2a44d06d9379718292b696f4e13a2725ff9d95e";
sha256 = "1hjh8ihjyp1m2jb5yypp5c45bpbz8k004f4p1cjw4gc7pxhjacdj";
};
buildInputs = [
cmake
llvmPackages.clang-unwrapped
llvmPackages.llvm
] ++ stdenv.lib.optionals withMan [ pythonPackages.sphinx ];
propagatedbuildInputs = [ llvmPackages.libclang ];
preConfigure = ''
cmakeFlagsArray+=(
${if withMan then "-DSPHINX_MAN=ON" else ""}
)'';
# 97% tests passed, 96 tests failed out of 2866
# mostly because it checks command line and nix append -isystem and all
doCheck=false;
checkPhase = ''
# -E exclude 4 tests based on names
# see https://github.com/CastXML/CastXML/issues/90
ctest -E 'cmd.cc-(gnu|msvc)-((c-src-c)|(src-cxx))-cmd'
'';
meta = with stdenv.lib; {
homepage = http://www.kitware.com;
license = licenses.asl20;
description = "Abstract syntax tree XML output tool";
platforms = platforms.unix;
};
}

View File

@ -2,14 +2,14 @@
buildPythonApplication rec {
pname = "mypy";
version = "0.570";
version = "0.580";
# Tests not included in pip package.
doCheck = false;
src = fetchPypi {
inherit pname version;
sha256 = "09cz0h4d6xcdqlchw080nkjlwki3mgjrlvfnj5hxxwi3cgv9imw3";
sha256 = "1ng3j3nmsklrg8middvc9ycvv87hx5dxh4b96s9pc3w1d49mmn9v";
};
propagatedBuildInputs = [ lxml typed-ast psutil ];

View File

@ -4,13 +4,13 @@
stdenv.mkDerivation rec {
name = "gzdoom-${version}";
version = "3.2.5";
version = "3.3.0";
src = fetchFromGitHub {
owner = "coelckers";
repo = "gzdoom";
rev = "g${version}";
sha256 = "1x4v3cv448wqx4cdhs28nxrv0lm2c2pd9i2hm92q9lg5yw8vv19q";
sha256 = "1q1hjfxhksny236a058ys36mpdl434vbmgapqr51n82pia838h2l";
};
nativeBuildInputs = [ cmake makeWrapper ];

View File

@ -32,7 +32,8 @@ in stdenv.mkDerivation rec {
libGLU openal libpng libvorbis SDL2 SDL2_ttf SDL2_image
];
enableParallelBuilding = true;
# disable parallel building as it caused sporadic build failures
enableParallelBuilding = false;
NIX_CFLAGS_COMPILE = [
"-I${SDL2_image}/include/SDL2"
@ -81,6 +82,6 @@ in stdenv.mkDerivation rec {
homepage = https://te4.org/;
license = licenses.gpl3;
maintainers = with maintainers; [ chattered peterhoeg ];
platforms = platforms.linux;
platforms = subtractLists ["aarch64-linux"] platforms.linux;
};
}

View File

@ -0,0 +1,7 @@
/* This file is NOT part of highlight.js */
document.onreadystatechange = function () {
var listings = document.querySelectorAll('.programlisting, .screen');
for (i = 0; i < listings.length; ++i) {
hljs.highlightBlock(listings[i]);
}
}

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "raspberrypi-firmware-${version}";
version = "1.20171029";
version = "1.20180328";
src = fetchFromGitHub {
owner = "raspberrypi";
repo = "firmware";
rev = version;
sha256 = "12aisha8rlr28310hakps04z9p45kd2wvks0w1vxw1kwfh1ncy9s";
sha256 = "19h4lv11idy268pyrq21c5gsff77d5xr9xjkpmzfpcq34gjh3x21";
};
installPhase = ''

View File

@ -71,7 +71,7 @@
"device_tracker.bluetooth_le_tracker" = ps: with ps; [ ];
"device_tracker.bluetooth_tracker" = ps: with ps; [ ];
"device_tracker.cisco_ios" = ps: with ps; [ pexpect ];
"device_tracker.fritz" = ps: with ps; [ ];
"device_tracker.fritz" = ps: with ps; [ fritzconnection ];
"device_tracker.icloud" = ps: with ps; [ ];
"device_tracker.linksys_ap" = ps: with ps; [ beautifulsoup4 ];
"device_tracker.mikrotik" = ps: with ps; [ ];
@ -100,7 +100,7 @@
"fan.xiaomi_miio" = ps: with ps; [ ];
"feedreader" = ps: with ps; [ feedparser ];
"ffmpeg" = ps: with ps; [ ha-ffmpeg ];
"frontend" = ps: with ps; [ user-agents ];
"frontend" = ps: with ps; [ ];
"gc100" = ps: with ps; [ ];
"goalfeed" = ps: with ps; [ ];
"google" = ps: with ps; [ google_api_python_client oauth2client ];
@ -123,7 +123,7 @@
"joaoapps_join" = ps: with ps; [ ];
"juicenet" = ps: with ps; [ ];
"keyboard" = ps: with ps; [ ];
"keyboard_remote" = ps: with ps; [ ];
"keyboard_remote" = ps: with ps; [ evdev ];
"kira" = ps: with ps; [ ];
"knx" = ps: with ps; [ ];
"lametric" = ps: with ps; [ ];
@ -196,7 +196,7 @@
"media_player.songpal" = ps: with ps; [ ];
"media_player.sonos" = ps: with ps; [ ];
"media_player.soundtouch" = ps: with ps; [ libsoundtouch ];
"media_player.spotify" = ps: with ps; [ ];
"media_player.spotify" = ps: with ps; [ spotipy ];
"media_player.vizio" = ps: with ps; [ ];
"media_player.vlc" = ps: with ps; [ ];
"media_player.webostv" = ps: with ps; [ websockets ];
@ -278,7 +278,7 @@
"sensor.coinmarketcap" = ps: with ps; [ ];
"sensor.cpuspeed" = ps: with ps; [ ];
"sensor.crimereports" = ps: with ps; [ ];
"sensor.cups" = ps: with ps; [ ];
"sensor.cups" = ps: with ps; [ pycups ];
"sensor.darksky" = ps: with ps; [ ];
"sensor.deluge" = ps: with ps; [ deluge-client ];
"sensor.deutsche_bahn" = ps: with ps; [ ];
@ -298,8 +298,8 @@
"sensor.fido" = ps: with ps; [ ];
"sensor.fitbit" = ps: with ps; [ ];
"sensor.fixer" = ps: with ps; [ ];
"sensor.fritzbox_callmonitor" = ps: with ps; [ ];
"sensor.fritzbox_netmonitor" = ps: with ps; [ ];
"sensor.fritzbox_callmonitor" = ps: with ps; [ fritzconnection ];
"sensor.fritzbox_netmonitor" = ps: with ps; [ fritzconnection ];
"sensor.gearbest" = ps: with ps; [ ];
"sensor.geizhals" = ps: with ps; [ beautifulsoup4 ];
"sensor.geo_rss_events" = ps: with ps; [ feedparser ];

View File

@ -22,7 +22,8 @@ import json
import re
from pkg_resources import Requirement, RequirementParseError
PREFIX = '# homeassistant.components.'
GENERAL_PREFIX = '# homeassistant.'
COMPONENT_PREFIX = GENERAL_PREFIX + 'components.'
PKG_SET = 'python3Packages'
def get_version():
@ -37,12 +38,19 @@ def fetch_reqs(version='master'):
for line in response.read().decode().splitlines():
if line == '':
components = []
elif line[:len(PREFIX)] == PREFIX:
component = line[len(PREFIX):]
elif line[:len(COMPONENT_PREFIX)] == COMPONENT_PREFIX:
component = line[len(COMPONENT_PREFIX):]
components.append(component)
if component not in requirements:
requirements[component] = []
elif line[0] != '#':
elif line[:len(GENERAL_PREFIX)] != GENERAL_PREFIX: # skip lines like "# homeassistant.scripts.xyz"
# Some dependencies are commented out because they don't build on all platforms
# Since they are still required for running the component, don't skip them
if line[:2] == '# ':
line = line[2:]
# Some requirements are specified by url, e.g. https://example.org/foobar#xyz==1.0.0
# Therefore, if there's a "#" in the line, only take the part after it
line = line[line.find('#') + 1:]
for component in components:
requirements[component].append(line)
return requirements

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "osrm-backend-${version}";
version = "5.16.3";
version = "5.16.4";
src = fetchFromGitHub {
rev = "v${version}";
owner = "Project-OSRM";
repo = "osrm-backend";
sha256 = "0dmcp5s5kjnvdd7sn53sbjawfhiwjs30fr7iwi9h6ssz6188x0jp";
sha256 = "01wghly0rqv4f9lfabmbfddjp2pclcfip45rmn0fvnj5c6x23v6v";
};
nativeBuildInputs = [ cmake pkgconfig ];

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "gmic-${version}";
version = "2.2.0";
version = "2.2.1";
src = fetchurl {
url = "http://gmic.eu/files/source/gmic_${version}.tar.gz";
sha256 = "0yvb9iwwmjxvck2in3ymqszaddz502v2ryk50qs0wskhbhdh96c7";
sha256 = "0iac1zaix2zv1dfp45ca0wk9pj6k02gf8l1vmg820z8jd12pa19w";
};
nativeBuildInputs = [ pkgconfig ];

View File

@ -0,0 +1,34 @@
{ stdenv, fetchFromGitHub, buildPythonApplication, dateutil }:
buildPythonApplication rec {
pname = "pdd";
version = "1.1";
src = fetchFromGitHub {
owner = "jarun";
repo = "pdd";
rev = "v${version}";
sha256 = "1nb64vdlym4najjyfxq1nprqcwgrwnqj1mml0fcg20hrgbjm4bf2";
};
format = "other";
propagatedBuildInputs = [ dateutil ];
installFlags = [ "PREFIX=$(out)" ];
meta = with stdenv.lib; {
homepage = "https://github.com/jarun/pdd";
description = "Tiny date, time diff calculator";
longDescription = ''
There are times you want to check how old you are (in years, months, days)
or how long you need to wait for the next flash sale or the number of days
left of your notice period in your current job. pdd (Python3 Date Diff) is
a small cmdline utility to calculate date and time difference. If no
program arguments are specified it shows the current date, time and
timezone.
'';
maintainers = [ maintainers.infinisil ];
license = licenses.gpl3;
};
}

View File

@ -1,31 +1,38 @@
{ stdenv, fetchurl, unzip }:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "ngrok-${version}";
version = "2.2.8";
src = if stdenv.system == "i686-linux" then fetchurl {
src = if stdenv.isLinux && stdenv.isi686 then fetchurl {
url = "https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-i386.tgz";
sha256 = "0s5ymlaxrvm13q3mlvfirh74sx60qh56c5sgdma2r7q5qlsq41xg";
} else if stdenv.system == "x86_64-linux" then fetchurl {
} else if stdenv.isLinux && stdenv.isx86_64 then fetchurl {
url = "https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.tgz";
sha256 = "1mn9iwgy6xzrjihikwc2k2j59igqmph0cwx17qp0ziap9lp5xxad";
} else if stdenv.isDarwin then fetchurl {
url = "https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-darwin-386.zip";
sha256 = "0yfd250b55wcpgqd00rqfaa7a82f35fmybb31q5xwdbgc2i47pbh";
} else throw "platform ${stdenv.system} not supported!";
sourceRoot = ".";
nativeBuildInputs = optional stdenv.isDarwin unzip;
installPhase = ''
install -D ngrok $out/bin/ngrok
'';
meta = with stdenv.lib; {
meta = {
description = "ngrok";
longDescription = ''
Allows you to expose a web server running on your local machine to the internet.
'';
homepage = https://ngrok.com/;
license = stdenv.lib.licenses.unfree;
platforms = [ "i686-linux" "x86_64-linux" ];
license = licenses.unfree;
platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
maintainers = [ maintainers.bobvanderlinden ];
};
}

View File

@ -0,0 +1,31 @@
{ stdenv
, python3
, fetchFromGitHub
, nix
, makeWrapper
}:
python3.pkgs.buildPythonApplication rec {
pname = "nix-review";
version = "0.1.0";
src = fetchFromGitHub {
owner = "Mic92";
repo = "nix-review";
rev = version;
sha256 = "1kafp3x95dklydy5224w0a292rd8pv30lz6z5ddk6y7zg3fsxrcr";
};
buildInputs = [ makeWrapper ];
preFixup = ''
wrapProgram $out/bin/nix-review --prefix PATH : ${nix}/bin
'';
meta = with stdenv.lib; {
description = "Review pull-requests on https://github.com/NixOS/nixpkgs";
homepage = https://github.com/Mic92/nix-review;
license = licenses.mit;
maintainers = [ maintainers.mic92 ];
};
}

View File

@ -10,7 +10,10 @@ stdenv.mkDerivation rec {
'';
makeFlags = stdenv.lib.optionals stdenv.isDarwin ["CC=cc"];
patches = [ ./apg.patch ];
patches = [
./apg.patch
./phony-install-target.patch
];
postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
sed -i -e 's|APG_CLIBS += -lcrypt|APG_CLIBS += -L${openssl.out}/lib -lcrypto|' Makefile
@ -64,6 +67,6 @@ stdenv.mkDerivation rec {
homepage = http://www.adel.nursat.kz/apg/;
license = stdenv.lib.licenses.bsd3;
maintainers = with stdenv.lib.maintainers; [ astsmtl ];
platforms = stdenv.lib.platforms.linux;
platforms = stdenv.lib.platforms.unix;
};
}

View File

@ -0,0 +1,11 @@
diff -ur a/Makefile b/Makefile
--- a/Makefile 2003-08-08 00:40:39.000000000 +0900
+++ b/Makefile 2018-04-05 22:29:39.284191020 +0900
@@ -142,6 +142,7 @@
strip ${CS_PROGNAME}
strip ${BFM_PROGNAME}
+.PHONY: install
install:
if test -x ./apg; then \
./mkinstalldirs ${INSTALL_PREFIX}${APG_BIN_DIR}; \

View File

@ -1,12 +1,12 @@
{stdenv, fetchurl}:
stdenv.mkDerivation rec {
version = "2.2.3";
version = "2.2.3a";
name = "discount-${version}";
src = fetchurl {
url = "http://www.pell.portland.or.us/~orc/Code/discount/discount-${version}.tar.bz2";
sha256 = "17797xiaq0kk152pj4rvd9grg4i518x3glnwg1lgl8rry3dbrzx8";
sha256 = "0m09x9dd75d3pqvmrwr0kqw3dm2x3ss9clj5fxf7lq79lbyxbxbm";
};
patches = ./fix-configure-path.patch;

View File

@ -0,0 +1,84 @@
{ stdenv, fetchurl, pkgconfig, zlib, pcre, xorg, libjpeg, libtiff, libpng, gtk2, libpaper, makeWrapper, ghostscript }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "ted";
version = "2.23";
src = fetchurl {
url = "http://ftp.nluug.nl/pub/editors/${pname}/${name}.src.tar.gz";
sha256 = "0v1ipynyjklb3chd1vq26a21sjjg66sir57gi2kkrbwnpk195a9z";
};
preConfigure = ''
mkdir pkgconfig-append
pushd pkgconfig-append
# ted looks for libtiff, not libtiff-4 in its pkg-config invokations
cp ${libtiff.dev}/lib/pkgconfig/libtiff-4.pc libtiff.pc
# ted needs a libpaper pkg-config file
cat > libpaper.pc << EOF
prefix=${libpaper}
libdir=${libpaper}/lib
includedir=${libpaper}/include
exec_prefix=\''${prefix}
Name: libpaper
Version: ${libpaper.version}
Description: ${libpaper.meta.description}
Libs: -L\''${libdir} -lpaper
Cflags: -I\''${includedir}
EOF
export PKG_CONFIG_PATH="$PWD:$PKG_CONFIG_PATH"
popd
'';
makeFlags = [ "CONFIGURE_OPTIONS=--with-GTK" "CONFIGURE_OPTIONS+=--prefix=$(out)" "compile.shared" ];
installPhase = ''
runHook preInstall
make tedPackage/makefile
pushd tedPackage
substituteInPlace makefile --replace /usr ""
make PKGDESTDIR=$out datadir
popd
pushd $out/share/Ted/examples
for f in rtf2*.sh
do
makeWrapper "$PWD/$f" "$out/bin/$f" --prefix PATH : $out/bin:${stdenv.lib.makeBinPath [ ghostscript ]}
done
popd
cp -v Ted/Ted $out/bin
runHook postInstall
'';
buildInputs = [ pkgconfig zlib pcre xorg.xlibsWrapper xorg.libXpm libjpeg libtiff libpng gtk2 libpaper makeWrapper ];
meta = with stdenv.lib; {
description = "Ted, an easy rich text processor";
longDescription = ''
Ted is a text processor running under X Windows on Unix/Linux systems.
Ted was developed as a standard easy light weight word processor, having
the role of Wordpad on MS-Windows. Since then, Ted has evolved to a real
word processor. It still has the same easy appearance and the same speed
as the original. The possibility to type a letter, a note or a report
with a simple light weight program on a Unix/Linux machine is clearly
missing. Ted was made to make it possible to edit rich text documents on
Unix/Linux in a wysiwyg way. RTF files from Ted are fully compatible with
MS-Word. Additionally, Ted also is an RTF to PostScript and an RTF to
Acrobat PDF converter.
'';
homepage = https://nllgg.nl/Ted/;
license = licenses.gpl2;
platforms = platforms.all;
broken = stdenv.isDarwin;
maintainers = with maintainers; [ obadz ];
};
}

View File

@ -111,6 +111,8 @@ with pkgs;
buildMaven = callPackage ../build-support/build-maven.nix {};
castxml = callPackage ../development/tools/castxml { };
cmark = callPackage ../development/libraries/cmark { };
dhallToNix = callPackage ../build-support/dhall-to-nix.nix {
@ -4234,6 +4236,8 @@ with pkgs;
pcsc-cyberjack = callPackage ../tools/security/pcsc-cyberjack { };
pdd = python3Packages.callPackage ../tools/misc/pdd { };
pdf2djvu = callPackage ../tools/typesetting/pdf2djvu { };
pdf2htmlEX = callPackage ../tools/typesetting/pdf2htmlEX { };
@ -4647,6 +4651,8 @@ with pkgs;
rpPPPoE = callPackage ../tools/networking/rp-pppoe { };
rpiboot-unstable = callPackage ../development/misc/rpiboot/unstable.nix { };
rpm = callPackage ../tools/package-management/rpm { };
rpm-ostree = callPackage ../tools/misc/rpm-ostree {
@ -4657,6 +4663,8 @@ with pkgs;
rrdtool = callPackage ../tools/misc/rrdtool { };
rsibreak = libsForQt5.callPackage ../applications/misc/rsibreak { };
rss2email = callPackage ../applications/networking/feedreaders/rss2email {
pythonPackages = python3Packages;
};
@ -5047,6 +5055,8 @@ with pkgs;
tcpreplay = callPackage ../tools/networking/tcpreplay { };
ted = callPackage ../tools/typesetting/ted { };
teamviewer = callPackage ../applications/networking/remote/teamviewer {
stdenv = stdenv_32bit;
};
@ -14975,6 +14985,7 @@ with pkgs;
};
cni = callPackage ../applications/networking/cluster/cni {};
cni-plugins = callPackage ../applications/networking/cluster/cni/plugins.nix {};
communi = libsForQt5.callPackage ../applications/networking/irc/communi { };
@ -15172,7 +15183,9 @@ with pkgs;
eaglemode = callPackage ../applications/misc/eaglemode { };
eclipses = recurseIntoAttrs (callPackage ../applications/editors/eclipse { webkitgtk24x-gtk2 = null; });
eclipses = recurseIntoAttrs (callPackage ../applications/editors/eclipse {
jdk = jdk10;
});
ecs-agent = callPackage ../applications/virtualization/ecs-agent { };
@ -16639,7 +16652,7 @@ with pkgs;
mod-distortion = callPackage ../applications/audio/mod-distortion { };
monero = callPackage ../applications/altcoins/monero {
inherit (darwin.apple_sdk.frameworks) IOKit;
inherit (darwin.apple_sdk.frameworks) CoreData IOKit PCSC;
boost = boost15x;
};
@ -19443,7 +19456,7 @@ with pkgs;
gnome3 = recurseIntoAttrs (callPackage ../desktops/gnome-3 { });
gnomeExtensions = {
gnomeExtensions = recurseIntoAttrs {
appindicator = callPackage ../desktops/gnome-3/extensions/appindicator { };
battery-status = callPackage ../desktops/gnome-3/extensions/battery-status { };
caffeine = callPackage ../desktops/gnome-3/extensions/caffeine { };
@ -20485,6 +20498,8 @@ with pkgs;
nix-repl = callPackage ../tools/package-management/nix-repl { nix = nix1; };
nix-review = callPackage ../tools/package-management/nix-review { };
nix-serve = callPackage ../tools/package-management/nix-serve { };
nixos-artwork = callPackage ../data/misc/nixos-artwork { };

View File

@ -3254,6 +3254,8 @@ in {
jdcal = callPackage ../development/python-modules/jdcal { };
jieba = callPackage ../development/python-modules/jieba { };
internetarchive = callPackage ../development/python-modules/internetarchive {};
JPype1 = callPackage ../development/python-modules/JPype1 {};
@ -7443,6 +7445,8 @@ in {
marisa = pkgs.marisa;
};
marisa-trie = callPackage ../development/python-modules/marisa-trie { };
markupsafe = buildPythonPackage rec {
name = "markupsafe-${version}";
version = "1.0";
@ -8999,6 +9003,8 @@ in {
};
};
langcodes = callPackage ../development/python-modules/langcodes { };
livestreamer = buildPythonPackage rec {
version = "1.12.2";
name = "livestreamer-${version}";
@ -9571,6 +9577,8 @@ in {
requests-mock = callPackage ../development/python-modules/requests-mock { };
mecab-python3 = callPackage ../development/python-modules/mecab-python3 { };
mox3 = buildPythonPackage rec {
name = "mox3-${version}";
version = "0.23.0";
@ -15349,6 +15357,8 @@ EOF
widgetsnbextension = callPackage ../development/python-modules/widgetsnbextension { };
wordfreq = callPackage ../development/python-modules/wordfreq { };
magic-wormhole = callPackage ../development/python-modules/magic-wormhole { };
magic-wormhole-transit-relay = callPackage ../development/python-modules/magic-wormhole-transit-relay { };
@ -16960,6 +16970,10 @@ EOF
propagatedBuildInputs = with self; [];
};
pybindgen = callPackage ../development/python-modules/pybindgen {};
pygccxml = callPackage ../development/python-modules/pygccxml {};
pymacaroons-pynacl = callPackage ../development/python-modules/pymacaroons-pynacl { };
pynacl = callPackage ../development/python-modules/pynacl { };
@ -18020,12 +18034,15 @@ EOF
tensorflow-tensorboard = callPackage ../development/python-modules/tensorflow-tensorboard { };
tensorflow = callPackage ../development/python-modules/tensorflow rec {
cudaSupport = pkgs.config.cudaSupport or false;
inherit (pkgs.linuxPackages) nvidia_x11;
cudatoolkit = pkgs.cudatoolkit9;
cudnn = pkgs.cudnn_cudatoolkit9;
};
tensorflow =
if stdenv.isDarwin
then callPackage ../development/python-modules/tensorflow/bin.nix { }
else callPackage ../development/python-modules/tensorflow rec {
cudaSupport = pkgs.config.cudaSupport or false;
inherit (pkgs.linuxPackages) nvidia_x11;
cudatoolkit = pkgs.cudatoolkit9;
cudnn = pkgs.cudnn_cudatoolkit9;
};
tensorflowWithoutCuda = self.tensorflow.override {
cudaSupport = false;
@ -18429,6 +18446,8 @@ EOF
yapf = callPackage ../development/python-modules/yapf { };
black = callPackage ../development/python-modules/black { };
autobahn = callPackage ../development/python-modules/autobahn { };
jsonref = callPackage ../development/python-modules/jsonref { };