diff options
author | Frederik Rietdijk <fridh@fridh.nl> | 2018-04-05 19:25:05 +0200 |
---|---|---|
committer | Frederik Rietdijk <fridh@fridh.nl> | 2018-04-05 19:25:05 +0200 |
commit | a9f37d1c250ebef05fa81909b2583642d23811b7 (patch) | |
tree | 451ccefd892e66700ec831b31505cc4b9a80bff4 | |
parent | a137be55907a0e083a192ee56b7f6f0a6369ab02 (diff) | |
parent | c45eadf31ddf61328a33dc9215c4b1f1f4f2c0d2 (diff) | |
download | nixlib-a9f37d1c250ebef05fa81909b2583642d23811b7.tar nixlib-a9f37d1c250ebef05fa81909b2583642d23811b7.tar.gz nixlib-a9f37d1c250ebef05fa81909b2583642d23811b7.tar.bz2 nixlib-a9f37d1c250ebef05fa81909b2583642d23811b7.tar.lz nixlib-a9f37d1c250ebef05fa81909b2583642d23811b7.tar.xz nixlib-a9f37d1c250ebef05fa81909b2583642d23811b7.tar.zst nixlib-a9f37d1c250ebef05fa81909b2583642d23811b7.zip |
Merge master into staging
87 files changed, 1146 insertions, 590 deletions
diff --git a/doc/Makefile b/doc/Makefile index c16e70e9c6a2..0ddae8631f3c 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 83dae0dd2cd2..0db907815b6b 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 26f1e3a7d310..87d482a160fa 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 c51c30065a33..ac22712baf87 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 ecca921c4327..9221c2951ed2 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:</para> the <literal>openssh_with_kerberos</literal> package is now a deprecated alias. If you do not want Kerberos support, - you can do <literal>openssh.override { withKerboros = false; }</literal>. + you can do <literal>openssh.override { withKerberos = false; }</literal>. Note, this also applies to the <literal>openssh_hpn</literal> package. </para> </listitem> diff --git a/nixos/doc/manual/style.css b/nixos/doc/manual/style.css deleted file mode 100644 index 3118b37ead1f..000000000000 --- 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 7b36d4f1cbdf..c595c6932946 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 d3212d931605..361151665018 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 31435039e56d..42d5d233f1c1 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 000000000000..cea8981370bb --- /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 + <option>environment.systemPackages</option> into the generated system path. + ''; + }; + + man.enable = mkOption { + type = types.bool; + default = true; + description = '' + Whether to install manual pages and the <command>man</command> command. + This also includes "man" outputs. + ''; + }; + + doc.enable = mkOption { + type = types.bool; + default = true; + description = '' + Whether to install documentation distributed in packages' <literal>/share/doc</literal>. + Usually plain text and/or HTML. + This also includes "doc" outputs. + ''; + }; + + info.enable = mkOption { + type = types.bool; + default = true; + description = '' + Whether to install info pages and the <command>info</command> command. + This also includes "info" outputs. + ''; + }; + + }; + + }; + + config = mkIf cfg.enable (mkMerge [ + + (mkIf cfg.man.enable { + environment.systemPackages = [ pkgs.man-db ]; + environment.pathsToLink = [ "/share/man" ]; + environment.extraOutputsToInstall = [ "man" ]; + }) + + (mkIf cfg.doc.enable { + # TODO(@oxij): put it here and remove from profiles? + # environment.systemPackages = [ pkgs.w3m ]; # w3m-nox? + environment.pathsToLink = [ "/share/doc" ]; + environment.extraOutputsToInstall = [ "doc" ]; + }) + + (mkIf cfg.info.enable { + environment.systemPackages = [ pkgs.texinfoInteractive ]; + environment.pathsToLink = [ "/share/info" ]; + environment.extraOutputsToInstall = [ "info" ]; + }) + + ]); + +} diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index f23ecc1e99d8..3a8b1014553c 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 e2497d04252e..40df7063a9bf 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 be6439dca5ad..000000000000 --- 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 <command>info</command> 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 5b20a38d8856..000000000000 --- 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 <command>man</command> command. - This also includes "man" outputs of all <literal>systemPackages</literal>. - ''; - }; - - }; - - - config = mkIf config.programs.man.enable { - - environment.systemPackages = [ pkgs.man-db ]; - - environment.pathsToLink = [ "/share/man" ]; - - environment.extraOutputsToInstall = [ "man" ]; - - }; - -} diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix index 288634343750..0c3ac054292d 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 39c5d78d4191..aeb0a0d2432d 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 39d23610b064..e4517c636e88 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 c5c41ad296da..25cd0038e36d 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 b8253956d54f..abf506ea7c67 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 2f304165eb4b..ee005e11aa32 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 630fe6d114ce..c7d56790fa0c 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 01512911a057..baffad79b001 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 155a33b3bb37..eaf8b14cd8e1 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 23a5a8bd2c01..22deea6fee05 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 d3eff910c467..520c728b65ee 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" - )); - - writeCFSSL = content: - pkgs.runCommand content.name { - buildInputs = [ pkgs.cfssl ]; - } '' - mkdir -p $out - cd $out - cat ${writeFile content} | cfssljson -bare ${content.name} - ''; + 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 + + 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 d9d7ba9bb2cc..175d8413045e 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 1966fed3a5fb..226808c4b263 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 30bc0532d88f..2aff86ae1d38 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 85f5c2eb07c3..8be24522f564 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 1b30399ae0a5..3aef2e35943d 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 23e4449ee2eb..a26d380ec1df 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 c69686a0967d..1688e606222d 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 7be55b873bc5..bb897b2e7e2b 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 03489db933c1..7dc69bceda92 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 000000000000..6ee9966401b5 --- /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 cf5405a4a071..078fa0885b78 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 3ce056c1e11e..0f232772f076 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 000000000000..9f6b6fcb7e11 --- /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 d79396f3b1d7..531a1d5d0a17 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 853203e7dbb1..bf963958406d 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 30f2dba28831..0b29b04825a1 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 4d0cb8930f57..7dc134b4fcfd 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 bc7eafb92215..9cc774727b71 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 88339e8a8bf3..c4dc57300446 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 d96b5ed6d520..0bb3a67d9502 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 000000000000..ddb247b7f113 --- /dev/null +++ b/pkgs/development/libraries/lmdb/hardcoded-compiler.patch @@ -0,0 +1,26 @@ +commit 029031a68873bc3784a8561bd8e049efbd34f9d0 (HEAD) +Author: VladimÃr ÄŒunát <vcunat@gmail.com> +Date: Sun Apr 1 11:05:31 2018 +0200 + + make: gcc -> $(CC) + +diff --git a/libraries/liblmdb/Makefile b/libraries/liblmdb/Makefile +index f254511..612484e 100644 +--- a/libraries/liblmdb/Makefile ++++ b/libraries/liblmdb/Makefile +@@ -102,13 +102,13 @@ COV_OBJS=xmdb.o xmidl.o + + coverage: xmtest + for i in mtest*.c [0-9]*.c; do j=`basename \$$i .c`; $(MAKE) $$j.o; \ +- gcc -o x$$j $$j.o $(COV_OBJS) -pthread $(COV_FLAGS); \ ++ $(CC) -o x$$j $$j.o $(COV_OBJS) -pthread $(COV_FLAGS); \ + rm -rf testdb; mkdir testdb; ./x$$j; done + gcov xmdb.c + gcov xmidl.c + + xmtest: mtest.o xmdb.o xmidl.o +- gcc -o xmtest mtest.o xmdb.o xmidl.o -pthread $(COV_FLAGS) ++ $(CC) -o xmtest mtest.o xmdb.o xmidl.o -pthread $(COV_FLAGS) + + xmdb.o: mdb.c lmdb.h midl.h + $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) -O0 $(COV_FLAGS) -c mdb.c -o $@ diff --git a/pkgs/development/libraries/opendht/default.nix b/pkgs/development/libraries/opendht/default.nix index 46a8ebffbb8c..68486fca54d6 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 7f6c47a9a7fc..00ce51330487 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 000000000000..c89d2f11e954 --- /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 653445617958..569f5081355c 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 000000000000..8a942288f752 --- /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 8953373954a5..5b5661377471 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 60160b128a46..722117ba6e83 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 06d7c689e659..05ee0ea9553b 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 000000000000..f48310ceebc6 --- /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 000000000000..df21c0f41861 --- /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 000000000000..d1d25f5407c2 --- /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 000000000000..ad9f6d6f2457 --- /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 000000000000..110d1a57c826 --- /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 8c927e4aed03..ac150af4b782 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 eaca200e2bff..36153c102290 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 000000000000..09cb4c2cdf98 --- /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 000000000000..5271677dc1ea --- /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 0827786acfcd..e9061b0a6a33 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 000000000000..c9b89ff7616a --- /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 85dd30118cc3..8d2d6fa9c14c 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 000000000000..9de1fd5b3922 --- /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 7a199cc925a7..926cc83cd976 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 000000000000..f8389786b9da --- /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 7e8725745c2e..2fb6a8b7d4ec 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 62ab349afa85..d622299cf0f3 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 83f34f5b04af..19cf026933e4 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 000000000000..4ad7dbf24b51 --- /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 9c83092481b6..d00f1b148374 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 e2fc90a22966..5372b577e335 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 3aa9823dbe8b..87ef65482ab6 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 c2ec4b9ff172..b7c85a8f9a4b 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 cbfdd56cca10..a8c491b049ff 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 000000000000..d362bccb993e --- /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 031161da4d57..23725fb2d874 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 000000000000..3dc452db3e26 --- /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 04b29bcf8f7c..db490c7822f8 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 000000000000..9edf50b4b599 --- /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 8a1de29b0d9c..81b88ff8d835 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 000000000000..b60cbcf22ad0 --- /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 918621391778..7c50af90d97b 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 235a3129032c..a5c453378ea7 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 { }; |