diff --git a/doc/Makefile b/doc/Makefile
index c16e70e9c6a..0ddae8631f3 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -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
diff --git a/doc/style.css b/doc/style.css
index 83dae0dd2cd..0db907815b6 100644
--- a/doc/style.css
+++ b/doc/style.css
@@ -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;
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 26f1e3a7d31..87d482a160f 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -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";
diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix
index c51c30065a3..ac22712baf8 100644
--- a/nixos/doc/manual/default.nix
+++ b/nixos/doc/manual/default.nix
@@ -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
diff --git a/nixos/doc/manual/release-notes/rl-1803.xml b/nixos/doc/manual/release-notes/rl-1803.xml
index ecca921c432..9221c2951ed 100644
--- a/nixos/doc/manual/release-notes/rl-1803.xml
+++ b/nixos/doc/manual/release-notes/rl-1803.xml
@@ -239,7 +239,7 @@ following incompatible changes:
the openssh_with_kerberos package
is now a deprecated alias.
If you do not want Kerberos support,
- you can do openssh.override { withKerboros = false; }.
+ you can do openssh.override { withKerberos = false; }.
Note, this also applies to the openssh_hpn package.
diff --git a/nixos/doc/manual/style.css b/nixos/doc/manual/style.css
deleted file mode 100644
index 3118b37ead1..00000000000
--- a/nixos/doc/manual/style.css
+++ /dev/null
@@ -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;
-}
diff --git a/nixos/modules/config/nsswitch.nix b/nixos/modules/config/nsswitch.nix
index 7b36d4f1cbd..c595c693294 100644
--- a/nixos/modules/config/nsswitch.nix
+++ b/nixos/modules/config/nsswitch.nix
@@ -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";
diff --git a/nixos/modules/config/system-path.nix b/nixos/modules/config/system-path.nix
index d3212d93160..36115166501 100644
--- a/nixos/modules/config/system-path.nix
+++ b/nixos/modules/config/system-path.nix
@@ -109,7 +109,6 @@ in
"/sbin"
"/share/applications"
"/share/desktop-directories"
- "/share/doc"
"/share/emacs"
"/share/icons"
"/share/menus"
diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix
index 31435039e56..42d5d233f1c 100644
--- a/nixos/modules/config/users-groups.nix
+++ b/nixos/modules/config/users-groups.nix
@@ -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"];
- };
- }
- ];
}
diff --git a/nixos/modules/misc/documentation.nix b/nixos/modules/misc/documentation.nix
new file mode 100644
index 00000000000..cea8981370b
--- /dev/null
+++ b/nixos/modules/misc/documentation.nix
@@ -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
+ into the generated system path.
+ '';
+ };
+
+ man.enable = mkOption {
+ type = types.bool;
+ default = true;
+ description = ''
+ Whether to install manual pages and the man command.
+ This also includes "man" outputs.
+ '';
+ };
+
+ doc.enable = mkOption {
+ type = types.bool;
+ default = true;
+ description = ''
+ Whether to install documentation distributed in packages' /share/doc.
+ 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 info 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" ];
+ })
+
+ ]);
+
+}
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index f23ecc1e99d..3a8b1014553 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -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
diff --git a/nixos/modules/profiles/minimal.nix b/nixos/modules/profiles/minimal.nix
index e2497d04252..40df7063a9b 100644
--- a/nixos/modules/profiles/minimal.nix
+++ b/nixos/modules/profiles/minimal.nix
@@ -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;
}
diff --git a/nixos/modules/programs/info.nix b/nixos/modules/programs/info.nix
deleted file mode 100644
index be6439dca5a..00000000000
--- a/nixos/modules/programs/info.nix
+++ /dev/null
@@ -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 info command.
- '';
- };
-
- };
-
-
- config = mkIf config.programs.info.enable {
-
- environment.systemPackages = [ pkgs.texinfoInteractive ];
-
- environment.pathsToLink = [ "/info" "/share/info" ];
-
- environment.extraOutputsToInstall = [ "info" ];
-
- };
-
-}
diff --git a/nixos/modules/programs/man.nix b/nixos/modules/programs/man.nix
deleted file mode 100644
index 5b20a38d885..00000000000
--- a/nixos/modules/programs/man.nix
+++ /dev/null
@@ -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 man command.
- This also includes "man" outputs of all systemPackages.
- '';
- };
-
- };
-
-
- config = mkIf config.programs.man.enable {
-
- environment.systemPackages = [ pkgs.man-db ];
-
- environment.pathsToLink = [ "/share/man" ];
-
- environment.extraOutputsToInstall = [ "man" ];
-
- };
-
-}
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index 28863434375..0c3ac054292 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -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" ]
diff --git a/nixos/modules/services/cluster/kubernetes/default.nix b/nixos/modules/services/cluster/kubernetes/default.nix
index 39c5d78d419..aeb0a0d2432 100644
--- a/nixos/modules/services/cluster/kubernetes/default.nix
+++ b/nixos/modules/services/cluster/kubernetes/default.nix
@@ -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"];
diff --git a/nixos/modules/services/misc/disnix.nix b/nixos/modules/services/misc/disnix.nix
index 39d23610b06..e4517c636e8 100644
--- a/nixos/modules/services/misc/disnix.nix
+++ b/nixos/modules/services/misc/disnix.nix
@@ -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;
diff --git a/nixos/modules/services/misc/dysnomia.nix b/nixos/modules/services/misc/dysnomia.nix
index c5c41ad296d..25cd0038e36 100644
--- a/nixos/modules/services/misc/dysnomia.nix
+++ b/nixos/modules/services/misc/dysnomia.nix
@@ -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 = {};
}
diff --git a/nixos/modules/services/misc/nixos-manual.nix b/nixos/modules/services/misc/nixos-manual.nix
index b8253956d54..abf506ea7c6 100644
--- a/nixos/modules/services/misc/nixos-manual.nix
+++ b/nixos/modules/services/misc/nixos-manual.nix
@@ -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}"];
diff --git a/nixos/modules/services/networking/tcpcrypt.nix b/nixos/modules/services/networking/tcpcrypt.nix
index 2f304165eb4..ee005e11aa3 100644
--- a/nixos/modules/services/networking/tcpcrypt.nix
+++ b/nixos/modules/services/networking/tcpcrypt.nix
@@ -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
diff --git a/nixos/modules/tasks/network-interfaces-scripted.nix b/nixos/modules/tasks/network-interfaces-scripted.nix
index 630fe6d114c..c7d56790fa0 100644
--- a/nixos/modules/tasks/network-interfaces-scripted.nix
+++ b/nixos/modules/tasks/network-interfaces-scripted.nix
@@ -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);
diff --git a/nixos/modules/virtualisation/ec2-amis.nix b/nixos/modules/virtualisation/ec2-amis.nix
index 01512911a05..baffad79b00 100644
--- a/nixos/modules/virtualisation/ec2-amis.nix
+++ b/nixos/modules/virtualisation/ec2-amis.nix
@@ -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
diff --git a/nixos/modules/virtualisation/google-compute-image.nix b/nixos/modules/virtualisation/google-compute-image.nix
index 155a33b3bb3..eaf8b14cd8e 100644
--- a/nixos/modules/virtualisation/google-compute-image.nix
+++ b/nixos/modules/virtualisation/google-compute-image.nix
@@ -2,7 +2,7 @@
with lib;
let
- diskSize = 1024; # MB
+ diskSize = 1536; # MB
gce = pkgs.google-compute-engine;
in
{
diff --git a/nixos/release.nix b/nixos/release.nix
index 23a5a8bd2c0..22deea6fee0 100644
--- a/nixos/release.nix
+++ b/nixos/release.nix
@@ -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 {};
diff --git a/nixos/tests/kubernetes/certs.nix b/nixos/tests/kubernetes/certs.nix
index d3eff910c46..520c728b65e 100644
--- a/nixos/tests/kubernetes/certs.nix
+++ b/nixos/tests/kubernetes/certs.nix
@@ -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 (
diff --git a/nixos/tests/kubernetes/e2e.nix b/nixos/tests/kubernetes/e2e.nix
index d9d7ba9bb2c..175d8413045 100644
--- a/nixos/tests/kubernetes/e2e.nix
+++ b/nixos/tests/kubernetes/e2e.nix
@@ -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";
diff --git a/nixos/tests/kubernetes/rbac.nix b/nixos/tests/kubernetes/rbac.nix
index 1966fed3a5f..226808c4b26 100644
--- a/nixos/tests/kubernetes/rbac.nix
+++ b/nixos/tests/kubernetes/rbac.nix
@@ -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";
diff --git a/pkgs/applications/altcoins/monero-gui/default.nix b/pkgs/applications/altcoins/monero-gui/default.nix
index 30bc0532d88..2aff86ae1d3 100644
--- a/pkgs/applications/altcoins/monero-gui/default.nix
+++ b/pkgs/applications/altcoins/monero-gui/default.nix
@@ -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 ];
diff --git a/pkgs/applications/altcoins/monero/default.nix b/pkgs/applications/altcoins/monero/default.nix
index 85f5c2eb07c..8be24522f56 100644
--- a/pkgs/applications/altcoins/monero/default.nix
+++ b/pkgs/applications/altcoins/monero/default.nix
@@ -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"
diff --git a/pkgs/applications/audio/mpg123/default.nix b/pkgs/applications/audio/mpg123/default.nix
index 1b30399ae0a..3aef2e35943 100644
--- a/pkgs/applications/audio/mpg123/default.nix
+++ b/pkgs/applications/audio/mpg123/default.nix
@@ -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;
diff --git a/pkgs/applications/editors/eclipse/build-eclipse.nix b/pkgs/applications/editors/eclipse/build-eclipse.nix
index 23e4449ee2e..a26d380ec1d 100644
--- a/pkgs/applications/editors/eclipse/build-eclipse.nix
+++ b/pkgs/applications/editors/eclipse/build-eclipse.nix
@@ -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"
diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix
index c69686a0967..1688e606222 100644
--- a/pkgs/applications/editors/eclipse/default.nix
+++ b/pkgs/applications/editors/eclipse/default.nix
@@ -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;
};
diff --git a/pkgs/applications/editors/focuswriter/default.nix b/pkgs/applications/editors/focuswriter/default.nix
index 7be55b873bc..bb897b2e7e2 100644
--- a/pkgs/applications/editors/focuswriter/default.nix
+++ b/pkgs/applications/editors/focuswriter/default.nix
@@ -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 ];
diff --git a/pkgs/applications/graphics/gthumb/default.nix b/pkgs/applications/graphics/gthumb/default.nix
index 03489db933c..7dc69bceda9 100644
--- a/pkgs/applications/graphics/gthumb/default.nix
+++ b/pkgs/applications/graphics/gthumb/default.nix
@@ -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";
diff --git a/pkgs/applications/misc/rsibreak/default.nix b/pkgs/applications/misc/rsibreak/default.nix
new file mode 100644
index 00000000000..6ee9966401b
--- /dev/null
+++ b/pkgs/applications/misc/rsibreak/default.nix
@@ -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 ];
+ };
+}
diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix
index cf5405a4a07..078fa0885b7 100644
--- a/pkgs/applications/networking/browsers/firefox/wrapper.nix
+++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix
@@ -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;
diff --git a/pkgs/applications/networking/cluster/cni/default.nix b/pkgs/applications/networking/cluster/cni/default.nix
index 3ce056c1e11..0f232772f07 100644
--- a/pkgs/applications/networking/cluster/cni/default.nix
+++ b/pkgs/applications/networking/cluster/cni/default.nix
@@ -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; {
diff --git a/pkgs/applications/networking/cluster/cni/plugins.nix b/pkgs/applications/networking/cluster/cni/plugins.nix
new file mode 100644
index 00000000000..9f6b6fcb7e1
--- /dev/null
+++ b/pkgs/applications/networking/cluster/cni/plugins.nix
@@ -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 ];
+ };
+}
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index d79396f3b1d..531a1d5d0a1 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -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;
diff --git a/pkgs/applications/science/biology/igv/default.nix b/pkgs/applications/science/biology/igv/default.nix
index 853203e7dbb..bf963958406 100644
--- a/pkgs/applications/science/biology/igv/default.nix
+++ b/pkgs/applications/science/biology/igv/default.nix
@@ -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 ];
diff --git a/pkgs/development/compilers/llvm/3.4/llvm.nix b/pkgs/development/compilers/llvm/3.4/llvm.nix
index 30f2dba2883..0b29b04825a 100644
--- a/pkgs/development/compilers/llvm/3.4/llvm.nix
+++ b/pkgs/development/compilers/llvm/3.4/llvm.nix
@@ -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"];
};
}
diff --git a/pkgs/development/compilers/llvm/3.5/llvm.nix b/pkgs/development/compilers/llvm/3.5/llvm.nix
index 4d0cb8930f5..7dc134b4fcf 100644
--- a/pkgs/development/compilers/llvm/3.5/llvm.nix
+++ b/pkgs/development/compilers/llvm/3.5/llvm.nix
@@ -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"];
};
}
diff --git a/pkgs/development/compilers/openjdk/10.nix b/pkgs/development/compilers/openjdk/10.nix
index bc7eafb9221..9cc774727b7 100644
--- a/pkgs/development/compilers/openjdk/10.nix
+++ b/pkgs/development/compilers/openjdk/10.nix
@@ -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" ];
diff --git a/pkgs/development/libraries/folly/default.nix b/pkgs/development/libraries/folly/default.nix
index 88339e8a8bf..c4dc5730044 100644
--- a/pkgs/development/libraries/folly/default.nix
+++ b/pkgs/development/libraries/folly/default.nix
@@ -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 ];
diff --git a/pkgs/development/libraries/lmdb/default.nix b/pkgs/development/libraries/lmdb/default.nix
index d96b5ed6d52..0bb3a67d950 100644
--- a/pkgs/development/libraries/lmdb/default.nix
+++ b/pkgs/development/libraries/lmdb/default.nix
@@ -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" ]
diff --git a/pkgs/development/libraries/lmdb/hardcoded-compiler.patch b/pkgs/development/libraries/lmdb/hardcoded-compiler.patch
new file mode 100644
index 00000000000..ddb247b7f11
--- /dev/null
+++ b/pkgs/development/libraries/lmdb/hardcoded-compiler.patch
@@ -0,0 +1,26 @@
+commit 029031a68873bc3784a8561bd8e049efbd34f9d0 (HEAD)
+Author: Vladimír Čunát
+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 $@
diff --git a/pkgs/development/libraries/opendht/default.nix b/pkgs/development/libraries/opendht/default.nix
index 46a8ebffbb8..68486fca54d 100644
--- a/pkgs/development/libraries/opendht/default.nix
+++ b/pkgs/development/libraries/opendht/default.nix
@@ -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 = [
diff --git a/pkgs/development/libraries/qpdf/default.nix b/pkgs/development/libraries/qpdf/default.nix
index 7f6c47a9a7f..00ce5133048 100644
--- a/pkgs/development/libraries/qpdf/default.nix
+++ b/pkgs/development/libraries/qpdf/default.nix
@@ -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 ];
diff --git a/pkgs/development/misc/rpiboot/unstable.nix b/pkgs/development/misc/rpiboot/unstable.nix
new file mode 100644
index 00000000000..c89d2f11e95
--- /dev/null
+++ b/pkgs/development/misc/rpiboot/unstable.nix
@@ -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;
+ };
+}
diff --git a/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix b/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix
index 65344561795..569f5081355 100644
--- a/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix
+++ b/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix
@@ -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;
diff --git a/pkgs/development/ocaml-modules/optcomp/META b/pkgs/development/ocaml-modules/optcomp/META
new file mode 100644
index 00000000000..8a942288f75
--- /dev/null
+++ b/pkgs/development/ocaml-modules/optcomp/META
@@ -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
+
diff --git a/pkgs/development/ocaml-modules/optcomp/default.nix b/pkgs/development/ocaml-modules/optcomp/default.nix
index 8953373954a..5b566137747 100644
--- a/pkgs/development/ocaml-modules/optcomp/default.nix
+++ b/pkgs/development/ocaml-modules/optcomp/default.nix
@@ -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;
diff --git a/pkgs/development/python-modules/behave/default.nix b/pkgs/development/python-modules/behave/default.nix
index 60160b128a4..722117ba6e8 100644
--- a/pkgs/development/python-modules/behave/default.nix
+++ b/pkgs/development/python-modules/behave/default.nix
@@ -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/
diff --git a/pkgs/development/python-modules/bibtexparser/default.nix b/pkgs/development/python-modules/bibtexparser/default.nix
index 06d7c689e65..05ee0ea9553 100644
--- a/pkgs/development/python-modules/bibtexparser/default.nix
+++ b/pkgs/development/python-modules/bibtexparser/default.nix
@@ -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 ];
diff --git a/pkgs/development/python-modules/black/default.nix b/pkgs/development/python-modules/black/default.nix
new file mode 100644
index 00000000000..f48310ceebc
--- /dev/null
+++ b/pkgs/development/python-modules/black/default.nix
@@ -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 ];
+ };
+
+}
diff --git a/pkgs/development/python-modules/jieba/default.nix b/pkgs/development/python-modules/jieba/default.nix
new file mode 100644
index 00000000000..df21c0f4186
--- /dev/null
+++ b/pkgs/development/python-modules/jieba/default.nix
@@ -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;
+ };
+}
diff --git a/pkgs/development/python-modules/langcodes/default.nix b/pkgs/development/python-modules/langcodes/default.nix
new file mode 100644
index 00000000000..d1d25f5407c
--- /dev/null
+++ b/pkgs/development/python-modules/langcodes/default.nix
@@ -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 ];
+ };
+}
diff --git a/pkgs/development/python-modules/marisa-trie/default.nix b/pkgs/development/python-modules/marisa-trie/default.nix
new file mode 100644
index 00000000000..ad9f6d6f245
--- /dev/null
+++ b/pkgs/development/python-modules/marisa-trie/default.nix
@@ -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 ];
+ };
+}
diff --git a/pkgs/development/python-modules/mecab-python3/default.nix b/pkgs/development/python-modules/mecab-python3/default.nix
new file mode 100644
index 00000000000..110d1a57c82
--- /dev/null
+++ b/pkgs/development/python-modules/mecab-python3/default.nix
@@ -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 ];
+ };
+}
diff --git a/pkgs/development/python-modules/parse-type/default.nix b/pkgs/development/python-modules/parse-type/default.nix
index 8c927e4aed0..ac150af4b78 100644
--- a/pkgs/development/python-modules/parse-type/default.nix
+++ b/pkgs/development/python-modules/parse-type/default.nix
@@ -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;
diff --git a/pkgs/development/python-modules/parse/default.nix b/pkgs/development/python-modules/parse/default.nix
index eaca200e2bf..36153c10229 100644
--- a/pkgs/development/python-modules/parse/default.nix
+++ b/pkgs/development/python-modules/parse/default.nix
@@ -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
'';
diff --git a/pkgs/development/python-modules/pybindgen/default.nix b/pkgs/development/python-modules/pybindgen/default.nix
new file mode 100644
index 00000000000..09cb4c2cdf9
--- /dev/null
+++ b/pkgs/development/python-modules/pybindgen/default.nix
@@ -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 ];
+ };
+}
+
+
diff --git a/pkgs/development/python-modules/pygccxml/default.nix b/pkgs/development/python-modules/pygccxml/default.nix
new file mode 100644
index 00000000000..5271677dc1e
--- /dev/null
+++ b/pkgs/development/python-modules/pygccxml/default.nix
@@ -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 ];
+ };
+}
diff --git a/pkgs/development/python-modules/rootpy/default.nix b/pkgs/development/python-modules/rootpy/default.nix
index 0827786acfc..e9061b0a6a3 100644
--- a/pkgs/development/python-modules/rootpy/default.nix
+++ b/pkgs/development/python-modules/rootpy/default.nix
@@ -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;
diff --git a/pkgs/development/python-modules/tensorflow/bin.nix b/pkgs/development/python-modules/tensorflow/bin.nix
new file mode 100644
index 00000000000..c9b89ff7616
--- /dev/null
+++ b/pkgs/development/python-modules/tensorflow/bin.nix
@@ -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;
+ };
+}
diff --git a/pkgs/development/python-modules/tensorflow/default.nix b/pkgs/development/python-modules/tensorflow/default.nix
index 85dd30118cc..8d2d6fa9c14 100644
--- a/pkgs/development/python-modules/tensorflow/default.nix
+++ b/pkgs/development/python-modules/tensorflow/default.nix
@@ -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);
};
}
diff --git a/pkgs/development/python-modules/wordfreq/default.nix b/pkgs/development/python-modules/wordfreq/default.nix
new file mode 100644
index 00000000000..9de1fd5b392
--- /dev/null
+++ b/pkgs/development/python-modules/wordfreq/default.nix
@@ -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 ];
+ };
+}
diff --git a/pkgs/development/tools/build-managers/remake/default.nix b/pkgs/development/tools/build-managers/remake/default.nix
index 7a199cc925a..926cc83cd97 100644
--- a/pkgs/development/tools/build-managers/remake/default.nix
+++ b/pkgs/development/tools/build-managers/remake/default.nix
@@ -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 ];
};
}
diff --git a/pkgs/development/tools/castxml/default.nix b/pkgs/development/tools/castxml/default.nix
new file mode 100644
index 00000000000..f8389786b9d
--- /dev/null
+++ b/pkgs/development/tools/castxml/default.nix
@@ -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;
+ };
+}
diff --git a/pkgs/development/tools/mypy/default.nix b/pkgs/development/tools/mypy/default.nix
index 7e8725745c2..2fb6a8b7d4e 100644
--- a/pkgs/development/tools/mypy/default.nix
+++ b/pkgs/development/tools/mypy/default.nix
@@ -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 ];
diff --git a/pkgs/games/gzdoom/default.nix b/pkgs/games/gzdoom/default.nix
index 62ab349afa8..d622299cf0f 100644
--- a/pkgs/games/gzdoom/default.nix
+++ b/pkgs/games/gzdoom/default.nix
@@ -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 ];
diff --git a/pkgs/games/tome4/default.nix b/pkgs/games/tome4/default.nix
index 83f34f5b04a..19cf026933e 100644
--- a/pkgs/games/tome4/default.nix
+++ b/pkgs/games/tome4/default.nix
@@ -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;
};
}
diff --git a/pkgs/misc/documentation-highlighter/loader.js b/pkgs/misc/documentation-highlighter/loader.js
new file mode 100644
index 00000000000..4ad7dbf24b5
--- /dev/null
+++ b/pkgs/misc/documentation-highlighter/loader.js
@@ -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]);
+ }
+}
diff --git a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
index 9c83092481b..d00f1b14837 100644
--- a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
+++ b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
@@ -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 = ''
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index e2fc90a2296..5372b577e33 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -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 ];
diff --git a/pkgs/servers/home-assistant/parse-requirements.py b/pkgs/servers/home-assistant/parse-requirements.py
index 3aa9823dbe8..87ef65482ab 100755
--- a/pkgs/servers/home-assistant/parse-requirements.py
+++ b/pkgs/servers/home-assistant/parse-requirements.py
@@ -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
diff --git a/pkgs/servers/osrm-backend/default.nix b/pkgs/servers/osrm-backend/default.nix
index c2ec4b9ff17..b7c85a8f9a4 100644
--- a/pkgs/servers/osrm-backend/default.nix
+++ b/pkgs/servers/osrm-backend/default.nix
@@ -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 ];
diff --git a/pkgs/tools/graphics/gmic/default.nix b/pkgs/tools/graphics/gmic/default.nix
index cbfdd56cca1..a8c491b049f 100644
--- a/pkgs/tools/graphics/gmic/default.nix
+++ b/pkgs/tools/graphics/gmic/default.nix
@@ -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 ];
diff --git a/pkgs/tools/misc/pdd/default.nix b/pkgs/tools/misc/pdd/default.nix
new file mode 100644
index 00000000000..d362bccb993
--- /dev/null
+++ b/pkgs/tools/misc/pdd/default.nix
@@ -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;
+ };
+}
diff --git a/pkgs/tools/networking/ngrok-2/default.nix b/pkgs/tools/networking/ngrok-2/default.nix
index 031161da4d5..23725fb2d87 100644
--- a/pkgs/tools/networking/ngrok-2/default.nix
+++ b/pkgs/tools/networking/ngrok-2/default.nix
@@ -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 ];
};
}
diff --git a/pkgs/tools/package-management/nix-review/default.nix b/pkgs/tools/package-management/nix-review/default.nix
new file mode 100644
index 00000000000..3dc452db3e2
--- /dev/null
+++ b/pkgs/tools/package-management/nix-review/default.nix
@@ -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 ];
+ };
+}
diff --git a/pkgs/tools/security/apg/default.nix b/pkgs/tools/security/apg/default.nix
index 04b29bcf8f7..db490c7822f 100644
--- a/pkgs/tools/security/apg/default.nix
+++ b/pkgs/tools/security/apg/default.nix
@@ -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;
};
}
diff --git a/pkgs/tools/security/apg/phony-install-target.patch b/pkgs/tools/security/apg/phony-install-target.patch
new file mode 100644
index 00000000000..9edf50b4b59
--- /dev/null
+++ b/pkgs/tools/security/apg/phony-install-target.patch
@@ -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}; \
diff --git a/pkgs/tools/text/discount/default.nix b/pkgs/tools/text/discount/default.nix
index 8a1de29b0d9..81b88ff8d83 100644
--- a/pkgs/tools/text/discount/default.nix
+++ b/pkgs/tools/text/discount/default.nix
@@ -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;
diff --git a/pkgs/tools/typesetting/ted/default.nix b/pkgs/tools/typesetting/ted/default.nix
new file mode 100644
index 00000000000..b60cbcf22ad
--- /dev/null
+++ b/pkgs/tools/typesetting/ted/default.nix
@@ -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 ];
+ };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 91862139177..7c50af90d97 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -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 { };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 235a3129032..a5c453378ea 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -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 { };