diff --git a/lib/systems/inspect.nix b/lib/systems/inspect.nix index e35e7b4a1ec..932f8fd1e53 100644 --- a/lib/systems/inspect.nix +++ b/lib/systems/inspect.nix @@ -21,6 +21,7 @@ rec { isSparc = { cpu = { family = "sparc"; }; }; isWasm = { cpu = { family = "wasm"; }; }; isAvr = { cpu = { family = "avr"; }; }; + isAlpha = { cpu = { family = "alpha"; }; }; is32bit = { cpu = { bits = 32; }; }; is64bit = { cpu = { bits = 64; }; }; diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index bbf016194ef..63d8385eeb3 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -752,6 +752,11 @@ github = "calbrecht"; name = "Christian Albrecht"; }; + callahad = { + email = "dan.callahan@gmail.com"; + github = "callahad"; + name = "Dan Callahan"; + }; calvertvl = { email = "calvertvl@gmail.com"; github = "calvertvl"; diff --git a/nixos/doc/manual/configuration/configuration.xml b/nixos/doc/manual/configuration/configuration.xml index cebc4122c6c..138d1d86d7f 100644 --- a/nixos/doc/manual/configuration/configuration.xml +++ b/nixos/doc/manual/configuration/configuration.xml @@ -23,5 +23,6 @@ + diff --git a/nixos/doc/manual/configuration/kubernetes.xml b/nixos/doc/manual/configuration/kubernetes.xml new file mode 100644 index 00000000000..ddc026c0c01 --- /dev/null +++ b/nixos/doc/manual/configuration/kubernetes.xml @@ -0,0 +1,127 @@ + + Kubernetes + + + The NixOS Kubernetes module is a collective term for a handful of + individual submodules implementing the Kubernetes cluster components. + + + + There are generally two ways of enabling Kubernetes on NixOS. + One way is to enable and configure cluster components appropriately by hand: + +services.kubernetes = { + apiserver.enable = true; + controllerManager.enable = true; + scheduler.enable = true; + addonManager.enable = true; + proxy.enable = true; + flannel.enable = true; +}; + + Another way is to assign cluster roles ("master" and/or "node") to the host. + This enables apiserver, controllerManager, scheduler, addonManager, + kube-proxy and etcd: + + = [ "master" ]; + + While this will enable the kubelet and kube-proxy only: + + = [ "node" ]; + + Assigning both the master and node roles is usable if you want a single + node Kubernetes cluster for dev or testing purposes: + + = [ "master" "node" ]; + + Note: Assigning either role will also default both + and + to true. + This sets up flannel as CNI and activates automatic PKI bootstrapping. + + + + As of kubernetes 1.10.X it has been deprecated to open + non-tls-enabled ports on kubernetes components. Thus, from NixOS 19.03 all + plain HTTP ports have been disabled by default. + While opening insecure ports is still possible, it is recommended not to + bind these to other interfaces than loopback. + + To re-enable the insecure port on the apiserver, see options: + + and + + + + + + As of NixOS 19.03, it is mandatory to configure: + . + The masterAddress must be resolveable and routeable by all cluster nodes. + In single node clusters, this can be set to localhost. + + + + + Role-based access control (RBAC) authorization mode is enabled by default. + This means that anonymous requests to the apiserver secure port will + expectedly cause a permission denied error. All cluster components must + therefore be configured with x509 certificates for two-way tls communication. + The x509 certificate subject section determines the roles and permissions + granted by the apiserver to perform clusterwide or namespaced operations. + See also: + + Using RBAC Authorization. + + + + The NixOS kubernetes module provides an option for automatic certificate + bootstrapping and configuration, + . + The PKI bootstrapping process involves setting up a certificate authority + (CA) daemon (cfssl) on the kubernetes master node. cfssl generates a CA-cert + for the cluster, and uses the CA-cert for signing subordinate certs issued to + each of the cluster components. Subsequently, the certmgr daemon monitors + active certificates and renews them when needed. For single node Kubernetes + clusters, setting = true + is sufficient and no further action is required. For joining extra node + machines to an existing cluster on the other hand, establishing initial trust + is mandatory. + + + + To add new nodes to the cluster: + On any (non-master) cluster node where + is enabled, the helper + script nixos-kubernetes-node-join is available on PATH. + Given a token on stdin, it will copy the token to the kubernetes + secrets directory and restart the certmgr service. As requested + certificates are issued, the script will restart kubernetes cluster + components as needed for them to pick up new keypairs. + + + + + Multi-master (HA) clusters are not supported by the easyCerts module. + + + + + In order to interact with an RBAC-enabled cluster as an administrator, one + needs to have cluster-admin privileges. By default, when easyCerts is + enabled, a cluster-admin kubeconfig file is generated and linked into + /etc/kubernetes/cluster-admin.kubeconfig as determined by + . + export KUBECONFIG=/etc/kubernetes/cluster-admin.kubeconfig + will make kubectl use this kubeconfig to access and authenticate the cluster. + The cluster-admin kubeconfig references an auto-generated keypair owned by + root. Thus, only root on the kubernetes master may obtain cluster-admin + rights by means of this file. + + + diff --git a/nixos/doc/manual/release-notes/rl-1903.xml b/nixos/doc/manual/release-notes/rl-1903.xml index 6f78983d482..269f27f74fb 100644 --- a/nixos/doc/manual/release-notes/rl-1903.xml +++ b/nixos/doc/manual/release-notes/rl-1903.xml @@ -54,6 +54,13 @@ to false and enable your preferred display manager. + + A major refactoring of the Kubernetes module has been completed. + Refactorings primarily focus on decoupling components and enhancing + security. Two-way TLS and RBAC has been enabled by default for all + components, which slightly changes the way the module is configured. + See: for details. + @@ -564,6 +571,40 @@ provisioning. + + + The use of insecure ports on kubernetes has been deprecated. + Thus options: + services.kubernetes.apiserver.port and + services.kubernetes.controllerManager.port + has been renamed to .insecurePort, + and default of both options has changed to 0 (disabled). + + + + + Note that the default value of + services.kubernetes.apiserver.bindAddress + has changed from 127.0.0.1 to 0.0.0.0, allowing the apiserver to be + accessible from outside the master node itself. + If the apiserver insecurePort is enabled, + it is strongly recommended to only bind on the loopback interface. See: + services.kubernetes.apiserver.insecurebindAddress. + + + + + The option services.kubernetes.apiserver.allowPrivileged + and services.kubernetes.kubelet.allowPrivileged now + defaults to false. Disallowing privileged containers on the cluster. + + + + + The kubernetes module does no longer add the kubernetes package to + environment.systemPackages implicitly. + + diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 08422d911eb..7af6e117c51 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -82,6 +82,7 @@ ./misc/version.nix ./programs/adb.nix ./programs/atop.nix + ./programs/autojump.nix ./programs/bash/bash.nix ./programs/bcc.nix ./programs/blcr.nix @@ -195,9 +196,17 @@ ./services/backup/tarsnap.nix ./services/backup/znapzend.nix ./services/cluster/hadoop/default.nix + ./services/cluster/kubernetes/addons/dns.nix + ./services/cluster/kubernetes/addons/dashboard.nix + ./services/cluster/kubernetes/addon-manager.nix + ./services/cluster/kubernetes/apiserver.nix + ./services/cluster/kubernetes/controller-manager.nix ./services/cluster/kubernetes/default.nix - ./services/cluster/kubernetes/dns.nix - ./services/cluster/kubernetes/dashboard.nix + ./services/cluster/kubernetes/flannel.nix + ./services/cluster/kubernetes/kubelet.nix + ./services/cluster/kubernetes/pki.nix + ./services/cluster/kubernetes/proxy.nix + ./services/cluster/kubernetes/scheduler.nix ./services/computing/boinc/client.nix ./services/computing/torque/server.nix ./services/computing/torque/mom.nix @@ -283,6 +292,7 @@ ./services/hardware/acpid.nix ./services/hardware/actkbd.nix ./services/hardware/bluetooth.nix + ./services/hardware/bolt.nix ./services/hardware/brltty.nix ./services/hardware/freefall.nix ./services/hardware/fwupd.nix diff --git a/nixos/modules/programs/autojump.nix b/nixos/modules/programs/autojump.nix new file mode 100644 index 00000000000..3a8feec4bb4 --- /dev/null +++ b/nixos/modules/programs/autojump.nix @@ -0,0 +1,33 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.programs.autojump; + prg = config.programs; +in +{ + options = { + programs.autojump = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable autojump. + ''; + }; + }; + }; + + ###### implementation + + config = mkIf cfg.enable { + environment.pathsToLink = [ "/share/autojump" ]; + environment.systemPackages = [ pkgs.autojump ]; + + programs.bash.interactiveShellInit = "source ${pkgs.autojump}/share/autojump/autojump.bash"; + programs.zsh.interactiveShellInit = mkIf prg.zsh.enable "source ${pkgs.autojump}/share/autojump/autojump.zsh"; + programs.fish.interactiveShellInit = mkIf prg.fish.enable "source ${pkgs.autojump}/share/autojump/autojump.fish"; + }; +} diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix index 24ab963f718..1e6557e1f0e 100644 --- a/nixos/modules/rename.nix +++ b/nixos/modules/rename.nix @@ -40,9 +40,19 @@ with lib; (mkRenamedOptionModule [ "services" "kibana" "host" ] [ "services" "kibana" "listenAddress" ]) (mkRenamedOptionModule [ "services" "kubernetes" "apiserver" "admissionControl" ] [ "services" "kubernetes" "apiserver" "enableAdmissionPlugins" ]) (mkRenamedOptionModule [ "services" "kubernetes" "apiserver" "address" ] ["services" "kubernetes" "apiserver" "bindAddress"]) + (mkRenamedOptionModule [ "services" "kubernetes" "apiserver" "port" ] ["services" "kubernetes" "apiserver" "insecurePort"]) (mkRemovedOptionModule [ "services" "kubernetes" "apiserver" "publicAddress" ] "") (mkRenamedOptionModule [ "services" "kubernetes" "addons" "dashboard" "enableRBAC" ] [ "services" "kubernetes" "addons" "dashboard" "rbac" "enable" ]) + (mkRenamedOptionModule [ "services" "kubernetes" "controllerManager" "address" ] ["services" "kubernetes" "controllerManager" "bindAddress"]) + (mkRenamedOptionModule [ "services" "kubernetes" "controllerManager" "port" ] ["services" "kubernetes" "controllerManager" "insecurePort"]) + (mkRenamedOptionModule [ "services" "kubernetes" "etcd" "servers" ] [ "services" "kubernetes" "apiserver" "etcd" "servers" ]) + (mkRenamedOptionModule [ "services" "kubernetes" "etcd" "keyFile" ] [ "services" "kubernetes" "apiserver" "etcd" "keyFile" ]) + (mkRenamedOptionModule [ "services" "kubernetes" "etcd" "certFile" ] [ "services" "kubernetes" "apiserver" "etcd" "certFile" ]) + (mkRenamedOptionModule [ "services" "kubernetes" "etcd" "caFile" ] [ "services" "kubernetes" "apiserver" "etcd" "caFile" ]) + (mkRemovedOptionModule [ "services" "kubernetes" "kubelet" "applyManifests" ] "") (mkRemovedOptionModule [ "services" "kubernetes" "kubelet" "cadvisorPort" ] "") + (mkRenamedOptionModule [ "services" "kubernetes" "proxy" "address" ] ["services" "kubernetes" "proxy" "bindAddress"]) + (mkRemovedOptionModule [ "services" "kubernetes" "verbose" ] "") (mkRenamedOptionModule [ "services" "logstash" "address" ] [ "services" "logstash" "listenAddress" ]) (mkRenamedOptionModule [ "services" "mpd" "network" "host" ] [ "services" "mpd" "network" "listenAddress" ]) (mkRenamedOptionModule [ "services" "neo4j" "host" ] [ "services" "neo4j" "defaultListenAddress" ]) @@ -59,6 +69,7 @@ with lib; (mkRenamedOptionModule [ "services" "statsd" "host" ] [ "services" "statsd" "listenAddress" ]) (mkRenamedOptionModule [ "services" "subsonic" "host" ] [ "services" "subsonic" "listenAddress" ]) (mkRenamedOptionModule [ "services" "tor" "relay" "portSpec" ] [ "services" "tor" "relay" "port" ]) + (mkRenamedOptionModule [ "services" "vmwareGuest" ] [ "virtualisation" "vmware" "guest" ]) (mkRenamedOptionModule [ "jobs" ] [ "systemd" "services" ]) (mkRenamedOptionModule [ "services" "gitlab" "stateDir" ] [ "services" "gitlab" "statePath" ]) diff --git a/nixos/modules/services/cluster/kubernetes/addon-manager.nix b/nixos/modules/services/cluster/kubernetes/addon-manager.nix new file mode 100644 index 00000000000..17f2dde31a7 --- /dev/null +++ b/nixos/modules/services/cluster/kubernetes/addon-manager.nix @@ -0,0 +1,167 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + top = config.services.kubernetes; + cfg = top.addonManager; + + isRBACEnabled = elem "RBAC" top.apiserver.authorizationMode; + + addons = pkgs.runCommand "kubernetes-addons" { } '' + mkdir -p $out + # since we are mounting the addons to the addon manager, they need to be copied + ${concatMapStringsSep ";" (a: "cp -v ${a}/* $out/") (mapAttrsToList (name: addon: + pkgs.writeTextDir "${name}.json" (builtins.toJSON addon) + ) (cfg.addons))} + ''; +in +{ + ###### interface + options.services.kubernetes.addonManager = with lib.types; { + + bootstrapAddons = mkOption { + description = '' + Bootstrap addons are like regular addons, but they are applied with cluster-admin rigths. + They are applied at addon-manager startup only. + ''; + default = { }; + type = attrsOf attrs; + example = literalExample '' + { + "my-service" = { + "apiVersion" = "v1"; + "kind" = "Service"; + "metadata" = { + "name" = "my-service"; + "namespace" = "default"; + }; + "spec" = { ... }; + }; + } + ''; + }; + + addons = mkOption { + description = "Kubernetes addons (any kind of Kubernetes resource can be an addon)."; + default = { }; + type = attrsOf (either attrs (listOf attrs)); + example = literalExample '' + { + "my-service" = { + "apiVersion" = "v1"; + "kind" = "Service"; + "metadata" = { + "name" = "my-service"; + "namespace" = "default"; + }; + "spec" = { ... }; + }; + } + // import { cfg = config.services.kubernetes; }; + ''; + }; + + enable = mkEnableOption "Whether to enable Kubernetes addon manager."; + }; + + ###### implementation + config = mkIf cfg.enable { + environment.etc."kubernetes/addons".source = "${addons}/"; + + systemd.services.kube-addon-manager = { + description = "Kubernetes addon manager"; + wantedBy = [ "kubernetes.target" ]; + after = [ "kube-apiserver.service" ]; + environment.ADDON_PATH = "/etc/kubernetes/addons/"; + path = [ pkgs.gawk ]; + serviceConfig = { + Slice = "kubernetes.slice"; + ExecStart = "${top.package}/bin/kube-addons"; + WorkingDirectory = top.dataDir; + User = "kubernetes"; + Group = "kubernetes"; + Restart = "on-failure"; + RestartSec = 10; + }; + }; + + services.kubernetes.addonManager.bootstrapAddons = mkIf isRBACEnabled + (let + name = system:kube-addon-manager; + namespace = "kube-system"; + in + { + + kube-addon-manager-r = { + apiVersion = "rbac.authorization.k8s.io/v1"; + kind = "Role"; + metadata = { + inherit name namespace; + }; + rules = [{ + apiGroups = ["*"]; + resources = ["*"]; + verbs = ["*"]; + }]; + }; + + kube-addon-manager-rb = { + apiVersion = "rbac.authorization.k8s.io/v1"; + kind = "RoleBinding"; + metadata = { + inherit name namespace; + }; + roleRef = { + apiGroup = "rbac.authorization.k8s.io"; + kind = "Role"; + inherit name; + }; + subjects = [{ + apiGroup = "rbac.authorization.k8s.io"; + kind = "User"; + inherit name; + }]; + }; + + kube-addon-manager-cluster-lister-cr = { + apiVersion = "rbac.authorization.k8s.io/v1"; + kind = "ClusterRole"; + metadata = { + name = "${name}:cluster-lister"; + }; + rules = [{ + apiGroups = ["*"]; + resources = ["*"]; + verbs = ["list"]; + }]; + }; + + kube-addon-manager-cluster-lister-crb = { + apiVersion = "rbac.authorization.k8s.io/v1"; + kind = "ClusterRoleBinding"; + metadata = { + name = "${name}:cluster-lister"; + }; + roleRef = { + apiGroup = "rbac.authorization.k8s.io"; + kind = "ClusterRole"; + name = "${name}:cluster-lister"; + }; + subjects = [{ + kind = "User"; + inherit name; + }]; + }; + }); + + services.kubernetes.pki.certs = { + addonManager = top.lib.mkCert { + name = "kube-addon-manager"; + CN = "system:kube-addon-manager"; + action = "systemctl restart kube-addon-manager.service"; + }; + }; + }; + +} diff --git a/nixos/modules/services/cluster/kubernetes/dashboard.nix b/nixos/modules/services/cluster/kubernetes/addons/dashboard.nix similarity index 95% rename from nixos/modules/services/cluster/kubernetes/dashboard.nix rename to nixos/modules/services/cluster/kubernetes/addons/dashboard.nix index cbd6e8f7bf7..454e7d35bc0 100644 --- a/nixos/modules/services/cluster/kubernetes/dashboard.nix +++ b/nixos/modules/services/cluster/kubernetes/addons/dashboard.nix @@ -8,6 +8,13 @@ in { options.services.kubernetes.addons.dashboard = { enable = mkEnableOption "kubernetes dashboard addon"; + extraArgs = mkOption { + description = "Extra arguments to append to the dashboard cmdline"; + type = types.listOf types.str; + default = []; + example = ["--enable-skip-login"]; + }; + rbac = mkOption { description = "Role-based access control (RBAC) options"; default = {}; @@ -31,7 +38,7 @@ in { version = mkOption { description = "Which version of the kubernetes dashboard to deploy"; type = types.str; - default = "v1.8.3"; + default = "v1.10.1"; }; image = mkOption { @@ -39,9 +46,9 @@ in { type = types.attrs; default = { imageName = "k8s.gcr.io/kubernetes-dashboard-amd64"; - imageDigest = "sha256:dc4026c1b595435ef5527ca598e1e9c4343076926d7d62b365c44831395adbd0"; + imageDigest = "sha256:0ae6b69432e78069c5ce2bcde0fe409c5c4d6f0f4d9cd50a17974fea38898747"; finalImageTag = cfg.version; - sha256 = "18ajcg0q1vignfjk2sm4xj4wzphfz8wah69ps8dklqfvv0164mc8"; + sha256 = "01xrr4pwgr2hcjrjsi3d14ifpzdfbxzqpzxbk2fkbjb9zkv38zxy"; }; }; }; @@ -99,7 +106,7 @@ in { memory = "100Mi"; }; }; - args = ["--auto-generate-certificates"]; + args = ["--auto-generate-certificates"] ++ cfg.extraArgs; volumeMounts = [{ name = "tmp-volume"; mountPath = "/tmp"; diff --git a/nixos/modules/services/cluster/kubernetes/dns.nix b/nixos/modules/services/cluster/kubernetes/addons/dns.nix similarity index 97% rename from nixos/modules/services/cluster/kubernetes/dns.nix rename to nixos/modules/services/cluster/kubernetes/addons/dns.nix index 5a3e281ea69..8f3234bfc70 100644 --- a/nixos/modules/services/cluster/kubernetes/dns.nix +++ b/nixos/modules/services/cluster/kubernetes/addons/dns.nix @@ -3,7 +3,7 @@ with lib; let - version = "1.2.5"; + version = "1.3.1"; cfg = config.services.kubernetes.addons.dns; ports = { dns = 10053; @@ -43,9 +43,9 @@ in { type = types.attrs; default = { imageName = "coredns/coredns"; - imageDigest = "sha256:33c8da20b887ae12433ec5c40bfddefbbfa233d5ce11fb067122e68af30291d6"; + imageDigest = "sha256:02382353821b12c21b062c59184e227e001079bb13ebd01f9d3270ba0fcbf1e4"; finalImageTag = version; - sha256 = "13q19rgwapv27xcs664dw502254yw4zw63insf6g2danidv2mg6i"; + sha256 = "0vbylgyxv2jm2mnzk6f28jbsj305zsxmx3jr6ngjq461czcl5fi5"; }; }; }; @@ -54,21 +54,7 @@ in { services.kubernetes.kubelet.seedDockerImages = singleton (pkgs.dockerTools.pullImage cfg.coredns); - services.kubernetes.addonManager.addons = { - coredns-sa = { - apiVersion = "v1"; - kind = "ServiceAccount"; - metadata = { - labels = { - "addonmanager.kubernetes.io/mode" = "Reconcile"; - "k8s-app" = "kube-dns"; - "kubernetes.io/cluster-service" = "true"; - }; - name = "coredns"; - namespace = "kube-system"; - }; - }; - + services.kubernetes.addonManager.bootstrapAddons = { coredns-cr = { apiVersion = "rbac.authorization.k8s.io/v1beta1"; kind = "ClusterRole"; @@ -123,6 +109,22 @@ in { } ]; }; + }; + + services.kubernetes.addonManager.addons = { + coredns-sa = { + apiVersion = "v1"; + kind = "ServiceAccount"; + metadata = { + labels = { + "addonmanager.kubernetes.io/mode" = "Reconcile"; + "k8s-app" = "kube-dns"; + "kubernetes.io/cluster-service" = "true"; + }; + name = "coredns"; + namespace = "kube-system"; + }; + }; coredns-cm = { apiVersion = "v1"; diff --git a/nixos/modules/services/cluster/kubernetes/apiserver.nix b/nixos/modules/services/cluster/kubernetes/apiserver.nix new file mode 100644 index 00000000000..81e45b417de --- /dev/null +++ b/nixos/modules/services/cluster/kubernetes/apiserver.nix @@ -0,0 +1,428 @@ + { config, lib, pkgs, ... }: + +with lib; + +let + top = config.services.kubernetes; + cfg = top.apiserver; + + isRBACEnabled = elem "RBAC" cfg.authorizationMode; + + apiserverServiceIP = (concatStringsSep "." ( + take 3 (splitString "." cfg.serviceClusterIpRange + )) + ".1"); +in +{ + ###### interface + options.services.kubernetes.apiserver = with lib.types; { + + advertiseAddress = mkOption { + description = '' + Kubernetes apiserver IP address on which to advertise the apiserver + to members of the cluster. This address must be reachable by the rest + of the cluster. + ''; + default = null; + type = nullOr str; + }; + + allowPrivileged = mkOption { + description = "Whether to allow privileged containers on Kubernetes."; + default = false; + type = bool; + }; + + authorizationMode = mkOption { + description = '' + Kubernetes apiserver authorization mode (AlwaysAllow/AlwaysDeny/ABAC/Webhook/RBAC/Node). See + + ''; + default = ["RBAC" "Node"]; # Enabling RBAC by default, although kubernetes default is AllowAllow + type = listOf (enum ["AlwaysAllow" "AlwaysDeny" "ABAC" "Webhook" "RBAC" "Node"]); + }; + + authorizationPolicy = mkOption { + description = '' + Kubernetes apiserver authorization policy file. See + + ''; + default = []; + type = listOf attrs; + }; + + basicAuthFile = mkOption { + description = '' + Kubernetes apiserver basic authentication file. See + + ''; + default = null; + type = nullOr path; + }; + + bindAddress = mkOption { + description = '' + The IP address on which to listen for the --secure-port port. + The associated interface(s) must be reachable by the rest + of the cluster, and by CLI/web clients. + ''; + default = "0.0.0.0"; + type = str; + }; + + clientCaFile = mkOption { + description = "Kubernetes apiserver CA file for client auth."; + default = top.caFile; + type = nullOr path; + }; + + disableAdmissionPlugins = mkOption { + description = '' + Kubernetes admission control plugins to disable. See + + ''; + default = []; + type = listOf str; + }; + + enable = mkEnableOption "Kubernetes apiserver"; + + enableAdmissionPlugins = mkOption { + description = '' + Kubernetes admission control plugins to enable. See + + ''; + default = [ + "NamespaceLifecycle" "LimitRanger" "ServiceAccount" + "ResourceQuota" "DefaultStorageClass" "DefaultTolerationSeconds" + "NodeRestriction" + ]; + example = [ + "NamespaceLifecycle" "NamespaceExists" "LimitRanger" + "SecurityContextDeny" "ServiceAccount" "ResourceQuota" + "PodSecurityPolicy" "NodeRestriction" "DefaultStorageClass" + ]; + type = listOf str; + }; + + etcd = { + servers = mkOption { + description = "List of etcd servers."; + default = ["http://127.0.0.1:2379"]; + type = types.listOf types.str; + }; + + keyFile = mkOption { + description = "Etcd key file."; + default = null; + type = types.nullOr types.path; + }; + + certFile = mkOption { + description = "Etcd cert file."; + default = null; + type = types.nullOr types.path; + }; + + caFile = mkOption { + description = "Etcd ca file."; + default = top.caFile; + type = types.nullOr types.path; + }; + }; + + extraOpts = mkOption { + description = "Kubernetes apiserver extra command line options."; + default = ""; + type = str; + }; + + extraSANs = mkOption { + description = "Extra x509 Subject Alternative Names to be added to the kubernetes apiserver tls cert."; + default = []; + type = listOf str; + }; + + featureGates = mkOption { + description = "List set of feature gates"; + default = top.featureGates; + type = listOf str; + }; + + insecureBindAddress = mkOption { + description = "The IP address on which to serve the --insecure-port."; + default = "127.0.0.1"; + type = str; + }; + + insecurePort = mkOption { + description = "Kubernetes apiserver insecure listening port. (0 = disabled)"; + default = 0; + type = int; + }; + + kubeletClientCaFile = mkOption { + description = "Path to a cert file for connecting to kubelet."; + default = top.caFile; + type = nullOr path; + }; + + kubeletClientCertFile = mkOption { + description = "Client certificate to use for connections to kubelet."; + default = null; + type = nullOr path; + }; + + kubeletClientKeyFile = mkOption { + description = "Key to use for connections to kubelet."; + default = null; + type = nullOr path; + }; + + kubeletHttps = mkOption { + description = "Whether to use https for connections to kubelet."; + default = true; + type = bool; + }; + + runtimeConfig = mkOption { + description = '' + Api runtime configuration. See + + ''; + default = "authentication.k8s.io/v1beta1=true"; + example = "api/all=false,api/v1=true"; + type = str; + }; + + storageBackend = mkOption { + description = '' + Kubernetes apiserver storage backend. + ''; + default = "etcd3"; + type = enum ["etcd2" "etcd3"]; + }; + + securePort = mkOption { + description = "Kubernetes apiserver secure port."; + default = 6443; + type = int; + }; + + serviceAccountKeyFile = mkOption { + description = '' + Kubernetes apiserver PEM-encoded x509 RSA private or public key file, + used to verify ServiceAccount tokens. By default tls private key file + is used. + ''; + default = null; + type = nullOr path; + }; + + serviceClusterIpRange = mkOption { + description = '' + A CIDR notation IP range from which to assign service cluster IPs. + This must not overlap with any IP ranges assigned to nodes for pods. + ''; + default = "10.0.0.0/24"; + type = str; + }; + + tlsCertFile = mkOption { + description = "Kubernetes apiserver certificate file."; + default = null; + type = nullOr path; + }; + + tlsKeyFile = mkOption { + description = "Kubernetes apiserver private key file."; + default = null; + type = nullOr path; + }; + + tokenAuthFile = mkOption { + description = '' + Kubernetes apiserver token authentication file. See + + ''; + default = null; + type = nullOr path; + }; + + verbosity = mkOption { + description = '' + Optional glog verbosity level for logging statements. See + + ''; + default = null; + type = nullOr int; + }; + + webhookConfig = mkOption { + description = '' + Kubernetes apiserver Webhook config file. It uses the kubeconfig file format. + See + ''; + default = null; + type = nullOr path; + }; + + }; + + + ###### implementation + config = mkMerge [ + + (mkIf cfg.enable { + systemd.services.kube-apiserver = { + description = "Kubernetes APIServer Service"; + wantedBy = [ "kubernetes.target" ]; + after = [ "network.target" ]; + serviceConfig = { + Slice = "kubernetes.slice"; + ExecStart = ''${top.package}/bin/kube-apiserver \ + --allow-privileged=${boolToString cfg.allowPrivileged} \ + --authorization-mode=${concatStringsSep "," cfg.authorizationMode} \ + ${optionalString (elem "ABAC" cfg.authorizationMode) + "--authorization-policy-file=${ + pkgs.writeText "kube-auth-policy.jsonl" + (concatMapStringsSep "\n" (l: builtins.toJSON l) cfg.authorizationPolicy) + }" + } \ + ${optionalString (elem "Webhook" cfg.authorizationMode) + "--authorization-webhook-config-file=${cfg.webhookConfig}" + } \ + --bind-address=${cfg.bindAddress} \ + ${optionalString (cfg.advertiseAddress != null) + "--advertise-address=${cfg.advertiseAddress}"} \ + ${optionalString (cfg.clientCaFile != null) + "--client-ca-file=${cfg.clientCaFile}"} \ + --disable-admission-plugins=${concatStringsSep "," cfg.disableAdmissionPlugins} \ + --enable-admission-plugins=${concatStringsSep "," cfg.enableAdmissionPlugins} \ + --etcd-servers=${concatStringsSep "," cfg.etcd.servers} \ + ${optionalString (cfg.etcd.caFile != null) + "--etcd-cafile=${cfg.etcd.caFile}"} \ + ${optionalString (cfg.etcd.certFile != null) + "--etcd-certfile=${cfg.etcd.certFile}"} \ + ${optionalString (cfg.etcd.keyFile != null) + "--etcd-keyfile=${cfg.etcd.keyFile}"} \ + ${optionalString (cfg.featureGates != []) + "--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.featureGates}"} \ + ${optionalString (cfg.basicAuthFile != null) + "--basic-auth-file=${cfg.basicAuthFile}"} \ + --kubelet-https=${boolToString cfg.kubeletHttps} \ + ${optionalString (cfg.kubeletClientCaFile != null) + "--kubelet-certificate-authority=${cfg.kubeletClientCaFile}"} \ + ${optionalString (cfg.kubeletClientCertFile != null) + "--kubelet-client-certificate=${cfg.kubeletClientCertFile}"} \ + ${optionalString (cfg.kubeletClientKeyFile != null) + "--kubelet-client-key=${cfg.kubeletClientKeyFile}"} \ + --insecure-bind-address=${cfg.insecureBindAddress} \ + --insecure-port=${toString cfg.insecurePort} \ + ${optionalString (cfg.runtimeConfig != "") + "--runtime-config=${cfg.runtimeConfig}"} \ + --secure-port=${toString cfg.securePort} \ + ${optionalString (cfg.serviceAccountKeyFile!=null) + "--service-account-key-file=${cfg.serviceAccountKeyFile}"} \ + --service-cluster-ip-range=${cfg.serviceClusterIpRange} \ + --storage-backend=${cfg.storageBackend} \ + ${optionalString (cfg.tlsCertFile != null) + "--tls-cert-file=${cfg.tlsCertFile}"} \ + ${optionalString (cfg.tlsKeyFile != null) + "--tls-private-key-file=${cfg.tlsKeyFile}"} \ + ${optionalString (cfg.tokenAuthFile != null) + "--token-auth-file=${cfg.tokenAuthFile}"} \ + ${optionalString (cfg.verbosity != null) "--v=${toString cfg.verbosity}"} \ + ${cfg.extraOpts} + ''; + WorkingDirectory = top.dataDir; + User = "kubernetes"; + Group = "kubernetes"; + AmbientCapabilities = "cap_net_bind_service"; + Restart = "on-failure"; + RestartSec = 5; + }; + }; + + services.etcd = { + clientCertAuth = mkDefault true; + peerClientCertAuth = mkDefault true; + listenClientUrls = mkDefault ["https://0.0.0.0:2379"]; + listenPeerUrls = mkDefault ["https://0.0.0.0:2380"]; + advertiseClientUrls = mkDefault ["https://${top.masterAddress}:2379"]; + initialCluster = mkDefault ["${top.masterAddress}=https://${top.masterAddress}:2380"]; + name = top.masterAddress; + initialAdvertisePeerUrls = mkDefault ["https://${top.masterAddress}:2380"]; + }; + + services.kubernetes.addonManager.bootstrapAddons = mkIf isRBACEnabled { + + apiserver-kubelet-api-admin-crb = { + apiVersion = "rbac.authorization.k8s.io/v1"; + kind = "ClusterRoleBinding"; + metadata = { + name = "system:kube-apiserver:kubelet-api-admin"; + }; + roleRef = { + apiGroup = "rbac.authorization.k8s.io"; + kind = "ClusterRole"; + name = "system:kubelet-api-admin"; + }; + subjects = [{ + kind = "User"; + name = "system:kube-apiserver"; + }]; + }; + + }; + + services.kubernetes.pki.certs = with top.lib; { + apiServer = mkCert { + name = "kube-apiserver"; + CN = "kubernetes"; + hosts = [ + "kubernetes.default.svc" + "kubernetes.default.svc.${top.addons.dns.clusterDomain}" + cfg.advertiseAddress + top.masterAddress + apiserverServiceIP + "127.0.0.1" + ] ++ cfg.extraSANs; + action = "systemctl restart kube-apiserver.service"; + }; + apiserverKubeletClient = mkCert { + name = "kube-apiserver-kubelet-client"; + CN = "system:kube-apiserver"; + action = "systemctl restart kube-apiserver.service"; + }; + apiserverEtcdClient = mkCert { + name = "kube-apiserver-etcd-client"; + CN = "etcd-client"; + action = "systemctl restart kube-apiserver.service"; + }; + clusterAdmin = mkCert { + name = "cluster-admin"; + CN = "cluster-admin"; + fields = { + O = "system:masters"; + }; + privateKeyOwner = "root"; + }; + etcd = mkCert { + name = "etcd"; + CN = top.masterAddress; + hosts = [ + "etcd.local" + "etcd.${top.addons.dns.clusterDomain}" + top.masterAddress + cfg.advertiseAddress + ]; + privateKeyOwner = "etcd"; + action = "systemctl restart etcd.service"; + }; + }; + + }) + + ]; + +} diff --git a/nixos/modules/services/cluster/kubernetes/controller-manager.nix b/nixos/modules/services/cluster/kubernetes/controller-manager.nix new file mode 100644 index 00000000000..dff97f144d5 --- /dev/null +++ b/nixos/modules/services/cluster/kubernetes/controller-manager.nix @@ -0,0 +1,162 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + top = config.services.kubernetes; + cfg = top.controllerManager; +in +{ + ###### interface + options.services.kubernetes.controllerManager = with lib.types; { + + allocateNodeCIDRs = mkOption { + description = "Whether to automatically allocate CIDR ranges for cluster nodes."; + default = true; + type = bool; + }; + + bindAddress = mkOption { + description = "Kubernetes controller manager listening address."; + default = "127.0.0.1"; + type = str; + }; + + clusterCidr = mkOption { + description = "Kubernetes CIDR Range for Pods in cluster."; + default = top.clusterCidr; + type = str; + }; + + enable = mkEnableOption "Kubernetes controller manager."; + + extraOpts = mkOption { + description = "Kubernetes controller manager extra command line options."; + default = ""; + type = str; + }; + + featureGates = mkOption { + description = "List set of feature gates"; + default = top.featureGates; + type = listOf str; + }; + + insecurePort = mkOption { + description = "Kubernetes controller manager insecure listening port."; + default = 0; + type = int; + }; + + kubeconfig = top.lib.mkKubeConfigOptions "Kubernetes controller manager"; + + leaderElect = mkOption { + description = "Whether to start leader election before executing main loop."; + type = bool; + default = true; + }; + + rootCaFile = mkOption { + description = '' + Kubernetes controller manager certificate authority file included in + service account's token secret. + ''; + default = top.caFile; + type = nullOr path; + }; + + securePort = mkOption { + description = "Kubernetes controller manager secure listening port."; + default = 10252; + type = int; + }; + + serviceAccountKeyFile = mkOption { + description = '' + Kubernetes controller manager PEM-encoded private RSA key file used to + sign service account tokens + ''; + default = null; + type = nullOr path; + }; + + tlsCertFile = mkOption { + description = "Kubernetes controller-manager certificate file."; + default = null; + type = nullOr path; + }; + + tlsKeyFile = mkOption { + description = "Kubernetes controller-manager private key file."; + default = null; + type = nullOr path; + }; + + verbosity = mkOption { + description = '' + Optional glog verbosity level for logging statements. See + + ''; + default = null; + type = nullOr int; + }; + + }; + + ###### implementation + config = mkIf cfg.enable { + systemd.services.kube-controller-manager = { + description = "Kubernetes Controller Manager Service"; + wantedBy = [ "kubernetes.target" ]; + after = [ "kube-apiserver.service" ]; + serviceConfig = { + RestartSec = "30s"; + Restart = "on-failure"; + Slice = "kubernetes.slice"; + ExecStart = ''${top.package}/bin/kube-controller-manager \ + --allocate-node-cidrs=${boolToString cfg.allocateNodeCIDRs} \ + --bind-address=${cfg.bindAddress} \ + ${optionalString (cfg.clusterCidr!=null) + "--cluster-cidr=${cfg.clusterCidr}"} \ + ${optionalString (cfg.featureGates != []) + "--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.featureGates}"} \ + --kubeconfig=${top.lib.mkKubeConfig "kube-controller-manager" cfg.kubeconfig} \ + --leader-elect=${boolToString cfg.leaderElect} \ + ${optionalString (cfg.rootCaFile!=null) + "--root-ca-file=${cfg.rootCaFile}"} \ + --port=${toString cfg.insecurePort} \ + --secure-port=${toString cfg.securePort} \ + ${optionalString (cfg.serviceAccountKeyFile!=null) + "--service-account-private-key-file=${cfg.serviceAccountKeyFile}"} \ + ${optionalString (cfg.tlsCertFile!=null) + "--tls-cert-file=${cfg.tlsCertFile}"} \ + ${optionalString (cfg.tlsKeyFile!=null) + "--tls-key-file=${cfg.tlsKeyFile}"} \ + ${optionalString (elem "RBAC" top.apiserver.authorizationMode) + "--use-service-account-credentials"} \ + ${optionalString (cfg.verbosity != null) "--v=${toString cfg.verbosity}"} \ + ${cfg.extraOpts} + ''; + WorkingDirectory = top.dataDir; + User = "kubernetes"; + Group = "kubernetes"; + }; + path = top.path; + }; + + services.kubernetes.pki.certs = with top.lib; { + controllerManager = mkCert { + name = "kube-controller-manager"; + CN = "kube-controller-manager"; + action = "systemctl restart kube-controller-manager.service"; + }; + controllerManagerClient = mkCert { + name = "kube-controller-manager-client"; + CN = "system:kube-controller-manager"; + action = "systemctl restart kube-controller-manager.service"; + }; + }; + + services.kubernetes.controllerManager.kubeconfig.server = mkDefault top.apiserverAddress; + }; +} diff --git a/nixos/modules/services/cluster/kubernetes/default.nix b/nixos/modules/services/cluster/kubernetes/default.nix index 6f3c45b29bf..375e33e91b5 100644 --- a/nixos/modules/services/cluster/kubernetes/default.nix +++ b/nixos/modules/services/cluster/kubernetes/default.nix @@ -5,74 +5,52 @@ with lib; let cfg = config.services.kubernetes; - # YAML config; see: - # https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/ - # https://github.com/kubernetes/kubernetes/blob/release-1.10/pkg/kubelet/apis/kubeletconfig/v1beta1/types.go - # - # TODO: migrate the following flags to this config file - # - # --pod-manifest-path - # --address - # --port - # --tls-cert-file - # --tls-private-key-file - # --client-ca-file - # --authentication-token-webhook - # --authentication-token-webhook-cache-ttl - # --authorization-mode - # --healthz-bind-address - # --healthz-port - # --allow-privileged - # --cluster-dns - # --cluster-domain - # --hairpin-mode - # --feature-gates - kubeletConfig = pkgs.runCommand "kubelet-config.yaml" { } '' - echo > $out ${pkgs.lib.escapeShellArg (builtins.toJSON { - kind = "KubeletConfiguration"; - apiVersion = "kubelet.config.k8s.io/v1beta1"; - ${if cfg.kubelet.applyManifests then "staticPodPath" else null} = - manifests; - })} - ''; - - infraContainer = pkgs.dockerTools.buildImage { - name = "pause"; - tag = "latest"; - contents = cfg.package.pause; - config.Cmd = "/bin/pause"; - }; - - mkKubeConfig = name: cfg: pkgs.writeText "${name}-kubeconfig" (builtins.toJSON { + mkKubeConfig = name: conf: pkgs.writeText "${name}-kubeconfig" (builtins.toJSON { apiVersion = "v1"; kind = "Config"; clusters = [{ name = "local"; cluster.certificate-authority = cfg.caFile; - cluster.server = cfg.server; + cluster.server = conf.server; }]; users = [{ - name = "kubelet"; + inherit name; user = { - client-certificate = cfg.certFile; - client-key = cfg.keyFile; + client-certificate = conf.certFile; + client-key = conf.keyFile; }; }]; contexts = [{ context = { cluster = "local"; - user = "kubelet"; + user = name; }; - current-context = "kubelet-context"; + current-context = "local"; }]; }); + caCert = secret "ca"; + + etcdEndpoints = ["https://${cfg.masterAddress}:2379"]; + + mkCert = { name, CN, hosts ? [], fields ? {}, action ? "", + privateKeyOwner ? "kubernetes" }: rec { + inherit name caCert CN hosts fields action; + cert = secret name; + key = secret "${name}-key"; + privateKeyOptions = { + owner = privateKeyOwner; + group = "nogroup"; + mode = "0600"; + path = key; + }; + }; + + secret = name: "${cfg.secretsPath}/${name}.pem"; + mkKubeConfigOptions = prefix: { server = mkOption { description = "${prefix} kube-apiserver server address."; - default = "http://${if cfg.apiserver.advertiseAddress != null - then cfg.apiserver.advertiseAddress - else "127.0.0.1"}:${toString cfg.apiserver.port}"; type = types.str; }; @@ -101,66 +79,6 @@ let certFile = mkDefault cfg.kubeconfig.certFile; keyFile = mkDefault cfg.kubeconfig.keyFile; }; - - cniConfig = - if cfg.kubelet.cni.config != [] && !(isNull cfg.kubelet.cni.configDir) then - throw "Verbatim CNI-config and CNI configDir cannot both be set." - else if !(isNull cfg.kubelet.cni.configDir) then - cfg.kubelet.cni.configDir - else - (pkgs.buildEnv { - name = "kubernetes-cni-config"; - paths = imap (i: entry: - pkgs.writeTextDir "${toString (10+i)}-${entry.type}.conf" (builtins.toJSON entry) - ) cfg.kubelet.cni.config; - }); - - manifests = pkgs.buildEnv { - name = "kubernetes-manifests"; - paths = mapAttrsToList (name: manifest: - pkgs.writeTextDir "${name}.json" (builtins.toJSON manifest) - ) cfg.kubelet.manifests; - }; - - addons = pkgs.runCommand "kubernetes-addons" { } '' - mkdir -p $out - # since we are mounting the addons to the addon manager, they need to be copied - ${concatMapStringsSep ";" (a: "cp -v ${a}/* $out/") (mapAttrsToList (name: addon: - pkgs.writeTextDir "${name}.json" (builtins.toJSON addon) - ) (cfg.addonManager.addons))} - ''; - - taintOptions = { name, ... }: { - options = { - key = mkOption { - description = "Key of taint."; - default = name; - type = types.str; - }; - value = mkOption { - description = "Value of taint."; - type = types.str; - }; - effect = mkOption { - description = "Effect of taint."; - example = "NoSchedule"; - type = types.enum ["NoSchedule" "PreferNoSchedule" "NoExecute"]; - }; - }; - }; - - taints = concatMapStringsSep "," (v: "${v.key}=${v.value}:${v.effect}") (mapAttrsToList (n: v: v) cfg.kubelet.taints); - - # needed for flannel to pass options to docker - mkDockerOpts = pkgs.runCommand "mk-docker-opts" { - buildInputs = [ pkgs.makeWrapper ]; - } '' - mkdir -p $out - cp ${pkgs.kubernetes.src}/cluster/centos/node/bin/mk-docker-opts.sh $out/mk-docker-opts.sh - - # bashInteractive needed for `compgen` - makeWrapper ${pkgs.bashInteractive}/bin/bash $out/mk-docker-opts --add-flags "$out/mk-docker-opts.sh" - ''; in { ###### interface @@ -170,8 +88,9 @@ in { description = '' Kubernetes role that this machine should take. - Master role will enable etcd, apiserver, scheduler and controller manager - services. Node role will enable etcd, docker, kubelet and proxy services. + Master role will enable etcd, apiserver, scheduler, controller manager + addon manager, flannel and proxy services. + Node role will enable flannel, docker, kubelet and proxy services. ''; default = []; type = types.listOf (types.enum ["master" "node"]); @@ -184,40 +103,17 @@ in { defaultText = "pkgs.kubernetes"; }; - verbose = mkOption { - description = "Kubernetes enable verbose mode for debugging."; - default = false; - type = types.bool; - }; - - etcd = { - servers = mkOption { - description = "List of etcd servers. By default etcd is started, except if this option is changed."; - default = ["http://127.0.0.1:2379"]; - type = types.listOf types.str; - }; - - keyFile = mkOption { - description = "Etcd key file."; - default = null; - type = types.nullOr types.path; - }; - - certFile = mkOption { - description = "Etcd cert file."; - default = null; - type = types.nullOr types.path; - }; - - caFile = mkOption { - description = "Etcd ca file."; - default = cfg.caFile; - type = types.nullOr types.path; - }; - }; - kubeconfig = mkKubeConfigOptions "Default kubeconfig"; + apiserverAddress = mkOption { + description = '' + Clusterwide accessible address for the kubernetes apiserver, + including protocol and optional port. + ''; + example = "https://kubernetes-apiserver.example.com:6443"; + type = types.str; + }; + caFile = mkOption { description = "Default kubernetes certificate authority"; type = types.nullOr types.path; @@ -230,549 +126,22 @@ in { type = types.path; }; + easyCerts = mkOption { + description = "Automatically setup x509 certificates and keys for the entire cluster."; + default = false; + type = types.bool; + }; + featureGates = mkOption { - description = "List set of feature gates"; + description = "List set of feature gates."; default = []; type = types.listOf types.str; }; - apiserver = { - enable = mkOption { - description = "Whether to enable Kubernetes apiserver."; - default = false; - type = types.bool; - }; - - featureGates = mkOption { - description = "List set of feature gates"; - default = cfg.featureGates; - type = types.listOf types.str; - }; - - bindAddress = mkOption { - description = '' - The IP address on which to listen for the --secure-port port. - The associated interface(s) must be reachable by the rest - of the cluster, and by CLI/web clients. - ''; - default = "0.0.0.0"; - type = types.str; - }; - - advertiseAddress = mkOption { - description = '' - Kubernetes apiserver IP address on which to advertise the apiserver - to members of the cluster. This address must be reachable by the rest - of the cluster. - ''; - default = null; - type = types.nullOr types.str; - }; - - storageBackend = mkOption { - description = '' - Kubernetes apiserver storage backend. - ''; - default = "etcd3"; - type = types.enum ["etcd2" "etcd3"]; - }; - - port = mkOption { - description = "Kubernetes apiserver listening port."; - default = 8080; - type = types.int; - }; - - securePort = mkOption { - description = "Kubernetes apiserver secure port."; - default = 443; - type = types.int; - }; - - tlsCertFile = mkOption { - description = "Kubernetes apiserver certificate file."; - default = null; - type = types.nullOr types.path; - }; - - tlsKeyFile = mkOption { - description = "Kubernetes apiserver private key file."; - default = null; - type = types.nullOr types.path; - }; - - clientCaFile = mkOption { - description = "Kubernetes apiserver CA file for client auth."; - default = cfg.caFile; - type = types.nullOr types.path; - }; - - tokenAuthFile = mkOption { - description = '' - Kubernetes apiserver token authentication file. See - - ''; - default = null; - type = types.nullOr types.path; - }; - - basicAuthFile = mkOption { - description = '' - Kubernetes apiserver basic authentication file. See - - ''; - default = pkgs.writeText "users" '' - kubernetes,admin,0 - ''; - type = types.nullOr types.path; - }; - - authorizationMode = mkOption { - description = '' - Kubernetes apiserver authorization mode (AlwaysAllow/AlwaysDeny/ABAC/Webhook/RBAC/Node). See - - ''; - default = ["RBAC" "Node"]; - type = types.listOf (types.enum ["AlwaysAllow" "AlwaysDeny" "ABAC" "Webhook" "RBAC" "Node"]); - }; - - authorizationPolicy = mkOption { - description = '' - Kubernetes apiserver authorization policy file. See - - ''; - default = []; - type = types.listOf types.attrs; - }; - - webhookConfig = mkOption { - description = '' - Kubernetes apiserver Webhook config file. It uses the kubeconfig file format. - See - ''; - default = null; - type = types.nullOr types.path; - }; - - allowPrivileged = mkOption { - description = "Whether to allow privileged containers on Kubernetes."; - default = true; - type = types.bool; - }; - - serviceClusterIpRange = mkOption { - description = '' - A CIDR notation IP range from which to assign service cluster IPs. - This must not overlap with any IP ranges assigned to nodes for pods. - ''; - default = "10.0.0.0/24"; - type = types.str; - }; - - runtimeConfig = mkOption { - description = '' - Api runtime configuration. See - - ''; - default = "authentication.k8s.io/v1beta1=true"; - example = "api/all=false,api/v1=true"; - type = types.str; - }; - - enableAdmissionPlugins = mkOption { - description = '' - Kubernetes admission control plugins to enable. See - - ''; - default = ["NamespaceLifecycle" "LimitRanger" "ServiceAccount" "ResourceQuota" "DefaultStorageClass" "DefaultTolerationSeconds" "NodeRestriction"]; - example = [ - "NamespaceLifecycle" "NamespaceExists" "LimitRanger" - "SecurityContextDeny" "ServiceAccount" "ResourceQuota" - "PodSecurityPolicy" "NodeRestriction" "DefaultStorageClass" - ]; - type = types.listOf types.str; - }; - - disableAdmissionPlugins = mkOption { - description = '' - Kubernetes admission control plugins to disable. See - - ''; - default = []; - type = types.listOf types.str; - }; - - serviceAccountKeyFile = mkOption { - description = '' - Kubernetes apiserver PEM-encoded x509 RSA private or public key file, - used to verify ServiceAccount tokens. By default tls private key file - is used. - ''; - default = null; - type = types.nullOr types.path; - }; - - kubeletClientCaFile = mkOption { - description = "Path to a cert file for connecting to kubelet."; - default = cfg.caFile; - type = types.nullOr types.path; - }; - - kubeletClientCertFile = mkOption { - description = "Client certificate to use for connections to kubelet."; - default = null; - type = types.nullOr types.path; - }; - - kubeletClientKeyFile = mkOption { - description = "Key to use for connections to kubelet."; - default = null; - type = types.nullOr types.path; - }; - - kubeletHttps = mkOption { - description = "Whether to use https for connections to kubelet."; - default = true; - type = types.bool; - }; - - extraOpts = mkOption { - description = "Kubernetes apiserver extra command line options."; - default = ""; - type = types.str; - }; - }; - - scheduler = { - enable = mkOption { - description = "Whether to enable Kubernetes scheduler."; - default = false; - type = types.bool; - }; - - featureGates = mkOption { - description = "List set of feature gates"; - default = cfg.featureGates; - type = types.listOf types.str; - }; - - address = mkOption { - description = "Kubernetes scheduler listening address."; - default = "127.0.0.1"; - type = types.str; - }; - - port = mkOption { - description = "Kubernetes scheduler listening port."; - default = 10251; - type = types.int; - }; - - leaderElect = mkOption { - description = "Whether to start leader election before executing main loop."; - type = types.bool; - default = true; - }; - - kubeconfig = mkKubeConfigOptions "Kubernetes scheduler"; - - extraOpts = mkOption { - description = "Kubernetes scheduler extra command line options."; - default = ""; - type = types.str; - }; - }; - - controllerManager = { - enable = mkOption { - description = "Whether to enable Kubernetes controller manager."; - default = false; - type = types.bool; - }; - - featureGates = mkOption { - description = "List set of feature gates"; - default = cfg.featureGates; - type = types.listOf types.str; - }; - - address = mkOption { - description = "Kubernetes controller manager listening address."; - default = "127.0.0.1"; - type = types.str; - }; - - port = mkOption { - description = "Kubernetes controller manager listening port."; - default = 10252; - type = types.int; - }; - - leaderElect = mkOption { - description = "Whether to start leader election before executing main loop."; - type = types.bool; - default = true; - }; - - serviceAccountKeyFile = mkOption { - description = '' - Kubernetes controller manager PEM-encoded private RSA key file used to - sign service account tokens - ''; - default = null; - type = types.nullOr types.path; - }; - - rootCaFile = mkOption { - description = '' - Kubernetes controller manager certificate authority file included in - service account's token secret. - ''; - default = cfg.caFile; - type = types.nullOr types.path; - }; - - kubeconfig = mkKubeConfigOptions "Kubernetes controller manager"; - - extraOpts = mkOption { - description = "Kubernetes controller manager extra command line options."; - default = ""; - type = types.str; - }; - }; - - kubelet = { - enable = mkOption { - description = "Whether to enable Kubernetes kubelet."; - default = false; - type = types.bool; - }; - - featureGates = mkOption { - description = "List set of feature gates"; - default = cfg.featureGates; - type = types.listOf types.str; - }; - - seedDockerImages = mkOption { - description = "List of docker images to preload on system"; - default = []; - type = types.listOf types.package; - }; - - registerNode = mkOption { - description = "Whether to auto register kubelet with API server."; - default = true; - type = types.bool; - }; - - address = mkOption { - description = "Kubernetes kubelet info server listening address."; - default = "0.0.0.0"; - type = types.str; - }; - - port = mkOption { - description = "Kubernetes kubelet info server listening port."; - default = 10250; - type = types.int; - }; - - tlsCertFile = mkOption { - description = "File containing x509 Certificate for HTTPS."; - default = null; - type = types.nullOr types.path; - }; - - tlsKeyFile = mkOption { - description = "File containing x509 private key matching tlsCertFile."; - default = null; - type = types.nullOr types.path; - }; - - clientCaFile = mkOption { - description = "Kubernetes apiserver CA file for client authentication."; - default = cfg.caFile; - type = types.nullOr types.path; - }; - - healthz = { - bind = mkOption { - description = "Kubernetes kubelet healthz listening address."; - default = "127.0.0.1"; - type = types.str; - }; - - port = mkOption { - description = "Kubernetes kubelet healthz port."; - default = 10248; - type = types.int; - }; - }; - - hostname = mkOption { - description = "Kubernetes kubelet hostname override."; - default = config.networking.hostName; - type = types.str; - }; - - allowPrivileged = mkOption { - description = "Whether to allow Kubernetes containers to request privileged mode."; - default = true; - type = types.bool; - }; - - clusterDns = mkOption { - description = "Use alternative DNS."; - default = "10.1.0.1"; - type = types.str; - }; - - clusterDomain = mkOption { - description = "Use alternative domain."; - default = config.services.kubernetes.addons.dns.clusterDomain; - type = types.str; - }; - - networkPlugin = mkOption { - description = "Network plugin to use by Kubernetes."; - type = types.nullOr (types.enum ["cni" "kubenet"]); - default = "kubenet"; - }; - - cni = { - packages = mkOption { - description = "List of network plugin packages to install."; - type = types.listOf types.package; - default = []; - }; - - config = mkOption { - description = "Kubernetes CNI configuration."; - type = types.listOf types.attrs; - default = []; - example = literalExample '' - [{ - "cniVersion": "0.2.0", - "name": "mynet", - "type": "bridge", - "bridge": "cni0", - "isGateway": true, - "ipMasq": true, - "ipam": { - "type": "host-local", - "subnet": "10.22.0.0/16", - "routes": [ - { "dst": "0.0.0.0/0" } - ] - } - } { - "cniVersion": "0.2.0", - "type": "loopback" - }] - ''; - }; - - configDir = mkOption { - description = "Path to Kubernetes CNI configuration directory."; - type = types.nullOr types.path; - default = null; - }; - }; - - manifests = mkOption { - description = "List of manifests to bootstrap with kubelet (only pods can be created as manifest entry)"; - type = types.attrsOf types.attrs; - default = {}; - }; - - applyManifests = mkOption { - description = "Whether to apply manifests (this is true for master node)."; - default = false; - type = types.bool; - }; - - unschedulable = mkOption { - description = "Whether to set node taint to unschedulable=true as it is the case of node that has only master role."; - default = false; - type = types.bool; - }; - - taints = mkOption { - description = "Node taints (https://kubernetes.io/docs/concepts/configuration/assign-pod-node/)."; - default = {}; - type = types.attrsOf (types.submodule [ taintOptions ]); - }; - - nodeIp = mkOption { - description = "IP address of the node. If set, kubelet will use this IP address for the node."; - default = null; - type = types.nullOr types.str; - }; - - kubeconfig = mkKubeConfigOptions "Kubelet"; - - extraOpts = mkOption { - description = "Kubernetes kubelet extra command line options."; - default = ""; - type = types.str; - }; - }; - - proxy = { - enable = mkOption { - description = "Whether to enable Kubernetes proxy."; - default = false; - type = types.bool; - }; - - featureGates = mkOption { - description = "List set of feature gates"; - default = cfg.featureGates; - type = types.listOf types.str; - }; - - address = mkOption { - description = "Kubernetes proxy listening address."; - default = "0.0.0.0"; - type = types.str; - }; - - kubeconfig = mkKubeConfigOptions "Kubernetes proxy"; - - extraOpts = mkOption { - description = "Kubernetes proxy extra command line options."; - default = ""; - type = types.str; - }; - }; - - addonManager = { - enable = mkOption { - description = "Whether to enable Kubernetes addon manager."; - default = false; - type = types.bool; - }; - - addons = mkOption { - description = "Kubernetes addons (any kind of Kubernetes resource can be an addon)."; - default = { }; - type = types.attrsOf (types.either types.attrs (types.listOf types.attrs)); - example = literalExample '' - { - "my-service" = { - "apiVersion" = "v1"; - "kind" = "Service"; - "metadata" = { - "name" = "my-service"; - "namespace" = "default"; - }; - "spec" = { ... }; - }; - } - // import { cfg = config.services.kubernetes; }; - ''; - }; + masterAddress = mkOption { + description = "Clusterwide available network address or hostname for the kubernetes master server."; + example = "master.example.com"; + type = types.str; }; path = mkOption { @@ -787,304 +156,75 @@ in { type = types.nullOr types.str; }; - flannel.enable = mkOption { - description = "Whether to enable flannel networking"; - default = false; - type = types.bool; + lib = mkOption { + description = "Common functions for the kubernetes modules."; + default = { + inherit mkCert; + inherit mkKubeConfig; + inherit mkKubeConfigOptions; + }; + type = types.attrs; }; + secretsPath = mkOption { + description = "Default location for kubernetes secrets. Not a store location."; + type = types.path; + default = cfg.dataDir + "/secrets"; + }; }; ###### implementation config = mkMerge [ - (mkIf cfg.kubelet.enable { - services.kubernetes.kubelet.seedDockerImages = [infraContainer]; - systemd.services.kubelet-bootstrap = { - description = "Boostrap Kubelet"; - wantedBy = ["kubernetes.target"]; - after = ["docker.service" "network.target"]; - path = with pkgs; [ docker ]; - script = '' - ${concatMapStrings (img: '' - echo "Seeding docker image: ${img}" - docker load <${img} - '') cfg.kubelet.seedDockerImages} - - rm /opt/cni/bin/* || true - ${concatMapStrings (package: '' - echo "Linking cni package: ${package}" - ln -fs ${package}/bin/* /opt/cni/bin - '') cfg.kubelet.cni.packages} - ''; - serviceConfig = { - Slice = "kubernetes.slice"; - Type = "oneshot"; - }; - }; - - systemd.services.kubelet = { - description = "Kubernetes Kubelet Service"; - wantedBy = [ "kubernetes.target" ]; - after = [ "network.target" "docker.service" "kube-apiserver.service" "kubelet-bootstrap.service" ]; - path = with pkgs; [ gitMinimal openssh docker utillinux iproute ethtool thin-provisioning-tools iptables socat ] ++ cfg.path; - serviceConfig = { - Slice = "kubernetes.slice"; - CPUAccounting = true; - MemoryAccounting = true; - ExecStart = ''${cfg.package}/bin/kubelet \ - ${optionalString (taints != "") - "--register-with-taints=${taints}"} \ - --kubeconfig=${mkKubeConfig "kubelet" cfg.kubelet.kubeconfig} \ - --config=${kubeletConfig} \ - --address=${cfg.kubelet.address} \ - --port=${toString cfg.kubelet.port} \ - --register-node=${boolToString cfg.kubelet.registerNode} \ - ${optionalString (cfg.kubelet.tlsCertFile != null) - "--tls-cert-file=${cfg.kubelet.tlsCertFile}"} \ - ${optionalString (cfg.kubelet.tlsKeyFile != null) - "--tls-private-key-file=${cfg.kubelet.tlsKeyFile}"} \ - ${optionalString (cfg.kubelet.clientCaFile != null) - "--client-ca-file=${cfg.kubelet.clientCaFile}"} \ - --authentication-token-webhook \ - --authentication-token-webhook-cache-ttl="10s" \ - --authorization-mode=Webhook \ - --healthz-bind-address=${cfg.kubelet.healthz.bind} \ - --healthz-port=${toString cfg.kubelet.healthz.port} \ - --hostname-override=${cfg.kubelet.hostname} \ - --allow-privileged=${boolToString cfg.kubelet.allowPrivileged} \ - --root-dir=${cfg.dataDir} \ - ${optionalString (cfg.kubelet.clusterDns != "") - "--cluster-dns=${cfg.kubelet.clusterDns}"} \ - ${optionalString (cfg.kubelet.clusterDomain != "") - "--cluster-domain=${cfg.kubelet.clusterDomain}"} \ - --pod-infra-container-image=pause \ - ${optionalString (cfg.kubelet.networkPlugin != null) - "--network-plugin=${cfg.kubelet.networkPlugin}"} \ - --cni-conf-dir=${cniConfig} \ - --hairpin-mode=hairpin-veth \ - ${optionalString (cfg.kubelet.nodeIp != null) - "--node-ip=${cfg.kubelet.nodeIp}"} \ - ${optionalString (cfg.kubelet.featureGates != []) - "--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.kubelet.featureGates}"} \ - ${optionalString cfg.verbose "--v=6 --log_flush_frequency=1s"} \ - ${cfg.kubelet.extraOpts} - ''; - WorkingDirectory = cfg.dataDir; - }; - }; - - # Allways include cni plugins - services.kubernetes.kubelet.cni.packages = [pkgs.cni-plugins]; - - boot.kernelModules = ["br_netfilter"]; - - services.kubernetes.kubelet.kubeconfig = kubeConfigDefaults; + (mkIf cfg.easyCerts { + services.kubernetes.pki.enable = mkDefault true; + services.kubernetes.caFile = caCert; }) - (mkIf (cfg.kubelet.applyManifests && cfg.kubelet.enable) { - environment.etc = mapAttrs' (name: manifest: - nameValuePair "kubernetes/manifests/${name}.json" { - text = builtins.toJSON manifest; - mode = "0755"; - } - ) cfg.kubelet.manifests; - }) - - (mkIf (cfg.kubelet.unschedulable && cfg.kubelet.enable) { - services.kubernetes.kubelet.taints.unschedulable = { - value = "true"; - effect = "NoSchedule"; - }; - }) - - (mkIf cfg.apiserver.enable { - systemd.services.kube-apiserver = { - description = "Kubernetes APIServer Service"; - wantedBy = [ "kubernetes.target" ]; - after = [ "network.target" "docker.service" ]; - serviceConfig = { - Slice = "kubernetes.slice"; - ExecStart = ''${cfg.package}/bin/kube-apiserver \ - --etcd-servers=${concatStringsSep "," cfg.etcd.servers} \ - ${optionalString (cfg.etcd.caFile != null) - "--etcd-cafile=${cfg.etcd.caFile}"} \ - ${optionalString (cfg.etcd.certFile != null) - "--etcd-certfile=${cfg.etcd.certFile}"} \ - ${optionalString (cfg.etcd.keyFile != null) - "--etcd-keyfile=${cfg.etcd.keyFile}"} \ - --insecure-port=${toString cfg.apiserver.port} \ - --bind-address=${cfg.apiserver.bindAddress} \ - ${optionalString (cfg.apiserver.advertiseAddress != null) - "--advertise-address=${cfg.apiserver.advertiseAddress}"} \ - --allow-privileged=${boolToString cfg.apiserver.allowPrivileged}\ - ${optionalString (cfg.apiserver.tlsCertFile != null) - "--tls-cert-file=${cfg.apiserver.tlsCertFile}"} \ - ${optionalString (cfg.apiserver.tlsKeyFile != null) - "--tls-private-key-file=${cfg.apiserver.tlsKeyFile}"} \ - ${optionalString (cfg.apiserver.tokenAuthFile != null) - "--token-auth-file=${cfg.apiserver.tokenAuthFile}"} \ - ${optionalString (cfg.apiserver.basicAuthFile != null) - "--basic-auth-file=${cfg.apiserver.basicAuthFile}"} \ - --kubelet-https=${if cfg.apiserver.kubeletHttps then "true" else "false"} \ - ${optionalString (cfg.apiserver.kubeletClientCaFile != null) - "--kubelet-certificate-authority=${cfg.apiserver.kubeletClientCaFile}"} \ - ${optionalString (cfg.apiserver.kubeletClientCertFile != null) - "--kubelet-client-certificate=${cfg.apiserver.kubeletClientCertFile}"} \ - ${optionalString (cfg.apiserver.kubeletClientKeyFile != null) - "--kubelet-client-key=${cfg.apiserver.kubeletClientKeyFile}"} \ - ${optionalString (cfg.apiserver.clientCaFile != null) - "--client-ca-file=${cfg.apiserver.clientCaFile}"} \ - --authorization-mode=${concatStringsSep "," cfg.apiserver.authorizationMode} \ - ${optionalString (elem "ABAC" cfg.apiserver.authorizationMode) - "--authorization-policy-file=${ - pkgs.writeText "kube-auth-policy.jsonl" - (concatMapStringsSep "\n" (l: builtins.toJSON l) cfg.apiserver.authorizationPolicy) - }" - } \ - ${optionalString (elem "Webhook" cfg.apiserver.authorizationMode) - "--authorization-webhook-config-file=${cfg.apiserver.webhookConfig}" - } \ - --secure-port=${toString cfg.apiserver.securePort} \ - --service-cluster-ip-range=${cfg.apiserver.serviceClusterIpRange} \ - ${optionalString (cfg.apiserver.runtimeConfig != "") - "--runtime-config=${cfg.apiserver.runtimeConfig}"} \ - --enable-admission-plugins=${concatStringsSep "," cfg.apiserver.enableAdmissionPlugins} \ - --disable-admission-plugins=${concatStringsSep "," cfg.apiserver.disableAdmissionPlugins} \ - ${optionalString (cfg.apiserver.serviceAccountKeyFile!=null) - "--service-account-key-file=${cfg.apiserver.serviceAccountKeyFile}"} \ - ${optionalString cfg.verbose "--v=6"} \ - ${optionalString cfg.verbose "--log-flush-frequency=1s"} \ - --storage-backend=${cfg.apiserver.storageBackend} \ - ${optionalString (cfg.kubelet.featureGates != []) - "--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.kubelet.featureGates}"} \ - ${cfg.apiserver.extraOpts} - ''; - WorkingDirectory = cfg.dataDir; - User = "kubernetes"; - Group = "kubernetes"; - AmbientCapabilities = "cap_net_bind_service"; - Restart = "on-failure"; - RestartSec = 5; - }; - }; - }) - - (mkIf cfg.scheduler.enable { - systemd.services.kube-scheduler = { - description = "Kubernetes Scheduler Service"; - wantedBy = [ "kubernetes.target" ]; - after = [ "kube-apiserver.service" ]; - serviceConfig = { - Slice = "kubernetes.slice"; - ExecStart = ''${cfg.package}/bin/kube-scheduler \ - --address=${cfg.scheduler.address} \ - --port=${toString cfg.scheduler.port} \ - --leader-elect=${boolToString cfg.scheduler.leaderElect} \ - --kubeconfig=${mkKubeConfig "kube-scheduler" cfg.scheduler.kubeconfig} \ - ${optionalString cfg.verbose "--v=6"} \ - ${optionalString cfg.verbose "--log-flush-frequency=1s"} \ - ${optionalString (cfg.scheduler.featureGates != []) - "--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.scheduler.featureGates}"} \ - ${cfg.scheduler.extraOpts} - ''; - WorkingDirectory = cfg.dataDir; - User = "kubernetes"; - Group = "kubernetes"; - }; - }; - - services.kubernetes.scheduler.kubeconfig = kubeConfigDefaults; - }) - - (mkIf cfg.controllerManager.enable { - systemd.services.kube-controller-manager = { - description = "Kubernetes Controller Manager Service"; - wantedBy = [ "kubernetes.target" ]; - after = [ "kube-apiserver.service" ]; - serviceConfig = { - RestartSec = "30s"; - Restart = "on-failure"; - Slice = "kubernetes.slice"; - ExecStart = ''${cfg.package}/bin/kube-controller-manager \ - --address=${cfg.controllerManager.address} \ - --port=${toString cfg.controllerManager.port} \ - --kubeconfig=${mkKubeConfig "kube-controller-manager" cfg.controllerManager.kubeconfig} \ - --leader-elect=${boolToString cfg.controllerManager.leaderElect} \ - ${if (cfg.controllerManager.serviceAccountKeyFile!=null) - then "--service-account-private-key-file=${cfg.controllerManager.serviceAccountKeyFile}" - else "--service-account-private-key-file=/var/run/kubernetes/apiserver.key"} \ - ${if (cfg.controllerManager.rootCaFile!=null) - then "--root-ca-file=${cfg.controllerManager.rootCaFile}" - else "--root-ca-file=/var/run/kubernetes/apiserver.crt"} \ - ${if (cfg.clusterCidr!=null) - then "--cluster-cidr=${cfg.clusterCidr} --allocate-node-cidrs=true" - else "--allocate-node-cidrs=false"} \ - ${optionalString (cfg.controllerManager.featureGates != []) - "--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.controllerManager.featureGates}"} \ - ${optionalString cfg.verbose "--v=6"} \ - ${optionalString cfg.verbose "--log-flush-frequency=1s"} \ - ${cfg.controllerManager.extraOpts} - ''; - WorkingDirectory = cfg.dataDir; - User = "kubernetes"; - Group = "kubernetes"; - }; - path = cfg.path; - }; - - services.kubernetes.controllerManager.kubeconfig = kubeConfigDefaults; - }) - - (mkIf cfg.proxy.enable { - systemd.services.kube-proxy = { - description = "Kubernetes Proxy Service"; - wantedBy = [ "kubernetes.target" ]; - after = [ "kube-apiserver.service" ]; - path = [pkgs.iptables pkgs.conntrack_tools]; - serviceConfig = { - Slice = "kubernetes.slice"; - ExecStart = ''${cfg.package}/bin/kube-proxy \ - --kubeconfig=${mkKubeConfig "kube-proxy" cfg.proxy.kubeconfig} \ - --bind-address=${cfg.proxy.address} \ - ${optionalString (cfg.proxy.featureGates != []) - "--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.proxy.featureGates}"} \ - ${optionalString cfg.verbose "--v=6"} \ - ${optionalString cfg.verbose "--log-flush-frequency=1s"} \ - ${optionalString (cfg.clusterCidr!=null) - "--cluster-cidr=${cfg.clusterCidr}"} \ - ${cfg.proxy.extraOpts} - ''; - WorkingDirectory = cfg.dataDir; - }; - }; - - # kube-proxy needs iptables - networking.firewall.enable = mkDefault true; - - services.kubernetes.proxy.kubeconfig = kubeConfigDefaults; - }) - - (mkIf (any (el: el == "master") cfg.roles) { - virtualisation.docker.enable = mkDefault true; - services.kubernetes.kubelet.enable = mkDefault true; - services.kubernetes.kubelet.allowPrivileged = mkDefault true; - services.kubernetes.kubelet.applyManifests = mkDefault true; + (mkIf (elem "master" cfg.roles) { services.kubernetes.apiserver.enable = mkDefault true; services.kubernetes.scheduler.enable = mkDefault true; services.kubernetes.controllerManager.enable = mkDefault true; - services.etcd.enable = mkDefault (cfg.etcd.servers == ["http://127.0.0.1:2379"]); services.kubernetes.addonManager.enable = mkDefault true; services.kubernetes.proxy.enable = mkDefault true; + services.etcd.enable = true; # Cannot mkDefault because of flannel default options + services.kubernetes.kubelet = { + enable = mkDefault true; + taints = mkIf (!(elem "node" cfg.roles)) { + master = { + key = "node-role.kubernetes.io/master"; + value = "true"; + effect = "NoSchedule"; + }; + }; + }; }) - # if this node is only a master make it unschedulable by default + (mkIf (all (el: el == "master") cfg.roles) { + # if this node is only a master make it unschedulable by default services.kubernetes.kubelet.unschedulable = mkDefault true; }) - (mkIf (any (el: el == "node") cfg.roles) { + (mkIf (elem "node" cfg.roles) { + services.kubernetes.kubelet.enable = mkDefault true; + services.kubernetes.proxy.enable = mkDefault true; + }) + + # Using "services.kubernetes.roles" will automatically enable easyCerts and flannel + (mkIf (cfg.roles != []) { + services.kubernetes.flannel.enable = mkDefault true; + services.flannel.etcd.endpoints = mkDefault etcdEndpoints; + services.kubernetes.easyCerts = mkDefault true; + }) + + (mkIf cfg.apiserver.enable { + services.kubernetes.pki.etcClusterAdminKubeconfig = mkDefault "kubernetes/cluster-admin.kubeconfig"; + services.kubernetes.apiserver.etcd.servers = mkDefault etcdEndpoints; + }) + + (mkIf cfg.kubelet.enable { virtualisation.docker = { enable = mkDefault true; @@ -1094,26 +234,18 @@ in { # iptables must be disabled for kubernetes extraOptions = "--iptables=false --ip-masq=false"; }; - - services.kubernetes.kubelet.enable = mkDefault true; - services.kubernetes.proxy.enable = mkDefault true; }) - (mkIf cfg.addonManager.enable { - environment.etc."kubernetes/addons".source = "${addons}/"; - - systemd.services.kube-addon-manager = { - description = "Kubernetes addon manager"; - wantedBy = [ "kubernetes.target" ]; - after = [ "kube-apiserver.service" ]; - environment.ADDON_PATH = "/etc/kubernetes/addons/"; - path = [ pkgs.gawk ]; - serviceConfig = { - Slice = "kubernetes.slice"; - ExecStart = "${cfg.package}/bin/kube-addons"; - WorkingDirectory = cfg.dataDir; - User = "kubernetes"; - Group = "kubernetes"; + (mkIf (cfg.apiserver.enable || cfg.controllerManager.enable) { + services.kubernetes.pki.certs = { + serviceAccount = mkCert { + name = "service-account"; + CN = "system:service-account-signer"; + action = '' + systemctl reload \ + kube-apiserver.service \ + kube-controller-manager.service + ''; }; }; }) @@ -1123,7 +255,8 @@ in { cfg.scheduler.enable || cfg.controllerManager.enable || cfg.kubelet.enable || - cfg.proxy.enable + cfg.proxy.enable || + cfg.addonManager.enable ) { systemd.targets.kubernetes = { description = "Kubernetes"; @@ -1132,11 +265,10 @@ in { systemd.tmpfiles.rules = [ "d /opt/cni/bin 0755 root root -" - "d /var/run/kubernetes 0755 kubernetes kubernetes -" + "d /run/kubernetes 0755 kubernetes kubernetes -" "d /var/lib/kubernetes 0755 kubernetes kubernetes -" ]; - environment.systemPackages = [ cfg.package ]; users.users = singleton { name = "kubernetes"; uid = config.ids.uids.kubernetes; @@ -1148,53 +280,12 @@ in { }; users.groups.kubernetes.gid = config.ids.gids.kubernetes; - # dns addon is enabled by default + # dns addon is enabled by default services.kubernetes.addons.dns.enable = mkDefault true; - }) - (mkIf cfg.flannel.enable { - services.flannel = { - enable = mkDefault true; - network = mkDefault cfg.clusterCidr; - etcd = mkDefault { - endpoints = cfg.etcd.servers; - inherit (cfg.etcd) caFile certFile keyFile; - }; - }; - - services.kubernetes.kubelet = { - networkPlugin = mkDefault "cni"; - cni.config = mkDefault [{ - name = "mynet"; - type = "flannel"; - delegate = { - isDefaultGateway = true; - bridge = "docker0"; - }; - }]; - }; - - systemd.services."mk-docker-opts" = { - description = "Pre-Docker Actions"; - wantedBy = [ "flannel.service" ]; - before = [ "docker.service" ]; - after = [ "flannel.service" ]; - path = [ pkgs.gawk pkgs.gnugrep ]; - script = '' - mkdir -p /run/flannel - ${mkDockerOpts}/mk-docker-opts -d /run/flannel/docker - ''; - serviceConfig.Type = "oneshot"; - }; - systemd.services.docker.serviceConfig.EnvironmentFile = "/run/flannel/docker"; - - # read environment variables generated by mk-docker-opts - virtualisation.docker.extraOptions = "$DOCKER_OPTS"; - - networking.firewall.allowedUDPPorts = [ - 8285 # flannel udp - 8472 # flannel vxlan - ]; + services.kubernetes.apiserverAddress = mkDefault ("https://${if cfg.apiserver.advertiseAddress != null + then cfg.apiserver.advertiseAddress + else "${cfg.masterAddress}:${toString cfg.apiserver.securePort}"}"); }) ]; } diff --git a/nixos/modules/services/cluster/kubernetes/flannel.nix b/nixos/modules/services/cluster/kubernetes/flannel.nix new file mode 100644 index 00000000000..93ee2fd65ee --- /dev/null +++ b/nixos/modules/services/cluster/kubernetes/flannel.nix @@ -0,0 +1,134 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + top = config.services.kubernetes; + cfg = top.flannel; + + # we want flannel to use kubernetes itself as configuration backend, not direct etcd + storageBackend = "kubernetes"; + + # needed for flannel to pass options to docker + mkDockerOpts = pkgs.runCommand "mk-docker-opts" { + buildInputs = [ pkgs.makeWrapper ]; + } '' + mkdir -p $out + cp ${pkgs.kubernetes.src}/cluster/centos/node/bin/mk-docker-opts.sh $out/mk-docker-opts.sh + + # bashInteractive needed for `compgen` + makeWrapper ${pkgs.bashInteractive}/bin/bash $out/mk-docker-opts --add-flags "$out/mk-docker-opts.sh" + ''; +in +{ + ###### interface + options.services.kubernetes.flannel = { + enable = mkEnableOption "enable flannel networking"; + }; + + ###### implementation + config = mkIf cfg.enable { + services.flannel = { + + enable = mkDefault true; + network = mkDefault top.clusterCidr; + inherit storageBackend; + nodeName = config.services.kubernetes.kubelet.hostname; + }; + + services.kubernetes.kubelet = { + networkPlugin = mkDefault "cni"; + cni.config = mkDefault [{ + name = "mynet"; + type = "flannel"; + delegate = { + isDefaultGateway = true; + bridge = "docker0"; + }; + }]; + }; + + systemd.services."mk-docker-opts" = { + description = "Pre-Docker Actions"; + path = with pkgs; [ gawk gnugrep ]; + script = '' + ${mkDockerOpts}/mk-docker-opts -d /run/flannel/docker + systemctl restart docker + ''; + serviceConfig.Type = "oneshot"; + }; + + systemd.paths."flannel-subnet-env" = { + wantedBy = [ "flannel.service" ]; + pathConfig = { + PathModified = "/run/flannel/subnet.env"; + Unit = "mk-docker-opts.service"; + }; + }; + + systemd.services.docker = { + environment.DOCKER_OPTS = "-b none"; + serviceConfig.EnvironmentFile = "-/run/flannel/docker"; + }; + + # read environment variables generated by mk-docker-opts + virtualisation.docker.extraOptions = "$DOCKER_OPTS"; + + networking = { + firewall.allowedUDPPorts = [ + 8285 # flannel udp + 8472 # flannel vxlan + ]; + dhcpcd.denyInterfaces = [ "docker*" "flannel*" ]; + }; + + services.kubernetes.pki.certs = { + flannelClient = top.lib.mkCert { + name = "flannel-client"; + CN = "flannel-client"; + action = "systemctl restart flannel.service"; + }; + }; + + # give flannel som kubernetes rbac permissions if applicable + services.kubernetes.addonManager.bootstrapAddons = mkIf ((storageBackend == "kubernetes") && (elem "RBAC" top.apiserver.authorizationMode)) { + + flannel-cr = { + apiVersion = "rbac.authorization.k8s.io/v1beta1"; + kind = "ClusterRole"; + metadata = { name = "flannel"; }; + rules = [{ + apiGroups = [ "" ]; + resources = [ "pods" ]; + verbs = [ "get" ]; + } + { + apiGroups = [ "" ]; + resources = [ "nodes" ]; + verbs = [ "list" "watch" ]; + } + { + apiGroups = [ "" ]; + resources = [ "nodes/status" ]; + verbs = [ "patch" ]; + }]; + }; + + flannel-crb = { + apiVersion = "rbac.authorization.k8s.io/v1beta1"; + kind = "ClusterRoleBinding"; + metadata = { name = "flannel"; }; + roleRef = { + apiGroup = "rbac.authorization.k8s.io"; + kind = "ClusterRole"; + name = "flannel"; + }; + subjects = [{ + kind = "User"; + name = "flannel-client"; + }]; + }; + + }; + }; +} diff --git a/nixos/modules/services/cluster/kubernetes/kubelet.nix b/nixos/modules/services/cluster/kubernetes/kubelet.nix new file mode 100644 index 00000000000..c94bb28bf7f --- /dev/null +++ b/nixos/modules/services/cluster/kubernetes/kubelet.nix @@ -0,0 +1,358 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + top = config.services.kubernetes; + cfg = top.kubelet; + + cniConfig = + if cfg.cni.config != [] && !(isNull cfg.cni.configDir) then + throw "Verbatim CNI-config and CNI configDir cannot both be set." + else if !(isNull cfg.cni.configDir) then + cfg.cni.configDir + else + (pkgs.buildEnv { + name = "kubernetes-cni-config"; + paths = imap (i: entry: + pkgs.writeTextDir "${toString (10+i)}-${entry.type}.conf" (builtins.toJSON entry) + ) cfg.cni.config; + }); + + infraContainer = pkgs.dockerTools.buildImage { + name = "pause"; + tag = "latest"; + contents = top.package.pause; + config.Cmd = "/bin/pause"; + }; + + kubeconfig = top.lib.mkKubeConfig "kubelet" cfg.kubeconfig; + + manifests = pkgs.buildEnv { + name = "kubernetes-manifests"; + paths = mapAttrsToList (name: manifest: + pkgs.writeTextDir "${name}.json" (builtins.toJSON manifest) + ) cfg.manifests; + }; + + manifestPath = "kubernetes/manifests"; + + taintOptions = with lib.types; { name, ... }: { + options = { + key = mkOption { + description = "Key of taint."; + default = name; + type = str; + }; + value = mkOption { + description = "Value of taint."; + type = str; + }; + effect = mkOption { + description = "Effect of taint."; + example = "NoSchedule"; + type = enum ["NoSchedule" "PreferNoSchedule" "NoExecute"]; + }; + }; + }; + + taints = concatMapStringsSep "," (v: "${v.key}=${v.value}:${v.effect}") (mapAttrsToList (n: v: v) cfg.taints); +in +{ + ###### interface + options.services.kubernetes.kubelet = with lib.types; { + + address = mkOption { + description = "Kubernetes kubelet info server listening address."; + default = "0.0.0.0"; + type = str; + }; + + allowPrivileged = mkOption { + description = "Whether to allow Kubernetes containers to request privileged mode."; + default = false; + type = bool; + }; + + clusterDns = mkOption { + description = "Use alternative DNS."; + default = "10.1.0.1"; + type = str; + }; + + clusterDomain = mkOption { + description = "Use alternative domain."; + default = config.services.kubernetes.addons.dns.clusterDomain; + type = str; + }; + + clientCaFile = mkOption { + description = "Kubernetes apiserver CA file for client authentication."; + default = top.caFile; + type = nullOr path; + }; + + cni = { + packages = mkOption { + description = "List of network plugin packages to install."; + type = listOf package; + default = []; + }; + + config = mkOption { + description = "Kubernetes CNI configuration."; + type = listOf attrs; + default = []; + example = literalExample '' + [{ + "cniVersion": "0.2.0", + "name": "mynet", + "type": "bridge", + "bridge": "cni0", + "isGateway": true, + "ipMasq": true, + "ipam": { + "type": "host-local", + "subnet": "10.22.0.0/16", + "routes": [ + { "dst": "0.0.0.0/0" } + ] + } + } { + "cniVersion": "0.2.0", + "type": "loopback" + }] + ''; + }; + + configDir = mkOption { + description = "Path to Kubernetes CNI configuration directory."; + type = nullOr path; + default = null; + }; + }; + + enable = mkEnableOption "Kubernetes kubelet."; + + extraOpts = mkOption { + description = "Kubernetes kubelet extra command line options."; + default = ""; + type = str; + }; + + featureGates = mkOption { + description = "List set of feature gates"; + default = top.featureGates; + type = listOf str; + }; + + healthz = { + bind = mkOption { + description = "Kubernetes kubelet healthz listening address."; + default = "127.0.0.1"; + type = str; + }; + + port = mkOption { + description = "Kubernetes kubelet healthz port."; + default = 10248; + type = int; + }; + }; + + hostname = mkOption { + description = "Kubernetes kubelet hostname override."; + default = config.networking.hostName; + type = str; + }; + + kubeconfig = top.lib.mkKubeConfigOptions "Kubelet"; + + manifests = mkOption { + description = "List of manifests to bootstrap with kubelet (only pods can be created as manifest entry)"; + type = attrsOf attrs; + default = {}; + }; + + networkPlugin = mkOption { + description = "Network plugin to use by Kubernetes."; + type = nullOr (enum ["cni" "kubenet"]); + default = "kubenet"; + }; + + nodeIp = mkOption { + description = "IP address of the node. If set, kubelet will use this IP address for the node."; + default = null; + type = nullOr str; + }; + + registerNode = mkOption { + description = "Whether to auto register kubelet with API server."; + default = true; + type = bool; + }; + + port = mkOption { + description = "Kubernetes kubelet info server listening port."; + default = 10250; + type = int; + }; + + seedDockerImages = mkOption { + description = "List of docker images to preload on system"; + default = []; + type = listOf package; + }; + + taints = mkOption { + description = "Node taints (https://kubernetes.io/docs/concepts/configuration/assign-pod-node/)."; + default = {}; + type = attrsOf (submodule [ taintOptions ]); + }; + + tlsCertFile = mkOption { + description = "File containing x509 Certificate for HTTPS."; + default = null; + type = nullOr path; + }; + + tlsKeyFile = mkOption { + description = "File containing x509 private key matching tlsCertFile."; + default = null; + type = nullOr path; + }; + + unschedulable = mkOption { + description = "Whether to set node taint to unschedulable=true as it is the case of node that has only master role."; + default = false; + type = bool; + }; + + verbosity = mkOption { + description = '' + Optional glog verbosity level for logging statements. See + + ''; + default = null; + type = nullOr int; + }; + + }; + + ###### implementation + config = mkMerge [ + (mkIf cfg.enable { + services.kubernetes.kubelet.seedDockerImages = [infraContainer]; + + systemd.services.kubelet = { + description = "Kubernetes Kubelet Service"; + wantedBy = [ "kubernetes.target" ]; + after = [ "network.target" "docker.service" "kube-apiserver.service" ]; + path = with pkgs; [ gitMinimal openssh docker utillinux iproute ethtool thin-provisioning-tools iptables socat ] ++ top.path; + preStart = '' + ${concatMapStrings (img: '' + echo "Seeding docker image: ${img}" + docker load <${img} + '') cfg.seedDockerImages} + + rm /opt/cni/bin/* || true + ${concatMapStrings (package: '' + echo "Linking cni package: ${package}" + ln -fs ${package}/bin/* /opt/cni/bin + '') cfg.cni.packages} + ''; + serviceConfig = { + Slice = "kubernetes.slice"; + CPUAccounting = true; + MemoryAccounting = true; + Restart = "on-failure"; + RestartSec = "1000ms"; + ExecStart = ''${top.package}/bin/kubelet \ + --address=${cfg.address} \ + --allow-privileged=${boolToString cfg.allowPrivileged} \ + --authentication-token-webhook \ + --authentication-token-webhook-cache-ttl="10s" \ + --authorization-mode=Webhook \ + ${optionalString (cfg.clientCaFile != null) + "--client-ca-file=${cfg.clientCaFile}"} \ + ${optionalString (cfg.clusterDns != "") + "--cluster-dns=${cfg.clusterDns}"} \ + ${optionalString (cfg.clusterDomain != "") + "--cluster-domain=${cfg.clusterDomain}"} \ + --cni-conf-dir=${cniConfig} \ + ${optionalString (cfg.featureGates != []) + "--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.featureGates}"} \ + --hairpin-mode=hairpin-veth \ + --healthz-bind-address=${cfg.healthz.bind} \ + --healthz-port=${toString cfg.healthz.port} \ + --hostname-override=${cfg.hostname} \ + --kubeconfig=${kubeconfig} \ + ${optionalString (cfg.networkPlugin != null) + "--network-plugin=${cfg.networkPlugin}"} \ + ${optionalString (cfg.nodeIp != null) + "--node-ip=${cfg.nodeIp}"} \ + --pod-infra-container-image=pause \ + ${optionalString (cfg.manifests != {}) + "--pod-manifest-path=/etc/${manifestPath}"} \ + --port=${toString cfg.port} \ + --register-node=${boolToString cfg.registerNode} \ + ${optionalString (taints != "") + "--register-with-taints=${taints}"} \ + --root-dir=${top.dataDir} \ + ${optionalString (cfg.tlsCertFile != null) + "--tls-cert-file=${cfg.tlsCertFile}"} \ + ${optionalString (cfg.tlsKeyFile != null) + "--tls-private-key-file=${cfg.tlsKeyFile}"} \ + ${optionalString (cfg.verbosity != null) "--v=${toString cfg.verbosity}"} \ + ${cfg.extraOpts} + ''; + WorkingDirectory = top.dataDir; + }; + }; + + # Allways include cni plugins + services.kubernetes.kubelet.cni.packages = [pkgs.cni-plugins]; + + boot.kernelModules = ["br_netfilter"]; + + services.kubernetes.kubelet.hostname = with config.networking; + mkDefault (hostName + optionalString (!isNull domain) ".${domain}"); + + services.kubernetes.pki.certs = with top.lib; { + kubelet = mkCert { + name = "kubelet"; + CN = top.kubelet.hostname; + action = "systemctl restart kubelet.service"; + + }; + kubeletClient = mkCert { + name = "kubelet-client"; + CN = "system:node:${top.kubelet.hostname}"; + fields = { + O = "system:nodes"; + }; + action = "systemctl restart kubelet.service"; + }; + }; + + services.kubernetes.kubelet.kubeconfig.server = mkDefault top.apiserverAddress; + }) + + (mkIf (cfg.enable && cfg.manifests != {}) { + environment.etc = mapAttrs' (name: manifest: + nameValuePair "${manifestPath}/${name}.json" { + text = builtins.toJSON manifest; + mode = "0755"; + } + ) cfg.manifests; + }) + + (mkIf (cfg.unschedulable && cfg.enable) { + services.kubernetes.kubelet.taints.unschedulable = { + value = "true"; + effect = "NoSchedule"; + }; + }) + + ]; +} diff --git a/nixos/modules/services/cluster/kubernetes/pki.nix b/nixos/modules/services/cluster/kubernetes/pki.nix new file mode 100644 index 00000000000..38deca23a99 --- /dev/null +++ b/nixos/modules/services/cluster/kubernetes/pki.nix @@ -0,0 +1,388 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + top = config.services.kubernetes; + cfg = top.pki; + + csrCA = pkgs.writeText "kube-pki-cacert-csr.json" (builtins.toJSON { + key = { + algo = "rsa"; + size = 2048; + }; + names = singleton cfg.caSpec; + }); + + csrCfssl = pkgs.writeText "kube-pki-cfssl-csr.json" (builtins.toJSON { + key = { + algo = "rsa"; + size = 2048; + }; + CN = top.masterAddress; + }); + + cfsslAPITokenBaseName = "apitoken.secret"; + cfsslAPITokenPath = "${config.services.cfssl.dataDir}/${cfsslAPITokenBaseName}"; + certmgrAPITokenPath = "${top.secretsPath}/${cfsslAPITokenBaseName}"; + cfsslAPITokenLength = 32; + + clusterAdminKubeconfig = with cfg.certs.clusterAdmin; + top.lib.mkKubeConfig "cluster-admin" { + server = top.apiserverAddress; + certFile = cert; + keyFile = key; + }; + + remote = with config.services; "https://${kubernetes.masterAddress}:${toString cfssl.port}"; +in +{ + ###### interface + options.services.kubernetes.pki = with lib.types; { + + enable = mkEnableOption "Whether to enable easyCert issuer service."; + + certs = mkOption { + description = "List of certificate specs to feed to cert generator."; + default = {}; + type = attrs; + }; + + genCfsslCACert = mkOption { + description = '' + Whether to automatically generate cfssl CA certificate and key, + if they don't exist. + ''; + default = true; + type = bool; + }; + + genCfsslAPICerts = mkOption { + description = '' + Whether to automatically generate cfssl API webserver TLS cert and key, + if they don't exist. + ''; + default = true; + type = bool; + }; + + genCfsslAPIToken = mkOption { + description = '' + Whether to automatically generate cfssl API-token secret, + if they doesn't exist. + ''; + default = true; + type = bool; + }; + + pkiTrustOnBootstrap = mkOption { + description = "Whether to always trust remote cfssl server upon initial PKI bootstrap."; + default = true; + type = bool; + }; + + caCertPathPrefix = mkOption { + description = '' + Path-prefrix for the CA-certificate to be used for cfssl signing. + Suffixes ".pem" and "-key.pem" will be automatically appended for + the public and private keys respectively. + ''; + default = "${config.services.cfssl.dataDir}/ca"; + type = str; + }; + + caSpec = mkOption { + description = "Certificate specification for the auto-generated CAcert."; + default = { + CN = "kubernetes-cluster-ca"; + O = "NixOS"; + OU = "services.kubernetes.pki.caSpec"; + L = "auto-generated"; + }; + type = attrs; + }; + + etcClusterAdminKubeconfig = mkOption { + description = '' + Symlink a kubeconfig with cluster-admin privileges to environment path + (/etc/<path>). + ''; + default = null; + type = nullOr str; + }; + + }; + + ###### implementation + config = mkIf cfg.enable + (let + cfsslCertPathPrefix = "${config.services.cfssl.dataDir}/cfssl"; + cfsslCert = "${cfsslCertPathPrefix}.pem"; + cfsslKey = "${cfsslCertPathPrefix}-key.pem"; + in + { + + services.cfssl = mkIf (top.apiserver.enable) { + enable = true; + address = "0.0.0.0"; + tlsCert = cfsslCert; + tlsKey = cfsslKey; + configFile = toString (pkgs.writeText "cfssl-config.json" (builtins.toJSON { + signing = { + profiles = { + default = { + usages = ["digital signature"]; + auth_key = "default"; + expiry = "720h"; + }; + }; + }; + auth_keys = { + default = { + type = "standard"; + key = "file:${cfsslAPITokenPath}"; + }; + }; + })); + }; + + systemd.services.cfssl.preStart = with pkgs; with config.services.cfssl; mkIf (top.apiserver.enable) + (concatStringsSep "\n" [ + "set -e" + (optionalString cfg.genCfsslCACert '' + if [ ! -f "${cfg.caCertPathPrefix}.pem" ]; then + ${cfssl}/bin/cfssl genkey -initca ${csrCA} | \ + ${cfssl}/bin/cfssljson -bare ${cfg.caCertPathPrefix} + fi + '') + (optionalString cfg.genCfsslAPICerts '' + if [ ! -f "${dataDir}/cfssl.pem" ]; then + ${cfssl}/bin/cfssl gencert -ca "${cfg.caCertPathPrefix}.pem" -ca-key "${cfg.caCertPathPrefix}-key.pem" ${csrCfssl} | \ + ${cfssl}/bin/cfssljson -bare ${cfsslCertPathPrefix} + fi + '') + (optionalString cfg.genCfsslAPIToken '' + if [ ! -f "${cfsslAPITokenPath}" ]; then + head -c ${toString (cfsslAPITokenLength / 2)} /dev/urandom | od -An -t x | tr -d ' ' >"${cfsslAPITokenPath}" + fi + chown cfssl "${cfsslAPITokenPath}" && chmod 400 "${cfsslAPITokenPath}" + '')]); + + systemd.services.kube-certmgr-bootstrap = { + description = "Kubernetes certmgr bootstrapper"; + wantedBy = [ "certmgr.service" ]; + after = [ "cfssl.target" ]; + script = concatStringsSep "\n" ['' + set -e + + # If there's a cfssl (cert issuer) running locally, then don't rely on user to + # manually paste it in place. Just symlink. + # otherwise, create the target file, ready for users to insert the token + + if [ -f "${cfsslAPITokenPath}" ]; then + ln -fs "${cfsslAPITokenPath}" "${certmgrAPITokenPath}" + else + touch "${certmgrAPITokenPath}" && chmod 600 "${certmgrAPITokenPath}" + fi + '' + (optionalString (cfg.pkiTrustOnBootstrap) '' + if [ ! -f "${top.caFile}" ] || [ $(cat "${top.caFile}" | wc -c) -lt 1 ]; then + ${pkgs.curl}/bin/curl --fail-early -f -kd '{}' ${remote}/api/v1/cfssl/info | \ + ${pkgs.cfssl}/bin/cfssljson -stdout >${top.caFile} + fi + '') + ]; + serviceConfig = { + RestartSec = "10s"; + Restart = "on-failure"; + }; + }; + + services.certmgr = { + enable = true; + package = pkgs.certmgr-selfsigned; + svcManager = "command"; + specs = + let + mkSpec = _: cert: { + inherit (cert) action; + authority = { + inherit remote; + file.path = cert.caCert; + root_ca = cert.caCert; + profile = "default"; + auth_key_file = certmgrAPITokenPath; + }; + certificate = { + path = cert.cert; + }; + private_key = cert.privateKeyOptions; + request = { + inherit (cert) CN hosts; + key = { + algo = "rsa"; + size = 2048; + }; + names = [ cert.fields ]; + }; + }; + in + mapAttrs mkSpec cfg.certs; + }; + + #TODO: Get rid of kube-addon-manager in the future for the following reasons + # - it is basically just a shell script wrapped around kubectl + # - it assumes that it is clusterAdmin or can gain clusterAdmin rights through serviceAccount + # - it is designed to be used with k8s system components only + # - it would be better with a more Nix-oriented way of managing addons + systemd.services.kube-addon-manager = mkIf top.addonManager.enable (mkMerge [{ + environment.KUBECONFIG = with cfg.certs.addonManager; + top.lib.mkKubeConfig "addon-manager" { + server = top.apiserverAddress; + certFile = cert; + keyFile = key; + }; + } + + (optionalAttrs (top.addonManager.bootstrapAddons != {}) { + serviceConfig.PermissionsStartOnly = true; + preStart = with pkgs; + let + files = mapAttrsToList (n: v: writeText "${n}.json" (builtins.toJSON v)) + top.addonManager.bootstrapAddons; + in + '' + export KUBECONFIG=${clusterAdminKubeconfig} + ${kubectl}/bin/kubectl apply -f ${concatStringsSep " \\\n -f " files} + ''; + })]); + + environment.etc.${cfg.etcClusterAdminKubeconfig}.source = mkIf (!isNull cfg.etcClusterAdminKubeconfig) + clusterAdminKubeconfig; + + environment.systemPackages = mkIf (top.kubelet.enable || top.proxy.enable) [ + (pkgs.writeScriptBin "nixos-kubernetes-node-join" '' + set -e + exec 1>&2 + + if [ $# -gt 0 ]; then + echo "Usage: $(basename $0)" + echo "" + echo "No args. Apitoken must be provided on stdin." + echo "To get the apitoken, execute: 'sudo cat ${certmgrAPITokenPath}' on the master node." + exit 1 + fi + + if [ $(id -u) != 0 ]; then + echo "Run as root please." + exit 1 + fi + + read -r token + if [ ''${#token} != ${toString cfsslAPITokenLength} ]; then + echo "Token must be of length ${toString cfsslAPITokenLength}." + exit 1 + fi + + echo $token > ${certmgrAPITokenPath} + chmod 600 ${certmgrAPITokenPath} + + echo "Restarting certmgr..." >&1 + systemctl restart certmgr + + echo "Waiting for certs to appear..." >&1 + + ${optionalString top.kubelet.enable '' + while [ ! -f ${cfg.certs.kubelet.cert} ]; do sleep 1; done + echo "Restarting kubelet..." >&1 + systemctl restart kubelet + ''} + + ${optionalString top.proxy.enable '' + while [ ! -f ${cfg.certs.kubeProxyClient.cert} ]; do sleep 1; done + echo "Restarting kube-proxy..." >&1 + systemctl restart kube-proxy + ''} + + ${optionalString top.flannel.enable '' + while [ ! -f ${cfg.certs.flannelClient.cert} ]; do sleep 1; done + echo "Restarting flannel..." >&1 + systemctl restart flannel + ''} + + echo "Node joined succesfully" + '')]; + + # isolate etcd on loopback at the master node + # easyCerts doesn't support multimaster clusters anyway atm. + services.etcd = with cfg.certs.etcd; { + listenClientUrls = ["https://127.0.0.1:2379"]; + listenPeerUrls = ["https://127.0.0.1:2380"]; + advertiseClientUrls = ["https://etcd.local:2379"]; + initialCluster = ["${top.masterAddress}=https://etcd.local:2380"]; + initialAdvertisePeerUrls = ["https://etcd.local:2380"]; + certFile = mkDefault cert; + keyFile = mkDefault key; + trustedCaFile = mkDefault caCert; + }; + networking.extraHosts = mkIf (config.services.etcd.enable) '' + 127.0.0.1 etcd.${top.addons.dns.clusterDomain} etcd.local + ''; + + services.flannel = with cfg.certs.flannelClient; { + kubeconfig = top.lib.mkKubeConfig "flannel" { + server = top.apiserverAddress; + certFile = cert; + keyFile = key; + }; + }; + + services.kubernetes = { + + apiserver = mkIf top.apiserver.enable (with cfg.certs.apiServer; { + etcd = with cfg.certs.apiserverEtcdClient; { + servers = ["https://etcd.local:2379"]; + certFile = mkDefault cert; + keyFile = mkDefault key; + caFile = mkDefault caCert; + }; + clientCaFile = mkDefault caCert; + tlsCertFile = mkDefault cert; + tlsKeyFile = mkDefault key; + serviceAccountKeyFile = mkDefault cfg.certs.serviceAccount.cert; + kubeletClientCaFile = mkDefault caCert; + kubeletClientCertFile = mkDefault cfg.certs.apiserverKubeletClient.cert; + kubeletClientKeyFile = mkDefault cfg.certs.apiserverKubeletClient.key; + }); + controllerManager = mkIf top.controllerManager.enable { + serviceAccountKeyFile = mkDefault cfg.certs.serviceAccount.key; + rootCaFile = cfg.certs.controllerManagerClient.caCert; + kubeconfig = with cfg.certs.controllerManagerClient; { + certFile = mkDefault cert; + keyFile = mkDefault key; + }; + }; + scheduler = mkIf top.scheduler.enable { + kubeconfig = with cfg.certs.schedulerClient; { + certFile = mkDefault cert; + keyFile = mkDefault key; + }; + }; + kubelet = mkIf top.kubelet.enable { + clientCaFile = mkDefault cfg.certs.kubelet.caCert; + tlsCertFile = mkDefault cfg.certs.kubelet.cert; + tlsKeyFile = mkDefault cfg.certs.kubelet.key; + kubeconfig = with cfg.certs.kubeletClient; { + certFile = mkDefault cert; + keyFile = mkDefault key; + }; + }; + proxy = mkIf top.proxy.enable { + kubeconfig = with cfg.certs.kubeProxyClient; { + certFile = mkDefault cert; + keyFile = mkDefault key; + }; + }; + }; + }); +} diff --git a/nixos/modules/services/cluster/kubernetes/proxy.nix b/nixos/modules/services/cluster/kubernetes/proxy.nix new file mode 100644 index 00000000000..6bcf2eaca82 --- /dev/null +++ b/nixos/modules/services/cluster/kubernetes/proxy.nix @@ -0,0 +1,80 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + top = config.services.kubernetes; + cfg = top.proxy; +in +{ + + ###### interface + options.services.kubernetes.proxy = with lib.types; { + + bindAddress = mkOption { + description = "Kubernetes proxy listening address."; + default = "0.0.0.0"; + type = str; + }; + + enable = mkEnableOption "Whether to enable Kubernetes proxy."; + + extraOpts = mkOption { + description = "Kubernetes proxy extra command line options."; + default = ""; + type = str; + }; + + featureGates = mkOption { + description = "List set of feature gates"; + default = top.featureGates; + type = listOf str; + }; + + kubeconfig = top.lib.mkKubeConfigOptions "Kubernetes proxy"; + + verbosity = mkOption { + description = '' + Optional glog verbosity level for logging statements. See + + ''; + default = null; + type = nullOr int; + }; + + }; + + ###### implementation + config = mkIf cfg.enable { + systemd.services.kube-proxy = { + description = "Kubernetes Proxy Service"; + wantedBy = [ "kubernetes.target" ]; + after = [ "kube-apiserver.service" ]; + path = with pkgs; [ iptables conntrack_tools ]; + serviceConfig = { + Slice = "kubernetes.slice"; + ExecStart = ''${top.package}/bin/kube-proxy \ + --bind-address=${cfg.bindAddress} \ + ${optionalString (top.clusterCidr!=null) + "--cluster-cidr=${top.clusterCidr}"} \ + ${optionalString (cfg.featureGates != []) + "--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.featureGates}"} \ + --kubeconfig=${top.lib.mkKubeConfig "kube-proxy" cfg.kubeconfig} \ + ${optionalString (cfg.verbosity != null) "--v=${toString cfg.verbosity}"} \ + ${cfg.extraOpts} + ''; + WorkingDirectory = top.dataDir; + }; + }; + + services.kubernetes.pki.certs = { + kubeProxyClient = top.lib.mkCert { + name = "kube-proxy-client"; + CN = "system:kube-proxy"; + action = "systemctl restart kube-proxy.service"; + }; + }; + + services.kubernetes.proxy.kubeconfig.server = mkDefault top.apiserverAddress; + }; +} diff --git a/nixos/modules/services/cluster/kubernetes/scheduler.nix b/nixos/modules/services/cluster/kubernetes/scheduler.nix new file mode 100644 index 00000000000..655e6f8b6e2 --- /dev/null +++ b/nixos/modules/services/cluster/kubernetes/scheduler.nix @@ -0,0 +1,92 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + top = config.services.kubernetes; + cfg = top.scheduler; +in +{ + ###### interface + options.services.kubernetes.scheduler = with lib.types; { + + address = mkOption { + description = "Kubernetes scheduler listening address."; + default = "127.0.0.1"; + type = str; + }; + + enable = mkEnableOption "Whether to enable Kubernetes scheduler."; + + extraOpts = mkOption { + description = "Kubernetes scheduler extra command line options."; + default = ""; + type = str; + }; + + featureGates = mkOption { + description = "List set of feature gates"; + default = top.featureGates; + type = listOf str; + }; + + kubeconfig = top.lib.mkKubeConfigOptions "Kubernetes scheduler"; + + leaderElect = mkOption { + description = "Whether to start leader election before executing main loop."; + type = bool; + default = true; + }; + + port = mkOption { + description = "Kubernetes scheduler listening port."; + default = 10251; + type = int; + }; + + verbosity = mkOption { + description = '' + Optional glog verbosity level for logging statements. See + + ''; + default = null; + type = nullOr int; + }; + + }; + + ###### implementation + config = mkIf cfg.enable { + systemd.services.kube-scheduler = { + description = "Kubernetes Scheduler Service"; + wantedBy = [ "kubernetes.target" ]; + after = [ "kube-apiserver.service" ]; + serviceConfig = { + Slice = "kubernetes.slice"; + ExecStart = ''${top.package}/bin/kube-scheduler \ + --address=${cfg.address} \ + ${optionalString (cfg.featureGates != []) + "--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.featureGates}"} \ + --kubeconfig=${top.lib.mkKubeConfig "kube-scheduler" cfg.kubeconfig} \ + --leader-elect=${boolToString cfg.leaderElect} \ + --port=${toString cfg.port} \ + ${optionalString (cfg.verbosity != null) "--v=${toString cfg.verbosity}"} \ + ${cfg.extraOpts} + ''; + WorkingDirectory = top.dataDir; + User = "kubernetes"; + Group = "kubernetes"; + }; + }; + + services.kubernetes.pki.certs = { + schedulerClient = top.lib.mkCert { + name = "kube-scheduler-client"; + CN = "system:kube-scheduler"; + action = "systemctl restart kube-scheduler.service"; + }; + }; + + services.kubernetes.scheduler.kubeconfig.server = mkDefault top.apiserverAddress; + }; +} diff --git a/nixos/modules/services/hardware/bolt.nix b/nixos/modules/services/hardware/bolt.nix new file mode 100644 index 00000000000..32b60af0603 --- /dev/null +++ b/nixos/modules/services/hardware/bolt.nix @@ -0,0 +1,34 @@ +# Thunderbolt 3 device manager + +{ config, lib, pkgs, ...}: + +with lib; + +{ + options = { + + services.hardware.bolt = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable Bolt, a userspace daemon to enable + security levels for Thunderbolt 3 on GNU/Linux. + + Bolt is used by GNOME 3 to handle Thunderbolt settings. + ''; + }; + + }; + + }; + + config = mkIf config.services.hardware.bolt.enable { + + environment.systemPackages = [ pkgs.bolt ]; + services.udev.packages = [ pkgs.bolt ]; + systemd.packages = [ pkgs.bolt ]; + + }; +} diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix index 25c258ebe13..b8617e48d8e 100644 --- a/nixos/modules/services/misc/gitlab.nix +++ b/nixos/modules/services/misc/gitlab.nix @@ -22,7 +22,8 @@ let password = cfg.databasePassword; username = cfg.databaseUsername; encoding = "utf8"; - }; + pool = cfg.databasePool; + } // cfg.extraDatabaseConfig; }; gitalyToml = pkgs.writeText "gitaly.toml" '' @@ -253,6 +254,18 @@ in { description = "Gitlab database user."; }; + databasePool = mkOption { + type = types.int; + default = 5; + description = "Database connection pool size."; + }; + + extraDatabaseConfig = mkOption { + type = types.attrs; + default = {}; + description = "Extra configuration in config/database.yml."; + }; + host = mkOption { type = types.str; default = config.networking.hostName; diff --git a/nixos/modules/services/misc/jackett.nix b/nixos/modules/services/misc/jackett.nix index 8d1b3d225a4..b18ce2b1f81 100644 --- a/nixos/modules/services/misc/jackett.nix +++ b/nixos/modules/services/misc/jackett.nix @@ -4,11 +4,36 @@ with lib; let cfg = config.services.jackett; + in { options = { services.jackett = { enable = mkEnableOption "Jackett"; + + dataDir = mkOption { + type = types.str; + default = "/var/lib/jackett/.config/Jackett"; + description = "The directory where Jackett stores its data files."; + }; + + openFirewall = mkOption { + type = types.bool; + default = false; + description = "Open ports in the firewall for the Jackett web interface."; + }; + + user = mkOption { + type = types.str; + default = "jackett"; + description = "User account under which Jackett runs."; + }; + + group = mkOption { + type = types.str; + default = "jackett"; + description = "Group under which Jackett runs."; + }; }; }; @@ -18,30 +43,38 @@ in after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; preStart = '' - test -d /var/lib/jackett/ || { - echo "Creating jackett data directory in /var/lib/jackett/" - mkdir -p /var/lib/jackett/ + test -d ${cfg.dataDir} || { + echo "Creating jackett data directory in ${cfg.dataDir}" + mkdir -p ${cfg.dataDir} } - chown -R jackett:jackett /var/lib/jackett/ - chmod 0700 /var/lib/jackett/ + chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir} + chmod 0700 ${cfg.dataDir} ''; serviceConfig = { Type = "simple"; - User = "jackett"; - Group = "jackett"; + User = cfg.user; + Group = cfg.group; PermissionsStartOnly = "true"; - ExecStart = "${pkgs.jackett}/bin/Jackett"; + ExecStart = "${pkgs.jackett}/bin/Jackett --NoUpdates --DataFolder '${cfg.dataDir}'"; Restart = "on-failure"; }; }; - users.users.jackett = { - uid = config.ids.uids.jackett; - home = "/var/lib/jackett"; - group = "jackett"; + networking.firewall = mkIf cfg.openFirewall { + allowedTCPPorts = [ 9117 ]; }; - users.groups.jackett.gid = config.ids.gids.jackett; + users.users = mkIf (cfg.user == "jackett") { + jackett = { + group = cfg.group; + home = cfg.dataDir; + uid = config.ids.uids.jackett; + }; + }; + + users.groups = mkIf (cfg.group == "jackett") { + jackett.gid = config.ids.gids.jackett; + }; }; } diff --git a/nixos/modules/services/misc/radarr.nix b/nixos/modules/services/misc/radarr.nix index 1a9fad3883c..9ab26d84832 100644 --- a/nixos/modules/services/misc/radarr.nix +++ b/nixos/modules/services/misc/radarr.nix @@ -4,11 +4,36 @@ with lib; let cfg = config.services.radarr; + in { options = { services.radarr = { enable = mkEnableOption "Radarr"; + + dataDir = mkOption { + type = types.str; + default = "/var/lib/radarr/.config/Radarr"; + description = "The directory where Radarr stores its data files."; + }; + + openFirewall = mkOption { + type = types.bool; + default = false; + description = "Open ports in the firewall for the Radarr web interface."; + }; + + user = mkOption { + type = types.str; + default = "radarr"; + description = "User account under which Radarr runs."; + }; + + group = mkOption { + type = types.str; + default = "radarr"; + description = "Group under which Radarr runs."; + }; }; }; @@ -18,30 +43,38 @@ in after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; preStart = '' - test -d /var/lib/radarr/ || { - echo "Creating radarr data directory in /var/lib/radarr/" - mkdir -p /var/lib/radarr/ + test -d ${cfg.dataDir} || { + echo "Creating radarr data directory in ${cfg.dataDir}" + mkdir -p ${cfg.dataDir} } - chown -R radarr:radarr /var/lib/radarr/ - chmod 0700 /var/lib/radarr/ + chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir} + chmod 0700 ${cfg.dataDir} ''; serviceConfig = { Type = "simple"; - User = "radarr"; - Group = "radarr"; + User = cfg.user; + Group = cfg.group; PermissionsStartOnly = "true"; - ExecStart = "${pkgs.radarr}/bin/Radarr"; + ExecStart = "${pkgs.radarr}/bin/Radarr -nobrowser -data='${cfg.dataDir}'"; Restart = "on-failure"; }; }; - users.users.radarr = { - uid = config.ids.uids.radarr; - home = "/var/lib/radarr"; - group = "radarr"; + networking.firewall = mkIf cfg.openFirewall { + allowedTCPPorts = [ 7878 ]; }; - users.groups.radarr.gid = config.ids.gids.radarr; + users.users = mkIf (cfg.user == "radarr") { + radarr = { + group = cfg.group; + home = cfg.dataDir; + uid = config.ids.uids.radarr; + }; + }; + + users.groups = mkIf (cfg.group == "radarr") { + radarr.gid = config.ids.gids.radarr; + }; }; } diff --git a/nixos/modules/services/networking/flannel.nix b/nixos/modules/services/networking/flannel.nix index 6c43573851b..ec702cdc6ff 100644 --- a/nixos/modules/services/networking/flannel.nix +++ b/nixos/modules/services/networking/flannel.nix @@ -161,7 +161,10 @@ in { FLANNELD_KUBECONFIG_FILE = cfg.kubeconfig; NODE_NAME = cfg.nodeName; }; - preStart = mkIf (cfg.storageBackend == "etcd") '' + preStart = '' + mkdir -p /run/flannel + touch /run/flannel/docker + '' + optionalString (cfg.storageBackend == "etcd") '' echo "setting network configuration" until ${pkgs.etcdctl.bin}/bin/etcdctl set /coreos.com/network/config '${builtins.toJSON networkConfig}' do @@ -169,13 +172,11 @@ in { sleep 1 done ''; - postStart = '' - while [ ! -f /run/flannel/subnet.env ] - do - sleep 1 - done - ''; - serviceConfig.ExecStart = "${cfg.package}/bin/flannel"; + serviceConfig = { + ExecStart = "${cfg.package}/bin/flannel"; + Restart = "always"; + RestartSec = "10s"; + }; }; services.etcd.enable = mkDefault (cfg.storageBackend == "etcd" && cfg.etcd.endpoints == ["http://127.0.0.1:2379"]); diff --git a/nixos/modules/services/web-apps/tt-rss.nix b/nixos/modules/services/web-apps/tt-rss.nix index fa42ce81234..f7a3daa5fdd 100644 --- a/nixos/modules/services/web-apps/tt-rss.nix +++ b/nixos/modules/services/web-apps/tt-rss.nix @@ -40,7 +40,7 @@ let else if (cfg.database.passwordFile != null) then "file_get_contents('${cfg.database.passwordFile}')" else - "" + "''" }); define('DB_PORT', '${toString dbPort}'); diff --git a/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix index eebb1c413fa..3fd19d425c7 100644 --- a/nixos/modules/services/web-servers/apache-httpd/default.nix +++ b/nixos/modules/services/web-servers/apache-httpd/default.nix @@ -497,8 +497,8 @@ in default = false; description = '' If enabled, each virtual host gets its own - access_log and - error_log, namely suffixed by the + access.log and + error.log, namely suffixed by the of the virtual host. ''; }; diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index 7544ba4638a..31ff60019ae 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -151,6 +151,7 @@ in { services.colord.enable = mkDefault true; services.packagekit.enable = mkDefault true; hardware.bluetooth.enable = mkDefault true; + services.hardware.bolt.enable = mkDefault true; services.xserver.libinput.enable = mkDefault true; # for controlling touchpad settings via gnome control center services.udev.packages = [ pkgs.gnome3.gnome-settings-daemon ]; systemd.packages = [ pkgs.gnome3.vino ]; diff --git a/nixos/modules/virtualisation/vmware-guest.nix b/nixos/modules/virtualisation/vmware-guest.nix index 15c78f14c52..d18778f8158 100644 --- a/nixos/modules/virtualisation/vmware-guest.nix +++ b/nixos/modules/virtualisation/vmware-guest.nix @@ -3,19 +3,17 @@ with lib; let - cfg = config.services.vmwareGuest; + cfg = config.virtualisation.vmware.guest; open-vm-tools = if cfg.headless then pkgs.open-vm-tools-headless else pkgs.open-vm-tools; xf86inputvmmouse = pkgs.xorg.xf86inputvmmouse; in { - options = { - services.vmwareGuest = { - enable = mkEnableOption "VMWare Guest Support"; - headless = mkOption { - type = types.bool; - default = false; - description = "Whether to disable X11-related features."; - }; + options.virtualisation.vmware.guest = { + enable = mkEnableOption "VMWare Guest Support"; + headless = mkOption { + type = types.bool; + default = false; + description = "Whether to disable X11-related features."; }; }; @@ -25,6 +23,8 @@ in message = "VMWare guest is not currently supported on ${pkgs.stdenv.hostPlatform.system}"; } ]; + boot.initrd.kernelModules = [ "vmw_pvscsi" ]; + environment.systemPackages = [ open-vm-tools ]; systemd.services.vmware = diff --git a/nixos/tests/kubernetes/base.nix b/nixos/tests/kubernetes/base.nix index 9d77be13175..ec1a75e74c4 100644 --- a/nixos/tests/kubernetes/base.nix +++ b/nixos/tests/kubernetes/base.nix @@ -10,7 +10,6 @@ let mkKubernetesBaseTest = { name, domain ? "my.zyx", test, machines , pkgs ? import { inherit system; } - , certs ? import ./certs.nix { inherit pkgs; externalDomain = domain; kubelets = attrNames machines; } , extraConfiguration ? null }: let masterName = head (filter (machineName: any (role: role == "master") machines.${machineName}.roles) (attrNames machines)); @@ -20,6 +19,10 @@ let ${master.ip} api.${domain} ${concatMapStringsSep "\n" (machineName: "${machines.${machineName}.ip} ${machineName}.${domain}") (attrNames machines)} ''; + kubectl = with pkgs; runCommand "wrap-kubectl" { buildInputs = [ makeWrapper ]; } '' + mkdir -p $out/bin + makeWrapper ${pkgs.kubernetes}/bin/kubectl $out/bin/kubectl --set KUBECONFIG "/etc/kubernetes/cluster-admin.kubeconfig" + ''; in makeTest { inherit name; @@ -27,6 +30,7 @@ let { config, pkgs, lib, nodes, ... }: mkMerge [ { + boot.postBootCommands = "rm -fr /var/lib/kubernetes/secrets /tmp/shared/*"; virtualisation.memorySize = mkDefault 1536; virtualisation.diskSize = mkDefault 4096; networking = { @@ -45,34 +49,25 @@ let }; }; programs.bash.enableCompletion = true; - environment.variables = { - ETCDCTL_CERT_FILE = "${certs.worker}/etcd-client.pem"; - ETCDCTL_KEY_FILE = "${certs.worker}/etcd-client-key.pem"; - ETCDCTL_CA_FILE = "${certs.worker}/ca.pem"; - ETCDCTL_PEERS = "https://etcd.${domain}:2379"; - }; + environment.systemPackages = [ kubectl ]; services.flannel.iface = "eth1"; - services.kubernetes.apiserver.advertiseAddress = master.ip; + services.kubernetes = { + addons.dashboard.enable = true; + + easyCerts = true; + inherit (machine) roles; + apiserver = { + securePort = 443; + advertiseAddress = master.ip; + }; + masterAddress = "${masterName}.${config.networking.domain}"; + }; } (optionalAttrs (any (role: role == "master") machine.roles) { networking.firewall.allowedTCPPorts = [ - 2379 2380 # etcd 443 # kubernetes apiserver ]; - services.etcd = { - enable = true; - certFile = "${certs.master}/etcd.pem"; - keyFile = "${certs.master}/etcd-key.pem"; - trustedCaFile = "${certs.master}/ca.pem"; - peerClientCertAuth = true; - listenClientUrls = ["https://0.0.0.0:2379"]; - listenPeerUrls = ["https://0.0.0.0:2380"]; - advertiseClientUrls = ["https://etcd.${config.networking.domain}:2379"]; - initialCluster = ["${masterName}=https://etcd.${config.networking.domain}:2380"]; - initialAdvertisePeerUrls = ["https://etcd.${config.networking.domain}:2380"]; - }; }) - (import ./kubernetes-common.nix { inherit (machine) roles; inherit pkgs config certs; }) (optionalAttrs (machine ? "extraConfiguration") (machine.extraConfiguration { inherit config pkgs lib nodes; })) (optionalAttrs (extraConfiguration != null) (extraConfiguration { inherit config pkgs lib nodes; })) ] diff --git a/nixos/tests/kubernetes/certs.nix b/nixos/tests/kubernetes/certs.nix deleted file mode 100644 index 85e92f6330c..00000000000 --- a/nixos/tests/kubernetes/certs.nix +++ /dev/null @@ -1,219 +0,0 @@ -{ - pkgs ? import {}, - externalDomain ? "myawesomecluster.cluster.yourdomain.net", - serviceClusterIp ? "10.0.0.1", - kubelets, - ... -}: -let - 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: - if pkgs.lib.isDerivation content - then content - else pkgs.writeText "content" (builtins.toJSON content); - - createServingCertKey = { ca, cn, hosts? [], size ? 2048, name ? cn }: - noCSR ( - (runWithCFSSL name "gencert -ca=${writeFile ca.cert} -ca-key=${writeFile ca.key} -profile=server -config=${writeFile ca.config} ${writeFile { - CN = cn; - hosts = hosts; - key = { algo = "rsa"; inherit size; }; - }}") // { inherit name; } - ); - - createClientCertKey = { ca, cn, groups ? [], size ? 2048, name ? cn }: - noCSR ( - (runWithCFSSL name "gencert -ca=${writeFile ca.cert} -ca-key=${writeFile ca.key} -profile=client -config=${writeFile ca.config} ${writeFile { - CN = cn; - names = map (group: {O = group;}) groups; - hosts = [""]; - key = { algo = "rsa"; inherit size; }; - }}") // { inherit name; } - ); - - createSigningCertKey = { C ? "xx", ST ? "x", L ? "x", O ? "x", OU ? "x", CN ? "ca", emailAddress ? "x", expiry ? "43800h", size ? 2048, name ? CN }: - (noCSR (runWithCFSSL CN "genkey -initca ${writeFile { - key = { algo = "rsa"; inherit size; }; - names = [{ inherit C ST L O OU CN emailAddress; }]; - }}")) // { - inherit name; - config.signing = { - default.expiry = expiry; - profiles = { - server = { - inherit expiry; - usages = [ - "signing" - "key encipherment" - "server auth" - ]; - }; - client = { - inherit expiry; - usages = [ - "signing" - "key encipherment" - "client auth" - ]; - }; - peer = { - inherit expiry; - usages = [ - "signing" - "key encipherment" - "server auth" - "client auth" - ]; - }; - }; - }; - }; - - ca = createSigningCertKey {}; - - kube-apiserver = createServingCertKey { - inherit ca; - cn = "kube-apiserver"; - hosts = ["kubernetes.default" "kubernetes.default.svc" "localhost" "api.${externalDomain}" serviceClusterIp]; - }; - - kubelet = createServingCertKey { - inherit ca; - cn = "kubelet"; - hosts = ["*.${externalDomain}"]; - }; - - service-accounts = createServingCertKey { - inherit ca; - cn = "kube-service-accounts"; - }; - - etcd = createServingCertKey { - inherit ca; - cn = "etcd"; - hosts = ["etcd.${externalDomain}"]; - }; - - etcd-client = createClientCertKey { - inherit ca; - cn = "etcd-client"; - }; - - kubelet-client = createClientCertKey { - inherit ca; - cn = "kubelet-client"; - groups = ["system:masters"]; - }; - - apiserver-client = { - kubelet = hostname: createClientCertKey { - inherit ca; - name = "apiserver-client-kubelet-${hostname}"; - cn = "system:node:${hostname}.${externalDomain}"; - groups = ["system:nodes"]; - }; - - kube-proxy = createClientCertKey { - inherit ca; - name = "apiserver-client-kube-proxy"; - cn = "system:kube-proxy"; - groups = ["system:kube-proxy" "system:nodes"]; - }; - - kube-controller-manager = createClientCertKey { - inherit ca; - name = "apiserver-client-kube-controller-manager"; - cn = "system:kube-controller-manager"; - groups = ["system:masters"]; - }; - - kube-scheduler = createClientCertKey { - inherit ca; - name = "apiserver-client-kube-scheduler"; - cn = "system:kube-scheduler"; - groups = ["system:kube-scheduler"]; - }; - - admin = createClientCertKey { - inherit ca; - cn = "admin"; - groups = ["system:masters"]; - }; - }; -in { - master = pkgs.buildEnv { - name = "master-keys"; - paths = [ - (writeCFSSL (noKey ca)) - (writeCFSSL kube-apiserver) - (writeCFSSL kubelet-client) - (writeCFSSL apiserver-client.kube-controller-manager) - (writeCFSSL apiserver-client.kube-scheduler) - (writeCFSSL service-accounts) - (writeCFSSL etcd) - ]; - }; - - worker = pkgs.buildEnv { - name = "worker-keys"; - paths = [ - (writeCFSSL (noKey ca)) - (writeCFSSL kubelet) - (writeCFSSL apiserver-client.kube-proxy) - (writeCFSSL etcd-client) - ] ++ map (hostname: writeCFSSL (apiserver-client.kubelet hostname)) kubelets; - }; - - admin = writeCFSSL apiserver-client.admin; -} diff --git a/nixos/tests/kubernetes/dns.nix b/nixos/tests/kubernetes/dns.nix index f25ea5b9ed8..46bcb01a526 100644 --- a/nixos/tests/kubernetes/dns.nix +++ b/nixos/tests/kubernetes/dns.nix @@ -71,17 +71,17 @@ let base = { name = "dns"; - inherit domain certs extraConfiguration; + inherit domain extraConfiguration; }; singleNodeTest = { test = '' # prepare machine1 for test $machine1->waitUntilSucceeds("kubectl get node machine1.${domain} | grep -w Ready"); - $machine1->execute("docker load < ${redisImage}"); + $machine1->waitUntilSucceeds("docker load < ${redisImage}"); $machine1->waitUntilSucceeds("kubectl create -f ${redisPod}"); $machine1->waitUntilSucceeds("kubectl create -f ${redisService}"); - $machine1->execute("docker load < ${probeImage}"); + $machine1->waitUntilSucceeds("docker load < ${probeImage}"); $machine1->waitUntilSucceeds("kubectl create -f ${probePod}"); # check if pods are running @@ -99,13 +99,16 @@ let multiNodeTest = { test = '' + # Node token exchange + $machine1->waitUntilSucceeds("cp -f /var/lib/cfssl/apitoken.secret /tmp/shared/apitoken.secret"); + $machine2->waitUntilSucceeds("cat /tmp/shared/apitoken.secret | nixos-kubernetes-node-join"); + # prepare machines for test - $machine1->waitUntilSucceeds("kubectl get node machine1.${domain} | grep -w Ready"); $machine1->waitUntilSucceeds("kubectl get node machine2.${domain} | grep -w Ready"); - $machine2->execute("docker load < ${redisImage}"); + $machine2->waitUntilSucceeds("docker load < ${redisImage}"); $machine1->waitUntilSucceeds("kubectl create -f ${redisPod}"); $machine1->waitUntilSucceeds("kubectl create -f ${redisService}"); - $machine2->execute("docker load < ${probeImage}"); + $machine2->waitUntilSucceeds("docker load < ${probeImage}"); $machine1->waitUntilSucceeds("kubectl create -f ${probePod}"); # check if pods are running diff --git a/nixos/tests/kubernetes/kubernetes-common.nix b/nixos/tests/kubernetes/kubernetes-common.nix deleted file mode 100644 index 87c65b88365..00000000000 --- a/nixos/tests/kubernetes/kubernetes-common.nix +++ /dev/null @@ -1,57 +0,0 @@ -{ roles, config, pkgs, certs }: -with pkgs.lib; -let - base = { - inherit roles; - flannel.enable = true; - addons.dashboard.enable = true; - - caFile = "${certs.master}/ca.pem"; - apiserver = { - tlsCertFile = "${certs.master}/kube-apiserver.pem"; - tlsKeyFile = "${certs.master}/kube-apiserver-key.pem"; - kubeletClientCertFile = "${certs.master}/kubelet-client.pem"; - kubeletClientKeyFile = "${certs.master}/kubelet-client-key.pem"; - serviceAccountKeyFile = "${certs.master}/kube-service-accounts.pem"; - }; - etcd = { - servers = ["https://etcd.${config.networking.domain}:2379"]; - certFile = "${certs.worker}/etcd-client.pem"; - keyFile = "${certs.worker}/etcd-client-key.pem"; - }; - kubeconfig = { - server = "https://api.${config.networking.domain}"; - }; - kubelet = { - tlsCertFile = "${certs.worker}/kubelet.pem"; - tlsKeyFile = "${certs.worker}/kubelet-key.pem"; - hostname = "${config.networking.hostName}.${config.networking.domain}"; - kubeconfig = { - certFile = "${certs.worker}/apiserver-client-kubelet-${config.networking.hostName}.pem"; - keyFile = "${certs.worker}/apiserver-client-kubelet-${config.networking.hostName}-key.pem"; - }; - }; - controllerManager = { - serviceAccountKeyFile = "${certs.master}/kube-service-accounts-key.pem"; - kubeconfig = { - certFile = "${certs.master}/apiserver-client-kube-controller-manager.pem"; - keyFile = "${certs.master}/apiserver-client-kube-controller-manager-key.pem"; - }; - }; - scheduler = { - kubeconfig = { - certFile = "${certs.master}/apiserver-client-kube-scheduler.pem"; - keyFile = "${certs.master}/apiserver-client-kube-scheduler-key.pem"; - }; - }; - proxy = { - kubeconfig = { - certFile = "${certs.worker}/apiserver-client-kube-proxy.pem"; - keyFile = "${certs.worker}//apiserver-client-kube-proxy-key.pem"; - }; - }; - }; - -in { - services.kubernetes = base; -} diff --git a/nixos/tests/kubernetes/rbac.nix b/nixos/tests/kubernetes/rbac.nix index 226808c4b26..3ce7adcd0d7 100644 --- a/nixos/tests/kubernetes/rbac.nix +++ b/nixos/tests/kubernetes/rbac.nix @@ -96,7 +96,7 @@ let test = '' $machine1->waitUntilSucceeds("kubectl get node machine1.my.zyx | grep -w Ready"); - $machine1->execute("docker load < ${kubectlImage}"); + $machine1->waitUntilSucceeds("docker load < ${kubectlImage}"); $machine1->waitUntilSucceeds("kubectl apply -f ${roServiceAccount}"); $machine1->waitUntilSucceeds("kubectl apply -f ${roRole}"); @@ -105,7 +105,7 @@ let $machine1->waitUntilSucceeds("kubectl get pod kubectl | grep Running"); - $machine1->succeed("kubectl exec -ti kubectl -- kubectl get pods"); + $machine1->waitUntilSucceeds("kubectl exec -ti kubectl -- kubectl get pods"); $machine1->fail("kubectl exec -ti kubectl -- kubectl create -f /kubectl-pod-2.json"); $machine1->fail("kubectl exec -ti kubectl -- kubectl delete pods -l name=kubectl"); ''; @@ -113,10 +113,13 @@ let multinode = base // { test = '' - $machine1->waitUntilSucceeds("kubectl get node machine1.my.zyx | grep -w Ready"); + # Node token exchange + $machine1->waitUntilSucceeds("cp -f /var/lib/cfssl/apitoken.secret /tmp/shared/apitoken.secret"); + $machine2->waitUntilSucceeds("cat /tmp/shared/apitoken.secret | nixos-kubernetes-node-join"); + $machine1->waitUntilSucceeds("kubectl get node machine2.my.zyx | grep -w Ready"); - $machine2->execute("docker load < ${kubectlImage}"); + $machine2->waitUntilSucceeds("docker load < ${kubectlImage}"); $machine1->waitUntilSucceeds("kubectl apply -f ${roServiceAccount}"); $machine1->waitUntilSucceeds("kubectl apply -f ${roRole}"); @@ -125,7 +128,7 @@ let $machine1->waitUntilSucceeds("kubectl get pod kubectl | grep Running"); - $machine1->succeed("kubectl exec -ti kubectl -- kubectl get pods"); + $machine1->waitUntilSucceeds("kubectl exec -ti kubectl -- kubectl get pods"); $machine1->fail("kubectl exec -ti kubectl -- kubectl create -f /kubectl-pod-2.json"); $machine1->fail("kubectl exec -ti kubectl -- kubectl delete pods -l name=kubectl"); ''; diff --git a/pkgs/applications/altcoins/go-ethereum.nix b/pkgs/applications/altcoins/go-ethereum.nix index ad1ccbf496c..85dfacb2095 100644 --- a/pkgs/applications/altcoins/go-ethereum.nix +++ b/pkgs/applications/altcoins/go-ethereum.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "go-ethereum-${version}"; - version = "1.8.21"; + version = "1.8.22"; goPackagePath = "github.com/ethereum/go-ethereum"; # Fix for usb-related segmentation faults on darwin @@ -16,13 +16,13 @@ buildGoPackage rec { owner = "ethereum"; repo = "go-ethereum"; rev = "v${version}"; - sha256 = "1p4qfxa90l26s9q4hddyb93gdf7vb0sb46z9n26ijiqlxdq3z7v2"; + sha256 = "0ag9qxrf7n0qkccaf6v4jaysivpxvsy5zfzar3mcm65223pqy375"; }; meta = with stdenv.lib; { homepage = https://ethereum.github.io/go-ethereum/; description = "Official golang implementation of the Ethereum protocol"; license = with licenses; [ lgpl3 gpl3 ]; - maintainers = [ maintainers.adisbladis maintainers.lionello ]; + maintainers = with maintainers; [ adisbladis asymmetric lionello ]; }; } diff --git a/pkgs/applications/audio/mopidy/iris.nix b/pkgs/applications/audio/mopidy/iris.nix index 45006fb8ef6..3e89101e042 100644 --- a/pkgs/applications/audio/mopidy/iris.nix +++ b/pkgs/applications/audio/mopidy/iris.nix @@ -2,11 +2,11 @@ pythonPackages.buildPythonApplication rec { pname = "Mopidy-Iris"; - version = "3.32.4"; + version = "3.32.5"; src = pythonPackages.fetchPypi { inherit pname version; - sha256 = "16b3dkxland4mjzjs2rz5gbqjapzzmap4d1mfhbrj2ch3plmdy7g"; + sha256 = "0vs8x26zcakk6c31sc774h2lcdw3syp236vyymmx1jnfsh1jaqpn"; }; propagatedBuildInputs = [ diff --git a/pkgs/applications/audio/ncmpcpp/default.nix b/pkgs/applications/audio/ncmpcpp/default.nix index 87f5f94bb30..d35cefb8841 100644 --- a/pkgs/applications/audio/ncmpcpp/default.nix +++ b/pkgs/applications/audio/ncmpcpp/default.nix @@ -1,8 +1,8 @@ { stdenv, fetchurl, boost, mpd_clientlib, ncurses, pkgconfig, readline , libiconv, icu, curl -, outputsSupport ? false # outputs screen +, outputsSupport ? true # outputs screen , visualizerSupport ? false, fftw ? null # visualizer screen -, clockSupport ? false # clock screen +, clockSupport ? true # clock screen , taglibSupport ? true, taglib ? null # tag editor }: diff --git a/pkgs/applications/audio/openmpt123/default.nix b/pkgs/applications/audio/openmpt123/default.nix index af859702292..f8f08369ab9 100644 --- a/pkgs/applications/audio/openmpt123/default.nix +++ b/pkgs/applications/audio/openmpt123/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchurl, zlib, pkgconfig, mpg123, libogg, libvorbis, portaudio, libsndfile, flac -, usePulseAudio ? false, libpulseaudio }: +{ config, stdenv, fetchurl, zlib, pkgconfig, mpg123, libogg, libvorbis, portaudio, libsndfile, flac +, usePulseAudio ? config.pulseaudio or false, libpulseaudio }: let version = "0.4.1"; diff --git a/pkgs/applications/editors/eclipse/build-eclipse.nix b/pkgs/applications/editors/eclipse/build-eclipse.nix index 389608ad824..6ae9eb078e2 100644 --- a/pkgs/applications/editors/eclipse/build-eclipse.nix +++ b/pkgs/applications/editors/eclipse/build-eclipse.nix @@ -55,6 +55,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.eclipse.org/; inherit description; + platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix index 55bbc778e3a..3fa46fc4d92 100644 --- a/pkgs/applications/editors/eclipse/default.nix +++ b/pkgs/applications/editors/eclipse/default.nix @@ -11,7 +11,14 @@ assert stdenv ? glibc; # http://download.eclipse.org/eclipse/downloads/ is the main place to # find the downloads needed for new versions -rec { +let + platform_major = "4"; + platform_minor = "10"; + year = "2018"; + month = "12"; + timestamp = "201812060815"; + +in rec { buildEclipse = import ./build-eclipse.nix { inherit stdenv makeDesktopItem freetype fontconfig libX11 libXrender zlib @@ -21,133 +28,43 @@ rec { ### Eclipse CPP - eclipse-cpp = eclipse-cpp-47; # always point to latest - - eclipse-cpp-47 = buildEclipse { - name = "eclipse-cpp-4.7.0"; + eclipse-cpp = buildEclipse { + name = "eclipse-cpp-${platform_major}.${platform_minor}"; description = "Eclipse IDE for C/C++ Developers, Oxygen release"; src = - if stdenv.hostPlatform.system == "x86_64-linux" then - fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/oxygen/R/eclipse-cpp-oxygen-R-linux-gtk-x86_64.tar.gz; - sha512 = "813c791e739d7d0e2ab242a5bacadca135bbeee20ef97aa830353cd90f63fa6e9c89cfcc6aadf635c742befe035bd6e3f15103013f63c419f6144e86ebde3ed1"; - } - else if stdenv.hostPlatform.system == "i686-linux" then - fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/oxygen/R/eclipse-cpp-oxygen-R-linux-gtk.tar.gz; - sha512 = "2b50f4a00306a89cda1aaaa606e62285cacbf93464a9dd3f3319dca3e2c578b802e685de6f78e5e617d269e21271188effe73d41f491a6de946e28795d82db8a"; - } - else throw "Unsupported system: ${stdenv.hostPlatform.system}"; + fetchurl { + url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-cpp-${year}-${month}-R-linux-gtk-x86_64.tar.gz"; + sha512 = "1f5yr7cydz4iw8c14yn713d44f1g1wkiqiwmb4ikdfx4l70rc5xxsdxv9b4mhm89b02cqnxdh9p5hivkssmnzg0km3ab5bx9mvzgzx7"; + }; }; - eclipse-cpp-37 = buildEclipse { - name = "eclipse-cpp-3.7"; - description = "Eclipse IDE for C/C++ Developers"; - src = - if stdenv.hostPlatform.system == "x86_64-linux" then - fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/indigo/R/eclipse-cpp-indigo-incubation-linux-gtk-x86_64.tar.gz; - sha256 = "14ppc9g9igzvj1pq7jl01vwhzb66nmzbl9wsdl1sf3xnwa9wnqk3"; - } - else - fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/indigo/R/eclipse-cpp-indigo-incubation-linux-gtk.tar.gz; - sha256 = "1cvg1vgyazrkinwzlvlf0dpl197p4784752srqybqylyj5psdi3b"; - }; - }; - eclipse_cpp_37 = eclipse-cpp-37; # backward compatibility, added 2016-01-30 - ### Eclipse Modeling - eclipse-modeling = eclipse-modeling-47; # always point to latest - - eclipse-modeling-47 = buildEclipse { - name = "eclipse-modeling-4.7"; + eclipse-modeling = buildEclipse { + name = "eclipse-modeling-${platform_major}.${platform_minor}"; description = "Eclipse Modeling Tools"; src = - if stdenv.hostPlatform.system == "x86_64-linux" then - fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/oxygen/R/eclipse-modeling-oxygen-R-linux-gtk-x86_64.tar.gz; - sha512 = "3b9a7ad4b5d6b77fbdd64e8d323e0adb6c2904763ad042b374b4d87cef8607408cb407e395870fc755d58c0c800e20818adcf456ebe193d76cede16c5fe12271"; - } - else - fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/oxygen/R/eclipse-modeling-oxygen-R-linux-gtk.tar.gz; - sha512 = "b8597c1dec117e69c72a5e1a53e09b1f81a7c9de86ed7e71a9d007664603202df301745f186ded02b2e76410345863e80a2ba40867d6848e5375601289999206"; - }; + fetchurl { + url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-modeling-${year}-${month}-R-linux-gtk-x86_64.tar.gz"; + sha512 = "18psh1lgqg21dmndyc0yr6rz7piqyk861j9mlhgv9xaq8nz11fb6lil594sk64yyv0qbgi98vp03f1p06zvhgs37k9rjkfjmzl7n97k"; + }; }; - eclipse-modeling-36 = buildEclipse { - name = "eclipse-modeling-3.6.2"; - description = "Eclipse Modeling Tools (includes Incubating components)"; - src = - if stdenv.hostPlatform.system == "x86_64-linux" then - fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/helios/SR2/eclipse-modeling-helios-SR2-incubation-linux-gtk-x86_64.tar.gz; - sha1 = "e96f5f006298f68476f4a15a2be8589158d5cc61"; - } - else - fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/helios/SR2/eclipse-modeling-helios-SR2-incubation-linux-gtk.tar.gz; - sha1 = "696377895bb26445de39d82a916b7e69edb1d939"; - }; - }; - eclipse_modeling_36 = eclipse-modeling-36; # backward compatibility, added 2016-01-30 - ### Eclipse Platform - eclipse-platform = eclipse-platform-49; # always point to latest - - eclipse-platform-47 = buildEclipse { - name = "eclipse-platform-4.7.3a"; - description = "Eclipse Platform Oxygen"; - sources = { - "x86_64-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.3a-201803300640/eclipse-platform-4.7.3a-linux-gtk-x86_64.tar.gz; - sha512 = "caf86cd6efaf66258c75434f1adf552587a7395d57dba4cfd20f86196308cf942866d931f4b352f9d39a6fbf14444fcd2167e6bfd146a28c96c229bb9988156a"; - }; - "i686-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.3a-201803300640/eclipse-platform-4.7.3a-linux-gtk.tar.gz; - sha512 = "c633da467774e4ab40f8d51d07b8e7d8403f26f23365c3c3ceeaeec1039b8c23c7508cee1f786bf52db64c7b84e0f91cb31a2848a74ac8271f8504934407bd5c"; - }; - }; - }; - - eclipse-platform-48 = buildEclipse { - name = "eclipse-platform-4.8"; - description = "Eclipse Platform Photon"; - sources = { - "x86_64-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.8-201806110500/eclipse-platform-4.8-linux-gtk-x86_64.tar.gz; - sha512 = "ccce2b954938479e42ef3f9b78f74b24ae4cae7499546fa4f9a55ec1849e1acfd06315d4529b11474a8b3d1142c9409c581edfa571baaf1342ab062f02467af2"; - }; - "i686-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.8-201806110500/eclipse-platform-4.8-linux-gtk.tar.gz; - sha512 = "f5f407727e22b848931cf38f71b1a0c30a9778aa227c3df137dcceec2fba2ecc309cbfa8b4a660b814d2edb60f65110381497b4325781cab4d6402784139e32b"; - }; - }; - }; - - eclipse-platform-49 = buildEclipse { - name = "eclipse-platform-4.9"; - description = "Eclipse Platform 2018-09"; - sources = { - "x86_64-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.9-201809060745/eclipse-platform-4.9-linux-gtk-x86_64.tar.gz; - sha512 = "875714bb411145c917fccedf2f7c4fd2757640b2debf4a18f775604233abd6f0da893b350cc03da44413d7ec6fae3f773ef08634e632058e4b705e6cda2893eb"; - }; - "i686-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.9-201809060745/eclipse-platform-4.9-linux-gtk.tar.gz; - sha512 = "758bc0de30fa5c4b76b343ea0325611d87b6928ef5002244f2f1ba2a9fa937de89b2a94ce2c8d33d79344fd574d6e8a72c5d127fe416d785f48600e9e85fce86"; - }; - }; + eclipse-platform = buildEclipse { + name = "eclipse-platform-${platform_major}.${platform_minor}"; + description = "Eclipse Platform ${year}-${month}"; + src = + fetchurl { + url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-platform-${platform_major}.${platform_minor}-linux-gtk-x86_64.tar.gz"; + sha512 = "2zdvbjk05a00lbcad9v30rcr93j03d2pycdhpwrvrakr8z4yrxs6svamq9s294ry1w3lw04pgsnqklw6zjx6iil1kp51f374lkfpxn7"; + }; }; ### Eclipse Scala SDK - eclipse-scala-sdk = eclipse-scala-sdk-441; # always point to latest - - eclipse-scala-sdk-441 = buildEclipse { + eclipse-scala-sdk = buildEclipse { name = "eclipse-scala-sdk-4.4.1"; description = "Eclipse IDE for Scala Developers"; src = @@ -165,88 +82,26 @@ rec { ### Eclipse SDK - eclipse-sdk = eclipse-sdk-49; # always point to latest - - eclipse-sdk-47 = buildEclipse { - name = "eclipse-sdk-4.7.3a"; - description = "Eclipse Oxygen Classic"; - sources = { - "x86_64-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.3a-201803300640/eclipse-SDK-4.7.3a-linux-gtk-x86_64.tar.gz; - sha512 = "d77e42aca16d26526cef32e363d038258bb8a4616d9dbe6e76dd3656dc2217369436390a82555bde4566bbbdb631813bbaca08602f7bb885cb30e8a26a14873f"; - }; - "i686-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.3a-201803300640/eclipse-SDK-4.7.3a-linux-gtk.tar.gz; - sha512 = "b0b936fd4142ae86ec5c30535cd5e4caf6fe313d814ae5b16f300635e4163a79b748b1eee11792a135114f2265678a74821ec80c2bfd69872769b6d0ccbcde3a"; - }; - }; + eclipse-sdk = buildEclipse { + name = "eclipse-sdk-${platform_major}.${platform_minor}"; + description = "Eclipse ${year}-${month} Classic"; + src = + fetchurl { + url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-SDK-${platform_major}.${platform_minor}-linux-gtk-x86_64.tar.gz"; + sha512 = "1kq14vhzcngfhl8kjs722rshny81gxv6wcgln46x7lnpg2274sb9dprhns62fpq97l0355cmg8mnny6fsd1nqibrw09xq932v86cfm8"; + }; }; - eclipse-sdk-48 = buildEclipse { - name = "eclipse-sdk-4.8"; - description = "Eclipse Photon Classic"; - sources = { - "x86_64-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.8-201806110500/eclipse-SDK-4.8-linux-gtk-x86_64.tar.gz; - sha512 = "357ea9e7f426c68ced693f1c7b76eae23f9e3c7893de1f12d17994ec17b447896b5daa7292d5fbf6d9c4e5b7fd637ca5b2a6ba8ce40a2a7c2fe06f2124d31b75"; - }; - "i686-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.8-201806110500/eclipse-SDK-4.8-linux-gtk.tar.gz; - sha512 = "c7cae7baa3978d48477090bb9941e85b4c7484021ece9c5c77a7e859e57e5c1f13556262f92b561cfb11f828b934bad7a6018be7b8fd9454e3991e8d5cae9917"; - }; - }; - }; - - eclipse-sdk-49 = buildEclipse { - name = "eclipse-sdk-4.9"; - description = "Eclipse 2018-09 Classic"; - sources = { - "x86_64-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.9-201809060745/eclipse-SDK-4.9-linux-gtk-x86_64.tar.gz; - sha512 = "5e74a0411f56b3973b7c6d8c3727392297d55ad458a814b4cc3f2f6a57dbeebc64852d1a6a958db5c3b08c620093bfb5bcc0d2c6a400f5594b82c2ef5d5fa9fb"; - }; - "i686-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.9-201809060745/eclipse-SDK-4.9-linux-gtk.tar.gz; - sha512 = "b1861bd99c8e43f1d04247226584246aa7844af5e2da820fe98a51018dbe8ff4c25dbb9fa655f56e103f95c0696f40a65dcce13430c63aa080f786738e70eb8b"; - }; - }; - }; - - eclipse-sdk-37 = buildEclipse { - name = "eclipse-sdk-3.7"; - description = "Eclipse Classic"; - sources = { - "x86_64-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops/R-3.7.2-201202080800/eclipse-SDK-3.7.2-linux-gtk-x86_64.tar.gz; - sha256 = "0nf4nv7awhp1k8b1hjb7chpjyjrqnyszsjbc4dlk9phpjv3j4wg5"; - }; - "i686-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops/R-3.7.2-201202080800/eclipse-SDK-3.7.2-linux-gtk.tar.gz; - sha256 = "1isn7i45l9kyn2yx6vm88jl1gnxph8ynank0aaa218cg8kdygk7j"; - }; - }; - }; - eclipse_sdk_37 = eclipse-sdk-37; # backward compatibility, added 2016-01-30 - ### Eclipse Java - eclipse-java = eclipse-java-49; - - eclipse-java-49 = buildEclipse { - name = "eclipse-java-4.9.0"; + eclipse-java = buildEclipse { + name = "eclipse-java-${platform_major}.${platform_minor}"; description = "Eclipse IDE for Java Developers"; src = - if stdenv.system == "x86_64-linux" then - fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/2018-09/R/eclipse-java-2018-09-linux-gtk-x86_64.tar.gz; - sha512 = "9dac5d040cdabf779de3996de87290e352130c7e860c1d0a98772f41da828ad45f90748b68e0a8a4f8d1ebbbbe5fdfe6401b7d871b93af34103d4a81a041c6a5"; - } - else if stdenv.system == "i686-linux" then - fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/2018-09/R/eclipse-java-2018-09-linux-gtk.tar.gz; - sha512 = "24208e95b972e848d6b65ed8108d9e81584cf051397f2f43fb6269f5a625b8d7552ad77c7980a1a5653c87f06776e2926fd85607aae44e44657b4f6cc9b3e2e3"; - } - else throw "Unsupported system: ${stdenv.system}"; + fetchurl { + url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-java-${year}-${month}-R-linux-gtk-x86_64.tar.gz"; + sha512 = "2xd5q7kg3aly7jnz2fijn06ljmnnd7ggwwzmndfhqwfzxpyjg1lnlln76pcd6chx7gnwdrl7khg0fs566ddabfjv17c46dj5fpw9y6j"; + }; }; ### Environments diff --git a/pkgs/applications/editors/eclipse/plugins.nix b/pkgs/applications/editors/eclipse/plugins.nix index 8a5991cc7cd..4dc4aebe8fd 100644 --- a/pkgs/applications/editors/eclipse/plugins.nix +++ b/pkgs/applications/editors/eclipse/plugins.nix @@ -254,12 +254,12 @@ rec { cdt = buildEclipseUpdateSite rec { name = "cdt-${version}"; - version = "9.0.1"; + version = "9.6.0"; src = fetchzip { stripRoot = false; - url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/tools/cdt/releases/9.0/${name}.zip"; - sha256 = "0vdx0j9ci533wnk7y17qjvjyqx38hlrdw67z6pi05vfv3r6ys39x"; + url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/tools/cdt/releases/9.6/${name}/${name}.zip"; + sha256 = "08rk3b1va57jcy4s161fx0xmb8dn47akhhxd2f28hspq6i2jqicm"; }; meta = with stdenv.lib; { @@ -497,12 +497,12 @@ rec { jdt = buildEclipseUpdateSite rec { name = "jdt-${version}"; - version = "4.9"; + version = "4.10"; src = fetchzip { stripRoot = false; - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.9-201809060745/org.eclipse.jdt-4.9.zip; - sha256 = "144rqrw0crxd2v862dqxm2p5y60n4pbzdryv709xnhcw54rycm7n"; + url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.10-201812060815/org.eclipse.jdt-4.10.zip; + sha256 = "1h11w3zd6xy5w4sk6xnyb2a27wxwhp83qfx67ji7bzdrwbvljqkz"; }; meta = with stdenv.lib; { diff --git a/pkgs/applications/editors/emacs/default.nix b/pkgs/applications/editors/emacs/default.nix index 4f268a3a104..4a48cde571a 100644 --- a/pkgs/applications/editors/emacs/default.nix +++ b/pkgs/applications/editors/emacs/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl, ncurses, xlibsWrapper, libXaw, libXpm, Xaw3d +{ stdenv, lib, fetchurl, ncurses, xlibsWrapper, libXaw, libXpm, Xaw3d, libXcursor , pkgconfig, gettext, libXft, dbus, libpng, libjpeg, libungif , libtiff, librsvg, gconf, libxml2, imagemagick, gnutls, libselinux , alsaLib, cairo, acl, gpm, cf-private, AppKit, GSS, ImageIO, m17n_lib, libotf @@ -118,6 +118,17 @@ stdenv.mkDerivation rec { mv nextstep/Emacs.app $out/Applications ''; + postFixup = + let libPath = lib.makeLibraryPath [ + libXcursor + ]; + in lib.optionalString (withX && toolkit == "lucid") '' + patchelf --set-rpath \ + "$(patchelf --print-rpath "$out/bin/emacs"):${libPath}" \ + "$out/bin/emacs" + patchelf --add-needed "libXcursor.so.1" "$out/bin/emacs" + ''; + meta = with stdenv.lib; { description = "The extensible, customizable GNU text editor"; homepage = https://www.gnu.org/software/emacs/; diff --git a/pkgs/applications/editors/kdevelop5/kdev-php.nix b/pkgs/applications/editors/kdevelop5/kdev-php.nix new file mode 100644 index 00000000000..532bb99e7d8 --- /dev/null +++ b/pkgs/applications/editors/kdevelop5/kdev-php.nix @@ -0,0 +1,29 @@ +{ stdenv, lib, fetchurl, cmake, extra-cmake-modules, threadweaver, ktexteditor, kdevelop-unwrapped, kdevelop-pg-qt }: + +let + pname = "kdev-php"; + version = "5.3.1"; +in +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + src = fetchurl { + url = "https://github.com/KDE/${pname}/archive/v${version}.tar.gz"; + sha256 = "1xiz4v6w30dsa7l4nk3jw3hxpkx71b0yaaj2k8s7xzgjif824bgl"; + }; + + cmakeFlags = [ + "-DBUILD_TESTING=OFF" + ]; + + nativeBuildInputs = [ cmake extra-cmake-modules ]; + buildInputs = [ kdevelop-pg-qt threadweaver ktexteditor kdevelop-unwrapped ]; + + meta = with lib; { + maintainers = [ maintainers.aanderse ]; + platforms = platforms.linux; + description = "PHP support for KDevelop"; + homepage = https://www.kdevelop.org; + license = [ licenses.gpl2 ]; + }; +} diff --git a/pkgs/applications/editors/kdevelop5/kdev-python.nix b/pkgs/applications/editors/kdevelop5/kdev-python.nix new file mode 100644 index 00000000000..be27e10f42a --- /dev/null +++ b/pkgs/applications/editors/kdevelop5/kdev-python.nix @@ -0,0 +1,30 @@ +{ stdenv, lib, fetchurl, cmake, extra-cmake-modules, threadweaver, ktexteditor, kdevelop-unwrapped, python }: + +let + pname = "kdev-python"; + version = "5.3.1"; +in +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + src = fetchurl { + url = "https://github.com/KDE/${pname}/archive/v${version}.tar.gz"; + sha256 = "11hf8n6vrlaz31c0p3xbnf0df2q5j6ykgc9ip0l5g33kadwn5b9j"; + }; + + cmakeFlags = [ + "-DBUILD_TESTING=OFF" + "-DPYTHON_EXECUTABLE=${python}/bin/python" + ]; + + nativeBuildInputs = [ cmake extra-cmake-modules ]; + buildInputs = [ threadweaver ktexteditor kdevelop-unwrapped ]; + + meta = with lib; { + maintainers = [ maintainers.aanderse ]; + platforms = platforms.linux; + description = "Python support for KDevelop"; + homepage = https://www.kdevelop.org; + license = [ licenses.gpl2 ]; + }; +} diff --git a/pkgs/applications/editors/kdevelop5/kdevelop.nix b/pkgs/applications/editors/kdevelop5/kdevelop.nix index a35bd14f310..98154b4a5eb 100644 --- a/pkgs/applications/editors/kdevelop5/kdevelop.nix +++ b/pkgs/applications/editors/kdevelop5/kdevelop.nix @@ -43,6 +43,13 @@ mkDerivation rec { "-DCLANG_BUILTIN_DIR=${llvmPackages.clang-unwrapped}/lib/clang/${(builtins.parseDrvName llvmPackages.clang.name).version}/include" ]; + postPatch = '' + # FIXME: temporary until https://invent.kde.org/kde/kdevelop/merge_requests/8 is merged + substituteInPlace kdevplatform/language/backgroundparser/parsejob.cpp --replace \ + 'if (internalFilePath.startsWith(dataPath.canonicalPath() + QStringLiteral("/kdev"))) {' \ + 'if (internalFilePath.startsWith(dataPath.canonicalPath() + QStringLiteral("/kdev")) || localFile.startsWith(path + QStringLiteral("/kdev"))) {' + ''; + postInstall = '' # The kdevelop! script (shell environment) needs qdbus and kioclient5 in PATH. wrapProgram "$out/bin/kdevelop!" \ diff --git a/pkgs/applications/editors/kdevelop5/wrapper.nix b/pkgs/applications/editors/kdevelop5/wrapper.nix new file mode 100644 index 00000000000..86d3de9eb39 --- /dev/null +++ b/pkgs/applications/editors/kdevelop5/wrapper.nix @@ -0,0 +1,7 @@ +{ symlinkJoin, kdevelop-unwrapped, plugins ? null }: + +symlinkJoin { + name = "kdevelop-with-plugins"; + + paths = [ kdevelop-unwrapped ] ++ (if plugins != null then plugins else []); +} diff --git a/pkgs/applications/graphics/ahoviewer/default.nix b/pkgs/applications/graphics/ahoviewer/default.nix index 596570092a9..5210af4df7a 100644 --- a/pkgs/applications/graphics/ahoviewer/default.nix +++ b/pkgs/applications/graphics/ahoviewer/default.nix @@ -1,7 +1,7 @@ -{ stdenv, fetchFromGitHub, pkgconfig, libconfig, - gtkmm2, glibmm, libxml2, libsecret, curl, libzip, - librsvg, gst_all_1, autoreconfHook, makeWrapper, - useUnrar ? false, unrar +{ config, stdenv, fetchFromGitHub, pkgconfig, libconfig +, gtkmm2, glibmm, libxml2, libsecret, curl, libzip +, librsvg, gst_all_1, autoreconfHook, makeWrapper +, useUnrar ? config.ahoviewer.useUnrar or false, unrar }: assert useUnrar -> unrar != null; diff --git a/pkgs/applications/graphics/openscad/default.nix b/pkgs/applications/graphics/openscad/default.nix index 44855d5c8b4..bce2e882698 100644 --- a/pkgs/applications/graphics/openscad/default.nix +++ b/pkgs/applications/graphics/openscad/default.nix @@ -28,6 +28,9 @@ stdenv.mkDerivation rec { qmakeFlags = [ "VERSION=${version}" ]; + # src/lexer.l:36:10: fatal error: parser.hxx: No such file or directory + enableParallelBuilding = false; # true by default due to qmake + doCheck = false; meta = { diff --git a/pkgs/applications/graphics/paraview/default.nix b/pkgs/applications/graphics/paraview/default.nix index 9839bb74077..cf13c6fb05e 100644 --- a/pkgs/applications/graphics/paraview/default.nix +++ b/pkgs/applications/graphics/paraview/default.nix @@ -6,7 +6,7 @@ stdenv, fetchFromGitHub, cmake, makeWrapper stdenv.mkDerivation rec { name = "paraview-${version}"; - version = "5.5.2"; + version = "5.6.0"; # fetching from GitHub instead of taking an "official" source # tarball because of missing submodules there @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { owner = "Kitware"; repo = "ParaView"; rev = "v${version}"; - sha256 = "1jivph7lppnflmjsiirhgv0mnh8mxx41i1vzkk78ynn00rzacx3j"; + sha256 = "1j13yfdgcv4yzfr449i4c8r4rs1c9zr6qd3igr4vv3ani8zixkzi"; fetchSubmodules = true; }; diff --git a/pkgs/applications/misc/audio/sox/default.nix b/pkgs/applications/misc/audio/sox/default.nix index 2585b554548..878e62c68cb 100644 --- a/pkgs/applications/misc/audio/sox/default.nix +++ b/pkgs/applications/misc/audio/sox/default.nix @@ -1,7 +1,7 @@ -{ lib, stdenv, fetchurl +{ config, lib, stdenv, fetchurl , enableAlsa ? true, alsaLib ? null , enableLibao ? true, libao ? null -, enableLame ? false, lame ? null +, enableLame ? config.sox.enableLame or false, lame ? null , enableLibmad ? true, libmad ? null , enableLibogg ? true, libogg ? null, libvorbis ? null , enableFLAC ? true, flac ? null diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix index 89bd8ee4b3e..353cf620ee7 100644 --- a/pkgs/applications/misc/blender/default.nix +++ b/pkgs/applications/misc/blender/default.nix @@ -1,10 +1,10 @@ -{ stdenv, lib, fetchurl, boost, cmake, ffmpeg, gettext, glew +{ config, stdenv, lib, fetchurl, boost, cmake, ffmpeg, gettext, glew , ilmbase, libXi, libX11, libXext, libXrender , libjpeg, libpng, libsamplerate, libsndfile , libtiff, libGLU_combined, openal, opencolorio, openexr, openimageio, openjpeg_1, pythonPackages , zlib, fftw, opensubdiv, freetype, jemalloc, ocl-icd , jackaudioSupport ? false, libjack2 -, cudaSupport ? false, cudatoolkit +, cudaSupport ? config.cudaSupport or false, cudatoolkit , colladaSupport ? true, opencollada , enableNumpy ? false, makeWrapper }: diff --git a/pkgs/applications/misc/buku/default.nix b/pkgs/applications/misc/buku/default.nix index 0a1275cb17a..bde8fab8144 100644 --- a/pkgs/applications/misc/buku/default.nix +++ b/pkgs/applications/misc/buku/default.nix @@ -69,7 +69,7 @@ with python3.pkgs; buildPythonApplication rec { homepage = https://github.com/jarun/Buku; license = licenses.gpl3; platforms = platforms.linux; - maintainers = with maintainers; [ infinisil ]; + maintainers = with maintainers; [ matthiasbeyer infinisil ]; }; } diff --git a/pkgs/applications/misc/cataract/build.nix b/pkgs/applications/misc/cataract/build.nix index f2aac4326cb..e48b32a783d 100644 --- a/pkgs/applications/misc/cataract/build.nix +++ b/pkgs/applications/misc/cataract/build.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { homepage = http://cgg.bzatek.net/; description = "a simple static web photo gallery, designed to be clean and easily usable"; license = stdenv.lib.licenses.gpl2; - maintainers = with stdenv.lib.maintainers; [ ]; + maintainers = [ stdenv.lib.maintainers.matthiasbeyer ]; platforms = with stdenv.lib.platforms; linux ++ darwin; }; } diff --git a/pkgs/applications/misc/cli-visualizer/default.nix b/pkgs/applications/misc/cli-visualizer/default.nix index 7aecc8f823e..e0d284c838e 100644 --- a/pkgs/applications/misc/cli-visualizer/default.nix +++ b/pkgs/applications/misc/cli-visualizer/default.nix @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { homepage = https://github.com/dpayne/cli-visualizer; description = "CLI based audio visualizer"; license = stdenv.lib.licenses.mit; - maintainers = with stdenv.lib.maintainers; [ ]; + maintainers = [ stdenv.lib.maintainers.matthiasbeyer ]; platforms = with stdenv.lib.platforms; linux; }; } diff --git a/pkgs/applications/misc/ctodo/default.nix b/pkgs/applications/misc/ctodo/default.nix index f8927319a01..0123e0c38d7 100644 --- a/pkgs/applications/misc/ctodo/default.nix +++ b/pkgs/applications/misc/ctodo/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { homepage = http://ctodo.apakoh.dk/; description = "A simple ncurses-based task list manager"; license = stdenv.lib.licenses.mit; - maintainers = with stdenv.lib.maintainers; [ ]; + maintainers = [ stdenv.lib.maintainers.matthiasbeyer ]; platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix index c6f83104fb1..5f252d97d86 100644 --- a/pkgs/applications/misc/electrum/default.nix +++ b/pkgs/applications/misc/electrum/default.nix @@ -14,13 +14,13 @@ in python3Packages.buildPythonApplication rec { pname = "electrum"; - version = "3.3.2"; + version = "3.3.4"; src = fetchFromGitHub { owner = "spesmilo"; repo = "electrum"; rev = version; - sha256 = "1jsn02azdydpq4plr2552s7ijyqgw6zqm2zx8skwsalgbwmhx12i"; + sha256 = "0yxdpc602jnd14xz3px85ka0b6db98zwbgfi9a3vj8p1k3mmiwaj"; }; propagatedBuildInputs = with python3Packages; [ @@ -53,9 +53,6 @@ python3Packages.buildPythonApplication rec { preBuild = '' sed -i 's,usr_share = .*,usr_share = "'$out'/share",g' setup.py - pyrcc5 icons.qrc -o electrum/gui/qt/icons_rc.py - # Recording the creation timestamps introduces indeterminism to the build - sed -i '/Created: .*/d' electrum/gui/qt/icons_rc.py sed -i "s|name = 'libzbar.*'|name='${zbar}/lib/libzbar.so'|" electrum/qrscanner.py substituteInPlace ./electrum/ecc_fast.py --replace libsecp256k1.so.0 ${secp256k1}/lib/libsecp256k1.so.0 ''; diff --git a/pkgs/applications/misc/haxor-news/default.nix b/pkgs/applications/misc/haxor-news/default.nix index e09e65738e5..7353078600d 100644 --- a/pkgs/applications/misc/haxor-news/default.nix +++ b/pkgs/applications/misc/haxor-news/default.nix @@ -38,7 +38,7 @@ buildPythonApplication rec { homepage = https://github.com/donnemartin/haxor-news; description = "Browse Hacker News like a haxor"; license = licenses.asl20; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ matthiasbeyer ]; }; } diff --git a/pkgs/applications/misc/hr/default.nix b/pkgs/applications/misc/hr/default.nix index 6b0926db047..2fd56e3c555 100644 --- a/pkgs/applications/misc/hr/default.nix +++ b/pkgs/applications/misc/hr/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { homepage = https://github.com/LuRsT/hr; description = "A horizontal bar for your terminal"; license = licenses.mit; - maintainers = [ ]; + maintainers = [ maintainers.matthiasbeyer ]; platforms = platforms.unix; }; } diff --git a/pkgs/applications/misc/hstr/default.nix b/pkgs/applications/misc/hstr/default.nix index 026cf9ecc14..1eae8c57fc4 100644 --- a/pkgs/applications/misc/hstr/default.nix +++ b/pkgs/applications/misc/hstr/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { homepage = https://github.com/dvorka/hstr; description = "Shell history suggest box - easily view, navigate, search and use your command history"; license = stdenv.lib.licenses.asl20; - maintainers = with stdenv.lib.maintainers; [ ]; + maintainers = [ stdenv.lib.maintainers.matthiasbeyer ]; platforms = with stdenv.lib.platforms; linux; # Cannot test others }; diff --git a/pkgs/applications/misc/khard/default.nix b/pkgs/applications/misc/khard/default.nix index d6e05056e1c..61eb959a1dd 100644 --- a/pkgs/applications/misc/khard/default.nix +++ b/pkgs/applications/misc/khard/default.nix @@ -50,6 +50,6 @@ in with python.pkgs; buildPythonApplication rec { homepage = https://github.com/scheibler/khard; description = "Console carddav client"; license = stdenv.lib.licenses.gpl3; - maintainers = with stdenv.lib.maintainers; [ ]; + maintainers = with stdenv.lib.maintainers; [ matthiasbeyer ]; }; } diff --git a/pkgs/applications/misc/mdp/default.nix b/pkgs/applications/misc/mdp/default.nix index cd7bdd1fe7e..6c58dde00d3 100644 --- a/pkgs/applications/misc/mdp/default.nix +++ b/pkgs/applications/misc/mdp/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { homepage = https://github.com/visit1985/mdp; description = "A command-line based markdown presentation tool"; - maintainers = with maintainers; [ vrthra ]; + maintainers = with maintainers; [ matthiasbeyer vrthra ]; license = licenses.gpl3; platforms = with platforms; unix; }; diff --git a/pkgs/applications/misc/mwic/default.nix b/pkgs/applications/misc/mwic/default.nix index d1538261939..c08a21e8797 100644 --- a/pkgs/applications/misc/mwic/default.nix +++ b/pkgs/applications/misc/mwic/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { homepage = http://jwilk.net/software/mwic; description = "spell-checker that groups possible misspellings and shows them in their contexts"; license = licenses.mit; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ matthiasbeyer ]; }; } diff --git a/pkgs/applications/misc/rtv/default.nix b/pkgs/applications/misc/rtv/default.nix index 05b19bbbff9..38b2d4ece4d 100644 --- a/pkgs/applications/misc/rtv/default.nix +++ b/pkgs/applications/misc/rtv/default.nix @@ -41,6 +41,6 @@ buildPythonApplication rec { homepage = https://github.com/michael-lazar/rtv; description = "Browse Reddit from your Terminal"; license = licenses.mit; - maintainers = with maintainers; [ jgeerds wedens ]; + maintainers = with maintainers; [ matthiasbeyer jgeerds wedens ]; }; } diff --git a/pkgs/applications/misc/sigal/default.nix b/pkgs/applications/misc/sigal/default.nix index a10b58d00b6..978ac2b7035 100644 --- a/pkgs/applications/misc/sigal/default.nix +++ b/pkgs/applications/misc/sigal/default.nix @@ -29,6 +29,6 @@ python3Packages.buildPythonApplication rec { description = "Yet another simple static gallery generator"; homepage = http://sigal.saimon.org/en/latest/index.html; license = licenses.mit; - maintainers = with maintainers; [ domenkozar ]; + maintainers = with maintainers; [ domenkozar matthiasbeyer ]; }; } diff --git a/pkgs/applications/misc/stag/default.nix b/pkgs/applications/misc/stag/default.nix index 6d6382faccd..ebb50e685da 100644 --- a/pkgs/applications/misc/stag/default.nix +++ b/pkgs/applications/misc/stag/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation { homepage = https://github.com/seenaburns/stag; description = "Terminal streaming bar graph passed through stdin"; license = stdenv.lib.licenses.bsdOriginal; - maintainers = with stdenv.lib.maintainers; [ ]; + maintainers = [ stdenv.lib.maintainers.matthiasbeyer ]; platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/applications/misc/tasknc/default.nix b/pkgs/applications/misc/tasknc/default.nix index bf0e964d591..7ca421b49a3 100644 --- a/pkgs/applications/misc/tasknc/default.nix +++ b/pkgs/applications/misc/tasknc/default.nix @@ -36,7 +36,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { homepage = https://github.com/lharding/tasknc; description = "A ncurses wrapper around taskwarrior"; - maintainers = with maintainers; [ infinisil ]; + maintainers = with maintainers; [ matthiasbeyer infinisil ]; platforms = platforms.linux; # Cannot test others license = licenses.mit; }; diff --git a/pkgs/applications/misc/tasksh/default.nix b/pkgs/applications/misc/tasksh/default.nix index dac447edd7d..6a30adb23da 100644 --- a/pkgs/applications/misc/tasksh/default.nix +++ b/pkgs/applications/misc/tasksh/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { description = "REPL for taskwarrior"; homepage = http://tasktools.org; license = licenses.mit; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ matthiasbeyer ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/misc/timewarrior/default.nix b/pkgs/applications/misc/timewarrior/default.nix index 4ca7a86e6f7..ca049ba04c9 100644 --- a/pkgs/applications/misc/timewarrior/default.nix +++ b/pkgs/applications/misc/timewarrior/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { description = "A command-line time tracker"; homepage = https://taskwarrior.org/docs/timewarrior; license = licenses.mit; - maintainers = with maintainers; [ mrVanDalo ]; + maintainers = with maintainers; [ matthiasbeyer mrVanDalo ]; platforms = platforms.linux ++ platforms.darwin; }; } diff --git a/pkgs/applications/misc/toot/default.nix b/pkgs/applications/misc/toot/default.nix index c6ee7508890..127d9f21d99 100644 --- a/pkgs/applications/misc/toot/default.nix +++ b/pkgs/applications/misc/toot/default.nix @@ -24,7 +24,7 @@ python3Packages.buildPythonApplication rec { description = "Mastodon CLI interface"; homepage = "https://github.com/ihabunek/toot"; license = licenses.mit; - maintainers = [ ]; + maintainers = [ maintainers.matthiasbeyer ]; }; } diff --git a/pkgs/applications/misc/weather/default.nix b/pkgs/applications/misc/weather/default.nix index 544c1252ff4..90fa0166154 100644 --- a/pkgs/applications/misc/weather/default.nix +++ b/pkgs/applications/misc/weather/default.nix @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { homepage = http://fungi.yuggoth.org/weather; description = "Quick access to current weather conditions and forecasts"; license = stdenv.lib.licenses.isc; - maintainers = with stdenv.lib.maintainers; [ ]; + maintainers = [ stdenv.lib.maintainers.matthiasbeyer ]; platforms = with stdenv.lib.platforms; linux; # my only platform }; } diff --git a/pkgs/applications/misc/xmr-stak/default.nix b/pkgs/applications/misc/xmr-stak/default.nix index 0fb2cec2916..6878bc5ab03 100644 --- a/pkgs/applications/misc/xmr-stak/default.nix +++ b/pkgs/applications/misc/xmr-stak/default.nix @@ -12,13 +12,13 @@ in stdenv'.mkDerivation rec { name = "xmr-stak-${version}"; - version = "2.7.1"; + version = "2.8.2"; src = fetchFromGitHub { owner = "fireice-uk"; repo = "xmr-stak"; rev = "${version}"; - sha256 = "1mlli8sx1f3922ygnwakmi2h3swccz62njxbzxfzbi4hlmvsaz0y"; + sha256 = "0z0fdh5fmiisx5dgfyyin3ddl8g28fpd64gn8nl8dd6sf3iw8z7p"; }; NIX_CFLAGS_COMPILE = "-O3"; diff --git a/pkgs/applications/misc/yaft/default.nix b/pkgs/applications/misc/yaft/default.nix index 0794b2b6dbe..d273d27944a 100644 --- a/pkgs/applications/misc/yaft/default.nix +++ b/pkgs/applications/misc/yaft/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { homepage = https://github.com/uobikiemukot/yaft; description = "Yet another framebuffer terminal"; license = stdenv.lib.licenses.mit; - maintainers = with stdenv.lib.maintainers; [ ]; + maintainers = [ stdenv.lib.maintainers.matthiasbeyer ]; platforms = with stdenv.lib.platforms; linux; }; } diff --git a/pkgs/applications/misc/zathura/default.nix b/pkgs/applications/misc/zathura/default.nix index e67bebb3710..315df563946 100644 --- a/pkgs/applications/misc/zathura/default.nix +++ b/pkgs/applications/misc/zathura/default.nix @@ -1,4 +1,6 @@ -{ pkgs, useMupdf ? true, synctexSupport ? true }: +{ config, pkgs +, useMupdf ? config.zathura.useMupdf or true +, synctexSupport ? true }: let callPackage = pkgs.newScope self; diff --git a/pkgs/applications/misc/zola/default.nix b/pkgs/applications/misc/zola/default.nix index bdf6d0da145..d4afe4ea9e1 100644 --- a/pkgs/applications/misc/zola/default.nix +++ b/pkgs/applications/misc/zola/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { name = "zola-${version}"; - version = "0.5.0"; + version = "0.5.1"; src = fetchFromGitHub { owner = "getzola"; repo = "zola"; rev = "v${version}"; - sha256 = "0as8nrzw9zz10w4xxiibgz8ylghc879b2pwaxnw8sjbji2d9qv63"; + sha256 = "1jj6yfb3qkfq3nwcxfrc7k1gqyls873imxgpifbwjx9slg6ssis9"; }; - cargoSha256 = "0a14hq8d3xjr6yfg5qn5r7npqivm816f1p53bbm826igvpc9hsxa"; + cargoSha256 = "1hn2l25fariidgdr32mfx2yqb3g8xk4qafs614bdjiyvfrb7j752"; nativeBuildInputs = [ cmake pkgconfig openssl ]; buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices cf-private ]; diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix index ad145583d49..b604453bb46 100644 --- a/pkgs/applications/networking/browsers/vivaldi/default.nix +++ b/pkgs/applications/networking/browsers/vivaldi/default.nix @@ -13,11 +13,11 @@ stdenv.mkDerivation rec { name = "${product}-${version}"; product = "vivaldi"; - version = "2.3.1440.41-1"; + version = "2.3.1440.48-1"; src = fetchurl { url = "https://downloads.vivaldi.com/stable/${product}-stable_${version}_amd64.deb"; - sha256 = "0wrq7c0sw1b41bshwgzji4pwl0raj0l5h2r7gkcg952rcn0wl9bs"; + sha256 = "0zc9080np82qqqrfavg78vbjfl7w1b4p7f3s6h5wga9f6w1m078c"; }; unpackPhase = '' diff --git a/pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix b/pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix index b303bf2188b..831ddddd2a1 100644 --- a/pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix +++ b/pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { name = "${product}-${version}"; product = "vivaldi-ffmpeg-codecs"; - version = "72.0.3626.96"; + version = "72.0.3626.109"; src = fetchurl { url = "https://commondatastorage.googleapis.com/chromium-browser-official/chromium-${version}.tar.xz"; - sha512 = "2hawkyydcd0b6ipfigkf5n6c1ha1vknaqd4mgw381pi0ayq8skxbjazqabfcg9gcj84cnksi8j4dylfcrbgrmlnmc479fix0m0xx7cl"; + sha512 = "0ffpzvamrzw71vfi12sdwqrxc42bhraai21zzx8rp5n12794rr687dzw9hn3735sc0h2bq7c59zc4hcx3ighr2i93iplz35hp883dhy"; }; buildInputs = [ ]; diff --git a/pkgs/applications/networking/cluster/minishift/default.nix b/pkgs/applications/networking/cluster/minishift/default.nix index de11a116533..bb10349470f 100644 --- a/pkgs/applications/networking/cluster/minishift/default.nix +++ b/pkgs/applications/networking/cluster/minishift/default.nix @@ -4,7 +4,7 @@ }: let - version = "1.30.0"; + version = "1.31.0"; # Update these on version bumps according to Makefile centOsIsoVersion = "v1.14.0"; @@ -18,7 +18,7 @@ in buildGoPackage rec { owner = "minishift"; repo = "minishift"; rev = "v${version}"; - sha256 = "0p7g7r4m3brssy2znw7pd60aph6m6absqy23x88c07n5n4mv9wj8"; + sha256 = "0v5hngfz393yi3x4c328g5bjazw02jr59ljqh6ws0j6wzxzm8jxf"; }; nativeBuildInputs = [ pkgconfig go-bindata makeWrapper ]; @@ -28,9 +28,6 @@ in buildGoPackage rec { subPackages = [ "cmd/minishift" ]; postPatch = '' - substituteInPlace vendor/github.com/containers/image/storage/storage_image.go \ - --replace 'nil, diff' 'diff' - # minishift downloads openshift if not found therefore set the cache to /nix/store/... substituteInPlace pkg/minishift/cache/oc_caching.go \ --replace 'filepath.Join(oc.MinishiftCacheDir, OC_CACHE_DIR, oc.OpenShiftVersion, runtime.GOOS)' '"${openshift}/bin"' \ diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix index d52d8b6b31e..6bdade7198a 100644 --- a/pkgs/applications/networking/irc/weechat/default.nix +++ b/pkgs/applications/networking/irc/weechat/default.nix @@ -10,6 +10,7 @@ , rubySupport ? true, ruby , tclSupport ? true, tcl , extraBuildInputs ? [] +, fetchpatch }: let @@ -27,14 +28,22 @@ let in assert lib.all (p: p.enabled -> ! (builtins.elem null p.buildInputs)) plugins; stdenv.mkDerivation rec { - version = "2.3"; + version = "2.4"; name = "weechat-${version}"; src = fetchurl { url = "https://weechat.org/files/src/weechat-${version}.tar.bz2"; - sha256 = "0mi4pfnyny0vqc35r0scn6yy21y790a5iwq8ms7kch7b7z11jn9w"; + sha256 = "1z80y5fbrb56wdcx9njrf203r8282wnn3piw3yffk5lvhklsz9k1"; }; + patches = [ + (fetchpatch { + url = https://github.com/weechat/weechat/commit/6a9937f08ad2c14aeb0a847ffb99e652d47d8251.patch; + sha256 = "1blhgxwqs65dvpw3ppxszxrsg02rx7qck1w71h61ljinyjzri3bp"; + excludes = [ "ChangeLog.adoc" ]; + }) + ]; + outputs = [ "out" "man" ] ++ map (p: p.name) enabledPlugins; enableParallelBuilding = true; diff --git a/pkgs/applications/networking/mailreaders/claws-mail/default.nix b/pkgs/applications/networking/mailreaders/claws-mail/default.nix index 47a104b252c..34361e1dab9 100644 --- a/pkgs/applications/networking/mailreaders/claws-mail/default.nix +++ b/pkgs/applications/networking/mailreaders/claws-mail/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, wrapGAppsHook, autoreconfHook +{ config, fetchurl, stdenv, wrapGAppsHook, autoreconfHook , curl, dbus, dbus-glib, enchant, gtk2, gnutls, gnupg, gpgme, hicolor-icon-theme , libarchive, libcanberra-gtk2, libetpan, libnotify, libsoup, libxml2, networkmanager , openldap, perl, pkgconfig, poppler, python, shared-mime-info, webkitgtk24x-gtk2 @@ -10,7 +10,7 @@ # gdata requires libgdata # geolocation requires libchamplain , enableLdap ? false -, enableNetworkManager ? false +, enableNetworkManager ? config.networking.networkmanager.enable or false , enablePgp ? true , enablePluginArchive ? false , enablePluginFancy ? false diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix index 106be4fddc4..2fff46a1737 100644 --- a/pkgs/applications/networking/mailreaders/notmuch/default.nix +++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix @@ -12,7 +12,7 @@ with stdenv.lib; stdenv.mkDerivation rec { - version = "0.28.1"; + version = "0.28.2"; name = "notmuch-${version}"; passthru = { @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://notmuchmail.org/releases/${name}.tar.gz"; - sha256 = "0mcsfkrp6mpy374m5rwwgm9md8qzvwa3s4rbzid4cnkx2cwfj4fi"; + sha256 = "0cg9ff7h7mklgbqqknxigxxx1j3p3s2a9cxvrs5ih7j56f04k9l5"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/office/beancount/bean-add.nix b/pkgs/applications/office/beancount/bean-add.nix index cfd7a4eda20..9eec315217c 100644 --- a/pkgs/applications/office/beancount/bean-add.nix +++ b/pkgs/applications/office/beancount/bean-add.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { # The (only) source file states: # License: "Do what you feel is right, but don't be a jerk" public license. - maintainers = with stdenv.lib.maintainers; [ ]; + maintainers = with stdenv.lib.maintainers; [ matthiasbeyer ]; }; } diff --git a/pkgs/applications/office/fava/default.nix b/pkgs/applications/office/fava/default.nix index 6f0fcca480a..5459859150c 100644 --- a/pkgs/applications/office/fava/default.nix +++ b/pkgs/applications/office/fava/default.nix @@ -32,6 +32,6 @@ buildPythonApplication rec { homepage = https://beancount.github.io/fava; description = "Web interface for beancount"; license = stdenv.lib.licenses.mit; - maintainers = with stdenv.lib.maintainers; [ ]; + maintainers = with stdenv.lib.maintainers; [ matthiasbeyer ]; }; } diff --git a/pkgs/applications/office/wordgrinder/default.nix b/pkgs/applications/office/wordgrinder/default.nix index 8efe9b368a0..be5ac7a2f2b 100644 --- a/pkgs/applications/office/wordgrinder/default.nix +++ b/pkgs/applications/office/wordgrinder/default.nix @@ -49,7 +49,7 @@ stdenv.mkDerivation rec { description = "Text-based word processor"; homepage = https://cowlark.com/wordgrinder; license = licenses.mit; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ matthiasbeyer ]; platforms = with stdenv.lib.platforms; linux ++ darwin; }; } diff --git a/pkgs/applications/science/logic/alt-ergo/default.nix b/pkgs/applications/science/logic/alt-ergo/default.nix index 794430ebbe8..234b7474997 100644 --- a/pkgs/applications/science/logic/alt-ergo/default.nix +++ b/pkgs/applications/science/logic/alt-ergo/default.nix @@ -1,17 +1,20 @@ -{ fetchurl, stdenv, ocamlPackages }: +{ fetchurl, stdenv, which, dune, ocamlPackages }: stdenv.mkDerivation rec { name = "alt-ergo-${version}"; - version = "2.2.0"; + version = "2.3.0"; src = fetchurl { url = "https://alt-ergo.ocamlpro.com/download_manager.php?target=${name}.tar.gz"; name = "${name}.tar.gz"; - sha256 = "106zfgisq6qxr7dlk8z7gi68ly7qff4frn8wab2g8z2nkkwla92w"; + sha256 = "1ycr3ff0gacq1aqzs16n6swgfniwpim0m7rvhcam64kj0a80c6bz"; }; - buildInputs = with ocamlPackages; - [ ocaml findlib camlzip ocamlgraph zarith lablgtk ocplib-simplex psmt2-frontend menhir num ]; + buildInputs = [ dune which ] ++ (with ocamlPackages; [ + ocaml findlib camlzip lablgtk menhir num ocplib-simplex psmt2-frontend seq zarith + ]); + + preConfigure = "patchShebangs ./configure"; meta = { description = "High-performance theorem prover and SMT solver"; diff --git a/pkgs/applications/science/machine-learning/sc2-headless/default.nix b/pkgs/applications/science/machine-learning/sc2-headless/default.nix index cd9cf6dafd1..ced075ff432 100644 --- a/pkgs/applications/science/machine-learning/sc2-headless/default.nix +++ b/pkgs/applications/science/machine-learning/sc2-headless/default.nix @@ -1,9 +1,9 @@ -{ stdenv +{ config, stdenv , callPackage , lib , fetchurl , unzip -, licenseAccepted ? false +, licenseAccepted ? config.sc2-headless.accept_license or false }: if !licenseAccepted then throw '' diff --git a/pkgs/applications/science/math/caffe/default.nix b/pkgs/applications/science/math/caffe/default.nix index 4e8829f7e31..9ee56041ed3 100644 --- a/pkgs/applications/science/math/caffe/default.nix +++ b/pkgs/applications/science/math/caffe/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, runCommand +{ config, stdenv, lib, runCommand , fetchFromGitHub , fetchurl , cmake @@ -13,8 +13,8 @@ , Accelerate, CoreGraphics, CoreVideo , lmdbSupport ? true, lmdb , leveldbSupport ? true, leveldb, snappy -, cudaSupport ? stdenv.isLinux, cudatoolkit -, cudnnSupport ? false, cudnn ? null +, cudaSupport ? config.cudaSupport or false, cudatoolkit +, cudnnSupport ? cudaSupport, cudnn ? null , ncclSupport ? false, nccl ? null , pythonSupport ? false, python ? null, numpy ? null , substituteAll diff --git a/pkgs/applications/science/math/cntk/default.nix b/pkgs/applications/science/math/cntk/default.nix index fe5c77be8b2..4bf922c4e16 100644 --- a/pkgs/applications/science/math/cntk/default.nix +++ b/pkgs/applications/science/math/cntk/default.nix @@ -1,8 +1,8 @@ -{ lib, stdenv, fetchgit, fetchFromGitHub, cmake +{ config, lib, stdenv, fetchgit, fetchFromGitHub, cmake , openblas, opencv3, libzip, boost, protobuf, openmpi , onebitSGDSupport ? false -, cudaSupport ? false, cudatoolkit, nvidia_x11 -, cudnnSupport ? false, cudnn +, cudaSupport ? config.cudaSupport or false, cudatoolkit, nvidia_x11 +, cudnnSupport ? cudaSupport, cudnn }: assert cudnnSupport -> cudaSupport; diff --git a/pkgs/applications/science/math/mxnet/default.nix b/pkgs/applications/science/math/mxnet/default.nix index 990d3f1a5d5..061f48bb3d9 100644 --- a/pkgs/applications/science/math/mxnet/default.nix +++ b/pkgs/applications/science/math/mxnet/default.nix @@ -1,7 +1,7 @@ -{ stdenv, lib, fetchurl, bash, cmake +{ config, stdenv, lib, fetchurl, bash, cmake , opencv, gtest, openblas, liblapack, perl -, cudaSupport ? false, cudatoolkit, nvidia_x11 -, cudnnSupport ? false, cudnn +, cudaSupport ? config.cudaSupport or false, cudatoolkit, nvidia_x11 +, cudnnSupport ? cudaSupport, cudnn }: assert cudnnSupport -> cudaSupport; diff --git a/pkgs/applications/version-management/bugseverywhere/default.nix b/pkgs/applications/version-management/bugseverywhere/default.nix index 7c41a60a725..6301acdf134 100644 --- a/pkgs/applications/version-management/bugseverywhere/default.nix +++ b/pkgs/applications/version-management/bugseverywhere/default.nix @@ -28,7 +28,7 @@ pythonPackages.buildPythonApplication rec { homepage = http://www.bugseverywhere.org/; license = licenses.gpl2Plus; platforms = platforms.all; - maintainers = [ ]; + maintainers = [ maintainers.matthiasbeyer ]; }; } diff --git a/pkgs/applications/version-management/git-and-tools/git-dit/default.nix b/pkgs/applications/version-management/git-and-tools/git-dit/default.nix index 9c362276383..473f0b1c450 100644 --- a/pkgs/applications/version-management/git-and-tools/git-dit/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-dit/default.nix @@ -49,6 +49,6 @@ buildRustPackage rec { inherit (src.meta) homepage; description = "Decentralized Issue Tracking for git"; license = licenses.gpl2; - maintainers = with maintainers; [ Profpatsch ]; + maintainers = with maintainers; [ Profpatsch matthiasbeyer ]; }; } diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json index b5a5a9feb76..3298bc16751 100644 --- a/pkgs/applications/version-management/gitlab/data.json +++ b/pkgs/applications/version-management/gitlab/data.json @@ -1,32 +1,32 @@ { "ce": { - "version": "11.7.4", - "repo_hash": "0qq9snykdlpkpbznwpkv0n7bz1rsgz4z7lcjl4xkjxkf2gkf8pxp", - "deb_hash": "1j76jya0ydyg7v3vcdfjmcr5ir23yzdwmg9fxlirvgh74py7q85c", - "deb_url": "https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/stretch/gitlab-ce_11.7.4-ce.0_amd64.deb/download.deb", + "version": "11.7.5", + "repo_hash": "0bbyx9zmscf9273fgypb82gw166psy7d3p7dnwb6f5r9yz7rmhbn", + "deb_hash": "1m6hdvrz467q33z626l9f3d5pssl0bbj2hkqy5g0b05wvdznmldy", + "deb_url": "https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/stretch/gitlab-ce_11.7.5-ce.0_amd64.deb/download.deb", "owner": "gitlab-org", "repo": "gitlab-ce", - "rev": "v11.7.4", + "rev": "v11.7.5", "passthru": { "GITALY_SERVER_VERSION": "1.12.2", "GITLAB_PAGES_VERSION": "1.3.1", "GITLAB_SHELL_VERSION": "8.4.4", - "GITLAB_WORKHORSE_VERSION": "8.0.1" + "GITLAB_WORKHORSE_VERSION": "8.0.2" } }, "ee": { - "version": "11.7.4", - "repo_hash": "0riqww094ylbbwb9mhjpsqhrdpxlcf6rc5p796p7x7f46p31mcjb", - "deb_hash": "02hnhhyrm4a3lgwnl399byka2dr5q3pjirki447373270ca93h5i", - "deb_url": "https://packages.gitlab.com/gitlab/gitlab-ee/packages/debian/stretch/gitlab-ee_11.7.4-ee.0_amd64.deb/download.deb", + "version": "11.7.5", + "repo_hash": "05dzvqrdgxbzsrf9rbis5m3iic04midx2arxgg3g4f78qfjxzylm", + "deb_hash": "1nfd68vzy3zc6a3xn5lhr83kqv9d7aaxvzv4ca9awcz4va5b33kc", + "deb_url": "https://packages.gitlab.com/gitlab/gitlab-ee/packages/debian/stretch/gitlab-ee_11.7.5-ee.0_amd64.deb/download.deb", "owner": "gitlab-org", "repo": "gitlab-ee", - "rev": "v11.7.4-ee", + "rev": "v11.7.5-ee", "passthru": { "GITALY_SERVER_VERSION": "1.12.2", "GITLAB_PAGES_VERSION": "1.3.1", "GITLAB_SHELL_VERSION": "8.4.4", - "GITLAB_WORKHORSE_VERSION": "8.0.1" + "GITLAB_WORKHORSE_VERSION": "8.0.2" } } } \ No newline at end of file diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix index 96ea361a254..ad3b11f3b2c 100644 --- a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix +++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { name = "gitlab-workhorse-${version}"; - version = "8.0.1"; + version = "8.0.2"; src = fetchFromGitLab { owner = "gitlab-org"; repo = "gitlab-workhorse"; rev = "v${version}"; - sha256 = "1aslcadag1q2rdirf9m0dl5vfaz8v3yy1232mvyjyvy1wb51pf4q"; + sha256 = "12xwr9yl59i58gnf0yn5yjp7zwz3s46042lk7rihvvzsa0kax690"; }; buildInputs = [ git go ]; diff --git a/pkgs/applications/video/handbrake/default.nix b/pkgs/applications/video/handbrake/default.nix index 07474c5e52c..b17ba7e19f4 100644 --- a/pkgs/applications/video/handbrake/default.nix +++ b/pkgs/applications/video/handbrake/default.nix @@ -29,12 +29,12 @@ }: stdenv.mkDerivation rec { - version = "1.2.0"; - name = "handbrake-${version}"; + pname = "handbrake"; + version = "1.2.1"; src = fetchurl { url = ''https://download2.handbrake.fr/${version}/HandBrake-${version}-source.tar.bz2''; - sha256 = "03clkknaq3mz84p85cvr21gsy9b8vv2g4vvyfz44hz8la253jfqi"; + sha256 = "0gbqzar49c8ygz6chnsz65xgsdcwr60lbc8ivnw8i6xjggn6wc80"; }; nativeBuildInputs = [ diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix index ffbaa9fffdf..66fc1645e9a 100644 --- a/pkgs/applications/video/mpv/default.nix +++ b/pkgs/applications/video/mpv/default.nix @@ -1,9 +1,9 @@ -{ stdenv, fetchurl, fetchFromGitHub, makeWrapper +{ config, stdenv, fetchurl, fetchFromGitHub, makeWrapper , docutils, perl, pkgconfig, python3, which, ffmpeg_4 , freefont_ttf, freetype, libass, libpthreadstubs, mujs , lua, libuchardet, libiconv ? null, darwin -, waylandSupport ? false +, waylandSupport ? stdenv.isLinux , wayland ? null , wayland-protocols ? null , libxkbcommon ? null @@ -24,30 +24,30 @@ , vulkan-headers ? null , vulkan-loader ? null -, alsaSupport ? true, alsaLib ? null -, bluraySupport ? true, libbluray ? null -, bs2bSupport ? true, libbs2b ? null -, cacaSupport ? true, libcaca ? null -, cmsSupport ? true, lcms2 ? null -, drmSupport ? true, libdrm ? null -, dvdnavSupport ? true, libdvdnav ? null -, dvdreadSupport ? true, libdvdread ? null -, libpngSupport ? true, libpng ? null -, pulseSupport ? true, libpulseaudio ? null -, rubberbandSupport ? true, rubberband ? null -, screenSaverSupport ? true, libXScrnSaver ? null -, sdl2Support ? true, SDL2 ? null -, speexSupport ? true, speex ? null -, theoraSupport ? true, libtheora ? null -, vaapiSupport ? true, libva ? null -, vdpauSupport ? true, libvdpau ? null -, xineramaSupport ? true, libXinerama ? null -, xvSupport ? true, libXv ? null -, youtubeSupport ? true, youtube-dl ? null -, archiveSupport ? false, libarchive ? null -, jackaudioSupport ? false, libjack2 ? null -, openalSupport ? false, openalSoft ? null -, vapoursynthSupport ? false, vapoursynth ? null +, alsaSupport ? stdenv.isLinux, alsaLib ? null +, bluraySupport ? true, libbluray ? null +, bs2bSupport ? true, libbs2b ? null +, cacaSupport ? true, libcaca ? null +, cmsSupport ? true, lcms2 ? null +, drmSupport ? stdenv.isLinux, libdrm ? null +, dvdnavSupport ? stdenv.isLinux, libdvdnav ? null +, dvdreadSupport ? stdenv.isLinux, libdvdread ? null +, libpngSupport ? true, libpng ? null +, pulseSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio ? null +, rubberbandSupport ? stdenv.isLinux, rubberband ? null +, screenSaverSupport ? true, libXScrnSaver ? null +, sdl2Support ? true, SDL2 ? null +, speexSupport ? true, speex ? null +, theoraSupport ? true, libtheora ? null +, vaapiSupport ? stdenv.isLinux, libva ? null +, vdpauSupport ? true, libvdpau ? null +, xineramaSupport ? stdenv.isLinux, libXinerama ? null +, xvSupport ? stdenv.isLinux, libXv ? null +, youtubeSupport ? true, youtube-dl ? null +, archiveSupport ? false, libarchive ? null +, jackaudioSupport ? false, libjack2 ? null +, openalSupport ? false, openalSoft ? null +, vapoursynthSupport ? false, vapoursynth ? null }: with stdenv.lib; @@ -92,7 +92,7 @@ let "http://www.freehackers.org/~tnagy/release/waf-${wafVersion}" ]; sha256 = "0j7sbn3w6bgslvwwh5v9527w3gi2sd08kskrgxamx693y0b0i3ia"; }; - luaEnv = lua.withPackages(ps: with ps; [ luasocket]); + luaEnv = lua.withPackages(ps: with ps; [ luasocket ]); in stdenv.mkDerivation rec { name = "mpv-${version}"; diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix index 579d5566f13..7211f9ff3d1 100644 --- a/pkgs/applications/video/obs-studio/default.nix +++ b/pkgs/applications/video/obs-studio/default.nix @@ -1,4 +1,4 @@ -{ stdenv +{ config, stdenv , fetchFromGitHub , fetchpatch , cmake @@ -26,9 +26,9 @@ , swig , python3 -, alsaSupport ? false +, alsaSupport ? stdenv.isLinux , alsaLib -, pulseaudioSupport ? false +, pulseaudioSupport ? config.pulseaudio or stdenv.isLinux , libpulseaudio }: diff --git a/pkgs/applications/virtualization/dynamips/default.nix b/pkgs/applications/virtualization/dynamips/default.nix index 4499fff4dc8..9419939d1c7 100644 --- a/pkgs/applications/virtualization/dynamips/default.nix +++ b/pkgs/applications/virtualization/dynamips/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { name = "${pname}-${version}"; pname = "dynamips"; - version = "0.2.19"; + version = "0.2.20"; src = fetchFromGitHub { owner = "GNS3"; repo = pname; rev = "v${version}"; - sha256 = "0x63m37vjyp57900x09gfvw02cwg85b33918x7fjj9x37wgmi5qf"; + sha256 = "1841h0m0k0p3c3ify4imafjk7jigcj2zlr8rn3iyp7jnafkxqik7"; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/applications/virtualization/firecracker/default.nix b/pkgs/applications/virtualization/firecracker/default.nix index e1696fc15a5..f277bafa214 100644 --- a/pkgs/applications/virtualization/firecracker/default.nix +++ b/pkgs/applications/virtualization/firecracker/default.nix @@ -1,7 +1,7 @@ { fetchurl, stdenv }: let - version = "0.13.0"; + version = "0.14.0"; baseurl = "https://github.com/firecracker-microvm/firecracker/releases/download"; fetchbin = name: sha256: fetchurl { @@ -9,8 +9,8 @@ let inherit sha256; }; - firecracker-bin = fetchbin "firecracker" "1wdcy4vmnx216jnza7bz6czlqpsjrnpqfsb5d322ld4gzbylm718"; - jailer-bin = fetchbin "jailer" "0k0sc5138bh35ciim2l78ma9g5x18dw098f2ar5y31ybr8i4q60y"; + firecracker-bin = fetchbin "firecracker" "02d7s2hzhl13k5linlav7yc4kg9v70sccc3ysfgaqq8hz7zfqywg"; + jailer-bin = fetchbin "jailer" "120n14zjnm21s39dza99p003bn5n0n5fzcyaw4l6laq336r24gvi"; in stdenv.mkDerivation { name = "firecracker-${version}"; diff --git a/pkgs/applications/window-managers/xmonad/log-applet/default.nix b/pkgs/applications/window-managers/xmonad/log-applet/default.nix index 57f00887103..f7ccda27389 100644 --- a/pkgs/applications/window-managers/xmonad/log-applet/default.nix +++ b/pkgs/applications/window-managers/xmonad/log-applet/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, glib, dbus-glib -, desktopSupport, xorg +, desktopSupport ? "gnomeflashback", xorg , gtk2 , gtk3, gnome3, mate , libxfce4util, xfce4-panel diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix index 4122af898de..142f5255caa 100644 --- a/pkgs/build-support/bintools-wrapper/default.nix +++ b/pkgs/build-support/bintools-wrapper/default.nix @@ -187,6 +187,7 @@ stdenv.mkDerivation { else if targetPlatform.isPower then if targetPlatform.isBigEndian then "ppc" else "lppc" else if targetPlatform.isSparc then "sparc" else if targetPlatform.isAvr then "avr" + else if targetPlatform.isAlpha then "alpha" else throw "unknown emulation for platform: " + targetPlatform.config; in targetPlatform.platform.bfdEmulation or (fmt + sep + arch); diff --git a/pkgs/build-support/build-bazel-package/default.nix b/pkgs/build-support/build-bazel-package/default.nix index 931b68c6329..f39f4e65e45 100644 --- a/pkgs/build-support/build-bazel-package/default.nix +++ b/pkgs/build-support/build-bazel-package/default.nix @@ -33,7 +33,9 @@ in stdenv.mkDerivation (fBuildAttrs // { # sandbox enabled. Code here # https://github.com/bazelbuild/bazel/blob/9323c57607d37f9c949b60e293b573584906da46/src/main/cpp/startup_options.cc#L123-L124 # - USER=homeless-shelter bazel --output_base="$bazelOut" --output_user_root="$bazelUserRoot" fetch $bazelFlags $bazelTarget + # On macOS Bazel will use the system installed Xcode or CLT toolchain instead of the one in the PATH unless we pass BAZEL_USE_CPP_ONLY_TOOLCHAIN + # + BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 USER=homeless-shelter bazel --output_base="$bazelOut" --output_user_root="$bazelUserRoot" fetch $bazelFlags $bazelTarget runHook postBuild ''; @@ -90,7 +92,42 @@ in stdenv.mkDerivation (fBuildAttrs // { buildPhase = fBuildAttrs.buildPhase or '' runHook preBuild - bazel --output_base="$bazelOut" --output_user_root="$bazelUserRoot" build -j $NIX_BUILD_CORES $bazelFlags $bazelTarget + # Bazel sandboxes the execution of the tools it invokes, so even though we are + # calling the correct nix wrappers, the values of the environment variables + # the wrappers are expecting will not be set. So instead of relying on the + # wrappers picking them up, pass them in explicitly via `--copt`, `--linkopt` + # and related flags. + # + copts=() + host_copts=() + for flag in $NIX_CFLAGS_COMPILE; do + copts+=( "--copt=$flag" ) + host_copts+=( "--host_copt=$flag" ) + done + for flag in $NIX_CXXSTDLIB_COMPILE; do + copts+=( "--copt=$flag" ) + host_copts+=( "--host_copt=$flag" ) + done + linkopts=() + host_linkopts=() + for flag in $NIX_LD_FLAGS; do + linkopts+=( "--linkopt=$flag" ) + host_linkopts+=( "--host_linkopt=$flag" ) + done + + BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 \ + USER=homeless-shelter \ + bazel \ + --output_base="$bazelOut" \ + --output_user_root="$bazelUserRoot" \ + build \ + -j $NIX_BUILD_CORES \ + "''${copts[@]}" \ + "''${host_copts[@]}" \ + "''${linkopts[@]}" \ + "''${host_linkopts[@]}" \ + $bazelFlags \ + $bazelTarget runHook postBuild ''; diff --git a/pkgs/build-support/fetchsvn/default.nix b/pkgs/build-support/fetchsvn/default.nix index 194ce3b39b1..68433d1471d 100644 --- a/pkgs/build-support/fetchsvn/default.nix +++ b/pkgs/build-support/fetchsvn/default.nix @@ -1,4 +1,4 @@ -{stdenvNoCC, subversion, glibcLocales, sshSupport ? false, openssh ? null}: +{stdenvNoCC, subversion, glibcLocales, sshSupport ? true, openssh ? null}: {url, rev ? "HEAD", md5 ? "", sha256 ? "" , ignoreExternals ? false, ignoreKeywords ? false, name ? null , preferLocalBuild ? true }: diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin.nix index 541b30ec1b3..80153332934 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin.nix @@ -21,6 +21,6 @@ stdenv.mkDerivation rec { homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}"; description = "Mailwatch plugin for Xfce panel"; platforms = platforms.linux; - maintainers = [ ]; + maintainers = [ maintainers.matthiasbeyer ]; }; } diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin.nix index 5331c29a454..8a602b8b4a1 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin.nix @@ -21,6 +21,6 @@ stdenv.mkDerivation rec { homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}"; description = "MPD plugin for Xfce panel"; platforms = platforms.linux; - maintainers = [ ]; + maintainers = [ maintainers.matthiasbeyer ]; }; } diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix index 57cd48c6f27..73ab7782ebd 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix @@ -25,6 +25,6 @@ stdenv.mkDerivation rec { description = "A simple XFCE panel plugin that lets the user run an alarm at a specified time or at the end of a specified countdown period"; platforms = platforms.linux; license = licenses.gpl2; - maintainers = [ ]; + maintainers = [ maintainers.matthiasbeyer ]; }; } diff --git a/pkgs/development/compilers/coreclr/default.nix b/pkgs/development/compilers/coreclr/default.nix index 05958d52336..8be482e2150 100644 --- a/pkgs/development/compilers/coreclr/default.nix +++ b/pkgs/development/compilers/coreclr/default.nix @@ -1,4 +1,4 @@ -{ stdenv +{ config, stdenv , fetchFromGitHub , fetchpatch , which @@ -14,7 +14,7 @@ , liburcu , libuuid , libkrb5 -, debug ? false +, debug ? config.coreclr.debug or false }: stdenv.mkDerivation rec { diff --git a/pkgs/development/compilers/gnu-smalltalk/default.nix b/pkgs/development/compilers/gnu-smalltalk/default.nix index 39d1652fc70..41c325c2b1a 100644 --- a/pkgs/development/compilers/gnu-smalltalk/default.nix +++ b/pkgs/development/compilers/gnu-smalltalk/default.nix @@ -1,5 +1,7 @@ -{ stdenv, fetchurl, pkgconfig, libtool, zip, libffi, libsigsegv, readline, gmp, -gnutls, gnome2, cairo, SDL, sqlite, emacsSupport ? false, emacs ? null }: +{ config, stdenv, fetchurl, pkgconfig, libtool +, zip, libffi, libsigsegv, readline, gmp +, gnutls, gnome2, cairo, SDL, sqlite +, emacsSupport ? config.emacsSupport or false, emacs ? null }: assert emacsSupport -> (emacs != null); diff --git a/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix b/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix index 4d88f3b9772..8342c9fd335 100644 --- a/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix +++ b/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix @@ -17,7 +17,8 @@ , installjdk ? true , pluginSupport ? true , installjce ? false -, licenseAccepted ? false +, config +, licenseAccepted ? config.oraclejdk.accept_license or false , glib , libxml2 , libav_0_8 diff --git a/pkgs/development/compilers/solc/default.nix b/pkgs/development/compilers/solc/default.nix index b7a2f602cc6..bd4b10ddec0 100644 --- a/pkgs/development/compilers/solc/default.nix +++ b/pkgs/development/compilers/solc/default.nix @@ -1,4 +1,8 @@ -{ stdenv, fetchzip, fetchFromGitHub, boost, cmake, z3 }: +{ stdenv, fetchzip, fetchFromGitHub, boost, cmake +, z3Support ? true, z3 ? null +}: + +assert z3Support -> z3 != null; let version = "0.5.3"; @@ -33,6 +37,8 @@ stdenv.mkDerivation { cmakeFlags = [ "-DBoost_USE_STATIC_LIBS=OFF" "-DBUILD_SHARED_LIBS=ON" + ] ++ stdenv.lib.optionals (!z3Support) [ + "-DUSE_Z3=OFF" ]; doCheck = stdenv.hostPlatform.isLinux && stdenv.hostPlatform == stdenv.buildPlatform; @@ -40,7 +46,8 @@ stdenv.mkDerivation { "./test/soltest -p -- --no-ipc --no-smt --testpath ../test"; nativeBuildInputs = [ cmake ]; - buildInputs = [ boost z3 ]; + buildInputs = [ boost ] + ++ stdenv.lib.optionals z3Support [ z3 ]; outputs = [ "out" "dev" ]; diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 41d050531a3..426d23d6c7e 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -85,7 +85,7 @@ self: super: { name = "git-annex-${super.git-annex.version}-src"; url = "git://git-annex.branchable.com/"; rev = "refs/tags/" + super.git-annex.version; - sha256 = "06385r9rlncrrmzdfl8q600bw6plbvkmkwgl3llg595xrm711a97"; + sha256 = "1v2v6cwy957y5rgclb66ia7bl5j5mx291s3lh2swa39q3420m6v0"; }; }).override { dbus = if pkgs.stdenv.isLinux then self.dbus else null; diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml index 7071f345037..feaf5507d1f 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml @@ -46,7 +46,7 @@ default-package-overrides: # Newer versions don't work in LTS-12.x - alsa-mixer < 0.3 - cassava-megaparsec < 2 - # LTS Haskell 13.7 + # LTS Haskell 13.8 - abstract-deque ==0.3 - abstract-deque-tests ==0.3 - abstract-par ==0.3.3 @@ -365,7 +365,7 @@ default-package-overrides: - cassava-records ==0.1.0.4 - cast ==0.1.0.2 - category ==0.2.2.0 - - cayley-client ==0.4.8 + - cayley-client ==0.4.9 - cborg ==0.2.1.0 - cborg-json ==0.2.1.0 - cereal ==0.5.8.0 @@ -481,7 +481,7 @@ default-package-overrides: - cql-io ==1.0.1.1 - crackNum ==2.3 - credential-store ==0.1.2 - - criterion ==1.5.3.0 + - criterion ==1.5.4.0 - criterion-measurement ==0.1.1.0 - cron ==0.6.1 - crypto-api ==0.13.3 @@ -557,8 +557,8 @@ default-package-overrides: - dataurl ==0.1.0.0 - DAV ==1.3.3 - dbcleaner ==0.1.3 - - DBFunctor ==0.1.1.0 - - dbus ==1.2.3 + - DBFunctor ==0.1.1.1 + - dbus ==1.2.4 - debian-build ==0.10.1.2 - debug ==0.1.1 - debug-trace-var ==0.2.0 @@ -595,7 +595,7 @@ default-package-overrides: - digits ==0.3.1 - di-monad ==1.3 - directory-tree ==0.12.1 - - direct-sqlite ==2.3.23 + - direct-sqlite ==2.3.24 - discount ==0.1.1 - disk-free-space ==0.1.0.1 - distributed-closure ==0.4.1 @@ -610,7 +610,7 @@ default-package-overrides: - doctemplates ==0.2.2.1 - doctest ==0.16.0.1 - doctest-discover ==0.2.0.0 - - doctest-driver-gen ==0.3.0.0 + - doctest-driver-gen ==0.3.0.1 - do-list ==1.0.1 - dom-parser ==3.1.0 - dotenv ==0.8.0.0 @@ -850,7 +850,7 @@ default-package-overrides: - gloss-rendering ==1.13.0.2 - GLURaw ==2.0.0.4 - GLUT ==2.7.0.14 - - gnuplot ==0.5.5.3 + - gnuplot ==0.5.6 - goggles ==0.3.2 - google-isbn ==1.0.3 - google-oauth2-jwt ==0.3.1 @@ -918,7 +918,7 @@ default-package-overrides: - HDBC-session ==0.1.2.0 - heap ==1.0.4 - heaps ==0.3.6.1 - - hebrew-time ==0.1.1 + - hebrew-time ==0.1.2 - hedgehog ==0.6.1 - hedgehog-corpus ==0.1.0 - hedis ==0.10.10 @@ -1110,7 +1110,7 @@ default-package-overrides: - intern ==0.9.2 - interpolate ==0.2.0 - interpolatedstring-perl6 ==1.0.1 - - interpolation ==0.1.0.3 + - interpolation ==0.1.1 - interpolator ==0.1.1 - IntervalMap ==0.6.1.0 - intervals ==0.8.1 @@ -1216,7 +1216,7 @@ default-package-overrides: - libgraph ==1.14 - libmpd ==0.9.0.9 - libraft ==0.1.1.0 - - libyaml ==0.1.0.0 + - libyaml ==0.1.1.0 - LibZip ==1.0.1 - lifted-async ==0.10.0.3 - lifted-base ==0.2.3.12 @@ -1321,7 +1321,7 @@ default-package-overrides: - mmap ==0.5.9 - mmark ==0.0.6.1 - mmark-cli ==0.0.5.0 - - mmark-ext ==0.2.1.1 + - mmark-ext ==0.2.1.2 - mmorph ==1.1.2 - mnist-idx ==0.1.2.8 - mockery ==0.3.5 @@ -1491,10 +1491,10 @@ default-package-overrides: - parsers ==0.12.9 - partial-handler ==1.0.3 - partial-isomorphisms ==0.2.2.1 - - partial-semigroup ==0.5.0.0 + - partial-semigroup ==0.5.1.0 - path ==0.6.1 - path-extra ==0.2.0 - - path-io ==1.4.1 + - path-io ==1.4.2 - path-pieces ==0.2.1 - path-text-utf8 ==0.0.1.2 - pathtype ==0.8.1 @@ -2183,7 +2183,7 @@ default-package-overrides: - void ==0.7.2 - vty ==5.25.1 - wai ==3.2.2 - - wai-app-static ==3.1.6.2 + - wai-app-static ==3.1.6.3 - wai-cli ==0.1.1 - wai-conduit ==3.0.0.4 - wai-cors ==0.2.6 @@ -2286,19 +2286,19 @@ default-package-overrides: - xmonad-extras ==0.15.1 - xss-sanitize ==0.3.6 - xxhash-ffi ==0.2.0.0 - - yam ==0.5.11 - - yam-datasource ==0.5.11 + - yam ==0.5.13 + - yam-datasource ==0.5.13 - yaml ==0.11.0.0 - yeshql ==4.1.0.1 - yeshql-core ==4.1.0.2 - yeshql-hdbc ==4.1.0.2 - yesod ==1.6.0 - yesod-alerts ==0.1.2.0 - - yesod-auth ==1.6.5 + - yesod-auth ==1.6.6 - yesod-auth-hashdb ==1.7.1 - yesod-auth-oauth2 ==0.6.1.0 - yesod-bin ==1.6.0.3 - - yesod-core ==1.6.11 + - yesod-core ==1.6.12 - yesod-csp ==0.2.4.0 - yesod-eventsource ==1.6.0 - yesod-fb ==0.5.0 @@ -3226,6 +3226,7 @@ dont-distribute-packages: broadcast-chan-tests: [ i686-linux, x86_64-linux, x86_64-darwin ] broadcast-chan: [ i686-linux, x86_64-linux, x86_64-darwin ] broccoli: [ i686-linux, x86_64-linux, x86_64-darwin ] + brok: [ i686-linux, x86_64-linux, x86_64-darwin ] broker-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] bronyradiogermany-streaming: [ i686-linux, x86_64-linux, x86_64-darwin ] browscap: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -3279,6 +3280,7 @@ dont-distribute-packages: c2ats: [ i686-linux, x86_64-linux, x86_64-darwin ] c2hsc: [ i686-linux, x86_64-linux, x86_64-darwin ] cabal-audit: [ i686-linux, x86_64-linux, x86_64-darwin ] + cabal-bundle-clib: [ i686-linux, x86_64-linux, x86_64-darwin ] cabal-cargs: [ i686-linux, x86_64-linux, x86_64-darwin ] cabal-constraints: [ i686-linux, x86_64-linux, x86_64-darwin ] cabal-db: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -3325,6 +3327,7 @@ dont-distribute-packages: caffegraph: [ i686-linux, x86_64-linux, x86_64-darwin ] cairo-appbase: [ i686-linux, x86_64-linux, x86_64-darwin ] cairo-canvas: [ i686-linux, x86_64-linux, x86_64-darwin ] + cairo-core: [ i686-linux, x86_64-linux, x86_64-darwin ] cairo: [ i686-linux, x86_64-linux, x86_64-darwin ] cake3: [ i686-linux, x86_64-linux, x86_64-darwin ] cake: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -3474,6 +3477,7 @@ dont-distribute-packages: cil: [ i686-linux, x86_64-linux, x86_64-darwin ] cinvoke: [ i686-linux, x86_64-linux, x86_64-darwin ] cio: [ i686-linux, x86_64-linux, x86_64-darwin ] + ciphersaber2: [ i686-linux, x86_64-linux, x86_64-darwin ] circlehs: [ i686-linux, x86_64-linux, x86_64-darwin ] citation-resolve: [ i686-linux, x86_64-linux, x86_64-darwin ] citeproc-hs-pandoc-filter: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -3922,10 +3926,12 @@ dont-distribute-packages: data-util: [ i686-linux, x86_64-linux, x86_64-darwin ] data-variant: [ i686-linux, x86_64-linux, x86_64-darwin ] database-study: [ i686-linux, x86_64-linux, x86_64-darwin ] + datadog-tracing: [ i686-linux, x86_64-linux, x86_64-darwin ] datadog: [ i686-linux, x86_64-linux, x86_64-darwin ] datafix: [ i686-linux, x86_64-linux, x86_64-darwin ] dataflow: [ i686-linux, x86_64-linux, x86_64-darwin ] datalog: [ i686-linux, x86_64-linux, x86_64-darwin ] + datasets: [ i686-linux, x86_64-linux, x86_64-darwin ] DataTreeView: [ i686-linux, x86_64-linux, x86_64-darwin ] date-conversions: [ i686-linux, x86_64-linux, x86_64-darwin ] dates: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -4586,6 +4592,7 @@ dont-distribute-packages: flite: [ i686-linux, x86_64-linux, x86_64-darwin ] float-binstring: [ i686-linux, x86_64-linux, x86_64-darwin ] floating-bits: [ i686-linux, x86_64-linux, x86_64-darwin ] + floskell: [ i686-linux, x86_64-linux, x86_64-darwin ] flow-er: [ i686-linux, x86_64-linux, x86_64-darwin ] flow2dot: [ i686-linux, x86_64-linux, x86_64-darwin ] flowdock-api: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -4740,6 +4747,7 @@ dont-distribute-packages: game-probability: [ i686-linux, x86_64-linux, x86_64-darwin ] gameclock: [ i686-linux, x86_64-linux, x86_64-darwin ] Gamgine: [ i686-linux, x86_64-linux, x86_64-darwin ] + gamma: [ i686-linux, x86_64-linux, x86_64-darwin ] Ganymede: [ i686-linux, x86_64-linux, x86_64-darwin ] garepinoh: [ i686-linux, x86_64-linux, x86_64-darwin ] gargoyle-postgresql: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -4846,6 +4854,7 @@ dont-distribute-packages: ghc-heap-view: [ i686-linux, x86_64-linux, x86_64-darwin ] ghc-imported-from: [ i686-linux, x86_64-linux, x86_64-darwin ] ghc-instances: [ i686-linux, x86_64-linux, x86_64-darwin ] + ghc-lib: [ i686-linux, x86_64-linux, x86_64-darwin ] ghc-man-completion: [ i686-linux, x86_64-linux, x86_64-darwin ] ghc-mod: [ i686-linux, x86_64-linux, x86_64-darwin ] ghc-parmake: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -4878,6 +4887,7 @@ dont-distribute-packages: ghcjs-xhr: [ i686-linux, x86_64-linux, x86_64-darwin ] ghclive: [ i686-linux, x86_64-linux, x86_64-darwin ] ght: [ i686-linux, x86_64-linux, x86_64-darwin ] + gi-cairo-again: [ i686-linux, x86_64-linux, x86_64-darwin ] gi-gstpbutils: [ i686-linux, x86_64-linux, x86_64-darwin ] gi-gsttag: [ i686-linux, x86_64-linux, x86_64-darwin ] gi-gtkosxapplication: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -5243,6 +5253,7 @@ dont-distribute-packages: happstack-facebook: [ i686-linux, x86_64-linux, x86_64-darwin ] happstack-fay-ajax: [ i686-linux, x86_64-linux, x86_64-darwin ] happstack-fay: [ i686-linux, x86_64-linux, x86_64-darwin ] + happstack-foundation: [ i686-linux, x86_64-linux, x86_64-darwin ] happstack-hamlet: [ i686-linux, x86_64-linux, x86_64-darwin ] happstack-heist: [ i686-linux, x86_64-linux, x86_64-darwin ] happstack-helpers: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -5437,6 +5448,7 @@ dont-distribute-packages: haskus-utils-data: [ i686-linux, x86_64-linux, x86_64-darwin ] haskus-utils-variant: [ i686-linux, x86_64-linux, x86_64-darwin ] haskus-utils: [ i686-linux, x86_64-linux, x86_64-darwin ] + haskus-web: [ i686-linux, x86_64-linux, x86_64-darwin ] haslo: [ i686-linux, x86_64-linux, x86_64-darwin ] hasloGUI: [ i686-linux, x86_64-linux, x86_64-darwin ] hasparql-client: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -5725,6 +5737,7 @@ dont-distribute-packages: hmeap-utils: [ i686-linux, x86_64-linux, x86_64-darwin ] hmeap: [ i686-linux, x86_64-linux, x86_64-darwin ] hmenu: [ i686-linux, x86_64-linux, x86_64-darwin ] + hmep: [ i686-linux, x86_64-linux, x86_64-darwin ] hmk: [ i686-linux, x86_64-linux, x86_64-darwin ] hmm-hmatrix: [ i686-linux, x86_64-linux, x86_64-darwin ] hmm-lapack: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -6256,6 +6269,7 @@ dont-distribute-packages: insert-ordered-containers: [ i686-linux, x86_64-linux, x86_64-darwin ] inserts: [ i686-linux, x86_64-linux, x86_64-darwin ] inspector-wrecker: [ i686-linux, x86_64-linux, x86_64-darwin ] + instana-haskell-trace-sdk: [ i686-linux, x86_64-linux, x86_64-darwin ] instant-aeson: [ i686-linux, x86_64-linux, x86_64-darwin ] instant-bytes: [ i686-linux, x86_64-linux, x86_64-darwin ] instant-deepseq: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -6472,7 +6486,9 @@ dont-distribute-packages: kansas-lava: [ i686-linux, x86_64-linux, x86_64-darwin ] karakuri: [ i686-linux, x86_64-linux, x86_64-darwin ] karps: [ i686-linux, x86_64-linux, x86_64-darwin ] + katip-datadog: [ i686-linux, x86_64-linux, x86_64-darwin ] katip-elasticsearch: [ i686-linux, x86_64-linux, x86_64-darwin ] + katip-logzio: [ i686-linux, x86_64-linux, x86_64-darwin ] katip-rollbar: [ i686-linux, x86_64-linux, x86_64-darwin ] katip-scalyr-scribe: [ i686-linux, x86_64-linux, x86_64-darwin ] katip-syslog: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -6526,6 +6542,7 @@ dont-distribute-packages: krapsh: [ i686-linux, x86_64-linux, x86_64-darwin ] Kriens: [ i686-linux, x86_64-linux, x86_64-darwin ] krpc: [ i686-linux, x86_64-linux, x86_64-darwin ] + ks-test: [ i686-linux, x86_64-linux, x86_64-darwin ] KSP: [ i686-linux, x86_64-linux, x86_64-darwin ] ktx: [ i686-linux, x86_64-linux, x86_64-darwin ] kure-your-boilerplate: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -6652,6 +6669,7 @@ dont-distribute-packages: ldif: [ i686-linux, x86_64-linux, x86_64-darwin ] leaf: [ i686-linux, x86_64-linux, x86_64-darwin ] leaky: [ i686-linux, x86_64-linux, x86_64-darwin ] + leanpub-wreq: [ i686-linux, x86_64-linux, x86_64-darwin ] leapseconds: [ i686-linux, x86_64-linux, x86_64-darwin ] learn-physics-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] learn-physics: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -6958,6 +6976,7 @@ dont-distribute-packages: MASMGen: [ i686-linux, x86_64-linux, x86_64-darwin ] master-plan: [ i686-linux, x86_64-linux, x86_64-darwin ] matchers: [ i686-linux, x86_64-linux, x86_64-darwin ] + math-grads: [ i686-linux, x86_64-linux, x86_64-darwin ] mathblog: [ i686-linux, x86_64-linux, x86_64-darwin ] mathflow: [ i686-linux, x86_64-linux, x86_64-darwin ] mathlink: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -7092,6 +7111,8 @@ dont-distribute-packages: ml-w: [ i686-linux, x86_64-linux, x86_64-darwin ] mlist: [ i686-linux, x86_64-linux, x86_64-darwin ] mltool: [ i686-linux, x86_64-linux, x86_64-darwin ] + mmark-cli: [ i686-linux, x86_64-linux, x86_64-darwin ] + mmark-ext: [ i686-linux, x86_64-linux, x86_64-darwin ] mmtf: [ i686-linux, x86_64-linux, x86_64-darwin ] mmtl-base: [ i686-linux, x86_64-linux, x86_64-darwin ] mmtl: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -7648,6 +7669,7 @@ dont-distribute-packages: pareto: [ i686-linux, x86_64-linux, x86_64-darwin ] Parry: [ i686-linux, x86_64-linux, x86_64-darwin ] parse-help: [ i686-linux, x86_64-linux, x86_64-darwin ] + parseargs: [ i686-linux, x86_64-linux, x86_64-darwin ] parsec-free: [ i686-linux, x86_64-linux, x86_64-darwin ] parsec-parsers: [ i686-linux, x86_64-linux, x86_64-darwin ] parsec-pratt: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -7971,6 +7993,7 @@ dont-distribute-packages: priority-sync: [ i686-linux, x86_64-linux, x86_64-darwin ] PriorityChansConverger: [ i686-linux, x86_64-linux, x86_64-darwin ] ProbabilityMonads: [ i686-linux, x86_64-linux, x86_64-darwin ] + probable: [ i686-linux, x86_64-linux, x86_64-darwin ] proc: [ i686-linux, x86_64-linux, x86_64-darwin ] process-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] process-iterio: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -8181,6 +8204,7 @@ dont-distribute-packages: rasa: [ i686-linux, x86_64-linux, x86_64-darwin ] rascal: [ i686-linux, x86_64-linux, x86_64-darwin ] Rasenschach: [ i686-linux, x86_64-linux, x86_64-darwin ] + rating-chgk-info: [ i686-linux, x86_64-linux, x86_64-darwin ] rattletrap: [ i686-linux, x86_64-linux, x86_64-darwin ] raven-haskell-scotty: [ i686-linux, x86_64-linux, x86_64-darwin ] raw-feldspar: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -8249,6 +8273,7 @@ dont-distribute-packages: refh: [ i686-linux, x86_64-linux, x86_64-darwin ] reflection-extras: [ i686-linux, x86_64-linux, x86_64-darwin ] reflex-animation: [ i686-linux, x86_64-linux, x86_64-darwin ] + reflex-dom-core: [ i686-linux, x86_64-linux, x86_64-darwin ] reflex-gloss-scene: [ i686-linux, x86_64-linux, x86_64-darwin ] reflex-gloss: [ i686-linux, x86_64-linux, x86_64-darwin ] reflex-orphans: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -8474,6 +8499,7 @@ dont-distribute-packages: saferoute: [ i686-linux, x86_64-linux, x86_64-darwin ] sai-shape-syb: [ i686-linux, x86_64-linux, x86_64-darwin ] sajson: [ i686-linux, x86_64-linux, x86_64-darwin ] + salak: [ i686-linux, x86_64-linux, x86_64-darwin ] Salsa: [ i686-linux, x86_64-linux, x86_64-darwin ] saltine-quickcheck: [ i686-linux, x86_64-linux, x86_64-darwin ] salvia-demo: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -8502,6 +8528,8 @@ dont-distribute-packages: sax: [ i686-linux, x86_64-linux, x86_64-darwin ] SBench: [ i686-linux, x86_64-linux, x86_64-darwin ] sbvPlugin: [ i686-linux, x86_64-linux, x86_64-darwin ] + sc2-lowlevel: [ i686-linux, x86_64-linux, x86_64-darwin ] + sc2-proto: [ i686-linux, x86_64-linux, x86_64-darwin ] sc3-rdu: [ i686-linux, x86_64-linux, x86_64-darwin ] scalable-server: [ i686-linux, x86_64-linux, x86_64-darwin ] scaleimage: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -8543,6 +8571,7 @@ dont-distribute-packages: scotty: [ i686-linux, x86_64-linux, x86_64-darwin ] scp-streams: [ i686-linux, x86_64-linux, x86_64-darwin ] scrabble-bot: [ i686-linux, x86_64-linux, x86_64-darwin ] + scrapbook: [ i686-linux, x86_64-linux, x86_64-darwin ] scrape-changes: [ i686-linux, x86_64-linux, x86_64-darwin ] ScratchFs: [ i686-linux, x86_64-linux, x86_64-darwin ] script-monad: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -8666,6 +8695,7 @@ dont-distribute-packages: servant-swagger-ui-redoc: [ i686-linux, x86_64-linux, x86_64-darwin ] servant-swagger-ui: [ i686-linux, x86_64-linux, x86_64-darwin ] servant-swagger: [ i686-linux, x86_64-linux, x86_64-darwin ] + servant-waargonaut: [ i686-linux, x86_64-linux, x86_64-darwin ] servant-xml: [ i686-linux, x86_64-linux, x86_64-darwin ] servant-zeppelin-client: [ i686-linux, x86_64-linux, x86_64-darwin ] servant-zeppelin-server: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -8739,6 +8769,7 @@ dont-distribute-packages: shorten-strings: [ i686-linux, x86_64-linux, x86_64-darwin ] ShortestPathProblems: [ i686-linux, x86_64-linux, x86_64-darwin ] showdown: [ i686-linux, x86_64-linux, x86_64-darwin ] + shower: [ i686-linux, x86_64-linux, x86_64-darwin ] shpider: [ i686-linux, x86_64-linux, x86_64-darwin ] shuffle: [ i686-linux, x86_64-linux, x86_64-darwin ] si-clock: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -8843,6 +8874,8 @@ dont-distribute-packages: sme: [ i686-linux, x86_64-linux, x86_64-darwin ] smerdyakov: [ i686-linux, x86_64-linux, x86_64-darwin ] smiles: [ i686-linux, x86_64-linux, x86_64-darwin ] + smith-cli: [ i686-linux, x86_64-linux, x86_64-darwin ] + smith-client: [ i686-linux, x86_64-linux, x86_64-darwin ] Smooth: [ i686-linux, x86_64-linux, x86_64-darwin ] smsaero: [ i686-linux, x86_64-linux, x86_64-darwin ] smt-lib: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -8945,6 +8978,8 @@ dont-distribute-packages: sorting: [ i686-linux, x86_64-linux, x86_64-darwin ] sorty: [ i686-linux, x86_64-linux, x86_64-darwin ] sound-collage: [ i686-linux, x86_64-linux, x86_64-darwin ] + sounddelay: [ i686-linux, x86_64-linux, x86_64-darwin ] + soundgen: [ i686-linux, x86_64-linux, x86_64-darwin ] source-code-server: [ i686-linux, x86_64-linux, x86_64-darwin ] SourceGraph: [ i686-linux, x86_64-linux, x86_64-darwin ] sousit: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -9075,6 +9110,7 @@ dont-distribute-packages: stb-truetype: [ i686-linux, x86_64-linux, x86_64-darwin ] stdata: [ i686-linux, x86_64-linux, x86_64-darwin ] stdf: [ i686-linux, x86_64-linux, x86_64-darwin ] + stdio: [ i686-linux, x86_64-linux, x86_64-darwin ] steambrowser: [ i686-linux, x86_64-linux, x86_64-darwin ] stego-uuid: [ i686-linux, x86_64-linux, x86_64-darwin ] stemmer-german: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -9274,6 +9310,7 @@ dont-distribute-packages: target: [ i686-linux, x86_64-linux, x86_64-darwin ] task-distribution: [ i686-linux, x86_64-linux, x86_64-darwin ] task: [ i686-linux, x86_64-linux, x86_64-darwin ] + taskell: [ i686-linux, x86_64-linux, x86_64-darwin ] tasty-auto: [ i686-linux, x86_64-linux, x86_64-darwin ] tasty-fail-fast: [ i686-linux, x86_64-linux, x86_64-darwin ] tasty-groundhog-converters: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -9552,6 +9589,7 @@ dont-distribute-packages: tripLL: [ i686-linux, x86_64-linux, x86_64-darwin ] trivia: [ i686-linux, x86_64-linux, x86_64-darwin ] tropical: [ i686-linux, x86_64-linux, x86_64-darwin ] + truelevel: [ i686-linux, x86_64-linux, x86_64-darwin ] trurl: [ i686-linux, x86_64-linux, x86_64-darwin ] tsession-happstack: [ i686-linux, x86_64-linux, x86_64-darwin ] tsession: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -9785,6 +9823,7 @@ dont-distribute-packages: vaultaire-common: [ i686-linux, x86_64-linux, x86_64-darwin ] vaultenv: [ i686-linux, x86_64-linux, x86_64-darwin ] vaultenv: [ i686-linux, x86_64-linux, x86_64-darwin ] + vaultenv: [ i686-linux, x86_64-linux, x86_64-darwin ] vcard: [ i686-linux, x86_64-linux, x86_64-darwin ] vcatt: [ i686-linux, x86_64-linux, x86_64-darwin ] vcf: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -9915,6 +9954,7 @@ dont-distribute-packages: wasm: [ i686-linux, x86_64-linux, x86_64-darwin ] watcher: [ i686-linux, x86_64-linux, x86_64-darwin ] watchit: [ i686-linux, x86_64-linux, x86_64-darwin ] + WAVE: [ i686-linux, x86_64-linux, x86_64-darwin ] wavefront-obj: [ i686-linux, x86_64-linux, x86_64-darwin ] WaveFront: [ i686-linux, x86_64-linux, x86_64-darwin ] wavesurfer: [ i686-linux, x86_64-linux, x86_64-darwin ] @@ -9970,6 +10010,7 @@ dont-distribute-packages: whiskers: [ i686-linux, x86_64-linux, x86_64-darwin ] whitespace: [ i686-linux, x86_64-linux, x86_64-darwin ] why3: [ i686-linux, x86_64-linux, x86_64-darwin ] + wide-word: [ i686-linux, x86_64-linux, x86_64-darwin ] WikimediaParser: [ i686-linux, x86_64-linux, x86_64-darwin ] wikipedia4epub: [ i686-linux, x86_64-linux, x86_64-darwin ] wild-bind-indicator: [ i686-linux, x86_64-linux, x86_64-darwin ] diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index f7a8e6c0182..3113d433bac 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -3514,34 +3514,6 @@ self: { }) {}; "DBFunctor" = callPackage - ({ mkDerivation, base, bytestring, cassava, cereal, containers - , deepseq, either, MissingH, text, time, transformers - , unordered-containers, vector - }: - mkDerivation { - pname = "DBFunctor"; - version = "0.1.1.0"; - sha256 = "1hjjnjs8nlqrqfiv5qxn60avl1avpgsxx8aq5hihrr6f6yj61s4a"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ - base bytestring cassava cereal containers deepseq either MissingH - text time transformers unordered-containers vector - ]; - executableHaskellDepends = [ - base bytestring cassava cereal containers deepseq either MissingH - text time transformers unordered-containers vector - ]; - testHaskellDepends = [ - base bytestring cassava cereal containers deepseq either MissingH - text time transformers unordered-containers vector - ]; - description = "DBFunctor - Functional Data Management => ETL/ELT Data Processing in Haskell"; - license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - - "DBFunctor_0_1_1_1" = callPackage ({ mkDerivation, base, bytestring, cassava, cereal, containers , deepseq, either, MissingH, text, time, transformers , unordered-containers, vector @@ -18836,6 +18808,7 @@ self: { ]; description = "WAVE audio file IO library"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "WL500gPControl" = callPackage @@ -28826,6 +28799,8 @@ self: { pname = "arbtt"; version = "0.10.1"; sha256 = "09n6v32yz612ag4acjd4jwnmv0ljarxi3b7v2mp4bj18c2gx1wbq"; + revision = "1"; + editedCabalFile = "0wnm1izr12yjh1kc7bhhj87sd7jwbh7qf6qpij0z84mlk58nq0mb"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -31644,6 +31619,18 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "auto-update_0_1_4_1" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "auto-update"; + version = "0.1.4.1"; + sha256 = "1jfgxwicd0r31dcbcd83sj99v1w9mbg873xp7v7z21gmxhalpzrm"; + libraryHaskellDepends = [ base ]; + description = "Efficiently run periodic, on-demand actions"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "autoexporter" = callPackage ({ mkDerivation, base, Cabal, directory, filepath }: mkDerivation { @@ -40242,6 +40229,7 @@ self: { testToolDepends = [ tasty-discover ]; description = "Finds broken links in text files"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "broker-haskell" = callPackage @@ -42124,6 +42112,7 @@ self: { ]; description = "Bundling C/C++ projects in Cabal package made easy"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "cabal-cargs" = callPackage @@ -42671,6 +42660,26 @@ self: { license = stdenv.lib.licenses.gpl3; }) {}; + "cabal-rpm_0_13" = callPackage + ({ mkDerivation, base, bytestring, Cabal, directory, filepath + , http-client, http-client-tls, http-conduit, process, simple-cmd + , time, unix + }: + mkDerivation { + pname = "cabal-rpm"; + version = "0.13"; + sha256 = "063y8f18zsw7slvmjr0w6r2ssvn3p1jb0cs81sihp4fw8371bd50"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + base bytestring Cabal directory filepath http-client + http-client-tls http-conduit process simple-cmd time unix + ]; + description = "RPM packaging tool for Haskell Cabal-based packages"; + license = stdenv.lib.licenses.gpl3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "cabal-scripts" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -43382,6 +43391,7 @@ self: { libraryToolDepends = [ c2hs ]; description = "Cairo Haskell binding (partial)"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {inherit (pkgs) cairo;}; "cake" = callPackage @@ -45107,26 +45117,6 @@ self: { }) {}; "cayley-client" = callPackage - ({ mkDerivation, aeson, attoparsec, base, binary, bytestring - , exceptions, hspec, http-client, http-conduit, lens, lens-aeson - , mtl, text, transformers, unordered-containers, vector - }: - mkDerivation { - pname = "cayley-client"; - version = "0.4.8"; - sha256 = "09hrq1k8s8w7rawyn78hjagirs3yrkp79nn7p5w1l8amp27k5cdi"; - libraryHaskellDepends = [ - aeson attoparsec base binary bytestring exceptions http-client - http-conduit lens lens-aeson mtl text transformers - unordered-containers vector - ]; - testHaskellDepends = [ aeson base hspec unordered-containers ]; - description = "A Haskell client for the Cayley graph database"; - license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - - "cayley-client_0_4_9" = callPackage ({ mkDerivation, aeson, attoparsec, base, binary, bytestring , exceptions, hspec, http-client, http-conduit, lens, lens-aeson , mtl, text, transformers, unordered-containers, vector @@ -47325,6 +47315,7 @@ self: { executableHaskellDepends = [ array base bytestring parseargs ]; description = "Implementation of CipherSaber2 RC4 cryptography"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "circ" = callPackage @@ -52555,6 +52546,35 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "conduit-extra_1_3_1" = callPackage + ({ mkDerivation, async, attoparsec, base, bytestring + , bytestring-builder, conduit, directory, exceptions, filepath + , gauge, hspec, network, primitive, process, QuickCheck, resourcet + , stm, streaming-commons, text, transformers, transformers-base + , typed-process, unliftio-core + }: + mkDerivation { + pname = "conduit-extra"; + version = "1.3.1"; + sha256 = "0zfdrpdc86kw2c3gzq5lxdy1qmy069qy7xcjjbnf4359igjyq69v"; + libraryHaskellDepends = [ + async attoparsec base bytestring conduit directory filepath network + primitive process resourcet stm streaming-commons text transformers + typed-process unliftio-core + ]; + testHaskellDepends = [ + async attoparsec base bytestring bytestring-builder conduit + directory exceptions filepath hspec process QuickCheck resourcet + stm streaming-commons text transformers transformers-base + ]; + benchmarkHaskellDepends = [ + base bytestring bytestring-builder conduit gauge transformers + ]; + description = "Batteries included conduit: adapters for common libraries"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "conduit-find" = callPackage ({ mkDerivation, attoparsec, base, conduit, conduit-combinators , conduit-extra, directory, doctest, either, exceptions, filepath @@ -53632,8 +53652,8 @@ self: { }: mkDerivation { pname = "consumers"; - version = "2.1.2.0"; - sha256 = "1fgnb4q5bbad6rmknclvwv79s593r054x7iafrhj3czrfzg94dfx"; + version = "2.2.0.0"; + sha256 = "0r7v5gfi7lw19h9chhn80fwnlgph5ak6n1vf153gq6l7bm10hacl"; libraryHaskellDepends = [ base containers exceptions extra hpqtypes lifted-base lifted-threads log-base monad-control monad-time mtl stm time @@ -55975,41 +55995,6 @@ self: { }) {}; "criterion" = callPackage - ({ mkDerivation, aeson, ansi-wl-pprint, base, base-compat - , base-compat-batteries, binary, bytestring, cassava, code-page - , containers, criterion-measurement, deepseq, directory, exceptions - , filepath, Glob, HUnit, js-flot, js-jquery, microstache, mtl - , mwc-random, optparse-applicative, parsec, QuickCheck, statistics - , tasty, tasty-hunit, tasty-quickcheck, text, time, transformers - , transformers-compat, vector, vector-algorithms - }: - mkDerivation { - pname = "criterion"; - version = "1.5.3.0"; - sha256 = "17q4dj9sl9dp2gyknycc9kdp5y6ak4vlmbfqp1w0fwfy76aaj0mn"; - isLibrary = true; - isExecutable = true; - enableSeparateDataOutput = true; - libraryHaskellDepends = [ - aeson ansi-wl-pprint base base-compat-batteries binary bytestring - cassava code-page containers criterion-measurement deepseq - directory exceptions filepath Glob js-flot js-jquery microstache - mtl mwc-random optparse-applicative parsec statistics text time - transformers transformers-compat vector vector-algorithms - ]; - executableHaskellDepends = [ - base base-compat-batteries optparse-applicative - ]; - testHaskellDepends = [ - aeson base base-compat base-compat-batteries bytestring deepseq - directory HUnit QuickCheck statistics tasty tasty-hunit - tasty-quickcheck vector - ]; - description = "Robust, reliable performance measurement and analysis"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "criterion_1_5_4_0" = callPackage ({ mkDerivation, aeson, ansi-wl-pprint, base, base-compat , base-compat-batteries, binary, bytestring, cassava, code-page , containers, criterion-measurement, deepseq, directory, exceptions @@ -56042,7 +56027,6 @@ self: { ]; description = "Robust, reliable performance measurement and analysis"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "criterion-measurement" = callPackage @@ -60466,6 +60450,7 @@ self: { testToolDepends = [ tasty-discover ]; description = "Datadog tracing client and mock agent"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "dataenc" = callPackage @@ -60627,6 +60612,7 @@ self: { ]; description = "Classical data sets for statistics and machine learning"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "dataurl" = callPackage @@ -60955,33 +60941,6 @@ self: { }) {}; "dbus" = callPackage - ({ mkDerivation, base, bytestring, cereal, conduit, containers - , criterion, deepseq, directory, exceptions, extra, filepath, lens - , network, parsec, process, QuickCheck, random, resourcet, split - , tasty, tasty-hunit, tasty-quickcheck, template-haskell, text - , th-lift, transformers, unix, vector, xml-conduit, xml-types - }: - mkDerivation { - pname = "dbus"; - version = "1.2.3"; - sha256 = "04x0scjl9kyhh2wl02slfa7ykd2lmxbx6x7bp7wv8x4pwgd849zc"; - libraryHaskellDepends = [ - base bytestring cereal conduit containers deepseq exceptions - filepath lens network parsec random split template-haskell text - th-lift transformers unix vector xml-conduit xml-types - ]; - testHaskellDepends = [ - base bytestring cereal containers directory extra filepath network - parsec process QuickCheck random resourcet tasty tasty-hunit - tasty-quickcheck text transformers unix vector - ]; - benchmarkHaskellDepends = [ base criterion ]; - doCheck = false; - description = "A client library for the D-Bus IPC system"; - license = stdenv.lib.licenses.asl20; - }) {}; - - "dbus_1_2_4" = callPackage ({ mkDerivation, base, bytestring, cereal, conduit, containers , criterion, deepseq, directory, exceptions, extra, filepath, lens , network, parsec, process, QuickCheck, random, resourcet, split @@ -61006,7 +60965,6 @@ self: { doCheck = false; description = "A client library for the D-Bus IPC system"; license = stdenv.lib.licenses.asl20; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "dbus-client" = callPackage @@ -65107,22 +65065,6 @@ self: { }) {}; "direct-sqlite" = callPackage - ({ mkDerivation, base, base16-bytestring, bytestring, directory - , HUnit, semigroups, temporary, text - }: - mkDerivation { - pname = "direct-sqlite"; - version = "2.3.23"; - sha256 = "0ywkah9gmjnx0zdlvinc2i898jsbdrw4ba315zkpijaaldp6znqz"; - libraryHaskellDepends = [ base bytestring semigroups text ]; - testHaskellDepends = [ - base base16-bytestring bytestring directory HUnit temporary text - ]; - description = "Low-level binding to SQLite3. Includes UTF8 and BLOB support."; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "direct-sqlite_2_3_24" = callPackage ({ mkDerivation, base, base16-bytestring, bytestring, directory , HUnit, semigroups, temporary, text }: @@ -65130,13 +65072,14 @@ self: { pname = "direct-sqlite"; version = "2.3.24"; sha256 = "0xd6wcmshzadwqjgd9ddcfi76p0v2c18h49spl076h285kp3plj1"; + revision = "1"; + editedCabalFile = "0cfl7h43q2qib1qq8sipgcxcm3i9d6cp1diwmxv8n7ygx7awz6w6"; libraryHaskellDepends = [ base bytestring semigroups text ]; testHaskellDepends = [ base base16-bytestring bytestring directory HUnit temporary text ]; description = "Low-level binding to SQLite3. Includes UTF8 and BLOB support."; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "directed-cubical" = callPackage @@ -67019,22 +66962,6 @@ self: { }) {}; "doctest-driver-gen" = callPackage - ({ mkDerivation, base, doctest }: - mkDerivation { - pname = "doctest-driver-gen"; - version = "0.3.0.0"; - sha256 = "13m5f15076grwln29pnpqrq9h45cy46pagpk1qw3vzspp7k4ahk1"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ base ]; - executableHaskellDepends = [ base ]; - testHaskellDepends = [ base doctest ]; - description = "Generate driver file for doctest's cabal integration"; - license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - - "doctest-driver-gen_0_3_0_1" = callPackage ({ mkDerivation, base, doctest }: mkDerivation { pname = "doctest-driver-gen"; @@ -68945,8 +68872,8 @@ self: { }: mkDerivation { pname = "dynamodb-simple"; - version = "0.6.0.0"; - sha256 = "0dshi4binsfjrlw7sl1jxa09a1s4qkp3g48x6hchaipk6b1nx960"; + version = "0.6.0.1"; + sha256 = "00966z61119p2qammdiaxnfc5by0b12pj95745i792kqw647vygj"; libraryHaskellDepends = [ aeson amazonka amazonka-core amazonka-dynamodb base bytestring conduit containers double-conversion exceptions generics-sop @@ -69315,15 +69242,20 @@ self: { }) {}; "eccrypto" = callPackage - ({ mkDerivation, base, bytestring, cereal, crypto-api, SHA, vector + ({ mkDerivation, base, base16-bytestring, bytestring, Cabal + , criterion, crypto-api, integer-gmp, MonadRandom, SHA }: mkDerivation { pname = "eccrypto"; - version = "0.0.1"; - sha256 = "1jcwlwbcd77536ii0wxalbdslzbvv224b07g3801pgjvr38xljpx"; + version = "0.1.0"; + sha256 = "1cyp313ifcdndafk91g6ivs6ab94jnddw1684d8bkmkr42kmn772"; enableSeparateDataOutput = true; libraryHaskellDepends = [ - base bytestring cereal crypto-api SHA vector + base bytestring crypto-api integer-gmp SHA + ]; + testHaskellDepends = [ base base16-bytestring bytestring Cabal ]; + benchmarkHaskellDepends = [ + base bytestring criterion MonadRandom ]; description = "Elliptic Curve Cryptography for Haskell"; license = stdenv.lib.licenses.bsd3; @@ -70845,6 +70777,32 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "elm2nix_0_1_1" = callPackage + ({ mkDerivation, aeson, ansi-wl-pprint, async, base, binary + , bytestring, containers, data-default, directory, filepath, here + , mtl, optparse-applicative, process, req, text, transformers + , unordered-containers + }: + mkDerivation { + pname = "elm2nix"; + version = "0.1.1"; + sha256 = "16b7vv7ndn8mpkg05rhljpmld2dazsgl9yqg8j3mza1f5x4f6jwp"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson async base binary bytestring containers data-default + directory filepath here mtl process req text transformers + unordered-containers + ]; + executableHaskellDepends = [ + ansi-wl-pprint base directory here optparse-applicative + ]; + testHaskellDepends = [ base ]; + description = "Turn your Elm project into buildable Nix project"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "elo" = callPackage ({ mkDerivation, base, tasty }: mkDerivation { @@ -72044,19 +72002,20 @@ self: { }) {}; "equivalence" = callPackage - ({ mkDerivation, base, containers, mtl, QuickCheck, STMonadTrans - , template-haskell, test-framework, test-framework-quickcheck2 - , transformers, transformers-compat + ({ mkDerivation, base, containers, fail, mtl, QuickCheck + , STMonadTrans, template-haskell, test-framework + , test-framework-quickcheck2, transformers, transformers-compat }: mkDerivation { pname = "equivalence"; - version = "0.3.3"; - sha256 = "02jhn8z1aqyxp3krylhfnwr7zzjcd17q9qriyd9653i92b7di3gf"; + version = "0.3.4"; + sha256 = "02s24624xnwq790mip5pj6828an36j8jbdj5kvx9bv5a7ap3vzn1"; libraryHaskellDepends = [ - base containers mtl STMonadTrans transformers transformers-compat + base containers fail mtl STMonadTrans transformers + transformers-compat ]; testHaskellDepends = [ - base containers mtl QuickCheck STMonadTrans template-haskell + base containers fail mtl QuickCheck STMonadTrans template-haskell test-framework test-framework-quickcheck2 transformers transformers-compat ]; @@ -76096,6 +76055,18 @@ self: { license = stdenv.lib.licenses.gpl3; }) {}; + "fedora-dists_1_0_1" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "fedora-dists"; + version = "1.0.1"; + sha256 = "107ykp3f1f35ghlxfv53mxl0wmj1jyr7xnil16gyg6gcyi0shbll"; + libraryHaskellDepends = [ base ]; + description = "Library for Fedora distribution versions"; + license = stdenv.lib.licenses.gpl3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "fedora-haskell-tools" = callPackage ({ mkDerivation, base, csv, directory, filepath, HTTP, process , time, unix @@ -78572,6 +78543,7 @@ self: { ]; description = "A flexible Haskell source code pretty printer"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "flow" = callPackage @@ -78759,8 +78731,8 @@ self: { }: mkDerivation { pname = "fltkhs"; - version = "0.6.0.0"; - sha256 = "1cbyp8rq9yzx6jrw68dbprkdyd8pkdqbxx08wajyg7bfks6j39cb"; + version = "0.7.0.2"; + sha256 = "025249sdh8w5v1rhykyrm0k3w5ci4lk34fhjr0bgws8gmimvk86f"; configureFlags = [ "-fopengl" ]; isLibrary = true; isExecutable = true; @@ -78842,14 +78814,15 @@ self: { }: mkDerivation { pname = "fltkhs-themes"; - version = "0.1.0.1"; - sha256 = "03awhraincinrqr1zzb9c64mkb391isw3gb87csa1dkqk846wij6"; + version = "0.1.0.4"; + sha256 = "0hjx7v02w6dlizb16jpdndy12kp2cxp9y1fbl8asjybhwvqid5sc"; enableSeparateDataOutput = true; setupHaskellDepends = [ base Cabal ]; libraryHaskellDepends = [ base bytestring fltkhs load-font text vector ]; librarySystemDepends = [ fontconfig ]; + description = "A set of themed widgets that provides drop in replacements to the ones in FLTKHS"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; }) {inherit (pkgs) fontconfig;}; @@ -80437,8 +80410,8 @@ self: { }: mkDerivation { pname = "free-algebras"; - version = "0.0.7.1"; - sha256 = "16hdc019x32azkhzag1d504ahdgqswim5cpgmacvdxj3r08havq3"; + version = "0.0.7.2"; + sha256 = "0hljd9wsv516jcqp7pkacmadjchkd9sxq42pj5j1my95hvc5apfd"; libraryHaskellDepends = [ base constraints containers data-fix dlist free groups kan-extensions mtl natural-numbers transformers @@ -82628,6 +82601,7 @@ self: { ]; description = "Gamma function and related functions"; license = stdenv.lib.licenses.publicDomain; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "gang-of-threads" = callPackage @@ -85245,6 +85219,7 @@ self: { ]; description = "The GHC API, decoupled from GHC versions"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "ghc-make" = callPackage @@ -86334,6 +86309,7 @@ self: { ]; description = "Bridge between packages gi-* and cairo-core"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "gi-cairo-connector" = callPackage @@ -87377,12 +87353,12 @@ self: { }: mkDerivation { pname = "git-annex"; - version = "7.20190129"; - sha256 = "0gsi1ymv7dmx429vhv58979hfh23zrfvrsam6saf16ckh5hd0n81"; + version = "7.20190219"; + sha256 = "0161jszid9nih31q55zh8dldyfz5q0v4m2gw9dbb2hb1x47w3ww2"; configureFlags = [ "-fassistant" "-f-benchmark" "-fdbus" "-f-debuglocks" "-fmagicmime" - "-fpairing" "-fproduction" "-fs3" "-ftorrentparser" "-fwebapp" - "-fwebdav" + "-f-networkbsd" "-fpairing" "-fproduction" "-fs3" "-ftorrentparser" + "-fwebapp" "-fwebdav" ]; isLibrary = false; isExecutable = true; @@ -87420,7 +87396,7 @@ self: { ''; enableSharedExecutables = false; description = "manage files with git, without checking their contents into git"; - license = stdenv.lib.licenses.gpl3; + license = stdenv.lib.licenses.agpl3; maintainers = with stdenv.lib.maintainers; [ peti ]; }) {inherit (pkgs) bup; inherit (pkgs) curl; inherit (pkgs) git; inherit (pkgs) gnupg; inherit (pkgs) lsof; inherit (pkgs) openssh; @@ -87798,23 +87774,24 @@ self: { "github" = callPackage ({ mkDerivation, aeson, base, base-compat, base16-bytestring - , binary, binary-orphans, byteable, bytestring, containers - , cryptohash, deepseq, deepseq-generics, exceptions, file-embed - , hashable, hspec, hspec-discover, http-client, http-client-tls + , binary, binary-orphans, bytestring, containers, cryptohash-sha1 + , deepseq, deepseq-generics, exceptions, file-embed, hashable + , hspec, hspec-discover, http-client, http-client-tls , http-link-header, http-types, iso8601-time, mtl, network-uri - , semigroups, text, time, tls, transformers, transformers-compat - , unordered-containers, vector, vector-instances + , semigroups, tagged, text, time, tls, transformers + , transformers-compat, unordered-containers, vector + , vector-instances }: mkDerivation { pname = "github"; - version = "0.20"; - sha256 = "0gyinmrdwbqd6h5bvlv5jkv2rfp48p11088w5ayms8h361ck3kdp"; + version = "0.21"; + sha256 = "1ck4mnvxzgbpzy1v7xgggfn69733hm2smhbivmcvdmxd104lzvsq"; libraryHaskellDepends = [ aeson base base-compat base16-bytestring binary binary-orphans - byteable bytestring containers cryptohash deepseq deepseq-generics + bytestring containers cryptohash-sha1 deepseq deepseq-generics exceptions hashable http-client http-client-tls http-link-header - http-types iso8601-time mtl network-uri semigroups text time tls - transformers transformers-compat unordered-containers vector + http-types iso8601-time mtl network-uri semigroups tagged text time + tls transformers transformers-compat unordered-containers vector vector-instances ]; testHaskellDepends = [ @@ -88744,10 +88721,8 @@ self: { }: mkDerivation { pname = "glirc"; - version = "2.29"; - sha256 = "04i6dzb6fgvx1vxpn8syzc9pa4mq2m62mrgq4iraqwgkzl54ahgx"; - revision = "2"; - editedCabalFile = "0s37m39c3vnwskvbsiziysm9ck7l30bfkp2jg0l49dhi8v01q6cs"; + version = "2.30"; + sha256 = "1ky0xwspnfknbjyf0fa459f38nwqakwq6fh7ady4rch8ck22phql"; isLibrary = true; isExecutable = true; setupHaskellDepends = [ base Cabal filepath ]; @@ -89404,27 +89379,6 @@ self: { }) {inherit (pkgs) libidn;}; "gnuplot" = callPackage - ({ mkDerivation, array, base, containers, data-accessor - , data-accessor-transformers, deepseq, filepath, process - , semigroups, temporary, time, transformers, utility-ht - }: - mkDerivation { - pname = "gnuplot"; - version = "0.5.5.3"; - sha256 = "0105ajc5szgrh091x5fxdcydc96rdh75gg2snyfr2y2rhf120x2g"; - isLibrary = true; - isExecutable = true; - enableSeparateDataOutput = true; - libraryHaskellDepends = [ - array base containers data-accessor data-accessor-transformers - deepseq filepath process semigroups temporary time transformers - utility-ht - ]; - description = "2D and 3D plots using gnuplot"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "gnuplot_0_5_6" = callPackage ({ mkDerivation, array, base, containers, data-accessor , data-accessor-transformers, deepseq, filepath, process , semigroups, temporary, time, transformers, utility-ht @@ -89443,7 +89397,6 @@ self: { ]; description = "2D and 3D plots using gnuplot"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "gnutls" = callPackage @@ -96318,8 +96271,8 @@ self: { }: mkDerivation { pname = "hackport"; - version = "0.5.6"; - sha256 = "0im76n8487q08rmw8bn536qncrdhz9pjir5cxlf2myh7prrrrczs"; + version = "0.6"; + sha256 = "1fi3f90jd7s10iw1lcqhy8vfv27794sfsp7bjlb9rgab7jqf3wqv"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -97441,10 +97394,10 @@ self: { }: mkDerivation { pname = "hal"; - version = "0.1.2"; - sha256 = "0fflx0xism12cfdifwpiv0caxkm4f46yqhcwyrdwrdmq6q0pxdk2"; + version = "0.2.0"; + sha256 = "19binbpgkx04gx2apqa59rm32d8jr4m2v9xxfc2fd9v28gaa7cw2"; revision = "1"; - editedCabalFile = "09ng464s88dsfdwk4zdzi0yagy5mm41035p4glwiyhdqxc5n60yg"; + editedCabalFile = "1pp82nv1r61rlykhllgldm2x6wvp8w4xjflx31bnba2444sn92mm"; libraryHaskellDepends = [ aeson base bytestring containers envy exceptions http-conduit http-types mtl text time @@ -98487,6 +98440,7 @@ self: { ]; description = "Glue code for using Happstack with acid-state, web-routes, reform, and HSP"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "happstack-hamlet" = callPackage @@ -101285,6 +101239,27 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "haskell-src-meta_0_8_1" = callPackage + ({ mkDerivation, base, containers, haskell-src-exts, HUnit, pretty + , syb, template-haskell, test-framework, test-framework-hunit + , th-orphans + }: + mkDerivation { + pname = "haskell-src-meta"; + version = "0.8.1"; + sha256 = "0cainxgsa206fc2ij5gv1zaaazvqwzp5bavimrvwbscpnscnm89n"; + libraryHaskellDepends = [ + base haskell-src-exts pretty syb template-haskell th-orphans + ]; + testHaskellDepends = [ + base containers haskell-src-exts HUnit pretty syb template-haskell + test-framework test-framework-hunit + ]; + description = "Parse source to template-haskell abstract syntax"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "haskell-src-meta-mwotton" = callPackage ({ mkDerivation, base, containers, ghc-prim, haskell-src-exts , pretty, syb, template-haskell @@ -103342,6 +103317,7 @@ self: { ]; description = "Haskus web"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "haskyapi" = callPackage @@ -105481,23 +105457,6 @@ self: { }) {}; "hebrew-time" = callPackage - ({ mkDerivation, base, HUnit, QuickCheck, test-framework - , test-framework-hunit, test-framework-quickcheck2, time - }: - mkDerivation { - pname = "hebrew-time"; - version = "0.1.1"; - sha256 = "0ckridxf4rvhhp0k1mckbbbpzfs32l4mwg7n9mrmsggldpl7x6f7"; - libraryHaskellDepends = [ base time ]; - testHaskellDepends = [ - base HUnit QuickCheck test-framework test-framework-hunit - test-framework-quickcheck2 time - ]; - description = "Hebrew dates and prayer times"; - license = stdenv.lib.licenses.mit; - }) {}; - - "hebrew-time_0_1_2" = callPackage ({ mkDerivation, base, hspec, QuickCheck, time }: mkDerivation { pname = "hebrew-time"; @@ -105507,7 +105466,6 @@ self: { testHaskellDepends = [ base hspec QuickCheck time ]; description = "Hebrew dates and prayer times"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "hecc" = callPackage @@ -108000,7 +107958,7 @@ self: { "hierarchical-spectral-clustering" = callPackage ({ mkDerivation, aeson, aeson-pretty, base, bytestring, cassava - , clustering, containers, eigen, fgl, filepath + , clustering, containers, directory, eigen, fgl, filepath , hierarchical-clustering, hmatrix, lens, managed, modularity, mtl , optparse-generic, safe, sparse-linear-algebra , spectral-clustering, streaming, streaming-bytestring @@ -108009,8 +107967,8 @@ self: { }: mkDerivation { pname = "hierarchical-spectral-clustering"; - version = "0.3.0.0"; - sha256 = "0n4rs9s7gavzm9ms2rgxw4jri0n10x5y9jg1vkcmkkklp8n04w70"; + version = "0.3.0.1"; + sha256 = "15k1mmfh5iklivz1w8fx0y9w7qivhvkj16xll9m0i9k1p8irlzwj"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -108021,8 +107979,8 @@ self: { vector ]; executableHaskellDepends = [ - aeson aeson-pretty base bytestring cassava containers filepath - hmatrix lens optparse-generic safe text text-show vector + aeson aeson-pretty base bytestring cassava containers directory + filepath hmatrix lens optparse-generic safe text text-show vector ]; description = "Hierarchical spectral clustering of a graph"; license = stdenv.lib.licenses.gpl3; @@ -109223,8 +109181,8 @@ self: { }: mkDerivation { pname = "hjugement"; - version = "2.0.0.20181030"; - sha256 = "063d484ns520prgvb2b1szq33wx569fgbgrzvfrgpfcznra638fi"; + version = "2.0.1.20190208"; + sha256 = "10921dk9y460dmgy5dhkfxcsc96cxkw2xxziykizp8zhmzrdlwz6"; libraryHaskellDepends = [ base containers hashable unordered-containers ]; @@ -109330,8 +109288,8 @@ self: { }: mkDerivation { pname = "hleap"; - version = "0.1.2.7"; - sha256 = "1qpfwg69dzwzaf09q3pzkzwanzc9kb5zx733ck27g5xdsi79slsf"; + version = "0.2.0.0"; + sha256 = "0hh9r884kjw8gi7mcg74kzixzxxwzs1h67mg9z108kmlmnb742ry"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -110319,6 +110277,7 @@ self: { testHaskellDepends = [ base HUnit vector ]; description = "HMEP Multi Expression Programming – a genetic programming variant"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "hmidi" = callPackage @@ -118124,7 +118083,7 @@ self: { license = stdenv.lib.licenses.mit; }) {}; - "http-client_0_6_1" = callPackage + "http-client_0_6_1_1" = callPackage ({ mkDerivation, array, async, base, blaze-builder, bytestring , case-insensitive, containers, cookie, deepseq, directory , exceptions, filepath, ghc-prim, hspec, http-types, memory @@ -118133,10 +118092,8 @@ self: { }: mkDerivation { pname = "http-client"; - version = "0.6.1"; - sha256 = "0ryj5far7744c297ji9aaqcm56rpm2fyma8mbghli086nq4xiryl"; - revision = "1"; - editedCabalFile = "10fihwn9vvk4mdjppmzhxz7iacm8av03xv8hshiwnz3wg6bfh813"; + version = "0.6.1.1"; + sha256 = "0dyrk1c90fj9z5fy68hngqlzxa1sd8abkh7y0higbd15sb1yml6x"; libraryHaskellDepends = [ array base blaze-builder bytestring case-insensitive containers cookie deepseq exceptions filepath ghc-prim http-types memory @@ -124657,6 +124614,7 @@ self: { ]; description = "SDK for adding custom Instana tracing support to Haskell applications"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "instance-control" = callPackage @@ -125104,6 +125062,37 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "interp" = callPackage + ({ mkDerivation, aeson, base, bytestring, containers, hspec + , megaparsec, mtl, optparse-applicative, parser-combinators + , random-fu, rvar, semigroups, text, transformers + , unordered-containers, vector + }: + mkDerivation { + pname = "interp"; + version = "1.0.0.2"; + sha256 = "036j44vrvgvxvnlj57mkg4h8cc6dycxfrszmgai70mybr3bxvhd5"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson base bytestring containers hspec megaparsec mtl + optparse-applicative parser-combinators random-fu rvar semigroups + text transformers unordered-containers vector + ]; + executableHaskellDepends = [ + aeson base bytestring containers hspec megaparsec mtl + optparse-applicative parser-combinators random-fu rvar semigroups + text transformers unordered-containers vector + ]; + testHaskellDepends = [ + aeson base bytestring containers hspec megaparsec mtl + optparse-applicative parser-combinators random-fu rvar semigroups + text transformers unordered-containers vector + ]; + description = "Tracery-like randomized text interpolation"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "interpol" = callPackage ({ mkDerivation, base, haskell-src-exts, HUnit, regex-posix, syb , test-framework, test-framework-hunit @@ -125195,22 +125184,6 @@ self: { }) {}; "interpolation" = callPackage - ({ mkDerivation, array, base, containers, QuickCheck, utility-ht }: - mkDerivation { - pname = "interpolation"; - version = "0.1.0.3"; - sha256 = "0j9hdzi59lqq92773f8h17awrm9ghr45k876qc7krq87pgbr95z2"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ base utility-ht ]; - testHaskellDepends = [ - array base containers QuickCheck utility-ht - ]; - description = "piecewise linear and cubic Hermite interpolation"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "interpolation_0_1_1" = callPackage ({ mkDerivation, array, base, containers, QuickCheck, utility-ht }: mkDerivation { pname = "interpolation"; @@ -125224,7 +125197,6 @@ self: { ]; description = "piecewise linear and cubic Hermite interpolation"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "interpolator" = callPackage @@ -126208,10 +126180,8 @@ self: { }: mkDerivation { pname = "irc-core"; - version = "2.5.0"; - sha256 = "124zfp6s8hj7z3m873145bnr0z8xlkbr1qgj2hvasd2qs2zrb8y8"; - revision = "1"; - editedCabalFile = "06n7shnd8ij4wlzm5xhxdqv26b3am8mgbqfcvsqppk6hgmmyvggq"; + version = "2.6.0"; + sha256 = "07w8nyvscc2d643dq02bl533c2kwx8zw8j1b1dizfwhixwnzgphq"; libraryHaskellDepends = [ attoparsec base base64-bytestring bytestring hashable primitive text time vector @@ -129886,8 +129856,8 @@ self: { }: mkDerivation { pname = "kafka-device"; - version = "0.2.1.2"; - sha256 = "0fs6k04cchlsmrcn2sm9sdq07waia4ff8hhhqx24yjjab5ai2798"; + version = "1.0.0.0"; + sha256 = "1bcd7fm42vly9hlfzv0cjzx2g4hrqp66nrypki75f2c8lqfzcr11"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -129905,8 +129875,8 @@ self: { ({ mkDerivation, base, GLUT, kafka-device, OpenGL }: mkDerivation { pname = "kafka-device-glut"; - version = "0.2.1.2"; - sha256 = "0in1hwmhbj41cvcwysbzbda7idbdpnlq2zggw2smlxjv078zp939"; + version = "1.0.0.0"; + sha256 = "0pkvar1rf0gv7h5a95h28jaifpwknfdvxvcv4s7f5vdrs0376j3k"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base GLUT kafka-device OpenGL ]; @@ -129922,8 +129892,8 @@ self: { }: mkDerivation { pname = "kafka-device-joystick"; - version = "0.2.1.2"; - sha256 = "17plqjbl2jh185yjbphgw1viim7w52ib8sjv1g93i460ggpwsyp0"; + version = "1.0.0.0"; + sha256 = "0vm1a61brvhr5digsw480210cq7s6y2yp80j6907425y1r4165q4"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -129941,8 +129911,8 @@ self: { ({ mkDerivation, aeson, base, hleap, kafka-device, websockets }: mkDerivation { pname = "kafka-device-leap"; - version = "0.2.1.2"; - sha256 = "14wn3ywa462nf4snjl78bnxjf9jfqj39zkiay2z594yplqp2qsy1"; + version = "1.0.0.0"; + sha256 = "1xkkkq1plzjf20p6gfnk8nc809rp57ihffggvgzsgq8dwybzfssg"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -129962,8 +129932,8 @@ self: { }: mkDerivation { pname = "kafka-device-spacenav"; - version = "0.2.1.2"; - sha256 = "0drpf4frlnf17qa92rppjdnxpsks8v3q0h3jad5lyvcvmpssrw1r"; + version = "1.0.0.0"; + sha256 = "0m382s7q3w21pl62fjh6pw9w4dwi6cmpc8s4xnzivwjj91hynryb"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -129981,8 +129951,8 @@ self: { ({ mkDerivation, base, kafka-device, vrpn }: mkDerivation { pname = "kafka-device-vrpn"; - version = "0.2.1.2"; - sha256 = "0zmiyfvdn16rd2jg44xvdpfm08fi8ivv0af6hdhc46l5q4zd9p4s"; + version = "1.0.0.0"; + sha256 = "13l32gfpz5l2xi42xvvyzj9g1kqsbd3jkx2498lacwx4kgvlm2rd"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base kafka-device vrpn ]; @@ -130348,6 +130318,7 @@ self: { ]; description = "Datadog scribe for the Katip logging framework"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "katip-elasticsearch" = callPackage @@ -130419,6 +130390,7 @@ self: { ]; description = "Logz.IO scribe for the Katip logging framework"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "katip-rollbar" = callPackage @@ -131842,6 +131814,7 @@ self: { libraryHaskellDepends = [ base gamma random-fu roots vector ]; description = "Kolmogorov distribution and Kolmogorov-Smirnov test"; license = stdenv.lib.licenses.publicDomain; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "ksystools" = callPackage @@ -132981,6 +132954,21 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "language-asn" = callPackage + ({ mkDerivation, base, bytestring, contravariant, hashable, pretty + , primitive, text, vector + }: + mkDerivation { + pname = "language-asn"; + version = "0.1.0.0"; + sha256 = "0pjzcnw5d9j8nif0w8ibh3rnsgpv710ng8w8hsrcsbq7qm02sp7f"; + libraryHaskellDepends = [ + base bytestring contravariant hashable pretty primitive text vector + ]; + description = "ASN.1 encoding and decoding"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "language-asn1" = callPackage ({ mkDerivation, base, parsec, syb }: mkDerivation { @@ -134995,6 +134983,7 @@ self: { ]; description = "Use the Leanpub API via Wreq"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "leapseconds" = callPackage @@ -136877,17 +136866,6 @@ self: { }) {xslt = null;}; "libyaml" = callPackage - ({ mkDerivation, base, bytestring, conduit, resourcet }: - mkDerivation { - pname = "libyaml"; - version = "0.1.0.0"; - sha256 = "01vgzf05ad1v8h65n12fwd2whldnqhlv7cbcaf08m3ck2viqimlw"; - libraryHaskellDepends = [ base bytestring conduit resourcet ]; - description = "Low-level, streaming YAML interface"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "libyaml_0_1_1_0" = callPackage ({ mkDerivation, base, bytestring, conduit, resourcet }: mkDerivation { pname = "libyaml"; @@ -136896,7 +136874,6 @@ self: { libraryHaskellDepends = [ base bytestring conduit resourcet ]; description = "Low-level, streaming YAML interface"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "libzfs" = callPackage @@ -140992,6 +140969,23 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "lucid-extras_0_2_2" = callPackage + ({ mkDerivation, aeson, base, blaze-builder, bytestring, directory + , lucid, text + }: + mkDerivation { + pname = "lucid-extras"; + version = "0.2.2"; + sha256 = "0zi48ly2729rs3rsbnwj3z5zk9zgzmva0d3dvp448726r62ryfc3"; + libraryHaskellDepends = [ + aeson base blaze-builder bytestring lucid text + ]; + testHaskellDepends = [ base directory lucid ]; + description = "Generate more HTML with Lucid - Bootstrap, Rdash, Vega-Lite, Leaflet JS, Email"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "lucid-foundation" = callPackage ({ mkDerivation, base, hspec, lucid, QuickCheck , quickcheck-instances, text @@ -141807,8 +141801,8 @@ self: { }: mkDerivation { pname = "madlang"; - version = "4.0.2.14"; - sha256 = "1fpqs3cyb0iwld53gljkzsz7xhwamkd4g2irk7j3z6pxvn36bhin"; + version = "4.0.2.15"; + sha256 = "0fv2p6f6gj9jg72kmlf56nymvs3sf6hn98jh4q0ighn6k5dkhbf3"; isLibrary = true; isExecutable = true; setupHaskellDepends = [ base Cabal cli-setup ]; @@ -143494,6 +143488,7 @@ self: { testHaskellDepends = [ array base containers hspec random ]; description = "Library containing graph data structures and graph algorithms"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "mathblog" = callPackage @@ -147197,29 +147192,10 @@ self: { ]; description = "Command line interface to the MMark markdown processor"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "mmark-ext" = callPackage - ({ mkDerivation, base, foldl, ghc-syntax-highlighter, hspec - , hspec-discover, lucid, microlens, mmark, modern-uri, skylighting - , text - }: - mkDerivation { - pname = "mmark-ext"; - version = "0.2.1.1"; - sha256 = "01av7d9n75mg9yzkxszrvbxjbsv4n0gsdmg3n2620zn40j5lwmcq"; - enableSeparateDataOutput = true; - libraryHaskellDepends = [ - base foldl ghc-syntax-highlighter lucid microlens mmark modern-uri - skylighting text - ]; - testHaskellDepends = [ base hspec lucid mmark skylighting text ]; - testToolDepends = [ hspec-discover ]; - description = "Commonly useful extensions for the MMark markdown processor"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "mmark-ext_0_2_1_2" = callPackage ({ mkDerivation, base, foldl, ghc-syntax-highlighter, hspec , hspec-discover, lucid, microlens, mmark, modern-uri, skylighting , text @@ -162760,6 +162736,7 @@ self: { testHaskellDepends = [ base process ]; description = "Parse command-line arguments"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "parsec_3_1_13_0" = callPackage @@ -163256,18 +163233,6 @@ self: { }) {}; "partial-semigroup" = callPackage - ({ mkDerivation, base, doctest, hedgehog }: - mkDerivation { - pname = "partial-semigroup"; - version = "0.5.0.0"; - sha256 = "03wfizykalpnv2i2qmj2vm27ajs1s8kmzy7ynsh8b2l43nafixqm"; - libraryHaskellDepends = [ base ]; - testHaskellDepends = [ base doctest hedgehog ]; - description = "A partial binary associative operator"; - license = stdenv.lib.licenses.asl20; - }) {}; - - "partial-semigroup_0_5_1_0" = callPackage ({ mkDerivation, base, doctest, hedgehog }: mkDerivation { pname = "partial-semigroup"; @@ -163277,7 +163242,6 @@ self: { testHaskellDepends = [ base doctest hedgehog ]; description = "A partial binary associative operator"; license = stdenv.lib.licenses.asl20; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "partial-semigroup-hedgehog" = callPackage @@ -163609,27 +163573,6 @@ self: { }) {}; "path-io" = callPackage - ({ mkDerivation, base, containers, directory, dlist, exceptions - , filepath, hspec, path, temporary, time, transformers, unix-compat - }: - mkDerivation { - pname = "path-io"; - version = "1.4.1"; - sha256 = "0v5zwdsy8dd2ljidjm2rr8wfpvjlgk1g7c5xf40ddzjn9ghykk2p"; - revision = "1"; - editedCabalFile = "1qb9b3rvzpdm6xp2xljmp2izz0x26bj3zvai22iyl914pzph3181"; - libraryHaskellDepends = [ - base containers directory dlist exceptions filepath path temporary - time transformers unix-compat - ]; - testHaskellDepends = [ - base directory exceptions hspec path transformers unix-compat - ]; - description = "Interface to ‘directory’ package for users of ‘path’"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "path-io_1_4_2" = callPackage ({ mkDerivation, base, containers, directory, dlist, exceptions , filepath, hspec, path, temporary, time, transformers, unix-compat }: @@ -163646,7 +163589,6 @@ self: { ]; description = "Interface to ‘directory’ package for users of ‘path’"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "path-pieces" = callPackage @@ -172665,6 +172607,7 @@ self: { ]; description = "Easy and reasonably efficient probabilistic programming and random generation"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "proc" = callPackage @@ -177429,6 +177372,8 @@ self: { pname = "radian"; version = "0.1"; sha256 = "150vb9wk73avh8rrsz92y1fcwlm30w4k23lbdncb8ivinqhdi4pv"; + revision = "1"; + editedCabalFile = "1mkk17rrg2z6s1qkzz7qcm6q6qvgmcmvii9rzjzgn73m1x1l5rim"; libraryHaskellDepends = [ base profunctors ]; testHaskellDepends = [ base HUnit lens ]; description = "Isomorphisms for measurements that use radians"; @@ -178680,6 +178625,7 @@ self: { benchmarkHaskellDepends = [ base-noprelude gauge relude ]; description = "Client for rating.chgk.info API and CSV tables (documentation in Russian)"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "rating-systems" = callPackage @@ -178736,7 +178682,7 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; - "rattletrap_6_2_1" = callPackage + "rattletrap_6_2_2" = callPackage ({ mkDerivation, aeson, aeson-pretty, base, binary, binary-bits , bytestring, clock, containers, filepath, http-client , http-client-tls, HUnit, template-haskell, temporary, text @@ -178744,8 +178690,8 @@ self: { }: mkDerivation { pname = "rattletrap"; - version = "6.2.1"; - sha256 = "0pygwgq5q6mvpbkis2xiw6ac65fn8q9452qql5dc21p4mi27bwka"; + version = "6.2.2"; + sha256 = "06gbvkg6wn7dql954bzbw8l1460hk2f9055404q0a949qlmmqb3p"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -180692,6 +180638,7 @@ self: { ]; description = "Functional Reactive Web Apps with Reflex"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "reflex-dom-fragment-shader-canvas" = callPackage @@ -182854,7 +182801,7 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; - "req_2_0_0" = callPackage + "req_2_0_1" = callPackage ({ mkDerivation, aeson, authenticate-oauth, base, blaze-builder , bytestring, case-insensitive, connection, hspec, hspec-core , hspec-discover, http-api-data, http-client, http-client-tls @@ -182863,8 +182810,8 @@ self: { }: mkDerivation { pname = "req"; - version = "2.0.0"; - sha256 = "0avwvslsb689p9afbh3k0zwmqwkrqagicz26xcyfjsd5648mh3wr"; + version = "2.0.1"; + sha256 = "1mfm6yy23l64kqbxvp1yn3yqf7fl46as87rz4yazg7f5x13bas3r"; enableSeparateDataOutput = true; libraryHaskellDepends = [ aeson authenticate-oauth base blaze-builder bytestring @@ -186993,6 +186940,7 @@ self: { ]; description = "Configuration Loader"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "salak_0_2_3" = callPackage @@ -187306,6 +187254,8 @@ self: { pname = "sandi"; version = "0.5"; sha256 = "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29"; + revision = "1"; + editedCabalFile = "1aj9i1ir6ks3bdb47yvqlxv2azrz09p69ggr73m0cxvir9rd0y5j"; libraryHaskellDepends = [ base bytestring conduit exceptions ]; testHaskellDepends = [ base bytestring tasty tasty-hunit tasty-quickcheck tasty-th @@ -187726,6 +187676,7 @@ self: { ]; description = "Low-level Starcraft II API"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "sc2-proto" = callPackage @@ -187745,6 +187696,7 @@ self: { libraryToolDepends = [ proto-lens-protoc protoc ]; description = "A protocol buffer model for the Starcraft II bot API"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; }) {protoc = null;}; "sc2-support" = callPackage @@ -188178,8 +188130,8 @@ self: { }: mkDerivation { pname = "schematic"; - version = "0.4.2.0"; - sha256 = "0k63pnv8mip8kn623s5n7w24bd4spjmi1a9h280nf7wd1q8z72n4"; + version = "0.5.0.0"; + sha256 = "0mq38m08gj90gyk38lj4vyyfz0d6qrpxlpqjizqvyj4k3hqqy4ka"; libraryHaskellDepends = [ aeson base bytestring containers hjsonschema mtl profunctors regex-tdfa regex-tdfa-text scientific singletons smallcheck tagged @@ -188852,6 +188804,7 @@ self: { ]; description = "Automatically derive Kotlin class to query servant webservices"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "scrape-changes" = callPackage @@ -192752,6 +192705,7 @@ self: { ]; description = "Servant Integration for Waargonaut JSON Package"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "servant-websockets" = callPackage @@ -195035,6 +194989,7 @@ self: { ]; description = "Clean up the formatting of 'show' output"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "shpider" = callPackage @@ -195513,6 +195468,29 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "simple-cmd_0_1_3" = callPackage + ({ mkDerivation, base, directory, filepath, process }: + mkDerivation { + pname = "simple-cmd"; + version = "0.1.3"; + sha256 = "04bbdfmfy08fl07f0pqzp31jy4fdky4d9hazyxpqla8m3rs49xa9"; + libraryHaskellDepends = [ base directory filepath process ]; + description = "Simple String-based process commands"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + + "simple-cmd-args" = callPackage + ({ mkDerivation, base, optparse-applicative }: + mkDerivation { + pname = "simple-cmd-args"; + version = "0.1.0"; + sha256 = "1cwh2ikk1iccbm5yq7hihk3yhfg4zbxsi8q1jpjavzlcs18sfnll"; + libraryHaskellDepends = [ base optparse-applicative ]; + description = "Simple command args parsing and execution"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "simple-conduit" = callPackage ({ mkDerivation, base, bifunctors, bytestring, CC-delcont , chunked-data, conduit, conduit-combinators, conduit-extra @@ -196561,8 +196539,8 @@ self: { }: mkDerivation { pname = "siren-json"; - version = "0.3.0.0"; - sha256 = "096a4ls4kqpslqsh499ykh7mkvnz3q7n00w1par69kmj4x3g9v0j"; + version = "0.3.1.1"; + sha256 = "0idkblh14jz1l2miphb07lynpw8n1bshxf3q37chclc25wr156zk"; libraryHaskellDepends = [ aeson base bytestring containers http-media http-types network-uri network-uri-json text unordered-containers @@ -197733,6 +197711,7 @@ self: { ]; description = "Command line tool for ."; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "smith-client" = callPackage @@ -197756,6 +197735,7 @@ self: { ]; description = "API client for ."; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "smoothie" = callPackage @@ -199448,21 +199428,18 @@ self: { }) {}; "snmp" = callPackage - ({ mkDerivation, asn1-encoding, asn1-parse, asn1-types, async, base - , binary, bytestring, cipher-aes, cipher-des, containers - , crypto-cipher-types, cryptohash, mtl, network, network-info - , random, securemem, text, time + ({ mkDerivation, base, bytestring, containers, cryptonite, ip + , language-asn, memory, network, stm, vector }: mkDerivation { pname = "snmp"; - version = "0.2.1.1"; - sha256 = "1944ffsmw4hamjpzb9prlcnz6l9lgggbsgi6ilj0v84r8bydcdq7"; + version = "0.3.0.0"; + sha256 = "1lpmwl74hg1x5065r1jhgi6rfmyasjmhqaghnckg6rzii0nxym9d"; libraryHaskellDepends = [ - asn1-encoding asn1-parse asn1-types async base binary bytestring - cipher-aes cipher-des containers crypto-cipher-types cryptohash mtl - network network-info random securemem text time + base bytestring containers cryptonite ip language-asn memory + network stm vector ]; - description = "API for write snmp client"; + description = "SNMP protocol library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; }) {}; @@ -200173,6 +200150,7 @@ self: { executableHaskellDepends = [ base containers parseargs WAVE ]; description = "Audio delay line"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "soundgen" = callPackage @@ -200186,6 +200164,7 @@ self: { executableHaskellDepends = [ base split WAVE ]; description = "sound generator"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "source-code-server" = callPackage @@ -203719,19 +203698,20 @@ self: { "stdio" = callPackage ({ mkDerivation, base, case-insensitive, deepseq, exceptions , ghc-prim, hashable, hspec, hspec-discover, HUnit, integer-gmp - , primitive, QuickCheck, quickcheck-instances, scientific, stm - , template-haskell, time, transformers, uv, word8 + , libuv, primitive, QuickCheck, quickcheck-instances, scientific + , stm, template-haskell, time, word8 }: mkDerivation { pname = "stdio"; - version = "0.1.0.0"; - sha256 = "1y98y92n30sxn8hk4nwfh8jjrwnc2v0cqd766r5dgd1rq6rlf6yv"; + version = "0.1.1.0"; + sha256 = "1sspnrflqac9clf9h6zwnhlvsw52xx97dlxyl6lhw6czy2qy813d"; + revision = "1"; + editedCabalFile = "1xdw84i0nlc3iz3i01li9p44raxn265kqjd284ifbf83vvhbp897"; libraryHaskellDepends = [ base case-insensitive deepseq exceptions ghc-prim hashable - integer-gmp primitive scientific stm template-haskell time - transformers word8 + integer-gmp primitive scientific stm template-haskell time word8 ]; - librarySystemDepends = [ uv ]; + libraryPkgconfigDepends = [ libuv ]; libraryToolDepends = [ hspec-discover ]; testHaskellDepends = [ base hashable hspec HUnit integer-gmp primitive QuickCheck @@ -203739,7 +203719,8 @@ self: { ]; description = "A simple and high performance IO toolkit for Haskell"; license = stdenv.lib.licenses.bsd3; - }) {uv = null;}; + hydraPlatforms = stdenv.lib.platforms.none; + }) {inherit (pkgs) libuv;}; "steambrowser" = callPackage ({ mkDerivation, base, directory, parsec, transformers }: @@ -204847,23 +204828,24 @@ self: { }) {}; "streaming-base64" = callPackage - ({ mkDerivation, base, safe-exceptions, streaming - , streaming-bytestring, tasty, tasty-hunit, transformers + ({ mkDerivation, base, base-compat-batteries, filepath + , safe-exceptions, streaming, streaming-bytestring, streaming-with + , tasty, tasty-golden, transformers }: mkDerivation { pname = "streaming-base64"; - version = "0.1.0.0"; - sha256 = "0w6xj80z1z21pgxadwc48w15a08g94i4g7qkgv5gvq46kpl44bq6"; - revision = "1"; - editedCabalFile = "0mc71ncw2mw3yfryk0g2iq86wba7i3khy8fbsjaz5dr22hkkzh9r"; + version = "0.1.1.0"; + sha256 = "0yyjdld05i4bfx73maf5vzdrp7hx65784sv7bnnw4xfal1k20vlj"; libraryHaskellDepends = [ - base safe-exceptions streaming streaming-bytestring transformers + base base-compat-batteries safe-exceptions streaming + streaming-bytestring transformers ]; testHaskellDepends = [ - base streaming-bytestring tasty tasty-hunit + base base-compat-batteries filepath streaming-bytestring + streaming-with tasty tasty-golden ]; description = "Streaming conversion from/to base64"; - license = stdenv.lib.licenses.cc0; + license = stdenv.lib.licenses.publicDomain; }) {}; "streaming-benchmarks" = callPackage @@ -210099,6 +210081,7 @@ self: { testToolDepends = [ tasty-discover ]; description = "A command-line kanban board/task manager"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "taskpool" = callPackage @@ -210337,8 +210320,8 @@ self: { pname = "tasty-hedgehog-coverage"; version = "0.1.0.0"; sha256 = "1d2hnhkpk71k0xjw63jsn6fa4ih01xqn4dgdbflp6yrs0zw6p95c"; - revision = "1"; - editedCabalFile = "1p3d9w24q39fnljv9m5a8anpv3j3cvazbca4d3hqrjx5w06ik42f"; + revision = "2"; + editedCabalFile = "10fzklan91gyd3bs5qgyv83v7xflxdfcjlvqgcv15bzwplzngclx"; libraryHaskellDepends = [ base containers hedgehog mtl tagged tasty tasty-hedgehog text transformers wl-pprint-annotated @@ -211256,8 +211239,8 @@ self: { ({ mkDerivation, base, base-prelude, template-haskell }: mkDerivation { pname = "template-haskell-compat-v0208"; - version = "0.1.1"; - sha256 = "1dgxfcz68h583r15vc3zmj2fchsv5v4n2v55fz2ccw6sl3kyvlp3"; + version = "0.1.1.1"; + sha256 = "0il2bm5bwa4majddlzckc6jlcwx4w1kmymz9szj11hwjchgd1w3l"; libraryHaskellDepends = [ base base-prelude template-haskell ]; description = "A backwards compatibility layer for Template Haskell newer than 2.8"; license = stdenv.lib.licenses.mit; @@ -216634,6 +216617,8 @@ self: { pname = "to-string-class"; version = "0.1.2"; sha256 = "0l2hj0cbc0dhd7m5bn6xqgzkdf2z4knirmv8c65hsjig9mpsvsxf"; + revision = "1"; + editedCabalFile = "1p5q59gswv86pk7hxpg1n81q4szhwx8rwfx5hsibdz9i9mgz2bbs"; libraryHaskellDepends = [ base ]; description = "Converting string-like types to Strings"; license = stdenv.lib.licenses.bsd3; @@ -217181,32 +217166,34 @@ self: { }) {}; "toodles" = callPackage - ({ mkDerivation, aeson, base, blaze-html, cmdargs, directory, extra - , hspec, hspec-expectations, megaparsec, MissingH, regex-posix - , servant, servant-blaze, servant-server, strict, text, wai, warp + ({ mkDerivation, aeson, base, base64-bytestring, blaze-html + , bytestring, cmdargs, directory, extra, hspec, hspec-expectations + , megaparsec, MissingH, process, regex-posix, RSA, servant + , servant-blaze, servant-server, strict, text, time, wai, warp , yaml }: mkDerivation { pname = "toodles"; - version = "1.0.3"; - sha256 = "1nzrfdbwz5ykiim76jr3v1666acrhh76k4q4gwix9bixcm8al2zf"; + version = "1.1.1"; + sha256 = "0n1z99f2zr2xj55y90ll9dvqq51sv4r4zyhjx7qilqw34djzfn88"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; libraryHaskellDepends = [ - aeson base blaze-html cmdargs directory extra hspec - hspec-expectations megaparsec MissingH regex-posix servant - servant-blaze servant-server strict text wai warp yaml + aeson base base64-bytestring blaze-html bytestring cmdargs + directory extra megaparsec MissingH process regex-posix RSA servant + servant-blaze servant-server strict text time wai warp yaml ]; executableHaskellDepends = [ - aeson base blaze-html cmdargs directory extra hspec - hspec-expectations megaparsec MissingH regex-posix servant - servant-blaze servant-server strict text wai warp yaml + aeson base base64-bytestring blaze-html bytestring cmdargs + directory extra megaparsec MissingH process regex-posix RSA servant + servant-blaze servant-server strict text time wai warp yaml ]; testHaskellDepends = [ - aeson base blaze-html cmdargs directory extra hspec - hspec-expectations megaparsec MissingH regex-posix servant - servant-blaze servant-server strict text wai warp yaml + aeson base base64-bytestring blaze-html bytestring cmdargs + directory extra hspec hspec-expectations megaparsec MissingH + process regex-posix servant servant-blaze servant-server strict + text time wai warp yaml ]; description = "Manage the TODO entries in your code"; license = stdenv.lib.licenses.mit; @@ -218852,6 +218839,7 @@ self: { executableHaskellDepends = [ base containers parseargs WAVE ]; description = "Audio file compressor-limiter"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "trurl" = callPackage @@ -224306,6 +224294,20 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "useragents" = callPackage + ({ mkDerivation, base, random-fu, text }: + mkDerivation { + pname = "useragents"; + version = "1.0.0"; + sha256 = "1n4n4mhikzgx2a9qq8rify5wwhngnz0qip32fnhshham5yyldmy6"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ base random-fu text ]; + executableHaskellDepends = [ base random-fu text ]; + description = "A collection of user agents"; + license = stdenv.lib.licenses.mit; + }) {}; + "userid" = callPackage ({ mkDerivation, aeson, base, boomerang, cereal, safecopy , web-routes, web-routes-th @@ -226844,6 +226846,23 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "vinyl-generics" = callPackage + ({ mkDerivation, aeson, base, generics-sop, hspec, hspec-core + , QuickCheck, records-sop, text, vinyl + }: + mkDerivation { + pname = "vinyl-generics"; + version = "0.1.0.0"; + sha256 = "1rxv1wgckq5a3c65lvniizmv5f55gbnngxx76wa93h8lgrhf6ac0"; + libraryHaskellDepends = [ base generics-sop records-sop vinyl ]; + testHaskellDepends = [ + aeson base generics-sop hspec hspec-core QuickCheck records-sop + text vinyl + ]; + description = "Convert plain records to vinyl (and vice versa), generically"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "vinyl-gl" = callPackage ({ mkDerivation, base, containers, GLUtil, HUnit, linear, OpenGL , tagged, test-framework, test-framework-hunit, transformers @@ -227259,21 +227278,21 @@ self: { }) {}; "vrpn" = callPackage - ({ mkDerivation, base, vrpn }: + ({ mkDerivation, base, quat, vrpn }: mkDerivation { pname = "vrpn"; - version = "0.2.1.4"; - sha256 = "11iiwzhb9dqhk83p9gcnj4q2ya5m35bnic30a23z3l9lhsnn49b4"; + version = "0.3.0.0"; + sha256 = "1wyp8dnjag53qlbiz83d21046190kf8hv2izqk1alrniva4vz1kp"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base ]; - librarySystemDepends = [ vrpn ]; + librarySystemDepends = [ quat vrpn ]; executableHaskellDepends = [ base ]; - executableSystemDepends = [ vrpn ]; + executableSystemDepends = [ quat vrpn ]; description = "Bindings to VRPN"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; - }) {inherit (pkgs) vrpn;}; + }) {quat = null; inherit (pkgs) vrpn;}; "vt-utils" = callPackage ({ mkDerivation, aeson, aeson-pretty, base, bytestring @@ -227632,39 +227651,6 @@ self: { }) {}; "wai-app-static" = callPackage - ({ mkDerivation, base, blaze-html, blaze-markup, bytestring - , containers, cryptonite, directory, file-embed, filepath, hspec - , http-date, http-types, memory, mime-types, mockery, network - , old-locale, optparse-applicative, template-haskell, temporary - , text, time, transformers, unix-compat, unordered-containers, wai - , wai-extra, warp, zlib - }: - mkDerivation { - pname = "wai-app-static"; - version = "3.1.6.2"; - sha256 = "0gnwq6ad5m8w8sqq4dzpz23l5rjdphfsf8h9h27lrvv1prkabc6h"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ - base blaze-html blaze-markup bytestring containers cryptonite - directory file-embed filepath http-date http-types memory - mime-types old-locale optparse-applicative template-haskell text - time transformers unix-compat unordered-containers wai wai-extra - warp zlib - ]; - executableHaskellDepends = [ - base bytestring containers directory mime-types text - ]; - testHaskellDepends = [ - base bytestring filepath hspec http-date http-types mime-types - mockery network old-locale temporary text time transformers - unix-compat wai wai-extra zlib - ]; - description = "WAI application for static serving"; - license = stdenv.lib.licenses.mit; - }) {}; - - "wai-app-static_3_1_6_3" = callPackage ({ mkDerivation, base, blaze-html, blaze-markup, bytestring , containers, cryptonite, directory, file-embed, filepath, hspec , http-date, http-types, memory, mime-types, mockery, network @@ -227697,7 +227683,6 @@ self: { ]; description = "WAI application for static serving"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "wai-cli" = callPackage @@ -231118,6 +231103,7 @@ self: { ]; description = "Data types for large but fixed width signed and unsigned integers"; license = stdenv.lib.licenses.bsd2; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "wigner-symbols" = callPackage @@ -231167,6 +231153,23 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "wikicfp-scraper_0_1_0_10" = callPackage + ({ mkDerivation, attoparsec, base, bytestring, filepath, hspec + , scalpel-core, text, time + }: + mkDerivation { + pname = "wikicfp-scraper"; + version = "0.1.0.10"; + sha256 = "1j6aizgsf387pm6ajr6zjj1l4nnaq8mryq4vr09jji91ix9zhnw7"; + libraryHaskellDepends = [ + attoparsec base bytestring scalpel-core text time + ]; + testHaskellDepends = [ base bytestring filepath hspec time ]; + description = "Scrape WikiCFP web site"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "wikipedia4epub" = callPackage ({ mkDerivation, base, bytestring, directory, epub, filepath , haskell98, HTTP, network, regex-base, regex-posix, tagsoup, url @@ -231600,8 +231603,8 @@ self: { }: mkDerivation { pname = "wkt-geom"; - version = "0.0.7"; - sha256 = "0lsasdlznsmfj6b9ky448fdkgvdqhldyzx9fbnj1jgd779hlammb"; + version = "0.0.8"; + sha256 = "123y2xl22gmg28dcj244gk9bsbw0chz32gim48dz4bmqnkmvl7wl"; libraryHaskellDepends = [ base base16-bytestring binary bytestring containers geojson scientific trifecta utf8-string vector @@ -235453,37 +235456,6 @@ self: { }) {}; "yam" = callPackage - ({ mkDerivation, base, base16-bytestring, binary, bytestring - , data-default, fast-logger, hspec, http-client, http-types, lens - , monad-logger, mtl, mwc-random, QuickCheck, reflection, salak - , scientific, servant-client, servant-server, servant-swagger - , servant-swagger-ui, swagger2, text, unliftio-core - , unordered-containers, vault, vector, wai, warp - }: - mkDerivation { - pname = "yam"; - version = "0.5.11"; - sha256 = "0k9y8zg1sbdxb6c3fdmlz0dswb8yam5x812avfw6rg3as8sp1pcf"; - libraryHaskellDepends = [ - base base16-bytestring binary bytestring data-default fast-logger - http-client http-types lens monad-logger mtl mwc-random reflection - salak scientific servant-client servant-server servant-swagger - servant-swagger-ui swagger2 text unliftio-core unordered-containers - vault vector wai warp - ]; - testHaskellDepends = [ - base base16-bytestring binary bytestring data-default fast-logger - hspec http-client http-types lens monad-logger mtl mwc-random - QuickCheck reflection salak scientific servant-client - servant-server servant-swagger servant-swagger-ui swagger2 text - unliftio-core unordered-containers vault vector wai warp - ]; - description = "Yam Web"; - license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - - "yam_0_5_13" = callPackage ({ mkDerivation, aeson, base, base16-bytestring, binary, bytestring , data-default, fast-logger, hspec, http-client, http-types, lens , menshen, monad-logger, mtl, mwc-random, QuickCheck, reflection @@ -235555,22 +235527,6 @@ self: { }) {}; "yam-datasource" = callPackage - ({ mkDerivation, base, conduit, persistent, resource-pool - , resourcet, unliftio-core, yam - }: - mkDerivation { - pname = "yam-datasource"; - version = "0.5.11"; - sha256 = "170xpd1kw403g9zds795zbxkaz0qy7lfgzppx4q0ri42ky59z8pl"; - libraryHaskellDepends = [ - base conduit persistent resource-pool resourcet unliftio-core yam - ]; - description = "Yam DataSource Middleware"; - license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - - "yam-datasource_0_5_13" = callPackage ({ mkDerivation, base, conduit, persistent, resource-pool , resourcet, unliftio-core, yam }: @@ -236555,34 +236511,6 @@ self: { }) {}; "yesod-auth" = callPackage - ({ mkDerivation, aeson, authenticate, base, base16-bytestring - , base64-bytestring, binary, blaze-builder, blaze-html - , blaze-markup, bytestring, conduit, conduit-extra, containers - , cryptonite, data-default, email-validate, file-embed, http-client - , http-client-tls, http-conduit, http-types, memory, network-uri - , nonce, persistent, random, safe, shakespeare, template-haskell - , text, time, transformers, unliftio, unliftio-core - , unordered-containers, wai, yesod-core, yesod-form - , yesod-persistent - }: - mkDerivation { - pname = "yesod-auth"; - version = "1.6.5"; - sha256 = "1crpqcx8zynwmas4ja5yv1jg4xvcv0hw7h11d5m8vld4fcs9dpdr"; - libraryHaskellDepends = [ - aeson authenticate base base16-bytestring base64-bytestring binary - blaze-builder blaze-html blaze-markup bytestring conduit - conduit-extra containers cryptonite data-default email-validate - file-embed http-client http-client-tls http-conduit http-types - memory network-uri nonce persistent random safe shakespeare - template-haskell text time transformers unliftio unliftio-core - unordered-containers wai yesod-core yesod-form yesod-persistent - ]; - description = "Authentication for Yesod"; - license = stdenv.lib.licenses.mit; - }) {}; - - "yesod-auth_1_6_6" = callPackage ({ mkDerivation, aeson, authenticate, base, base16-bytestring , base64-bytestring, binary, blaze-builder, blaze-html , blaze-markup, bytestring, conduit, conduit-extra, containers @@ -236608,7 +236536,6 @@ self: { ]; description = "Authentication for Yesod"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "yesod-auth-account" = callPackage @@ -237143,42 +237070,6 @@ self: { }) {}; "yesod-core" = callPackage - ({ mkDerivation, aeson, async, auto-update, base, blaze-html - , blaze-markup, byteable, bytestring, case-insensitive, cereal - , clientsession, conduit, conduit-extra, containers, cookie - , deepseq, fast-logger, gauge, hspec, hspec-expectations - , http-types, HUnit, monad-logger, mtl, network, parsec - , path-pieces, primitive, random, resourcet, rio, shakespeare - , streaming-commons, template-haskell, text, time, transformers - , unix-compat, unliftio, unordered-containers, vector, wai - , wai-extra, wai-logger, warp, word8 - }: - mkDerivation { - pname = "yesod-core"; - version = "1.6.11"; - sha256 = "1cpl8g2sdvv751vvs68169w9nki43h6rmj2i2wqkfzijwgd8djwr"; - libraryHaskellDepends = [ - aeson auto-update base blaze-html blaze-markup byteable bytestring - case-insensitive cereal clientsession conduit conduit-extra - containers cookie deepseq fast-logger http-types monad-logger mtl - parsec path-pieces primitive random resourcet rio shakespeare - template-haskell text time transformers unix-compat unliftio - unordered-containers vector wai wai-extra wai-logger warp word8 - ]; - testHaskellDepends = [ - async base bytestring clientsession conduit conduit-extra - containers cookie hspec hspec-expectations http-types HUnit network - path-pieces random resourcet shakespeare streaming-commons - template-haskell text transformers unliftio wai wai-extra warp - ]; - benchmarkHaskellDepends = [ - base blaze-html bytestring gauge shakespeare text - ]; - description = "Creation of type-safe, RESTful web applications"; - license = stdenv.lib.licenses.mit; - }) {}; - - "yesod-core_1_6_12" = callPackage ({ mkDerivation, aeson, async, auto-update, base, blaze-html , blaze-markup, byteable, bytestring, case-insensitive, cereal , clientsession, conduit, conduit-extra, containers, cookie @@ -237212,7 +237103,6 @@ self: { ]; description = "Creation of type-safe, RESTful web applications"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "yesod-crud" = callPackage @@ -237594,6 +237484,22 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "yesod-gitrev_0_2_1" = callPackage + ({ mkDerivation, aeson, base, githash, template-haskell, yesod-core + }: + mkDerivation { + pname = "yesod-gitrev"; + version = "0.2.1"; + sha256 = "0wd6xvq9aa11n8y4hna0a5ivqfxnbg8w2bq5lramm895xs7c8d7w"; + libraryHaskellDepends = [ + aeson base githash template-haskell yesod-core + ]; + testHaskellDepends = [ base yesod-core ]; + description = "A subsite for displaying git information"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "yesod-goodies" = callPackage ({ mkDerivation, base, blaze-html, bytestring, directory, HTTP , old-locale, pandoc, pureMD5, text, time, yesod, yesod-form diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index 39f8d251410..d26ad077c14 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -2,7 +2,7 @@ { lib, stdenv, fetchurl, flex, bison, autoconf , mysql, libxml2, readline, zlib, curl, postgresql, gettext , openssl, pcre, pcre2, pkgconfig, sqlite, config, libjpeg, libpng, freetype -, libxslt, libmcrypt, bzip2, icu, openldap, cyrus_sasl, libmhash +, libxslt, libmcrypt, bzip2, icu, openldap, cyrus_sasl, libmhash, unixODBC , uwimap, pam, gmp, apacheHttpd, libiconv, systemd, libsodium, html-tidy, libargon2, libzip }: @@ -28,6 +28,7 @@ let , curlSupport ? config.php.curl or true , gettextSupport ? config.php.gettext or true , pcntlSupport ? config.php.pcntl or true + , pdo_odbcSupport ? config.php.pdo_odbc or true , postgresqlSupport ? config.php.postgresql or true , pdo_pgsqlSupport ? config.php.pdo_pgsql or true , readlineSupport ? config.php.readline or true @@ -88,6 +89,7 @@ let ++ optional readlineSupport readline ++ optional sqliteSupport sqlite ++ optional postgresqlSupport postgresql + ++ optional pdo_odbcSupport unixODBC ++ optional pdo_pgsqlSupport postgresql ++ optional pdo_mysqlSupport mysqlBuildInputs ++ optional mysqliSupport mysqlBuildInputs @@ -141,6 +143,7 @@ let ++ optional readlineSupport "--with-readline=${readline.dev}" ++ optional sqliteSupport "--with-pdo-sqlite=${sqlite.dev}" ++ optional postgresqlSupport "--with-pgsql=${postgresql}" + ++ optional pdo_odbcSupport "--with-pdo-odbc=unixODBC,${unixODBC}" ++ optional pdo_pgsqlSupport "--with-pdo-pgsql=${postgresql}" ++ optional pdo_mysqlSupport "--with-pdo-mysql=${if mysqlndSupport then "mysqlnd" else mysql.connector-c}" ++ optionals mysqliSupport [ diff --git a/pkgs/development/libraries/aws-c-common/default.nix b/pkgs/development/libraries/aws-c-common/default.nix new file mode 100644 index 00000000000..dd200304ab6 --- /dev/null +++ b/pkgs/development/libraries/aws-c-common/default.nix @@ -0,0 +1,28 @@ +{ lib, stdenv, fetchFromGitHub, cmake }: + +stdenv.mkDerivation rec { + pname = "aws-c-common"; + version = "0.3.2"; + + src = fetchFromGitHub { + owner = "awslabs"; + repo = pname; + rev = "v${version}"; + sha256 = "169ha105qgcvj93hf1bhlya2nlwh8g5fvypd6whfjs9k0hqddi0c"; + }; + + nativeBuildInputs = [ cmake ]; + + NIX_CFLAGS_COMPILE = lib.optionals stdenv.isDarwin [ + "-Wno-nullability-extension" + "-Wno-typedef-redefinition" + ]; + + meta = with lib; { + description = "AWS SDK for C common core"; + homepage = https://github.com/awslabs/aws-c-common; + license = licenses.asl20; + platforms = platforms.unix; + maintainers = with maintainers; [ orivej eelco ]; + }; +} diff --git a/pkgs/development/libraries/aws-c-event-stream/default.nix b/pkgs/development/libraries/aws-c-event-stream/default.nix new file mode 100644 index 00000000000..47363e12a68 --- /dev/null +++ b/pkgs/development/libraries/aws-c-event-stream/default.nix @@ -0,0 +1,29 @@ +{ lib, stdenv, fetchFromGitHub, cmake, aws-c-common, aws-checksums }: + +stdenv.mkDerivation rec { + pname = "aws-c-event-stream"; + version = "0.1.1"; + + src = fetchFromGitHub { + owner = "awslabs"; + repo = pname; + rev = "v${version}"; + sha256 = "0anjynfghk3inysy21wqvhxha33xsswh3lm8pr7nx7cpj6cmr37m"; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ aws-c-common aws-checksums ]; + + cmakeFlags = [ + "-DCMAKE_MODULE_PATH=${aws-c-common}/lib/cmake" + ]; + + meta = with lib; { + description = "C99 implementation of the vnd.amazon.eventstream content-type"; + homepage = https://github.com/awslabs/aws-c-event-stream; + license = licenses.asl20; + platforms = platforms.unix; + maintainers = with maintainers; [ orivej eelco ]; + }; +} diff --git a/pkgs/development/libraries/aws-checksums/default.nix b/pkgs/development/libraries/aws-checksums/default.nix new file mode 100644 index 00000000000..0e47398b346 --- /dev/null +++ b/pkgs/development/libraries/aws-checksums/default.nix @@ -0,0 +1,23 @@ +{ lib, stdenv, fetchFromGitHub, cmake }: + +stdenv.mkDerivation rec { + pname = "aws-checksums"; + version = "0.1.2"; + + src = fetchFromGitHub { + owner = "awslabs"; + repo = pname; + rev = "v${version}"; + sha256 = "1r21sfs1ik6cb8bz17w6gp6y2xa9rbjxjka0p6airb3qds094iv5"; + }; + + nativeBuildInputs = [ cmake ]; + + meta = with lib; { + description = "HW accelerated CRC32c and CRC32"; + homepage = https://github.com/awslabs/aws-checksums; + license = licenses.asl20; + platforms = platforms.unix; + maintainers = with maintainers; [ orivej eelco ]; + }; +} diff --git a/pkgs/development/libraries/aws-sdk-cpp/default.nix b/pkgs/development/libraries/aws-sdk-cpp/default.nix index a5517a2522d..9ba611b0f96 100644 --- a/pkgs/development/libraries/aws-sdk-cpp/default.nix +++ b/pkgs/development/libraries/aws-sdk-cpp/default.nix @@ -1,4 +1,5 @@ { lib, stdenv, fetchFromGitHub, cmake, curl, openssl, zlib +, aws-c-common, aws-c-event-stream, aws-checksums , CoreAudio, AudioToolbox , # Allow building a limited set of APIs, e.g. ["s3" "ec2"]. apis ? ["*"] @@ -6,22 +7,15 @@ customMemoryManagement ? true }: -let - loaderVar = - if stdenv.isLinux - then "LD_LIBRARY_PATH" - else if stdenv.isDarwin - then "DYLD_LIBRARY_PATH" - else throw "Unsupported system!"; -in stdenv.mkDerivation rec { +stdenv.mkDerivation rec { name = "aws-sdk-cpp-${version}"; - version = "1.6.52"; + version = "1.7.53"; src = fetchFromGitHub { owner = "awslabs"; repo = "aws-sdk-cpp"; rev = version; - sha256 = "17hyq6rv1xl3f70p2pfkkxm86gbfimq2pwpakv1wv3xjibmppbrf"; + sha256 = "0ybccffz5nrhp4n4nyb6ykrk9fdi0vqqqhjkaxx3l0xvmqx9rbrv"; }; # FIXME: might be nice to put different APIs in different outputs @@ -30,43 +24,35 @@ in stdenv.mkDerivation rec { separateDebugInfo = stdenv.isLinux; nativeBuildInputs = [ cmake curl ]; - buildInputs = [ zlib curl openssl ] - ++ lib.optionals (stdenv.isDarwin && + + buildInputs = [ + curl openssl zlib + aws-c-common aws-c-event-stream aws-checksums + ] ++ lib.optionals (stdenv.isDarwin && ((builtins.elem "text-to-speech" apis) || (builtins.elem "*" apis))) [ CoreAudio AudioToolbox ]; - cmakeFlags = - lib.optional (!customMemoryManagement) "-DCUSTOM_MEMORY_MANAGEMENT=0" + cmakeFlags = [ + "-DBUILD_DEPS=OFF" + "-DCMAKE_SKIP_BUILD_RPATH=OFF" + ] ++ lib.optional (!customMemoryManagement) "-DCUSTOM_MEMORY_MANAGEMENT=0" ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "-DENABLE_TESTING=OFF" ++ lib.optional (apis != ["*"]) "-DBUILD_ONLY=${lib.concatStringsSep ";" apis}"; - enableParallelBuilding = true; - - # Behold the escaping nightmare below on loaderVar o.O - preBuild = - '' - # Ensure that the unit tests can find the *.so files. - for i in testing-resources aws-cpp-sdk-*; do - export ${loaderVar}=$(pwd)/$i:''${${loaderVar}} - done - ''; - preConfigure = '' rm aws-cpp-sdk-core-tests/aws/auth/AWSCredentialsProviderTest.cpp ''; - NIX_CFLAGS_COMPILE = [ "-Wno-error=noexcept-type" ]; - __darwinAllowLocalNetworking = true; - meta = { + meta = with lib; { description = "A C++ interface for Amazon Web Services"; homepage = https://github.com/awslabs/aws-sdk-cpp; - license = lib.licenses.asl20; - platforms = lib.platforms.linux ++ lib.platforms.darwin; - maintainers = [ lib.maintainers.eelco ]; + license = licenses.asl20; + platforms = platforms.unix; + maintainers = with maintainers; [ eelco orivej ]; }; } diff --git a/pkgs/development/libraries/boehm-gc/default.nix b/pkgs/development/libraries/boehm-gc/default.nix index d6f7b46079f..1a2c75ecf91 100644 --- a/pkgs/development/libraries/boehm-gc/default.nix +++ b/pkgs/development/libraries/boehm-gc/default.nix @@ -31,7 +31,12 @@ stdenv.mkDerivation rec { configureFlags = [ "--enable-cplusplus" ] ++ lib.optional enableLargeConfig "--enable-large-config" - ++ lib.optional (stdenv.hostPlatform.libc == "musl") "--disable-static"; + ++ lib.optional (stdenv.hostPlatform.libc == "musl") "--disable-static" + # Configure script can't detect whether C11 atomic intrinsics are available + # when cross-compiling, so it links to libatomic_ops, which has to be + # propagated to all dependencies. To avoid this, assume that the intrinsics + # are available. + ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "--with-libatomic-ops=none"; doCheck = true; # not cross; diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix index f161e0f511a..845b09053ad 100644 --- a/pkgs/development/libraries/cairo/default.nix +++ b/pkgs/development/libraries/cairo/default.nix @@ -1,8 +1,10 @@ -{ stdenv, fetchurl, fetchpatch, pkgconfig, libiconv +{ config, stdenv, fetchurl, fetchpatch, pkgconfig, libiconv , libintl, expat, zlib, libpng, pixman, fontconfig, freetype, xorg , gobjectSupport ? true, glib , xcbSupport ? true # no longer experimental since 1.12 -, glSupport ? true, libGL ? null # libGLU_combined is no longer a big dependency +, libGLSupported +, glSupport ? config.cairo.gl or (libGLSupported && stdenv.isLinux && !stdenv.isAarch32 && !stdenv.isMips) +, libGL ? null # libGLU_combined is no longer a big dependency , pdfSupport ? true , darwin }: diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 7e99a0c18d7..cb4571265af 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -94,7 +94,8 @@ stdenv.mkDerivation ({ }) ] ++ lib.optional stdenv.isx86_64 ./fix-x64-abi.patch - ++ lib.optional stdenv.hostPlatform.isMusl ./fix-rpc-types-musl-conflicts.patch; + ++ lib.optional stdenv.hostPlatform.isMusl ./fix-rpc-types-musl-conflicts.patch + ++ lib.optional stdenv.buildPlatform.isDarwin ./darwin-cross-build.patch; postPatch = '' diff --git a/pkgs/development/libraries/glibc/darwin-cross-build.patch b/pkgs/development/libraries/glibc/darwin-cross-build.patch new file mode 100644 index 00000000000..7b224924104 --- /dev/null +++ b/pkgs/development/libraries/glibc/darwin-cross-build.patch @@ -0,0 +1,103 @@ +enable cross-compilation of glibc on Darwin (build=Darwin, host=Linux) +* increase ulimit for open files: macOS default of 256 is too low for glibc build system +* use host version of ar, which is given by environment variable +* build system uses stamp.os and stamp.oS files, which only differ in case; + this fails on macOS, so replace .oS with .o_S +* libintl.h does not exist (and is not needed) on macOS + +--- glibc-2.27/Makefile.in 2018-02-01 17:17:18.000000000 +0100 ++++ glibc-2.27/Makefile.in 2019-02-15 17:38:27.022965553 +0100 +@@ -6,9 +6,11 @@ + .PHONY: all install bench + + all .DEFAULT: +- $(MAKE) -r PARALLELMFLAGS="$(PARALLELMFLAGS)" -C $(srcdir) objdir=`pwd` $@ ++ ulimit -n 1024; \ ++ $(MAKE) -r AR=$$AR PARALLELMFLAGS="$(PARALLELMFLAGS)" -C $(srcdir) objdir=`pwd` $@ + + install: ++ ulimit -n 1024; \ + LC_ALL=C; export LC_ALL; \ + $(MAKE) -r PARALLELMFLAGS="$(PARALLELMFLAGS)" -C $(srcdir) objdir=`pwd` $@ + +--- glibc-2.27/Makerules 2018-02-01 17:17:18.000000000 +0100 ++++ glibc-2.27/Makerules 2019-02-15 17:43:11.196039000 +0100 +@@ -915,8 +915,8 @@ + ifndef objects + + # Create the stamp$o files to keep the parent makefile happy. +-subdir_lib: $(foreach o,$(object-suffixes-for-libc),$(objpfx)stamp$o) +-$(foreach o,$(object-suffixes-for-libc),$(objpfx)stamp$o): ++subdir_lib: $(foreach o,$(object-suffixes-for-libc),$(objpfx)stamp$(subst .oS,.o_S,$o)) ++$(foreach o,$(object-suffixes-for-libc),$(objpfx)stamp$(subst .oS,.o_S,$o)): + $(make-target-directory) + rm -f $@; > $@ + else +@@ -927,7 +927,7 @@ + # The parent will then actually add them all to the archive in the + # archive rule, below. + define o-iterator-doit +-$(objpfx)stamp$o: $(o-objects); $$(do-stamp) ++$(objpfx)stamp$(subst .oS,.o_S,$o): $(o-objects); $$(do-stamp) + endef + define do-stamp + $(make-target-directory) +@@ -943,14 +943,14 @@ + # on the stamp files built above. + define o-iterator-doit + $(common-objpfx)$(patsubst %,$(libtype$o),c): \ +- $(subdirs-stamp-o) $(common-objpfx)stamp$o; $$(do-makelib) ++ $(subdirs-stamp-o) $(common-objpfx)stamp$(subst .oS,.o_S,$o); $$(do-makelib) + endef + define do-makelib + cd $(common-objdir) && \ + $(AR) $(CREATE_ARFLAGS) $(@F) `cat $(patsubst $(common-objpfx)%,%,$^)` + endef + subdirs-stamps := $(foreach d,$(subdirs),$(common-objpfx)$d/stamp%) +-subdirs-stamp-o = $(subst %,$o,$(subdirs-stamps)) ++subdirs-stamp-o = $(subst %,$(subst .oS,.o_S,$o),$(subdirs-stamps)) + ifndef subdir + $(subdirs-stamps): subdir_lib; + endif +@@ -961,7 +961,7 @@ + # This makes all the object files. + .PHONY: objects objs libobjs extra-objs + objects objs: libobjs extra-objs +-libobjs: $(foreach o,$(object-suffixes-for-libc),$(objpfx)stamp$o) ++libobjs: $(foreach o,$(object-suffixes-for-libc),$(objpfx)stamp$(subst .oS,.o_S,$o)) + extra-objs: $(addprefix $(objpfx),$(extra-objs)) + + # Canned sequence for building an extra library archive. +@@ -1615,7 +1615,7 @@ + $(rmobjs) + define rmobjs + $(foreach o,$(object-suffixes-for-libc), +--rm -f $(objpfx)stamp$o $(o-objects)) ++-rm -f $(objpfx)stamp$(subst .oS,.o_S,$o) $(o-objects)) + endef + + # Also remove the dependencies and generated source files. +--- glibc-2.27/sunrpc/rpc_main.c 2019-02-15 17:32:43.710244513 +0100 ++++ glibc-2.27/sunrpc/rpc_main.c 2019-02-15 17:23:57.139617796 +0100 +@@ -38,7 +38,9 @@ + #include + #include + #include ++#ifndef __APPLE__ + #include ++#endif + #include + #include + #include +--- glibc-2.27/sunrpc/rpc_scan.c 2019-02-15 17:32:54.845490606 +0100 ++++ glibc-2.27/sunrpc/rpc_scan.c 2019-02-15 17:24:54.288066644 +0100 +@@ -37,7 +37,9 @@ + #include + #include + #include ++#ifndef __APPLE__ + #include ++#endif + #include "rpc_scan.h" + #include "rpc_parse.h" + #include "rpc_util.h" diff --git a/pkgs/development/libraries/gnutls-kdh/generic.nix b/pkgs/development/libraries/gnutls-kdh/generic.nix index d1d3c8575b0..75c71632aeb 100644 --- a/pkgs/development/libraries/gnutls-kdh/generic.nix +++ b/pkgs/development/libraries/gnutls-kdh/generic.nix @@ -1,5 +1,6 @@ -{ lib, stdenv, zlib, lzo, libtasn1, nettle, pkgconfig, lzip -, guileBindings, guile, perl, gmp, autogen, libidn, p11-kit, unbound, libiconv +{ config, lib, stdenv, zlib, lzo, libtasn1, nettle, pkgconfig, lzip +, perl, gmp, autogen, libidn, p11-kit, unbound, libiconv +, guileBindings ? config.gnutls.guile or false, guile , tpmSupport ? true, trousers, nettools, gperftools, gperf, gettext, automake , yacc, texinfo diff --git a/pkgs/development/libraries/gnutls/generic.nix b/pkgs/development/libraries/gnutls/generic.nix index 7dc45edd636..086c0560cc4 100644 --- a/pkgs/development/libraries/gnutls/generic.nix +++ b/pkgs/development/libraries/gnutls/generic.nix @@ -1,5 +1,6 @@ -{ lib, stdenv, zlib, lzo, libtasn1, nettle, pkgconfig, lzip -, guileBindings, guile, perl, gmp, autogen, libidn, p11-kit, libiconv +{ config, lib, stdenv, zlib, lzo, libtasn1, nettle, pkgconfig, lzip +, perl, gmp, autogen, libidn, p11-kit, libiconv +, guileBindings ? config.gnutls.guile or false, guile , tpmSupport ? false, trousers, which, nettools, libunistring , unbound, dns-root-data, gettext diff --git a/pkgs/development/libraries/gtk+/2.x.nix b/pkgs/development/libraries/gtk+/2.x.nix index c7638ea5fe5..8dad69eb998 100644 --- a/pkgs/development/libraries/gtk+/2.x.nix +++ b/pkgs/development/libraries/gtk+/2.x.nix @@ -1,7 +1,7 @@ -{ stdenv, fetchurl, pkgconfig, gettext, glib, atk, pango, cairo, perl, xorg +{ config, stdenv, fetchurl, pkgconfig, gettext, glib, atk, pango, cairo, perl, xorg , gdk_pixbuf, xlibsWrapper, gobject-introspection , xineramaSupport ? stdenv.isLinux -, cupsSupport ? true, cups ? null +, cupsSupport ? config.gtk2.cups or stdenv.isLinux, cups ? null , gdktarget ? if stdenv.isDarwin then "quartz" else "x11" , AppKit, Cocoa , fetchpatch diff --git a/pkgs/development/libraries/libiodbc/default.nix b/pkgs/development/libraries/libiodbc/default.nix index faa070b3468..ad55c6cb18f 100644 --- a/pkgs/development/libraries/libiodbc/default.nix +++ b/pkgs/development/libraries/libiodbc/default.nix @@ -1,4 +1,5 @@ -{ stdenv, fetchurl, pkgconfig, gtk2, Carbon, useGTK ? false }: +{ config, stdenv, fetchurl, pkgconfig, gtk2, Carbon +, useGTK ? config.libiodbc.gtk or false }: stdenv.mkDerivation rec { name = "libiodbc-3.52.12"; diff --git a/pkgs/development/libraries/libtensorflow/default.nix b/pkgs/development/libraries/libtensorflow/default.nix index f41f6303e01..98096371e40 100644 --- a/pkgs/development/libraries/libtensorflow/default.nix +++ b/pkgs/development/libraries/libtensorflow/default.nix @@ -1,7 +1,7 @@ -{ stdenv +{ config, stdenv , fetchurl , patchelf -, cudaSupport ? false, symlinkJoin, cudatoolkit, cudnn, nvidia_x11 +, cudaSupport ? config.cudaSupport or false, symlinkJoin, cudatoolkit, cudnn, nvidia_x11 }: with stdenv.lib; let diff --git a/pkgs/development/libraries/opencv/3.x.nix b/pkgs/development/libraries/opencv/3.x.nix index cca820e2f37..f1e82c166a1 100644 --- a/pkgs/development/libraries/opencv/3.x.nix +++ b/pkgs/development/libraries/opencv/3.x.nix @@ -8,13 +8,13 @@ , enablePNG ? true, libpng , enableTIFF ? true, libtiff , enableWebP ? true, libwebp -, enableEXR ? (!stdenv.isDarwin), openexr, ilmbase +, enableEXR ? !stdenv.isDarwin, openexr, ilmbase , enableJPEG2K ? true, jasper , enableEigen ? true, eigen , enableOpenblas ? true, openblas , enableContrib ? true -, enableCuda ? (config.cudaSupport or false), cudatoolkit +, enableCuda ? config.cudaSupport or false, cudatoolkit , enableUnfree ? false , enableIpp ? false diff --git a/pkgs/development/libraries/opencv/4.x.nix b/pkgs/development/libraries/opencv/4.x.nix index 3f21ee15bf3..8addc150555 100644 --- a/pkgs/development/libraries/opencv/4.x.nix +++ b/pkgs/development/libraries/opencv/4.x.nix @@ -8,13 +8,13 @@ , enablePNG ? true, libpng , enableTIFF ? true, libtiff , enableWebP ? true, libwebp -, enableEXR ? (!stdenv.isDarwin), openexr, ilmbase +, enableEXR ? !stdenv.isDarwin, openexr, ilmbase , enableJPEG2K ? true, jasper , enableEigen ? true, eigen , enableOpenblas ? true, openblas , enableContrib ? true -, enableCuda ? (config.cudaSupport or false), cudatoolkit +, enableCuda ? config.cudaSupport or false, cudatoolkit , enableUnfree ? false , enableIpp ? false diff --git a/pkgs/development/libraries/opensubdiv/default.nix b/pkgs/development/libraries/opensubdiv/default.nix index 614df6fb063..57f1c9830a6 100644 --- a/pkgs/development/libraries/opensubdiv/default.nix +++ b/pkgs/development/libraries/opensubdiv/default.nix @@ -1,6 +1,6 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkgconfig, xorg, libGLU +{ config, lib, stdenv, fetchFromGitHub, cmake, pkgconfig, xorg, libGLU , libGL, glew, ocl-icd, python3 -, cudaSupport ? false, cudatoolkit +, cudaSupport ? config.cudaSupport or false, cudatoolkit , darwin }: diff --git a/pkgs/development/libraries/physics/rivet/default.nix b/pkgs/development/libraries/physics/rivet/default.nix index 30f8ad8e8a3..01214878cd8 100644 --- a/pkgs/development/libraries/physics/rivet/default.nix +++ b/pkgs/development/libraries/physics/rivet/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "rivet-${version}"; - version = "2.6.2"; + version = "2.7.0"; src = fetchurl { url = "https://www.hepforge.org/archive/rivet/Rivet-${version}.tar.bz2"; - sha256 = "0yp3mllr2b4bhsmixjmmpl2n4x78bgw74a9xy2as4f10q3alkplx"; + sha256 = "12mlj2j1glidjhiaxlr25qz2vfb865wip1vwwg8vlyd3yzisf533"; }; patches = [ @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { substituteInPlace analyses/Makefile.in \ --replace "!(tmp)" "" substituteInPlace bin/rivet-buildplugin.in \ - --replace '"which"' '"${which}/bin/which"' \ + --replace 'which' '"${which}/bin/which"' \ --replace 'mycxx=' 'mycxx=${stdenv.cc}/bin/${if stdenv.cc.isClang or false then "clang++" else "g++"} #' \ --replace 'mycxxflags="' "mycxxflags=\"-std=c++11 $NIX_CFLAGS_COMPILE $NIX_CXXSTDLIB_COMPILE $NIX_CFLAGS_LINK " ''; diff --git a/pkgs/development/libraries/qt-3/default.nix b/pkgs/development/libraries/qt-3/default.nix index 3f3e9158622..dc05251478c 100644 --- a/pkgs/development/libraries/qt-3/default.nix +++ b/pkgs/development/libraries/qt-3/default.nix @@ -6,7 +6,8 @@ , cursorSupport ? true, libXcursor ? null , threadSupport ? true , mysqlSupport ? false, mysql ? null -, openglSupport ? false, libGLU_combined ? null, libXmu ? null +, libGLSupported +, openglSupport ? libGLSupported, libGLU_combined ? null, libXmu ? null , xlibsWrapper, xorgproto, zlib, libjpeg, libpng, which }: diff --git a/pkgs/development/libraries/qt-5/5.11/default.nix b/pkgs/development/libraries/qt-5/5.11/default.nix index 59dab2beabd..b6e24c63222 100644 --- a/pkgs/development/libraries/qt-5/5.11/default.nix +++ b/pkgs/development/libraries/qt-5/5.11/default.nix @@ -62,8 +62,8 @@ let qtscript = [ ./qtscript.patch ]; qtserialport = [ ./qtserialport.patch ]; qttools = [ ./qttools.patch ]; - qtwebengine = - optional stdenv.cc.isClang ./qtwebengine-clang-fix.patch + qtwebengine = [ ./qtwebengine-no-build-skip.patch ] + ++ optional stdenv.cc.isClang ./qtwebengine-clang-fix.patch ++ optional stdenv.isDarwin ./qtwebengine-darwin-sdk-10.10.patch; qtwebkit = [ ./qtwebkit.patch ]; }; @@ -94,7 +94,9 @@ let }; qtcharts = callPackage ../modules/qtcharts.nix {}; - qtconnectivity = callPackage ../modules/qtconnectivity.nix {}; + qtconnectivity = callPackage ../modules/qtconnectivity.nix { + inherit cf-private; + }; qtdeclarative = callPackage ../modules/qtdeclarative.nix {}; qtdoc = callPackage ../modules/qtdoc.nix {}; qtgraphicaleffects = callPackage ../modules/qtgraphicaleffects.nix {}; diff --git a/pkgs/development/libraries/qt-5/5.11/qtwebengine-no-build-skip.patch b/pkgs/development/libraries/qt-5/5.11/qtwebengine-no-build-skip.patch new file mode 100644 index 00000000000..f332d5e1bb2 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.11/qtwebengine-no-build-skip.patch @@ -0,0 +1,12 @@ +diff --git a/qtwebengine.pro b/qtwebengine.pro +--- a/qtwebengine.pro ++++ b/qtwebengine.pro +@@ -5,7 +5,7 @@ runConfigure() + + !isEmpty(skipBuildReason) { + SUBDIRS = +- log($${skipBuildReason}$${EOL}) ++ error($${skipBuildReason}$${EOL}) + log(QtWebEngine will not be built.$${EOL}) + } + diff --git a/pkgs/development/libraries/qt-5/5.12/default.nix b/pkgs/development/libraries/qt-5/5.12/default.nix index 22535deb767..4b002837c3d 100644 --- a/pkgs/development/libraries/qt-5/5.12/default.nix +++ b/pkgs/development/libraries/qt-5/5.12/default.nix @@ -60,6 +60,7 @@ let qtdeclarative = [ ./qtdeclarative.patch ]; qtscript = [ ./qtscript.patch ]; qtserialport = [ ./qtserialport.patch ]; + qtwebengine = [ ./qtwebengine-no-build-skip.patch ]; qtwebkit = [ ./qtwebkit.patch ]; }; @@ -89,7 +90,9 @@ let }; qtcharts = callPackage ../modules/qtcharts.nix {}; - qtconnectivity = callPackage ../modules/qtconnectivity.nix {}; + qtconnectivity = callPackage ../modules/qtconnectivity.nix { + inherit cf-private; + }; qtdeclarative = callPackage ../modules/qtdeclarative.nix {}; qtdoc = callPackage ../modules/qtdoc.nix {}; qtgraphicaleffects = callPackage ../modules/qtgraphicaleffects.nix {}; diff --git a/pkgs/development/libraries/qt-5/5.12/qtwebengine-no-build-skip.patch b/pkgs/development/libraries/qt-5/5.12/qtwebengine-no-build-skip.patch new file mode 100644 index 00000000000..f332d5e1bb2 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.12/qtwebengine-no-build-skip.patch @@ -0,0 +1,12 @@ +diff --git a/qtwebengine.pro b/qtwebengine.pro +--- a/qtwebengine.pro ++++ b/qtwebengine.pro +@@ -5,7 +5,7 @@ runConfigure() + + !isEmpty(skipBuildReason) { + SUBDIRS = +- log($${skipBuildReason}$${EOL}) ++ error($${skipBuildReason}$${EOL}) + log(QtWebEngine will not be built.$${EOL}) + } + diff --git a/pkgs/development/libraries/qt-5/5.6/default.nix b/pkgs/development/libraries/qt-5/5.6/default.nix index bf0ae42ea1f..e493fc169ab 100644 --- a/pkgs/development/libraries/qt-5/5.6/default.nix +++ b/pkgs/development/libraries/qt-5/5.6/default.nix @@ -29,6 +29,7 @@ existing packages here and modify it as necessary. stdenv, fetchurl, fetchpatch, makeSetupHook, bison, cups ? null, harfbuzz, libGL, perl, gstreamer, gst-plugins-base, + cf-private, # options developerBuild ? false, @@ -132,7 +133,9 @@ let /* qtactiveqt = not packaged */ /* qtandroidextras = not packaged */ /* qtcanvas3d = not packaged */ - qtconnectivity = callPackage ../modules/qtconnectivity.nix {}; + qtconnectivity = callPackage ../modules/qtconnectivity.nix { + inherit cf-private; + }; qtdeclarative = callPackage ../modules/qtdeclarative.nix {}; qtdoc = callPackage ../modules/qtdoc.nix {}; qtgraphicaleffects = callPackage ../modules/qtgraphicaleffects.nix {}; diff --git a/pkgs/development/libraries/qt-5/5.9/default.nix b/pkgs/development/libraries/qt-5/5.9/default.nix index 68c6745bcb5..589f175efd9 100644 --- a/pkgs/development/libraries/qt-5/5.9/default.nix +++ b/pkgs/development/libraries/qt-5/5.9/default.nix @@ -43,6 +43,7 @@ let qtscript = [ ./qtscript.patch ]; qtserialport = [ ./qtserialport.patch ]; qttools = [ ./qttools.patch ]; + qtwebengine = [ ./qtwebengine-no-build-skip.patch ]; qtwebkit = [ ./qtwebkit.patch ]; qtvirtualkeyboard = [ (fetchpatch { @@ -91,7 +92,9 @@ let }; qtcharts = callPackage ../modules/qtcharts.nix {}; - qtconnectivity = callPackage ../modules/qtconnectivity.nix {}; + qtconnectivity = callPackage ../modules/qtconnectivity.nix { + inherit cf-private; + }; qtdeclarative = callPackage ../modules/qtdeclarative.nix {}; qtdoc = callPackage ../modules/qtdoc.nix {}; qtgraphicaleffects = callPackage ../modules/qtgraphicaleffects.nix {}; diff --git a/pkgs/development/libraries/qt-5/5.9/qtwebengine-no-build-skip.patch b/pkgs/development/libraries/qt-5/5.9/qtwebengine-no-build-skip.patch new file mode 100644 index 00000000000..f332d5e1bb2 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.9/qtwebengine-no-build-skip.patch @@ -0,0 +1,12 @@ +diff --git a/qtwebengine.pro b/qtwebengine.pro +--- a/qtwebengine.pro ++++ b/qtwebengine.pro +@@ -5,7 +5,7 @@ runConfigure() + + !isEmpty(skipBuildReason) { + SUBDIRS = +- log($${skipBuildReason}$${EOL}) ++ error($${skipBuildReason}$${EOL}) + log(QtWebEngine will not be built.$${EOL}) + } + diff --git a/pkgs/development/libraries/qt-5/modules/qtconnectivity.nix b/pkgs/development/libraries/qt-5/modules/qtconnectivity.nix index d866edb052b..17e7f0ee7cf 100644 --- a/pkgs/development/libraries/qt-5/modules/qtconnectivity.nix +++ b/pkgs/development/libraries/qt-5/modules/qtconnectivity.nix @@ -1,8 +1,8 @@ -{ qtModule, qtbase, qtdeclarative, bluez }: +{ qtModule, stdenv, qtbase, qtdeclarative, bluez, cf-private }: qtModule { name = "qtconnectivity"; qtInputs = [ qtbase qtdeclarative ]; - buildInputs = [ bluez ]; + buildInputs = if stdenv.isDarwin then [ cf-private ] else [ bluez ]; outputs = [ "out" "dev" "bin" ]; } diff --git a/pkgs/development/libraries/tpm2-tss/default.nix b/pkgs/development/libraries/tpm2-tss/default.nix new file mode 100644 index 00000000000..0ea8107cad1 --- /dev/null +++ b/pkgs/development/libraries/tpm2-tss/default.nix @@ -0,0 +1,47 @@ +{ stdenv, lib, fetchurl +, cmocka, doxygen, ibm-sw-tpm2, iproute, openssl, perl, pkgconfig, procps +, uthash, which }: + +stdenv.mkDerivation rec { + pname = "tpm2-tss"; + version = "2.2.0"; + + src = fetchurl { + url = "https://github.com/tpm2-software/${pname}/releases/download/${version}/${pname}-${version}.tar.gz"; + sha256 = "10r5wgrq21p0y700gh5iirh26pc5gsaib2b8b2nzmbr27apiw4y9"; + }; + + nativeBuildInputs = [ + doxygen perl pkgconfig + # For unit tests and integration tests. + ibm-sw-tpm2 iproute procps which + ]; + buildInputs = [ + openssl + # For unit tests and integration tests. + cmocka uthash + ]; + + postPatch = "patchShebangs script"; + + configureFlags = [ + "--enable-unit" + "--enable-integration" + ]; + + doCheck = true; + + postInstall = '' + # Do not install the upstream udev rules, they rely on specific + # users/groups which aren't guaranteed to exist on the system. + rm -R $out/lib/udev + ''; + + meta = with lib; { + description = "OSS implementation of the TCG TPM2 Software Stack (TSS2)"; + homepage = https://github.com/tpm2-software/tpm2-tss; + license = licenses.bsd2; + platforms = platforms.linux; + maintainers = with maintainers; [ delroth ]; + }; +} diff --git a/pkgs/development/libraries/wxwidgets/2.8/default.nix b/pkgs/development/libraries/wxwidgets/2.8/default.nix index 6d2e25709b5..1b08bb090b4 100644 --- a/pkgs/development/libraries/wxwidgets/2.8/default.nix +++ b/pkgs/development/libraries/wxwidgets/2.8/default.nix @@ -1,6 +1,7 @@ { stdenv, fetchurl, pkgconfig, gtk2, libXinerama, libSM, libXxf86vm, xorgproto , gstreamer, gst-plugins-base, GConf, libX11, cairo -, withMesa ? true, libGLU ? null, libGL ? null +, libGLSupported +, withMesa ? libGLSupported, libGLU ? null, libGL ? null , compat24 ? false, compat26 ? true, unicode ? true, }: diff --git a/pkgs/development/libraries/wxwidgets/2.9/default.nix b/pkgs/development/libraries/wxwidgets/2.9/default.nix index 426f5cf92a1..1938b15efbb 100644 --- a/pkgs/development/libraries/wxwidgets/2.9/default.nix +++ b/pkgs/development/libraries/wxwidgets/2.9/default.nix @@ -1,6 +1,7 @@ { stdenv, fetchurl, pkgconfig, gtk2, libXinerama, libSM, libXxf86vm, xorgproto , gstreamer, gst-plugins-base, GConf, setfile -, withMesa ? true, libGLU ? null, libGL ? null +, libGLSupported +, withMesa ? libGLSupported, libGLU ? null, libGL ? null , compat24 ? false, compat26 ? true, unicode ? true , Carbon ? null, Cocoa ? null, Kernel ? null, QuickTime ? null, AGL ? null }: diff --git a/pkgs/development/libraries/wxwidgets/3.0/default.nix b/pkgs/development/libraries/wxwidgets/3.0/default.nix index 45bf5f779c2..948b261fe45 100644 --- a/pkgs/development/libraries/wxwidgets/3.0/default.nix +++ b/pkgs/development/libraries/wxwidgets/3.0/default.nix @@ -1,7 +1,8 @@ { stdenv, fetchFromGitHub, fetchurl, fetchpatch, pkgconfig , gtk2, gtk3, libXinerama, libSM, libXxf86vm , xorgproto, gstreamer, gst-plugins-base, GConf, setfile -, withMesa ? true, libGLU ? null, libGL ? null +, libGLSupported +, withMesa ? libGLSupported, libGLU ? null, libGL ? null , compat24 ? false, compat26 ? true, unicode ? true , withGtk2 ? true , withWebKit ? false, webkitgtk24x-gtk2 ? null, webkitgtk ? null diff --git a/pkgs/development/libraries/xgboost/default.nix b/pkgs/development/libraries/xgboost/default.nix index ad1cc2efc87..b4c79d7f816 100644 --- a/pkgs/development/libraries/xgboost/default.nix +++ b/pkgs/development/libraries/xgboost/default.nix @@ -1,5 +1,5 @@ -{ stdenv, lib, fetchgit, cmake -, cudaSupport ? false, cudatoolkit +{ config, stdenv, lib, fetchgit, cmake +, cudaSupport ? config.cudaSupport or false, cudatoolkit , ncclSupport ? false, nccl , llvmPackages }: diff --git a/pkgs/development/libraries/zlog/default.nix b/pkgs/development/libraries/zlog/default.nix index 21d8a7babb3..d3dc41371de 100644 --- a/pkgs/development/libraries/zlog/default.nix +++ b/pkgs/development/libraries/zlog/default.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { homepage = http://hardysimpson.github.com/zlog; license = licenses.lgpl21; platforms = platforms.linux; # cannot test on something else - maintainers = [ ]; + maintainers = [ maintainers.matthiasbeyer ]; }; } diff --git a/pkgs/development/mobile/androidenv/default.nix b/pkgs/development/mobile/androidenv/default.nix index 92560105422..8d57f737c34 100644 --- a/pkgs/development/mobile/androidenv/default.nix +++ b/pkgs/development/mobile/androidenv/default.nix @@ -1,6 +1,6 @@ -{ pkgs ? import {} +{ config, pkgs ? import {} , pkgs_i686 ? import { system = "i686-linux"; } -, licenseAccepted ? false +, licenseAccepted ? config.android_sdk.accept_license or false }: rec { diff --git a/pkgs/development/node-packages/node-packages-v10.json b/pkgs/development/node-packages/node-packages-v10.json index fc71c183240..69c781c1d98 100644 --- a/pkgs/development/node-packages/node-packages-v10.json +++ b/pkgs/development/node-packages/node-packages-v10.json @@ -91,6 +91,7 @@ , "pulp" , "react-tools" , "react-native-cli" +, "reveal.js" , "s3http" , "scuttlebot" , "semver" diff --git a/pkgs/development/node-packages/node-packages-v10.nix b/pkgs/development/node-packages/node-packages-v10.nix index b63a0a9e869..7f2b73da2d9 100644 --- a/pkgs/development/node-packages/node-packages-v10.nix +++ b/pkgs/development/node-packages/node-packages-v10.nix @@ -13,33 +13,6 @@ let sha512 = "t4WmWoGV9gyzypwG3y3JlcK2t8fKLtvzBA7xEoFTj9SMPvOuLsf13uh4ikK0RRaaa9RPPWLgFUdOyIRaQvCpwQ=="; }; }; - "@angular-devkit/architect-0.13.1" = { - name = "_at_angular-devkit_slash_architect"; - packageName = "@angular-devkit/architect"; - version = "0.13.1"; - src = fetchurl { - url = "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.13.1.tgz"; - sha512 = "QDmIbqde75ZZSEFbw6Q6kQWq4cY6C7D67yujXw6XTyubDNAs1tyXJyxTIB8vjSlEKwRizTTDd/B0ZXVcke3Mvw=="; - }; - }; - "@angular-devkit/core-7.3.1" = { - name = "_at_angular-devkit_slash_core"; - packageName = "@angular-devkit/core"; - version = "7.3.1"; - src = fetchurl { - url = "https://registry.npmjs.org/@angular-devkit/core/-/core-7.3.1.tgz"; - sha512 = "56XDWWfIzOAkEk69lBLgmCYybPUA4yjunhmMlCk7vVdb7gbQUyzNjFD04Uj0GjlejatAQ5F76tRwygD9C+3RXQ=="; - }; - }; - "@angular-devkit/schematics-7.3.1" = { - name = "_at_angular-devkit_slash_schematics"; - packageName = "@angular-devkit/schematics"; - version = "7.3.1"; - src = fetchurl { - url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.3.1.tgz"; - sha512 = "cd7usiasfSgw75INz72/VssrLr9tiVRYfo1TEdvr9ww0GuQbuQpB33xbV8W135eAV8+wzQ3Ce8ohaDHibvj6Yg=="; - }; - }; "@apollographql/apollo-tools-0.3.3" = { name = "_at_apollographql_slash_apollo-tools"; packageName = "@apollographql/apollo-tools"; @@ -913,13 +886,13 @@ let sha1 = "890ae7c5d8c877f6d384860215ace9d7ec945bda"; }; }; - "@iarna/toml-2.2.1" = { + "@iarna/toml-2.2.2" = { name = "_at_iarna_slash_toml"; packageName = "@iarna/toml"; - version = "2.2.1"; + version = "2.2.2"; src = fetchurl { - url = "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.1.tgz"; - sha512 = "I2EjI9TbEFJNLziNPFfpo64PNanOaK17iL2kTW/jGlGOa4bvHw4VEied83kOEB7NJjXf1KfvmsQ2aEjy3xjiGg=="; + url = "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.2.tgz"; + sha512 = "xm/Wpip5LRK1y1ZlzQLC/pDHlk0e1lNpQgOqWamfZSAU9pbTBHJFLM8wS4EB7LOc3EySARf9lZoGVX7cO26tJQ=="; }; }; "@ionic/cli-framework-1.6.1" = { @@ -1489,13 +1462,13 @@ let sha512 = "5YRqYNZOAaL7+nt7w3Scp6Sz4P2g7wKFP9npx1xdExMomk8/M/ICXVLYVam2wzxeY0cIc6wcKpjC5KI4jiNbGw=="; }; }; - "@octokit/rest-16.15.0" = { + "@octokit/rest-16.16.0" = { name = "_at_octokit_slash_rest"; packageName = "@octokit/rest"; - version = "16.15.0"; + version = "16.16.0"; src = fetchurl { - url = "https://registry.npmjs.org/@octokit/rest/-/rest-16.15.0.tgz"; - sha512 = "Un+e7rgh38RtPOTe453pT/KPM/p2KZICimBmuZCd2wEo8PacDa4h6RqTPZs+f2DPazTTqdM7QU4LKlUjgiBwWw=="; + url = "https://registry.npmjs.org/@octokit/rest/-/rest-16.16.0.tgz"; + sha512 = "Q6L5OwQJrdJ188gLVmUHLKNXBoeCU0DynKPYW8iZQQoGNGws2hkP/CePVNlzzDgmjuv7o8dCrJgecvDcIHccTA=="; }; }; "@parcel/fs-1.11.0" = { @@ -1633,24 +1606,6 @@ let sha1 = "a777360b5b39a1a2e5106f8e858f2fd2d060c570"; }; }; - "@schematics/angular-7.3.1" = { - name = "_at_schematics_slash_angular"; - packageName = "@schematics/angular"; - version = "7.3.1"; - src = fetchurl { - url = "https://registry.npmjs.org/@schematics/angular/-/angular-7.3.1.tgz"; - sha512 = "0Ne8APPlTAjKg5CSZqluwCuW/5yPjr3ALCWzqwPxN0suE745usThtasBmqrjw0RMIt8nRqRgtg54Z7lCPO9ZFg=="; - }; - }; - "@schematics/update-0.13.1" = { - name = "_at_schematics_slash_update"; - packageName = "@schematics/update"; - version = "0.13.1"; - src = fetchurl { - url = "https://registry.npmjs.org/@schematics/update/-/update-0.13.1.tgz"; - sha512 = "EHOqolT/d/jRGuVTCUESLpk8JNpuaPlsVHfeK7Kdp/t0wSEnmtOelZX4+leS25lGXDaDUF3138ntjrZR4n6bGw=="; - }; - }; "@sindresorhus/is-0.14.0" = { name = "_at_sindresorhus_slash_is"; packageName = "@sindresorhus/is"; @@ -1669,22 +1624,22 @@ let sha512 = "ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow=="; }; }; - "@snyk/dep-graph-1.1.2" = { + "@snyk/dep-graph-1.4.0" = { name = "_at_snyk_slash_dep-graph"; packageName = "@snyk/dep-graph"; - version = "1.1.2"; + version = "1.4.0"; src = fetchurl { - url = "https://registry.npmjs.org/@snyk/dep-graph/-/dep-graph-1.1.2.tgz"; - sha512 = "mCoAFKtmezBL61JOzLMzqqd/sXXxp0iektEwf4zw+sM3zuG4Tnmhf8OqNO6Wscn84bMIfLlI/nvECdxvSS7MTw=="; + url = "https://registry.npmjs.org/@snyk/dep-graph/-/dep-graph-1.4.0.tgz"; + sha512 = "dz4Fo4L9sN0Rt8hMe+zMYZ4mAiljtyIeWvujLyCxhIT5iHSlceUYlba5TDsOFuKyuZKkuhVjORWY1oFEuRzCcA=="; }; }; - "@snyk/gemfile-1.1.0" = { + "@snyk/gemfile-1.2.0" = { name = "_at_snyk_slash_gemfile"; packageName = "@snyk/gemfile"; - version = "1.1.0"; + version = "1.2.0"; src = fetchurl { - url = "https://registry.npmjs.org/@snyk/gemfile/-/gemfile-1.1.0.tgz"; - sha512 = "mLwF+ccuvRZMS0SxUAxA3dAp8mB3m2FxIsBIUWFTYvzxl+E4XTZb8uFrUqXHbcxhZH1Z8taHohNTbzXZn3M8ag=="; + url = "https://registry.npmjs.org/@snyk/gemfile/-/gemfile-1.2.0.tgz"; + sha512 = "nI7ELxukf7pT4/VraL4iabtNNMz8mUo7EXlqCFld8O5z6mIMLX9llps24iPpaIZOwArkY3FWA+4t+ixyvtTSIA=="; }; }; "@szmarczak/http-timer-1.1.2" = { @@ -2866,15 +2821,6 @@ let sha512 = "7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg=="; }; }; - "ajv-6.7.0" = { - name = "ajv"; - packageName = "ajv"; - version = "6.7.0"; - src = fetchurl { - url = "https://registry.npmjs.org/ajv/-/ajv-6.7.0.tgz"; - sha512 = "RZXPviBTtfmtka9n9sy1N5M5b82CbxWIR6HIis4s3WQTXDJamc/0gpCWNGz6EWdWp4DOfjzJfhz/AS9zVPjjWg=="; - }; - }; "ajv-6.9.1" = { name = "ajv"; packageName = "ajv"; @@ -3010,6 +2956,15 @@ let sha512 = "SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA=="; }; }; + "ansi-colors-3.2.3" = { + name = "ansi-colors"; + packageName = "ansi-colors"; + version = "3.2.3"; + src = fetchurl { + url = "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz"; + sha512 = "LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw=="; + }; + }; "ansi-cyan-0.1.1" = { name = "ansi-cyan"; packageName = "ansi-cyan"; @@ -4414,13 +4369,13 @@ let sha1 = "00f35b2d27ac91b1f0d3ef2084c98cf1d1f0adc3"; }; }; - "aws-sdk-2.404.0" = { + "aws-sdk-2.405.0" = { name = "aws-sdk"; packageName = "aws-sdk"; - version = "2.404.0"; + version = "2.405.0"; src = fetchurl { - url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.404.0.tgz"; - sha512 = "eQ+hv2hOpcyHUoUUIXcb7TVItzFfgTC0HIribcaDlbF4Kc1p9PSg+2jnK7ibjT6iMcoERx9Hr/vt6Cfc3Sgh5w=="; + url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.405.0.tgz"; + sha512 = "krgJBy/5FFGFjlOoODLH4ryXqUSQKz6He6QdIboKXvjIEV2CNxsoB+tFaThKD3SZmFcRxoWjho7R17dIlswTtQ=="; }; }; "aws-sign2-0.6.0" = { @@ -7114,22 +7069,13 @@ let sha1 = "798e689778151c8076b4b360e5edd28cda2bb468"; }; }; - "chokidar-2.0.4" = { + "chokidar-2.1.2" = { name = "chokidar"; packageName = "chokidar"; - version = "2.0.4"; + version = "2.1.2"; src = fetchurl { - url = "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz"; - sha512 = "z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ=="; - }; - }; - "chokidar-2.1.1" = { - name = "chokidar"; - packageName = "chokidar"; - version = "2.1.1"; - src = fetchurl { - url = "https://registry.npmjs.org/chokidar/-/chokidar-2.1.1.tgz"; - sha512 = "gfw3p2oQV2wEt+8VuMlNsPjCxDxvvgnm/kz+uATu805mWVF8IJN7uz9DN7iBz+RMJISmiVbCOBFs9qBGMjtPfQ=="; + url = "https://registry.npmjs.org/chokidar/-/chokidar-2.1.2.tgz"; + sha512 = "IwXUx0FXc5ibYmPC2XeEj5mpXoV66sR+t3jqu2NS2GYwCktt3KF1/Qqjws/NkegajBA4RbZ5+DDwlOiJsxDHEg=="; }; }; "chownr-0.0.2" = { @@ -8077,15 +8023,6 @@ let sha512 = "b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ=="; }; }; - "commander-2.15.1" = { - name = "commander"; - packageName = "commander"; - version = "2.15.1"; - src = fetchurl { - url = "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz"; - sha512 = "VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag=="; - }; - }; "commander-2.17.1" = { name = "commander"; packageName = "commander"; @@ -8257,13 +8194,13 @@ let sha1 = "524a9f10903f3a813389b0225d27c48bb751890f"; }; }; - "compressible-2.0.15" = { + "compressible-2.0.16" = { name = "compressible"; packageName = "compressible"; - version = "2.0.15"; + version = "2.0.16"; src = fetchurl { - url = "https://registry.npmjs.org/compressible/-/compressible-2.0.15.tgz"; - sha512 = "4aE67DL33dSW9gw4CI2H/yTxqHLNcxp0yS6jB+4h+wr3e43+1z7vm0HU9qXOH8j+qjKuL8+UtkOxYQSMq60Ylw=="; + url = "https://registry.npmjs.org/compressible/-/compressible-2.0.16.tgz"; + sha512 = "JQfEOdnI7dASwCuSPWIeVYwc/zMsu/+tRhoUvEfXz2gxOA2DNjmG5vhtFdBlhWPPGo+RdT9S3tgc/uH5qgDiiA=="; }; }; "compression-1.5.2" = { @@ -12165,13 +12102,13 @@ let sha512 = "D5nG2rErquLUstgUaxJlWB5+gu+U/3VDY0fk/Iuq8y9CUFy/7Y6oF4N2cR1tV8knzQvciIbfqfohd359xTLIKQ=="; }; }; - "eslint-5.14.0" = { + "eslint-5.14.1" = { name = "eslint"; packageName = "eslint"; - version = "5.14.0"; + version = "5.14.1"; src = fetchurl { - url = "https://registry.npmjs.org/eslint/-/eslint-5.14.0.tgz"; - sha512 = "jrOhiYyENRrRnWlMYANlGZTqb89r2FuRT+615AabBoajhNjeh9ywDNlh2LU9vTqf0WYN+L3xdXuIi7xuj/tK9w=="; + url = "https://registry.npmjs.org/eslint/-/eslint-5.14.1.tgz"; + sha512 = "CyUMbmsjxedx8B0mr79mNOqetvkbij/zrXnFeK2zc3pGRn3/tibjiNAv/3UxFEyfMDjh+ZqTrJrEGBFiGfD5Og=="; }; }; "eslint-plugin-no-unsafe-innerhtml-1.0.16" = { @@ -13668,6 +13605,15 @@ let sha512 = "lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q=="; }; }; + "flat-4.1.0" = { + name = "flat"; + packageName = "flat"; + version = "4.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz"; + sha512 = "Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw=="; + }; + }; "flat-cache-1.3.4" = { name = "flat-cache"; packageName = "flat-cache"; @@ -15884,15 +15830,6 @@ let sha1 = "2c05ffaef90b68e860f3fd2b54ef580989277ee2"; }; }; - "he-1.1.1" = { - name = "he"; - packageName = "he"; - version = "1.1.1"; - src = fetchurl { - url = "https://registry.npmjs.org/he/-/he-1.1.1.tgz"; - sha1 = "93410fd21b009735151f8868c2f271f3427e23fd"; - }; - }; "he-1.2.0" = { name = "he"; packageName = "he"; @@ -16181,13 +16118,13 @@ let sha1 = "8b55680bb4be283a0b5bf4ea2e38580be1d9320d"; }; }; - "http-errors-1.7.1" = { + "http-errors-1.7.2" = { name = "http-errors"; packageName = "http-errors"; - version = "1.7.1"; + version = "1.7.2"; src = fetchurl { - url = "https://registry.npmjs.org/http-errors/-/http-errors-1.7.1.tgz"; - sha512 = "jWEUgtZWGSMba9I1N3gc1HmvpBUaNC9vDdA46yScAdp+C5rdEuKWUBLWTQpW9FwSWSbYYs++b6SDCxf9UEJzfw=="; + url = "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz"; + sha512 = "uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg=="; }; }; "http-headers-3.0.2" = { @@ -16865,15 +16802,6 @@ let sha512 = "QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg=="; }; }; - "inquirer-6.2.1" = { - name = "inquirer"; - packageName = "inquirer"; - version = "6.2.1"; - src = fetchurl { - url = "https://registry.npmjs.org/inquirer/-/inquirer-6.2.1.tgz"; - sha512 = "088kl3DRT2dLU5riVMKKr1DlImd6X7smDhpXUCkJDCKvTEJeRiXh0G132HG9u5a+6Ylw9plFRY7RuTnwohYSpg=="; - }; - }; "inquirer-6.2.2" = { name = "inquirer"; packageName = "inquirer"; @@ -17243,6 +17171,15 @@ let sha512 = "NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="; }; }; + "is-buffer-2.0.3" = { + name = "is-buffer"; + packageName = "is-buffer"; + version = "2.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz"; + sha512 = "U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw=="; + }; + }; "is-callable-1.1.4" = { name = "is-callable"; packageName = "is-callable"; @@ -17765,15 +17702,6 @@ let sha512 = "Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA=="; }; }; - "is-relative-url-2.0.0" = { - name = "is-relative-url"; - packageName = "is-relative-url"; - version = "2.0.0"; - src = fetchurl { - url = "https://registry.npmjs.org/is-relative-url/-/is-relative-url-2.0.0.tgz"; - sha1 = "72902d7fe04b3d4792e7db15f9db84b7204c9cef"; - }; - }; "is-resolvable-1.1.0" = { name = "is-resolvable"; packageName = "is-resolvable"; @@ -19458,15 +19386,6 @@ let sha1 = "bf967ba0dd31faaf09ab5bdb3676ad7f2aa18493"; }; }; - "link-check-4.4.4" = { - name = "link-check"; - packageName = "link-check"; - version = "4.4.4"; - src = fetchurl { - url = "https://registry.npmjs.org/link-check/-/link-check-4.4.4.tgz"; - sha512 = "yvowNBZEMOFH9nGLiJ5/YV68PBMVTo4opC2SzcACO8g4gSPTB9Rwa5GIziOX9Z5Er3Yf01DHoOyVV2LeApIw8w=="; - }; - }; "linkify-it-2.1.0" = { name = "linkify-it"; packageName = "linkify-it"; @@ -21141,15 +21060,6 @@ let sha512 = "7pxkHuvqTOu3iwVGmDPeYjQg+AIS9VQxzyLP9JCg9lBjgPAJXGEkChK6A2iFuj3tS0GV3HG2u5AMNhcQqwxpJw=="; }; }; - "markdown-link-extractor-1.2.0" = { - name = "markdown-link-extractor"; - packageName = "markdown-link-extractor"; - version = "1.2.0"; - src = fetchurl { - url = "https://registry.npmjs.org/markdown-link-extractor/-/markdown-link-extractor-1.2.0.tgz"; - sha512 = "1unDsoZSSiF5oGFu/2y8M3E2I2YhWT/jiKGTQxa1IAmkC1OcyHo9OYNu3qCuVSj5Ty87+mFtgQxJPUfc08WirA=="; - }; - }; "markdown-table-0.4.0" = { name = "markdown-table"; packageName = "markdown-table"; @@ -21168,15 +21078,6 @@ let sha512 = "ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg=="; }; }; - "marked-0.4.0" = { - name = "marked"; - packageName = "marked"; - version = "0.4.0"; - src = fetchurl { - url = "https://registry.npmjs.org/marked/-/marked-0.4.0.tgz"; - sha512 = "tMsdNBgOsrUophCAFQl0XPe6Zqk/uy9gnue+jIIKhykO51hxyu6uNx7zBPy0+y/WKYVZZMspV9YeXLNdKk+iYw=="; - }; - }; "matchdep-2.0.0" = { name = "matchdep"; packageName = "matchdep"; @@ -22329,13 +22230,13 @@ let sha1 = "2a8f2ddf70eed564dff2d57f1e1a137d9f05078b"; }; }; - "multiserver-3.1.2" = { + "multiserver-3.2.0" = { name = "multiserver"; packageName = "multiserver"; - version = "3.1.2"; + version = "3.2.0"; src = fetchurl { - url = "https://registry.npmjs.org/multiserver/-/multiserver-3.1.2.tgz"; - sha512 = "6jXoKH0vGfm5NxwaSkReuD+3VB9mq25WYsdMgB7YC43XboVCufhmFQ724DVz0Jx8Z8RNPKvjVfCiuXpsKgwV0Q=="; + url = "https://registry.npmjs.org/multiserver/-/multiserver-3.2.0.tgz"; + sha512 = "cJ9nnh/+aMwOpegTPSLC1zFRFJKn6f3va6WI0WPV84R55Llh8TinhpH8ZrpYfRofETykRWIvWhX6sQRZg04F1Q=="; }; }; "multiserver-address-1.0.1" = { @@ -23035,6 +22936,15 @@ let sha512 = "Li9NfZTL83/URoUEWly+iHJeOcZRBYUaeIL4MImnB4r21oe/xpkR6JRHjdNjLf1rMtO0tgPyOvuGW4Beytaaow=="; }; }; + "node-environment-flags-1.0.4" = { + name = "node-environment-flags"; + packageName = "node-environment-flags"; + version = "1.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.4.tgz"; + sha512 = "M9rwCnWVLW7PX+NUWe3ejEdiLYinRpsEre9hMkU/6NS4h+EEulYaDH1gCEZ2gyXsmw+RXYDaV2JkkTNcsPDJ0Q=="; + }; + }; "node-fetch-1.7.3" = { name = "node-fetch"; packageName = "node-fetch"; @@ -24872,22 +24782,13 @@ let sha1 = "79b302fc144cdfbb4ab6feba7040e6a5d99c79c7"; }; }; - "pacote-9.4.0" = { + "pacote-9.5.0" = { name = "pacote"; packageName = "pacote"; - version = "9.4.0"; + version = "9.5.0"; src = fetchurl { - url = "https://registry.npmjs.org/pacote/-/pacote-9.4.0.tgz"; - sha512 = "WQ1KL/phGMkedYEQx9ODsjj7xvwLSpdFJJdEXrLyw5SILMxcTNt5DTxT2Z93fXuLFYJBlZJdnwdalrQdB/rX5w=="; - }; - }; - "pacote-9.4.1" = { - name = "pacote"; - packageName = "pacote"; - version = "9.4.1"; - src = fetchurl { - url = "https://registry.npmjs.org/pacote/-/pacote-9.4.1.tgz"; - sha512 = "YKSRsQqmeHxgra0KCdWA2FtVxDPUlBiCdmew+mSe44pzlx5t1ViRMWiQg18T+DREA+vSqYfKzynaToFR4hcKHw=="; + url = "https://registry.npmjs.org/pacote/-/pacote-9.5.0.tgz"; + sha512 = "aUplXozRbzhaJO48FaaeClmN+2Mwt741MC6M3bevIGZwdCaP7frXzbUOfOWa91FPHoLITzG0hYaKY363lxO3bg=="; }; }; "pad-0.0.5" = { @@ -28581,13 +28482,13 @@ let sha512 = "J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A=="; }; }; - "regexp-tree-0.1.4" = { + "regexp-tree-0.1.5" = { name = "regexp-tree"; packageName = "regexp-tree"; - version = "0.1.4"; + version = "0.1.5"; src = fetchurl { - url = "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.4.tgz"; - sha512 = "DohP6WXzgrc7gFs9GsTQgigUfMXZqXkPk+20qkMF6YCy0Qk0FsHL1/KtxTycGR/62DHRtJ1MHQF2g8YzywP4kA=="; + url = "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.5.tgz"; + sha512 = "nUmxvfJyAODw+0B13hj8CFVAxhe7fDEAgJgaotBu3nnR+IgGgZq59YedJP5VYTlkEfqjuK6TuRpnymKdatLZfQ=="; }; }; "regexp.prototype.flags-1.2.0" = { @@ -29580,15 +29481,6 @@ let sha512 = "xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw=="; }; }; - "rxjs-6.3.3" = { - name = "rxjs"; - packageName = "rxjs"; - version = "6.3.3"; - src = fetchurl { - url = "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz"; - sha512 = "JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw=="; - }; - }; "rxjs-6.4.0" = { name = "rxjs"; packageName = "rxjs"; @@ -29922,15 +29814,6 @@ let sha1 = "13e8c2658ab9691cb0cd71093240280d36f77a5b"; }; }; - "semver-intersect-1.4.0" = { - name = "semver-intersect"; - packageName = "semver-intersect"; - version = "1.4.0"; - src = fetchurl { - url = "https://registry.npmjs.org/semver-intersect/-/semver-intersect-1.4.0.tgz"; - sha512 = "d8fvGg5ycKAq0+I6nfWeCx6ffaWJCsBYU0H2Rq56+/zFePYfT8mXkB3tWBSjR5BerkHNZ5eTPIk1/LBYas35xQ=="; - }; - }; "semver-regex-1.0.0" = { name = "semver-regex"; packageName = "semver-regex"; @@ -30210,6 +30093,15 @@ let sha512 = "BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ=="; }; }; + "setprototypeof-1.1.1" = { + name = "setprototypeof"; + packageName = "setprototypeof"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz"; + sha512 = "JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="; + }; + }; "sha.js-2.4.11" = { name = "sha.js"; packageName = "sha.js"; @@ -30759,13 +30651,13 @@ let sha512 = "SQE4sudrscd48EoRJqy5h5S6c8YBiOw0r0Se3rfg1l6ElJGgCB9je6XEzfe+UmfES06D7ueFYepiQPxTwH4Qww=="; }; }; - "snyk-1.133.0" = { + "snyk-1.134.2" = { name = "snyk"; packageName = "snyk"; - version = "1.133.0"; + version = "1.134.2"; src = fetchurl { - url = "https://registry.npmjs.org/snyk/-/snyk-1.133.0.tgz"; - sha512 = "/6xQISFy08oWJasSye77eOaRScPkTIzD7AZYlSWfyS+flYJHgUhNJcTimXGcDwwBmfPtESpDtFpB1LBA16NUOg=="; + url = "https://registry.npmjs.org/snyk/-/snyk-1.134.2.tgz"; + sha512 = "WGR3TTZxXOdALEEcQtADFEOHaanhbzwLvS6gyg5vF6Akj7qRAwIIXYBUycbNdAax1mylAsXCzR352dkTwKD9lg=="; }; }; "snyk-config-2.2.0" = { @@ -30777,6 +30669,15 @@ let sha512 = "mq0wbP/AgjcmRq5i5jg2akVVV3iSYUPTowZwKn7DChRLDL8ySOzWAwan+ImXiyNbrWo87FNI/15O6MpOnTxOIg=="; }; }; + "snyk-config-2.2.1" = { + name = "snyk-config"; + packageName = "snyk-config"; + version = "2.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/snyk-config/-/snyk-config-2.2.1.tgz"; + sha512 = "eCsFKHHE4J2DpD/1NzAtCmkmVDK310OXRtmoW0RlLnld1ESprJ5A/QRJ5Zxx1JbA8gjuwERY5vfUFA8lEJeopA=="; + }; + }; "snyk-docker-plugin-1.12.3" = { name = "snyk-docker-plugin"; packageName = "snyk-docker-plugin"; @@ -30885,22 +30786,22 @@ let sha512 = "3qIndzkxCxiaGvAwMkqChbChGdwhNePPyfi0WjhC/nJGwecqU3Fb/NeTW7lgyT+xoq/dFnzW0DgBJ4+AyNA2gA=="; }; }; - "snyk-nuget-plugin-1.7.1" = { + "snyk-nuget-plugin-1.7.2" = { name = "snyk-nuget-plugin"; packageName = "snyk-nuget-plugin"; - version = "1.7.1"; + version = "1.7.2"; src = fetchurl { - url = "https://registry.npmjs.org/snyk-nuget-plugin/-/snyk-nuget-plugin-1.7.1.tgz"; - sha512 = "j4VavJ9HtDDnLZgqJRFzXfBLErC3YtIwAwvECL2xs3q2mVQlw3GpWH+6gQJVfzRm8CWZpbDNdr1DD5lkXxTXXg=="; + url = "https://registry.npmjs.org/snyk-nuget-plugin/-/snyk-nuget-plugin-1.7.2.tgz"; + sha512 = "zmYD9veH7OeIqGnZHiGv8c8mKtmYrxo2o7P4lNUkpHdCMMsar7moRJxGgO9WlcIrwAGjIhMdP9fUvJ+jVDEteQ=="; }; }; - "snyk-paket-parser-1.4.1" = { + "snyk-paket-parser-1.4.3" = { name = "snyk-paket-parser"; packageName = "snyk-paket-parser"; - version = "1.4.1"; + version = "1.4.3"; src = fetchurl { - url = "https://registry.npmjs.org/snyk-paket-parser/-/snyk-paket-parser-1.4.1.tgz"; - sha512 = "JabIAWwbjfSOkR0os6/KkdkLt7MN6ILFbyP5KgPxGP26V+1bJyXP24/h1blq/0dQY8UOiCQ62eP6Ycv+lfzCBg=="; + url = "https://registry.npmjs.org/snyk-paket-parser/-/snyk-paket-parser-1.4.3.tgz"; + sha512 = "6m736zGVoeT/zS9KEtlmqTSPEPjAfLe8iYoQ3AwbyxDhzuLY49lTaV67MyZtGwjhi1x4KBe+XOgeWwyf6Avf/A=="; }; }; "snyk-php-plugin-1.5.1" = { @@ -31173,13 +31074,13 @@ let sha512 = "+2r83WaRT3PXYoO/1z+RDEBE7Z2f9YcdQnJ0K/ncXXbV5gJ6wYfNAebYFYiiUjM6E4JyXnPY8cimwyvFYHVUUA=="; }; }; - "socks-2.3.1" = { + "socks-2.3.2" = { name = "socks"; packageName = "socks"; - version = "2.3.1"; + version = "2.3.2"; src = fetchurl { - url = "https://registry.npmjs.org/socks/-/socks-2.3.1.tgz"; - sha512 = "srMrPbfQnLOVRDv/sQvBeM4rvFvKT4ErhdcXejaLHLQFPmCMt5XPF0TeE9Uv3iVa+GpXDevs1VgqZgwykr78Yw=="; + url = "https://registry.npmjs.org/socks/-/socks-2.3.2.tgz"; + sha512 = "pCpjxQgOByDHLlNqlnh/mNSAxIUkyBBuwwhTcV+enZGbDaClPvHdvm6uvOwZfFJkam7cGhBNbb4JxiP8UZkRvQ=="; }; }; "socks-proxy-agent-3.0.1" = { @@ -31389,15 +31290,6 @@ let sha512 = "UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="; }; }; - "source-map-0.7.3" = { - name = "source-map"; - packageName = "source-map"; - version = "0.7.3"; - src = fetchurl { - url = "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz"; - sha512 = "CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ=="; - }; - }; "source-map-resolve-0.5.2" = { name = "source-map-resolve"; packageName = "source-map-resolve"; @@ -32874,15 +32766,6 @@ let sha512 = "Ts0Mu/A1S1aZxEJNG88I4Oc9rcZSBFNac5e27yh4j2mqbhZSSzR1Ah79EYwSn9Zuh7lrlGD2cVGzw1RKGzyLSg=="; }; }; - "supports-color-5.4.0" = { - name = "supports-color"; - packageName = "supports-color"; - version = "5.4.0"; - src = fetchurl { - url = "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz"; - sha512 = "zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w=="; - }; - }; "supports-color-5.5.0" = { name = "supports-color"; packageName = "supports-color"; @@ -32892,6 +32775,15 @@ let sha512 = "QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="; }; }; + "supports-color-6.0.0" = { + name = "supports-color"; + packageName = "supports-color"; + version = "6.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz"; + sha512 = "on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg=="; + }; + }; "supports-color-6.1.0" = { name = "supports-color"; packageName = "supports-color"; @@ -34342,15 +34234,6 @@ let sha512 = "tDMYfVtvpb96msS1lDX9MEdHrW4yOuZ4Kdc4Him9oU796XldPYF/t2+uKoX0BBa0hXXwDlqYQbXY5Rzjzc5hBA=="; }; }; - "typescript-3.2.4" = { - name = "typescript"; - packageName = "typescript"; - version = "3.2.4"; - src = fetchurl { - url = "https://registry.npmjs.org/typescript/-/typescript-3.2.4.tgz"; - sha512 = "0RNDbSdEokBeEAkgNbxJ+BLwSManFy9TeXz8uW+48j/xhEXv1ePME60olyzw2XzUqUBNAYFeJadIqAgNqIACwg=="; - }; - }; "typewise-1.0.3" = { name = "typewise"; packageName = "typewise"; @@ -37142,6 +37025,15 @@ let sha512 = "yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ=="; }; }; + "yargs-unparser-1.5.0" = { + name = "yargs-unparser"; + packageName = "yargs-unparser"; + version = "1.5.0"; + src = fetchurl { + url = "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.5.0.tgz"; + sha512 = "HK25qidFTCVuj/D1VfNiEndpLIeJN78aqgR23nL3y4N0U/91cOAzqfHlF8n2BvoNDcZmJKin3ddNSvOxSr8flw=="; + }; + }; "yauzl-2.10.0" = { name = "yauzl"; packageName = "yauzl"; @@ -37298,444 +37190,6 @@ let }; in { - "@angular/cli" = nodeEnv.buildNodePackage { - name = "_at_angular_slash_cli"; - packageName = "@angular/cli"; - version = "7.3.1"; - src = fetchurl { - url = "https://registry.npmjs.org/@angular/cli/-/cli-7.3.1.tgz"; - sha512 = "8EvXYRhTqTaTk5PKv7VZxIWJiyG51R9RC9gtpRFx4bbnurqBHdEUxGMmaRsGT8QDbfvVsWnuakE0eeW1CrfZAQ=="; - }; - dependencies = [ - sources."@angular-devkit/architect-0.13.1" - sources."@angular-devkit/core-7.3.1" - sources."@angular-devkit/schematics-7.3.1" - sources."@schematics/angular-7.3.1" - sources."@schematics/update-0.13.1" - sources."@yarnpkg/lockfile-1.1.0" - sources."JSONStream-1.3.5" - sources."agent-base-4.2.1" - sources."agentkeepalive-3.5.2" - sources."ajv-6.7.0" - sources."ansi-escapes-3.2.0" - sources."ansi-regex-3.0.0" - sources."ansi-styles-3.2.1" - sources."anymatch-2.0.0" - sources."aproba-1.2.0" - sources."arr-diff-4.0.0" - sources."arr-flatten-1.1.0" - sources."arr-union-3.1.0" - sources."array-unique-0.3.2" - sources."assign-symbols-1.0.0" - sources."async-each-1.0.1" - sources."atob-2.1.2" - sources."balanced-match-1.0.0" - (sources."base-0.11.2" // { - dependencies = [ - sources."define-property-1.0.0" - ]; - }) - sources."binary-extensions-1.13.0" - sources."bluebird-3.5.3" - sources."brace-expansion-1.1.11" - (sources."braces-2.3.2" // { - dependencies = [ - sources."extend-shallow-2.0.1" - sources."is-extendable-0.1.1" - ]; - }) - sources."buffer-from-1.1.1" - sources."builtins-1.0.3" - sources."cacache-11.3.2" - sources."cache-base-1.0.1" - sources."chalk-2.4.2" - sources."chardet-0.7.0" - sources."chokidar-2.0.4" - sources."chownr-1.1.1" - (sources."class-utils-0.3.6" // { - dependencies = [ - sources."define-property-0.2.5" - (sources."is-accessor-descriptor-0.1.6" // { - dependencies = [ - sources."kind-of-3.2.2" - ]; - }) - (sources."is-data-descriptor-0.1.4" // { - dependencies = [ - sources."kind-of-3.2.2" - ]; - }) - sources."is-descriptor-0.1.6" - sources."kind-of-5.1.0" - ]; - }) - sources."cli-cursor-2.1.0" - sources."cli-width-2.2.0" - sources."collection-visit-1.0.0" - sources."color-convert-1.9.3" - sources."color-name-1.1.3" - sources."component-emitter-1.2.1" - sources."concat-map-0.0.1" - sources."concat-stream-1.6.2" - sources."copy-concurrently-1.0.5" - sources."copy-descriptor-0.1.1" - sources."core-util-is-1.0.2" - sources."cyclist-0.2.2" - sources."debug-2.6.9" - sources."decode-uri-component-0.2.0" - sources."define-property-2.0.2" - sources."duplexify-3.7.1" - sources."encoding-0.1.12" - sources."end-of-stream-1.4.1" - sources."err-code-1.1.2" - sources."es6-promise-4.2.6" - sources."es6-promisify-5.0.0" - sources."escape-string-regexp-1.0.5" - (sources."expand-brackets-2.1.4" // { - dependencies = [ - sources."define-property-0.2.5" - sources."extend-shallow-2.0.1" - (sources."is-accessor-descriptor-0.1.6" // { - dependencies = [ - sources."kind-of-3.2.2" - ]; - }) - (sources."is-data-descriptor-0.1.4" // { - dependencies = [ - sources."kind-of-3.2.2" - ]; - }) - sources."is-descriptor-0.1.6" - sources."is-extendable-0.1.1" - sources."kind-of-5.1.0" - ]; - }) - sources."extend-shallow-3.0.2" - sources."external-editor-3.0.3" - (sources."extglob-2.0.4" // { - dependencies = [ - sources."define-property-1.0.0" - sources."extend-shallow-2.0.1" - sources."is-extendable-0.1.1" - ]; - }) - sources."fast-deep-equal-2.0.1" - sources."fast-json-stable-stringify-2.0.0" - sources."figgy-pudding-3.5.1" - sources."figures-2.0.0" - (sources."fill-range-4.0.0" // { - dependencies = [ - sources."extend-shallow-2.0.1" - sources."is-extendable-0.1.1" - ]; - }) - sources."flush-write-stream-1.1.1" - sources."for-in-1.0.2" - sources."fragment-cache-0.2.1" - sources."from2-2.3.0" - sources."fs-minipass-1.2.5" - sources."fs-write-stream-atomic-1.0.10" - sources."fs.realpath-1.0.0" - sources."fsevents-1.2.7" - sources."genfun-5.0.0" - sources."get-stream-4.1.0" - sources."get-value-2.0.6" - sources."glob-7.1.3" - (sources."glob-parent-3.1.0" // { - dependencies = [ - sources."is-glob-3.1.0" - ]; - }) - sources."graceful-fs-4.1.15" - sources."has-flag-3.0.0" - sources."has-value-1.0.0" - (sources."has-values-1.0.0" // { - dependencies = [ - sources."kind-of-4.0.0" - ]; - }) - sources."hosted-git-info-2.7.1" - sources."http-cache-semantics-3.8.1" - (sources."http-proxy-agent-2.1.0" // { - dependencies = [ - sources."debug-3.1.0" - ]; - }) - (sources."https-proxy-agent-2.2.1" // { - dependencies = [ - sources."debug-3.2.6" - sources."ms-2.1.1" - ]; - }) - sources."humanize-ms-1.2.1" - sources."iconv-lite-0.4.24" - sources."iferr-0.1.5" - sources."ignore-walk-3.0.1" - sources."imurmurhash-0.1.4" - sources."inflight-1.0.6" - sources."inherits-2.0.3" - sources."ini-1.3.5" - sources."inquirer-6.2.1" - sources."ip-1.1.5" - sources."is-accessor-descriptor-1.0.0" - sources."is-binary-path-1.0.1" - sources."is-buffer-1.1.6" - sources."is-data-descriptor-1.0.0" - sources."is-descriptor-1.0.2" - sources."is-extendable-1.0.1" - sources."is-extglob-2.1.1" - sources."is-fullwidth-code-point-2.0.0" - sources."is-glob-4.0.0" - (sources."is-number-3.0.0" // { - dependencies = [ - sources."kind-of-3.2.2" - ]; - }) - sources."is-plain-object-2.0.4" - sources."is-promise-2.1.0" - sources."is-windows-1.0.2" - sources."is-wsl-1.1.0" - sources."isarray-1.0.0" - sources."isexe-2.0.0" - sources."isobject-3.0.1" - sources."json-parse-better-errors-1.0.2" - sources."json-schema-traverse-0.4.1" - sources."jsonparse-1.3.1" - sources."kind-of-6.0.2" - sources."lodash-4.17.11" - sources."lodash.debounce-4.0.8" - sources."lru-cache-5.1.1" - (sources."make-fetch-happen-4.0.1" // { - dependencies = [ - sources."lru-cache-4.1.5" - sources."yallist-2.1.2" - ]; - }) - sources."map-cache-0.2.2" - sources."map-visit-1.0.0" - sources."micromatch-3.1.10" - sources."mimic-fn-1.2.0" - sources."minimatch-3.0.4" - sources."minimist-0.0.8" - sources."minipass-2.3.5" - sources."minizlib-1.2.1" - sources."mississippi-3.0.0" - sources."mixin-deep-1.3.1" - sources."mkdirp-0.5.1" - sources."move-concurrently-1.0.1" - sources."ms-2.0.0" - sources."mute-stream-0.0.7" - sources."nan-2.12.1" - sources."nanomatch-1.2.13" - sources."node-fetch-npm-2.0.2" - sources."normalize-package-data-2.5.0" - sources."normalize-path-2.1.1" - sources."npm-bundled-1.0.6" - sources."npm-package-arg-6.1.0" - sources."npm-packlist-1.3.0" - sources."npm-pick-manifest-2.2.3" - (sources."npm-registry-fetch-3.9.0" // { - dependencies = [ - sources."lru-cache-4.1.5" - sources."yallist-2.1.2" - ]; - }) - (sources."object-copy-0.1.0" // { - dependencies = [ - sources."define-property-0.2.5" - sources."is-accessor-descriptor-0.1.6" - sources."is-data-descriptor-0.1.4" - (sources."is-descriptor-0.1.6" // { - dependencies = [ - sources."kind-of-5.1.0" - ]; - }) - sources."kind-of-3.2.2" - ]; - }) - sources."object-visit-1.0.1" - sources."object.pick-1.3.0" - sources."once-1.4.0" - sources."onetime-2.0.1" - sources."opn-5.4.0" - sources."os-homedir-1.0.2" - sources."os-tmpdir-1.0.2" - sources."osenv-0.1.5" - sources."pacote-9.4.0" - sources."parallel-transform-1.1.0" - sources."pascalcase-0.1.1" - sources."path-dirname-1.0.2" - sources."path-is-absolute-1.0.1" - sources."path-parse-1.0.6" - sources."posix-character-classes-0.1.1" - sources."process-nextick-args-2.0.0" - sources."promise-inflight-1.0.1" - sources."promise-retry-1.1.1" - sources."protoduck-5.0.1" - sources."pseudomap-1.0.2" - sources."pump-3.0.0" - (sources."pumpify-1.5.1" // { - dependencies = [ - sources."pump-2.0.1" - ]; - }) - sources."punycode-2.1.1" - sources."readable-stream-2.3.6" - sources."readdirp-2.2.1" - sources."regex-not-1.0.2" - sources."remove-trailing-separator-1.1.0" - sources."repeat-element-1.1.3" - sources."repeat-string-1.6.1" - sources."resolve-1.10.0" - sources."resolve-url-0.2.1" - sources."restore-cursor-2.0.0" - sources."ret-0.1.15" - sources."retry-0.10.1" - sources."rimraf-2.6.3" - sources."run-async-2.3.0" - sources."run-queue-1.0.3" - sources."rxjs-6.3.3" - sources."safe-buffer-5.1.2" - sources."safe-regex-1.1.0" - sources."safer-buffer-2.1.2" - sources."semver-5.6.0" - sources."semver-intersect-1.4.0" - (sources."set-value-2.0.0" // { - dependencies = [ - sources."extend-shallow-2.0.1" - sources."is-extendable-0.1.1" - ]; - }) - sources."signal-exit-3.0.2" - sources."smart-buffer-4.0.2" - (sources."snapdragon-0.8.2" // { - dependencies = [ - sources."define-property-0.2.5" - sources."extend-shallow-2.0.1" - (sources."is-accessor-descriptor-0.1.6" // { - dependencies = [ - sources."kind-of-3.2.2" - ]; - }) - (sources."is-data-descriptor-0.1.4" // { - dependencies = [ - sources."kind-of-3.2.2" - ]; - }) - sources."is-descriptor-0.1.6" - sources."is-extendable-0.1.1" - sources."kind-of-5.1.0" - sources."source-map-0.5.7" - ]; - }) - (sources."snapdragon-node-2.1.1" // { - dependencies = [ - sources."define-property-1.0.0" - ]; - }) - (sources."snapdragon-util-3.0.1" // { - dependencies = [ - sources."kind-of-3.2.2" - ]; - }) - sources."socks-2.2.3" - sources."socks-proxy-agent-4.0.1" - sources."source-map-0.7.3" - sources."source-map-resolve-0.5.2" - sources."source-map-url-0.4.0" - sources."spdx-correct-3.1.0" - sources."spdx-exceptions-2.2.0" - sources."spdx-expression-parse-3.0.0" - sources."spdx-license-ids-3.0.3" - sources."split-string-3.1.0" - sources."ssri-6.0.1" - (sources."static-extend-0.1.2" // { - dependencies = [ - sources."define-property-0.2.5" - (sources."is-accessor-descriptor-0.1.6" // { - dependencies = [ - sources."kind-of-3.2.2" - ]; - }) - (sources."is-data-descriptor-0.1.4" // { - dependencies = [ - sources."kind-of-3.2.2" - ]; - }) - sources."is-descriptor-0.1.6" - sources."kind-of-5.1.0" - ]; - }) - sources."stream-each-1.2.3" - sources."stream-shift-1.0.0" - (sources."string-width-2.1.1" // { - dependencies = [ - sources."strip-ansi-4.0.0" - ]; - }) - sources."string_decoder-1.1.1" - (sources."strip-ansi-5.0.0" // { - dependencies = [ - sources."ansi-regex-4.0.0" - ]; - }) - sources."supports-color-5.5.0" - sources."symbol-observable-1.2.0" - sources."tar-4.4.8" - sources."through-2.3.8" - sources."through2-2.0.5" - sources."tmp-0.0.33" - (sources."to-object-path-0.3.0" // { - dependencies = [ - sources."kind-of-3.2.2" - ]; - }) - sources."to-regex-3.0.2" - sources."to-regex-range-2.1.1" - sources."tslib-1.9.3" - sources."typedarray-0.0.6" - sources."typescript-3.2.4" - (sources."union-value-1.0.0" // { - dependencies = [ - sources."extend-shallow-2.0.1" - sources."is-extendable-0.1.1" - sources."set-value-0.4.3" - ]; - }) - sources."unique-filename-1.1.1" - sources."unique-slug-2.0.1" - (sources."unset-value-1.0.0" // { - dependencies = [ - (sources."has-value-0.3.1" // { - dependencies = [ - sources."isobject-2.1.0" - ]; - }) - sources."has-values-0.1.4" - ]; - }) - sources."upath-1.1.0" - sources."uri-js-4.2.2" - sources."urix-0.1.0" - sources."use-3.1.1" - sources."util-deprecate-1.0.2" - sources."validate-npm-package-license-3.0.4" - sources."validate-npm-package-name-3.0.0" - sources."which-1.3.1" - sources."wrappy-1.0.2" - sources."xtend-4.0.1" - sources."y18n-4.0.0" - sources."yallist-3.0.3" - ]; - buildInputs = globalBuildInputs; - meta = { - description = "CLI tool for Angular"; - homepage = https://github.com/angular/angular-cli; - license = "MIT"; - }; - production = true; - bypassCache = true; - }; asar = nodeEnv.buildNodePackage { name = "asar"; packageName = "asar"; @@ -38894,7 +38348,7 @@ in sources."color-name-1.1.3" sources."combine-source-map-0.8.0" sources."combined-stream-1.0.7" - sources."compressible-2.0.15" + sources."compressible-2.0.16" sources."compression-1.7.3" sources."concat-map-0.0.1" (sources."concat-stream-1.5.2" // { @@ -40594,7 +40048,7 @@ in sources."assert-plus-1.0.0" sources."async-2.6.2" sources."asynckit-0.4.0" - sources."aws-sdk-2.404.0" + sources."aws-sdk-2.405.0" sources."aws-sign2-0.7.0" sources."aws4-1.8.0" sources."base64-js-1.3.0" @@ -41824,10 +41278,10 @@ in eslint = nodeEnv.buildNodePackage { name = "eslint"; packageName = "eslint"; - version = "5.14.0"; + version = "5.14.1"; src = fetchurl { - url = "https://registry.npmjs.org/eslint/-/eslint-5.14.0.tgz"; - sha512 = "jrOhiYyENRrRnWlMYANlGZTqb89r2FuRT+615AabBoajhNjeh9ywDNlh2LU9vTqf0WYN+L3xdXuIi7xuj/tK9w=="; + url = "https://registry.npmjs.org/eslint/-/eslint-5.14.1.tgz"; + sha512 = "CyUMbmsjxedx8B0mr79mNOqetvkbij/zrXnFeK2zc3pGRn3/tibjiNAv/3UxFEyfMDjh+ZqTrJrEGBFiGfD5Og=="; }; dependencies = [ sources."@babel/code-frame-7.0.0" @@ -41999,7 +41453,7 @@ in sources."doctrine-3.0.0" sources."emoji-regex-7.0.3" sources."escape-string-regexp-1.0.5" - sources."eslint-5.14.0" + sources."eslint-5.14.1" sources."eslint-scope-4.0.0" sources."eslint-utils-1.3.1" sources."eslint-visitor-keys-1.0.0" @@ -42961,6 +42415,7 @@ in sources."chloride-2.2.10" sources."chloride-test-1.2.2" sources."commander-2.19.0" + sources."debug-4.1.1" sources."deep-equal-1.0.1" sources."deep-extend-0.6.0" sources."diff-3.5.0" @@ -43003,8 +42458,9 @@ in }) sources."moment-2.24.0" sources."moo-0.4.3" + sources."ms-2.1.1" sources."multicb-1.2.2" - sources."multiserver-3.1.2" + sources."multiserver-3.2.0" sources."multiserver-address-1.0.1" sources."multiserver-scopes-1.0.0" sources."muxrpc-6.4.2" @@ -43076,7 +42532,7 @@ in sources."separator-escape-0.0.0" sources."sha.js-2.4.5" sources."smart-buffer-4.0.2" - sources."socks-2.3.1" + sources."socks-2.3.2" sources."sodium-browserify-1.2.4" (sources."sodium-browserify-tweetnacl-0.2.3" // { dependencies = [ @@ -44077,7 +43533,7 @@ in sources."buffer-from-1.1.1" sources."cache-base-1.0.1" sources."camelcase-3.0.0" - (sources."chokidar-2.1.1" // { + (sources."chokidar-2.1.2" // { dependencies = [ sources."normalize-path-3.0.0" ]; @@ -44825,8 +44281,8 @@ in sha512 = "Zn+mo0NNXIW7+pWfdIZx49IfmuVI4I1UPjZhXFvc0Rq7fHul//gbVASrnxtiTbOOCNvD4JKVvKkpo4BNDzHi6w=="; }; dependencies = [ - sources."@snyk/dep-graph-1.1.2" - sources."@snyk/gemfile-1.1.0" + sources."@snyk/dep-graph-1.4.0" + sources."@snyk/gemfile-1.2.0" sources."@yarnpkg/lockfile-1.1.0" sources."abbrev-1.1.1" sources."agent-base-4.2.1" @@ -44889,7 +44345,7 @@ in sources."core-js-2.3.0" sources."core-util-is-1.0.2" sources."create-error-class-3.0.2" - sources."cross-spawn-5.1.0" + sources."cross-spawn-6.0.5" sources."crypto-random-string-1.0.0" sources."csslint-1.0.5" sources."dashdash-1.14.1" @@ -44924,7 +44380,7 @@ in sources."esprima-3.1.3" sources."estraverse-4.2.0" sources."esutils-2.0.2" - sources."execa-0.7.0" + sources."execa-0.10.0" sources."exit-0.1.2" sources."extend-3.0.2" sources."external-editor-2.2.0" @@ -45048,7 +44504,7 @@ in sources."lodash.set-4.3.2" sources."lowercase-keys-1.0.1" sources."lru-cache-4.1.5" - sources."macos-release-1.1.0" + sources."macos-release-2.0.0" sources."make-dir-1.3.0" sources."mime-db-1.38.0" sources."mime-types-2.1.22" @@ -45074,6 +44530,7 @@ in ]; }) sources."netmask-1.0.6" + sources."nice-try-1.0.5" sources."npm-run-path-2.0.2" sources."number-is-nan-1.0.1" sources."oauth-sign-0.9.0" @@ -45082,7 +44539,7 @@ in sources."opn-5.4.0" sources."optionator-0.8.2" sources."os-locale-1.4.0" - sources."os-name-2.0.1" + sources."os-name-3.0.0" sources."os-tmpdir-1.0.2" sources."p-finally-1.0.0" sources."pac-proxy-agent-2.0.2" @@ -45144,16 +44601,16 @@ in sources."shelljs-0.3.0" sources."signal-exit-3.0.2" sources."smart-buffer-1.1.15" - sources."snyk-1.133.0" - sources."snyk-config-2.2.0" + sources."snyk-1.134.2" + sources."snyk-config-2.2.1" sources."snyk-docker-plugin-1.22.0" sources."snyk-go-plugin-1.6.1" sources."snyk-gradle-plugin-2.1.3" sources."snyk-module-1.9.1" sources."snyk-mvn-plugin-2.0.1" sources."snyk-nodejs-lockfile-parser-1.11.0" - sources."snyk-nuget-plugin-1.7.1" - sources."snyk-paket-parser-1.4.1" + sources."snyk-nuget-plugin-1.7.2" + sources."snyk-paket-parser-1.4.3" sources."snyk-php-plugin-1.5.2" sources."snyk-policy-1.13.3" sources."snyk-python-plugin-1.9.1" @@ -45177,7 +44634,12 @@ in sources."supports-color-5.5.0" sources."temp-dir-1.0.0" sources."tempfile-2.0.0" - sources."term-size-1.2.0" + (sources."term-size-1.2.0" // { + dependencies = [ + sources."cross-spawn-5.1.0" + sources."execa-0.7.0" + ]; + }) sources."then-fs-2.0.0" sources."through-2.3.8" sources."thunkify-2.1.2" @@ -45205,8 +44667,8 @@ in sources."vscode-languageserver-types-3.14.0" sources."which-1.3.1" sources."widest-line-2.0.1" - sources."win-release-1.1.1" sources."window-size-0.1.4" + sources."windows-release-3.1.0" sources."wordwrap-1.0.0" (sources."wrap-ansi-2.1.0" // { dependencies = [ @@ -46168,7 +45630,7 @@ in sources."color-convert-1.9.3" sources."color-name-1.1.3" sources."combined-stream-1.0.7" - sources."compressible-2.0.15" + sources."compressible-2.0.16" sources."compression-1.7.3" sources."configstore-3.1.2" sources."connect-pause-0.1.1" @@ -46488,7 +45950,7 @@ in sources."bytes-3.0.0" sources."cache-base-1.0.1" sources."callsite-1.0.0" - sources."chokidar-2.1.1" + sources."chokidar-2.1.2" sources."circular-json-0.5.9" (sources."class-utils-0.3.6" // { dependencies = [ @@ -47268,7 +46730,7 @@ in sources."@octokit/endpoint-3.1.3" sources."@octokit/plugin-enterprise-rest-2.1.1" sources."@octokit/request-2.3.0" - sources."@octokit/rest-16.15.0" + sources."@octokit/rest-16.16.0" sources."JSONStream-1.3.5" sources."abbrev-1.1.1" sources."agent-base-4.2.1" @@ -47764,7 +47226,7 @@ in sources."p-reduce-1.0.0" sources."p-try-2.0.0" sources."p-waterfall-1.0.0" - sources."pacote-9.4.1" + sources."pacote-9.5.0" sources."parallel-transform-1.1.0" sources."parse-github-repo-url-1.4.1" sources."parse-json-4.0.0" @@ -48185,7 +47647,7 @@ in ]; }) sources."cache-base-1.0.1" - sources."chokidar-2.1.1" + sources."chokidar-2.1.2" (sources."class-utils-0.3.6" // { dependencies = [ sources."define-property-0.2.5" @@ -49276,7 +48738,7 @@ in ]; }) sources."cherow-1.6.9" - (sources."chokidar-2.1.1" // { + (sources."chokidar-2.1.2" // { dependencies = [ sources."array-unique-0.3.2" sources."braces-2.3.2" @@ -49963,7 +49425,7 @@ in sources."regenerator-transform-0.13.3" sources."regex-cache-0.4.4" sources."regex-not-1.0.2" - sources."regexp-tree-0.1.4" + sources."regexp-tree-0.1.5" sources."regexpu-core-4.4.0" sources."regjsgen-0.5.0" (sources."regjsparser-0.6.0" // { @@ -50349,94 +49811,6 @@ in production = true; bypassCache = true; }; - markdown-link-check = nodeEnv.buildNodePackage { - name = "markdown-link-check"; - packageName = "markdown-link-check"; - version = "3.7.2"; - src = fetchurl { - url = "https://registry.npmjs.org/markdown-link-check/-/markdown-link-check-3.7.2.tgz"; - sha512 = "rt6d75iz0Bw9LHmN+DT1a7kiVrkK3gsGhPVB/PwwZDq8LHlILQToC/hwq9tE2CUDg8OdZOV1+7j8vuG9Mu4sIQ=="; - }; - dependencies = [ - sources."ajv-6.9.1" - sources."ansi-styles-3.2.1" - sources."asn1-0.2.4" - sources."assert-plus-1.0.0" - sources."async-2.6.2" - sources."asynckit-0.4.0" - sources."aws-sign2-0.7.0" - sources."aws4-1.8.0" - sources."bcrypt-pbkdf-1.0.2" - sources."caseless-0.12.0" - sources."chalk-2.4.2" - sources."color-convert-1.9.3" - sources."color-name-1.1.3" - sources."combined-stream-1.0.7" - sources."commander-2.19.0" - sources."core-util-is-1.0.2" - sources."dashdash-1.14.1" - sources."delayed-stream-1.0.0" - sources."ecc-jsbn-0.1.2" - sources."escape-string-regexp-1.0.5" - sources."extend-3.0.2" - sources."extsprintf-1.3.0" - sources."fast-deep-equal-2.0.1" - sources."fast-json-stable-stringify-2.0.0" - sources."forever-agent-0.6.1" - sources."form-data-2.3.3" - sources."getpass-0.1.7" - sources."har-schema-2.0.0" - sources."har-validator-5.1.3" - sources."has-flag-3.0.0" - sources."http-signature-1.2.0" - sources."is-absolute-url-2.1.0" - sources."is-relative-url-2.0.0" - sources."is-typedarray-1.0.0" - sources."isemail-3.2.0" - sources."isstream-0.1.2" - sources."jsbn-0.1.1" - sources."json-schema-0.2.3" - sources."json-schema-traverse-0.4.1" - sources."json-stringify-safe-5.0.1" - sources."jsprim-1.4.1" - sources."link-check-4.4.4" - sources."lodash-4.17.11" - sources."markdown-link-extractor-1.2.0" - sources."marked-0.4.0" - sources."mime-db-1.38.0" - sources."mime-types-2.1.22" - sources."ms-2.1.1" - sources."oauth-sign-0.9.0" - sources."performance-now-2.1.0" - sources."progress-2.0.3" - sources."psl-1.1.31" - sources."punycode-2.1.1" - sources."qs-6.5.2" - sources."request-2.88.0" - sources."safe-buffer-5.1.2" - sources."safer-buffer-2.1.2" - sources."sshpk-1.16.1" - sources."supports-color-5.5.0" - (sources."tough-cookie-2.4.3" // { - dependencies = [ - sources."punycode-1.4.1" - ]; - }) - sources."tunnel-agent-0.6.0" - sources."tweetnacl-0.14.5" - sources."uri-js-4.2.2" - sources."uuid-3.3.2" - sources."verror-1.10.0" - ]; - buildInputs = globalBuildInputs; - meta = { - description = "checks the all of the hyperlinks in a markdown text to determine if they are alive or dead"; - homepage = "https://github.com/tcort/markdown-link-check#readme"; - license = "ISC"; - }; - production = true; - bypassCache = true; - }; mathjax = nodeEnv.buildNodePackage { name = "mathjax"; packageName = "mathjax"; @@ -51217,35 +50591,350 @@ in mocha = nodeEnv.buildNodePackage { name = "mocha"; packageName = "mocha"; - version = "5.2.0"; + version = "6.0.0"; src = fetchurl { - url = "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz"; - sha512 = "2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ=="; + url = "https://registry.npmjs.org/mocha/-/mocha-6.0.0.tgz"; + sha512 = "A7g9k3yr8oJaXn2IItFnfgjyxFc/LTe6Wwv7FczP+e8G74o9xYNSbMYmCf1ouldRojLrFcOb+z75P6Ak0GX6ug=="; }; dependencies = [ + sources."ansi-colors-3.2.3" + sources."ansi-regex-3.0.0" + sources."ansi-styles-3.2.1" + sources."argparse-1.0.10" + sources."arr-diff-4.0.0" + sources."arr-flatten-1.1.0" + sources."arr-union-3.1.0" + sources."array-unique-0.3.2" + sources."assign-symbols-1.0.0" + sources."atob-2.1.2" sources."balanced-match-1.0.0" + (sources."base-0.11.2" // { + dependencies = [ + sources."define-property-1.0.0" + ]; + }) sources."brace-expansion-1.1.11" + (sources."braces-2.3.2" // { + dependencies = [ + sources."extend-shallow-2.0.1" + ]; + }) sources."browser-stdout-1.3.1" - sources."commander-2.15.1" + sources."cache-base-1.0.1" + sources."camelcase-5.0.0" + (sources."chalk-2.4.2" // { + dependencies = [ + sources."supports-color-5.5.0" + ]; + }) + (sources."class-utils-0.3.6" // { + dependencies = [ + sources."define-property-0.2.5" + (sources."is-accessor-descriptor-0.1.6" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + (sources."is-data-descriptor-0.1.4" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + sources."is-descriptor-0.1.6" + sources."kind-of-5.1.0" + ]; + }) + sources."cliui-4.1.0" + sources."code-point-at-1.1.0" + sources."collection-visit-1.0.0" + sources."color-convert-1.9.3" + sources."color-name-1.1.3" + sources."component-emitter-1.2.1" sources."concat-map-0.0.1" - sources."debug-3.1.0" + sources."copy-descriptor-0.1.1" + sources."cross-spawn-6.0.5" + sources."debug-3.2.6" + sources."decamelize-1.2.0" + sources."decode-uri-component-0.2.0" + sources."define-properties-1.1.3" + sources."define-property-2.0.2" + sources."detect-file-1.0.0" sources."diff-3.5.0" + sources."end-of-stream-1.4.1" + sources."es-abstract-1.13.0" + sources."es-to-primitive-1.2.0" sources."escape-string-regexp-1.0.5" + sources."esprima-4.0.1" + sources."execa-1.0.0" + (sources."expand-brackets-2.1.4" // { + dependencies = [ + sources."debug-2.6.9" + sources."define-property-0.2.5" + sources."extend-shallow-2.0.1" + (sources."is-accessor-descriptor-0.1.6" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + (sources."is-data-descriptor-0.1.4" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + sources."is-descriptor-0.1.6" + sources."kind-of-5.1.0" + sources."ms-2.0.0" + ]; + }) + sources."expand-tilde-2.0.2" + (sources."extend-shallow-3.0.2" // { + dependencies = [ + sources."is-extendable-1.0.1" + ]; + }) + (sources."extglob-2.0.4" // { + dependencies = [ + sources."define-property-1.0.0" + sources."extend-shallow-2.0.1" + ]; + }) + (sources."fill-range-4.0.0" // { + dependencies = [ + sources."extend-shallow-2.0.1" + ]; + }) + sources."find-up-3.0.0" + sources."findup-sync-2.0.0" + (sources."flat-4.1.0" // { + dependencies = [ + sources."is-buffer-2.0.3" + ]; + }) + sources."for-in-1.0.2" + sources."fragment-cache-0.2.1" sources."fs.realpath-1.0.0" - sources."glob-7.1.2" + sources."function-bind-1.1.1" + sources."get-caller-file-1.0.3" + sources."get-stream-4.1.0" + sources."get-value-2.0.6" + sources."glob-7.1.3" + sources."global-modules-1.0.0" + sources."global-prefix-1.0.2" sources."growl-1.10.5" + sources."has-1.0.3" sources."has-flag-3.0.0" - sources."he-1.1.1" + sources."has-symbols-1.0.0" + sources."has-value-1.0.0" + (sources."has-values-1.0.0" // { + dependencies = [ + sources."kind-of-4.0.0" + ]; + }) + sources."he-1.2.0" + sources."homedir-polyfill-1.0.1" sources."inflight-1.0.6" sources."inherits-2.0.3" + sources."ini-1.3.5" + sources."invert-kv-2.0.0" + sources."is-accessor-descriptor-1.0.0" + sources."is-buffer-1.1.6" + sources."is-callable-1.1.4" + sources."is-data-descriptor-1.0.0" + sources."is-date-object-1.0.1" + sources."is-descriptor-1.0.2" + sources."is-extendable-0.1.1" + sources."is-extglob-2.1.1" + sources."is-fullwidth-code-point-2.0.0" + sources."is-glob-3.1.0" + (sources."is-number-3.0.0" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + sources."is-plain-object-2.0.4" + sources."is-regex-1.0.4" + sources."is-stream-1.1.0" + sources."is-symbol-1.0.2" + sources."is-windows-1.0.2" + sources."isarray-1.0.0" + sources."isexe-2.0.0" + sources."isobject-3.0.1" + sources."js-yaml-3.12.0" + sources."kind-of-6.0.2" + sources."lcid-2.0.0" + sources."locate-path-3.0.0" + sources."lodash-4.17.11" + sources."log-symbols-2.2.0" + sources."map-age-cleaner-0.1.3" + sources."map-cache-0.2.2" + sources."map-visit-1.0.0" + sources."mem-4.1.0" + sources."micromatch-3.1.10" + sources."mimic-fn-1.2.0" sources."minimatch-3.0.4" sources."minimist-0.0.8" + (sources."mixin-deep-1.3.1" // { + dependencies = [ + sources."is-extendable-1.0.1" + ]; + }) sources."mkdirp-0.5.1" - sources."ms-2.0.0" + sources."ms-2.1.1" + sources."nanomatch-1.2.13" + sources."nice-try-1.0.5" + sources."node-environment-flags-1.0.4" + sources."npm-run-path-2.0.2" + sources."number-is-nan-1.0.1" + (sources."object-copy-0.1.0" // { + dependencies = [ + sources."define-property-0.2.5" + sources."is-accessor-descriptor-0.1.6" + sources."is-data-descriptor-0.1.4" + (sources."is-descriptor-0.1.6" // { + dependencies = [ + sources."kind-of-5.1.0" + ]; + }) + sources."kind-of-3.2.2" + ]; + }) + sources."object-keys-1.1.0" + sources."object-visit-1.0.1" + sources."object.assign-4.1.0" + sources."object.getownpropertydescriptors-2.0.3" + sources."object.pick-1.3.0" sources."once-1.4.0" + sources."os-locale-3.1.0" + sources."p-defer-1.0.0" + sources."p-finally-1.0.0" + sources."p-is-promise-2.0.0" + sources."p-limit-2.1.0" + sources."p-locate-3.0.0" + sources."p-try-2.0.0" + sources."parse-passwd-1.0.0" + sources."pascalcase-0.1.1" + sources."path-exists-3.0.0" sources."path-is-absolute-1.0.1" - sources."supports-color-5.4.0" + sources."path-key-2.0.1" + sources."posix-character-classes-0.1.1" + sources."pump-3.0.0" + sources."regex-not-1.0.2" + sources."repeat-element-1.1.3" + sources."repeat-string-1.6.1" + sources."require-directory-2.1.1" + sources."require-main-filename-1.0.1" + sources."resolve-dir-1.0.1" + sources."resolve-url-0.2.1" + sources."ret-0.1.15" + sources."safe-regex-1.1.0" + sources."semver-5.6.0" + sources."set-blocking-2.0.0" + (sources."set-value-2.0.0" // { + dependencies = [ + sources."extend-shallow-2.0.1" + ]; + }) + sources."shebang-command-1.2.0" + sources."shebang-regex-1.0.0" + sources."signal-exit-3.0.2" + (sources."snapdragon-0.8.2" // { + dependencies = [ + sources."debug-2.6.9" + sources."define-property-0.2.5" + sources."extend-shallow-2.0.1" + (sources."is-accessor-descriptor-0.1.6" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + (sources."is-data-descriptor-0.1.4" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + sources."is-descriptor-0.1.6" + sources."kind-of-5.1.0" + sources."ms-2.0.0" + ]; + }) + (sources."snapdragon-node-2.1.1" // { + dependencies = [ + sources."define-property-1.0.0" + ]; + }) + (sources."snapdragon-util-3.0.1" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + sources."source-map-0.5.7" + sources."source-map-resolve-0.5.2" + sources."source-map-url-0.4.0" + sources."split-string-3.1.0" + sources."sprintf-js-1.0.3" + (sources."static-extend-0.1.2" // { + dependencies = [ + sources."define-property-0.2.5" + (sources."is-accessor-descriptor-0.1.6" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + (sources."is-data-descriptor-0.1.4" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + sources."is-descriptor-0.1.6" + sources."kind-of-5.1.0" + ]; + }) + sources."string-width-2.1.1" + sources."strip-ansi-4.0.0" + sources."strip-eof-1.0.0" + sources."strip-json-comments-2.0.1" + sources."supports-color-6.0.0" + (sources."to-object-path-0.3.0" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + sources."to-regex-3.0.2" + sources."to-regex-range-2.1.1" + (sources."union-value-1.0.0" // { + dependencies = [ + sources."extend-shallow-2.0.1" + sources."set-value-0.4.3" + ]; + }) + (sources."unset-value-1.0.0" // { + dependencies = [ + (sources."has-value-0.3.1" // { + dependencies = [ + sources."isobject-2.1.0" + ]; + }) + sources."has-values-0.1.4" + ]; + }) + sources."urix-0.1.0" + sources."use-3.1.1" + sources."which-1.3.1" + sources."which-module-2.0.0" + sources."wide-align-1.1.3" + (sources."wrap-ansi-2.1.0" // { + dependencies = [ + sources."ansi-regex-2.1.1" + sources."is-fullwidth-code-point-1.0.0" + sources."string-width-1.0.2" + sources."strip-ansi-3.0.1" + ]; + }) sources."wrappy-1.0.2" + sources."y18n-4.0.0" + sources."yargs-12.0.5" + sources."yargs-parser-11.1.1" + sources."yargs-unparser-1.5.0" ]; buildInputs = globalBuildInputs; meta = { @@ -52082,7 +51771,7 @@ in sources."camelcase-4.1.0" sources."capture-stack-trace-1.0.1" sources."chalk-2.4.2" - sources."chokidar-2.1.1" + sources."chokidar-2.1.2" sources."ci-info-1.6.0" (sources."class-utils-0.3.6" // { dependencies = [ @@ -53576,7 +53265,7 @@ in sources."normalize-path-2.1.1" ]; }) - sources."compressible-2.0.15" + sources."compressible-2.0.16" sources."compression-1.5.2" sources."concat-map-0.0.1" (sources."connect-2.30.2" // { @@ -53691,7 +53380,7 @@ in }) sources."has-cors-1.1.0" sources."hat-0.0.3" - sources."http-errors-1.7.1" + sources."http-errors-1.7.2" sources."http-signature-1.2.0" sources."iconv-lite-0.4.11" sources."ieee754-1.1.12" @@ -53850,7 +53539,7 @@ in sources."statuses-1.2.1" ]; }) - sources."setprototypeof-1.1.0" + sources."setprototypeof-1.1.1" sources."simple-concat-1.0.0" sources."simple-get-2.8.1" sources."simple-peer-6.4.4" @@ -54059,7 +53748,7 @@ in sources."@babel/template-7.2.2" sources."@babel/traverse-7.2.3" sources."@babel/types-7.3.3" - sources."@iarna/toml-2.2.1" + sources."@iarna/toml-2.2.2" sources."@mrmlnc/readdir-enhanced-2.2.1" sources."@nodelib/fs.stat-1.1.3" sources."@parcel/fs-1.11.0" @@ -54169,7 +53858,7 @@ in sources."caniuse-db-1.0.30000938" sources."caniuse-lite-1.0.30000938" sources."chalk-2.4.2" - sources."chokidar-2.1.1" + sources."chokidar-2.1.2" sources."cipher-base-1.0.4" (sources."clap-1.2.3" // { dependencies = [ @@ -54751,7 +54440,7 @@ in sources."is-extendable-1.0.1" ]; }) - sources."regexp-tree-0.1.4" + sources."regexp-tree-0.1.5" sources."regexpu-core-4.4.0" sources."regjsgen-0.5.0" (sources."regjsparser-0.6.0" // { @@ -55027,7 +54716,7 @@ in sources."builtin-status-codes-3.0.0" sources."cache-base-1.0.1" sources."cached-path-relative-1.0.2" - sources."chokidar-2.1.1" + sources."chokidar-2.1.2" sources."cipher-base-1.0.4" (sources."class-utils-0.3.6" // { dependencies = [ @@ -55526,6 +55215,23 @@ in production = true; bypassCache = true; }; + reveal = nodeEnv.buildNodePackage { + name = "reveal"; + packageName = "reveal"; + version = "0.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/reveal/-/reveal-0.0.4.tgz"; + sha1 = "1c1428193359fb03bc029139062ea29f8f691d85"; + }; + buildInputs = globalBuildInputs; + meta = { + description = "The HTML presentation framework"; + homepage = https://github.com/ForbesLindesay/reveal; + license = "MIT"; + }; + production = true; + bypassCache = true; + }; s3http = nodeEnv.buildNodePackage { name = "s3http"; packageName = "s3http"; @@ -56010,7 +55716,12 @@ in sources."multiblob-1.13.3" sources."multiblob-http-0.4.2" sources."multicb-1.2.2" - sources."multiserver-3.1.2" + (sources."multiserver-3.2.0" // { + dependencies = [ + sources."debug-4.1.1" + sources."ms-2.1.1" + ]; + }) sources."multiserver-address-1.0.1" sources."multiserver-scopes-1.0.0" sources."muxrpc-6.4.2" @@ -56305,7 +56016,7 @@ in ]; }) sources."snapdragon-util-3.0.1" - sources."socks-2.3.1" + sources."socks-2.3.2" sources."sodium-browserify-1.2.4" (sources."sodium-browserify-tweetnacl-0.2.3" // { dependencies = [ @@ -56506,7 +56217,7 @@ in }) sources."color-convert-1.9.3" sources."color-name-1.1.3" - sources."compressible-2.0.15" + sources."compressible-2.0.16" sources."compression-1.7.3" sources."concat-map-0.0.1" sources."content-disposition-0.5.2" @@ -57191,14 +56902,14 @@ in snyk = nodeEnv.buildNodePackage { name = "snyk"; packageName = "snyk"; - version = "1.133.0"; + version = "1.134.2"; src = fetchurl { - url = "https://registry.npmjs.org/snyk/-/snyk-1.133.0.tgz"; - sha512 = "/6xQISFy08oWJasSye77eOaRScPkTIzD7AZYlSWfyS+flYJHgUhNJcTimXGcDwwBmfPtESpDtFpB1LBA16NUOg=="; + url = "https://registry.npmjs.org/snyk/-/snyk-1.134.2.tgz"; + sha512 = "WGR3TTZxXOdALEEcQtADFEOHaanhbzwLvS6gyg5vF6Akj7qRAwIIXYBUycbNdAax1mylAsXCzR352dkTwKD9lg=="; }; dependencies = [ - sources."@snyk/dep-graph-1.1.2" - sources."@snyk/gemfile-1.1.0" + sources."@snyk/dep-graph-1.4.0" + sources."@snyk/gemfile-1.2.0" sources."@yarnpkg/lockfile-1.1.0" sources."abbrev-1.1.1" sources."agent-base-4.2.1" @@ -57247,7 +56958,7 @@ in sources."core-js-2.3.0" sources."core-util-is-1.0.2" sources."create-error-class-3.0.2" - sources."cross-spawn-5.1.0" + sources."cross-spawn-6.0.5" sources."crypto-random-string-1.0.0" sources."data-uri-to-buffer-1.2.0" sources."debug-3.2.6" @@ -57268,7 +56979,7 @@ in sources."esprima-3.1.3" sources."estraverse-4.2.0" sources."esutils-2.0.2" - sources."execa-0.7.0" + sources."execa-0.10.0" sources."extend-3.0.2" sources."external-editor-2.2.0" sources."fast-levenshtein-2.0.6" @@ -57357,7 +57068,7 @@ in sources."lodash.set-4.3.2" sources."lowercase-keys-1.0.1" sources."lru-cache-4.1.5" - sources."macos-release-1.1.0" + sources."macos-release-2.0.0" sources."make-dir-1.3.0" sources."mimic-fn-1.2.0" sources."minimatch-3.0.4" @@ -57377,13 +57088,14 @@ in ]; }) sources."netmask-1.0.6" + sources."nice-try-1.0.5" sources."npm-run-path-2.0.2" sources."number-is-nan-1.0.1" sources."onetime-2.0.1" sources."opn-5.4.0" sources."optionator-0.8.2" sources."os-locale-1.4.0" - sources."os-name-2.0.1" + sources."os-name-3.0.0" sources."os-tmpdir-1.0.2" sources."p-finally-1.0.0" sources."pac-proxy-agent-2.0.2" @@ -57435,15 +57147,15 @@ in sources."shebang-regex-1.0.0" sources."signal-exit-3.0.2" sources."smart-buffer-1.1.15" - sources."snyk-config-2.2.0" + sources."snyk-config-2.2.1" sources."snyk-docker-plugin-1.22.0" sources."snyk-go-plugin-1.6.1" sources."snyk-gradle-plugin-2.1.3" sources."snyk-module-1.9.1" sources."snyk-mvn-plugin-2.0.1" sources."snyk-nodejs-lockfile-parser-1.11.0" - sources."snyk-nuget-plugin-1.7.1" - sources."snyk-paket-parser-1.4.1" + sources."snyk-nuget-plugin-1.7.2" + sources."snyk-paket-parser-1.4.3" sources."snyk-php-plugin-1.5.2" sources."snyk-policy-1.13.3" sources."snyk-python-plugin-1.9.1" @@ -57466,7 +57178,12 @@ in sources."supports-color-5.5.0" sources."temp-dir-1.0.0" sources."tempfile-2.0.0" - sources."term-size-1.2.0" + (sources."term-size-1.2.0" // { + dependencies = [ + sources."cross-spawn-5.1.0" + sources."execa-0.7.0" + ]; + }) sources."then-fs-2.0.0" sources."through-2.3.8" sources."thunkify-2.1.2" @@ -57485,8 +57202,8 @@ in sources."vscode-languageserver-types-3.14.0" sources."which-1.3.1" sources."widest-line-2.0.1" - sources."win-release-1.1.1" sources."window-size-0.1.4" + sources."windows-release-3.1.0" sources."wordwrap-1.0.0" (sources."wrap-ansi-2.1.0" // { dependencies = [ @@ -57760,7 +57477,7 @@ in sources."capture-stack-trace-1.0.1" sources."chalk-1.1.3" sources."charenc-0.0.2" - sources."chokidar-2.1.1" + sources."chokidar-2.1.2" sources."ci-info-1.6.0" (sources."class-utils-0.3.6" // { dependencies = [ @@ -59674,6 +59391,7 @@ in dependencies = [ sources."debug-2.6.9" sources."http-errors-1.6.3" + sources."setprototypeof-1.1.0" ]; }) sources."boxen-1.3.0" @@ -59696,7 +59414,7 @@ in sources."caw-2.0.1" sources."chalk-2.4.2" sources."chardet-0.7.0" - sources."chokidar-2.1.1" + sources."chokidar-2.1.2" sources."ci-info-1.6.0" (sources."class-utils-0.3.6" // { dependencies = [ @@ -59842,6 +59560,7 @@ in (sources."express-4.16.4" // { dependencies = [ sources."debug-2.6.9" + sources."setprototypeof-1.1.0" sources."statuses-1.4.0" ]; }) @@ -59945,7 +59664,7 @@ in sources."hash.js-1.1.7" sources."hoek-6.1.2" sources."homedir-polyfill-1.0.1" - sources."http-errors-1.7.1" + sources."http-errors-1.7.2" sources."http-signature-1.2.0" sources."iconv-lite-0.4.23" sources."ieee754-1.1.12" @@ -60173,6 +59892,7 @@ in (sources."raw-body-2.3.3" // { dependencies = [ sources."http-errors-1.6.3" + sources."setprototypeof-1.1.0" ]; }) sources."rc-1.2.8" @@ -60223,12 +59943,13 @@ in dependencies = [ sources."debug-2.6.9" sources."http-errors-1.6.3" + sources."setprototypeof-1.1.0" sources."statuses-1.4.0" ]; }) sources."serve-static-1.13.2" sources."set-value-2.0.0" - sources."setprototypeof-1.1.0" + sources."setprototypeof-1.1.1" sources."sha.js-2.4.11" sources."shebang-command-1.2.0" sources."shebang-regex-1.0.0" @@ -60725,7 +60446,7 @@ in sources."builtin-status-codes-3.0.0" sources."cacache-11.3.2" sources."cache-base-1.0.1" - sources."chokidar-2.1.1" + sources."chokidar-2.1.2" sources."chownr-1.1.1" sources."chrome-trace-event-1.0.0" sources."cipher-base-1.0.4" @@ -61895,7 +61616,7 @@ in sources."chalk-2.4.0" sources."chardet-0.4.2" sources."cheerio-1.0.0-rc.2" - (sources."chokidar-2.1.1" // { + (sources."chokidar-2.1.2" // { dependencies = [ sources."fsevents-1.2.7" sources."normalize-path-3.0.0" diff --git a/pkgs/development/ocaml-modules/psmt2-frontend/default.nix b/pkgs/development/ocaml-modules/psmt2-frontend/default.nix index c09cf5a77c1..57f1a832f56 100644 --- a/pkgs/development/ocaml-modules/psmt2-frontend/default.nix +++ b/pkgs/development/ocaml-modules/psmt2-frontend/default.nix @@ -5,14 +5,14 @@ then throw "psmt2-frontend is not available for OCaml ${ocaml.version}" else stdenv.mkDerivation rec { - version = "0.1"; + version = "0.2"; name = "ocaml${ocaml.version}-psmt2-frontend-${version}"; src = fetchFromGitHub { owner = "Coquera"; repo = "psmt2-frontend"; rev = version; - sha256 = "0k7jlsbkdyg7hafmvynp0ik8xk7mfr00wz27vxn4ncnmp20yz4vn"; + sha256 = "097zmbrx4gp2gnrxdmsm9lkkp5450gwi0blpxqy3833m6k5brx3n"; }; prefixKey = "-prefix "; diff --git a/pkgs/development/ocaml-modules/yojson/default.nix b/pkgs/development/ocaml-modules/yojson/default.nix index dfef72835cc..75810a79e28 100644 --- a/pkgs/development/ocaml-modules/yojson/default.nix +++ b/pkgs/development/ocaml-modules/yojson/default.nix @@ -2,15 +2,16 @@ let pname = "yojson"; param = - if stdenv.lib.versionAtLeast ocaml.version "4.02" then { - version = "1.4.1"; - sha256 = "0nwsfkmqpyfab4rxq76q8ff7giyanghw08094jyrp275v99zdjr9"; + if stdenv.lib.versionAtLeast ocaml.version "4.02" then rec { + version = "1.6.0"; + url = "https://github.com/ocaml-community/yojson/releases/download/${version}/yojson-${version}.tbz"; + sha256 = "1h73zkgqs6cl9y7p2l0cgjwyqa1fzcrnzv3k6w7wyq2p1q5m84xh"; buildInputs = [ dune ]; extra = { inherit (dune) installPhase; }; - } else { + } else rec { version = "1.2.3"; + url = "https://github.com/ocaml-community/yojson/archive/v${version}.tar.gz"; sha256 = "10dvkndgwanvw4agbjln7kgb1n9s6lii7jw82kwxczl5rd1sgmvl"; - buildInputs = []; extra = { createFindlibDestdir = true; @@ -25,11 +26,10 @@ stdenv.mkDerivation ({ name = "ocaml${ocaml.version}-${pname}-${param.version}"; src = fetchzip { - url = "https://github.com/mjambon/${pname}/archive/v${param.version}.tar.gz"; - inherit (param) sha256; + inherit (param) url sha256; }; - buildInputs = [ ocaml findlib ] ++ param.buildInputs; + buildInputs = [ ocaml findlib ] ++ (param.buildInputs or []); propagatedBuildInputs = [ cppo easy-format biniou ]; diff --git a/pkgs/development/python-modules/acoustics/default.nix b/pkgs/development/python-modules/acoustics/default.nix index 7b26d5c07a5..7f54af28bd8 100644 --- a/pkgs/development/python-modules/acoustics/default.nix +++ b/pkgs/development/python-modules/acoustics/default.nix @@ -3,21 +3,20 @@ buildPythonPackage rec { pname = "acoustics"; - version = "0.2.0.post1"; + version = "0.2.0.post2"; checkInputs = [ pytest ]; propagatedBuildInputs = [ numpy scipy matplotlib pandas tabulate ]; src = fetchPypi { inherit pname version; - sha256 = "738218db41ff1b1f932eabb700e400d84141af6f29392aab5f7be1b19758f806"; + sha256 = "c0ca4d7ca67fd867c3a7e34232a98a1fc210ee7ff845f3d2eed445a01737b2ff"; }; - # Tests look in wrong place for test data - doCheck = false; - checkPhase = '' - py.test tests + pushd tests + py.test ./. + popd ''; disabled = pythonOlder "3.6"; diff --git a/pkgs/development/python-modules/nbconvert/default.nix b/pkgs/development/python-modules/nbconvert/default.nix index 19e8e1eede9..e8e2dde5e1e 100644 --- a/pkgs/development/python-modules/nbconvert/default.nix +++ b/pkgs/development/python-modules/nbconvert/default.nix @@ -22,11 +22,11 @@ buildPythonPackage rec { pname = "nbconvert"; - version = "5.4.0"; + version = "5.4.1"; src = fetchPypi { inherit pname version; - sha256 = "a8a2749f972592aa9250db975304af6b7337f32337e523a2c995cc9e12c07807"; + sha256 = "302554a2e219bc0fc84f3edd3e79953f3767b46ab67626fdec16e38ba3f7efe4"; }; checkInputs = [ nose pytest glibcLocales ]; diff --git a/pkgs/development/python-modules/nbsphinx/default.nix b/pkgs/development/python-modules/nbsphinx/default.nix new file mode 100644 index 00000000000..ad6de3d3175 --- /dev/null +++ b/pkgs/development/python-modules/nbsphinx/default.nix @@ -0,0 +1,41 @@ +{ lib +, buildPythonPackage +, fetchPypi +, docutils +, jinja2 +, nbconvert +, nbformat +, sphinx +, traitlets +, python +}: + +buildPythonPackage rec { + pname = "nbsphinx"; + version = "0.4.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "b794219e465b3aab500b800884ff40fd152bb19d8b6f87580de1f3a07170aef8"; + }; + + propagatedBuildInputs = [ + docutils + jinja2 + nbconvert + nbformat + sphinx + traitlets + ]; + + checkPhase = '' + ${python.interpreter} -m nbsphinx + ''; + + meta = with lib; { + description = "Jupyter Notebook Tools for Sphinx"; + homepage = https://nbsphinx.readthedocs.io/; + license = licenses.mit; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/pygraphviz/default.nix b/pkgs/development/python-modules/pygraphviz/default.nix index 1fcc0ef8ce4..835cdbaa6be 100644 --- a/pkgs/development/python-modules/pygraphviz/default.nix +++ b/pkgs/development/python-modules/pygraphviz/default.nix @@ -32,6 +32,6 @@ buildPythonPackage rec { description = "Python interface to Graphviz graph drawing package"; homepage = https://github.com/pygraphviz/pygraphviz; license = licenses.bsd3; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ matthiasbeyer ]; }; } diff --git a/pkgs/development/python-modules/python-dbusmock/default.nix b/pkgs/development/python-modules/python-dbusmock/default.nix new file mode 100644 index 00000000000..bee0cab0a3f --- /dev/null +++ b/pkgs/development/python-modules/python-dbusmock/default.nix @@ -0,0 +1,59 @@ +{ lib, buildPythonPackage, fetchPypi, + nose, dbus, dbus-python, pygobject3, + which, pyflakes, pycodestyle, bluez, networkmanager +}: + +buildPythonPackage rec { + pname = "python-dbusmock"; + version = "0.18.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "1hj02p65cic4jdc6a5xf1hx8j5icwy7dcrm5kg91lkjks4gwpg5h"; + }; + + prePatch = '' + sed -i -e 's|pyflakes3|pyflakes|g' tests/test_code.py; + ''; + + # TODO: Get the rest of these tests running? + # This is a mocking library used as a check dependency for a single derivation. + # That derivation's tests pass. Maybe not worth the effort to fix these... + NOSE_EXCLUDE = lib.concatStringsSep "," [ + "test_bluez4" # NixOS ships BlueZ5 + # These appear to fail because they're expecting to run in an Ubuntu chroot? + "test_everything" # BlueZ5 OBEX + "test_polkitd" + "test_consolekit" + "test_api" + "test_logind" + "test_notification_daemon" + "test_ofono" + "test_gnome_screensaver" + "test_cli" + "test_timedated" + "test_upower" + # Very slow, consider disabling? + # "test_networkmanager" + ]; + + checkInputs = [ + nose dbus dbus-python which pycodestyle pyflakes + pygobject3 bluez bluez.test networkmanager + ]; + + checkPhase = '' + runHook preCheck + export PATH="$PATH:${bluez.test}/test"; + nosetests -v + runHook postCheck + ''; + + meta = with lib; { + description = "Mock D-Bus objects for tests"; + homepage = https://github.com/martinpitt/python-dbusmock; + license = licenses.lgpl3Plus; + maintainers = with maintainers; [ callahad ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/python-modules/requests-toolbelt/default.nix b/pkgs/development/python-modules/requests-toolbelt/default.nix index f865f6b8aed..7623640ea0a 100644 --- a/pkgs/development/python-modules/requests-toolbelt/default.nix +++ b/pkgs/development/python-modules/requests-toolbelt/default.nix @@ -26,6 +26,6 @@ buildPythonPackage rec { meta = { description = "A toolbelt of useful classes and functions to be used with python-requests"; homepage = http://toolbelt.rtfd.org; - maintainers = with lib.maintainers; [ jgeerds ]; + maintainers = with lib.maintainers; [ matthiasbeyer jgeerds ]; }; -} +} \ No newline at end of file diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix index a72ef7937c5..68931773f04 100644 --- a/pkgs/development/tools/analysis/radare2/default.nix +++ b/pkgs/development/tools/analysis/radare2/default.nix @@ -8,7 +8,10 @@ , python3 ? null , ruby ? null , lua ? null -, useX11, rubyBindings, pythonBindings, luaBindings +, useX11 ? false +, rubyBindings ? false +, pythonBindings ? false +, luaBindings ? false }: assert useX11 -> (gtk2 != null && vte != null && gtkdialog != null); diff --git a/pkgs/development/tools/documentation/mdsh/default.nix b/pkgs/development/tools/documentation/mdsh/default.nix index 74cde43440b..3c6e6728529 100644 --- a/pkgs/development/tools/documentation/mdsh/default.nix +++ b/pkgs/development/tools/documentation/mdsh/default.nix @@ -2,13 +2,13 @@ rustPlatform.buildRustPackage rec { name = "mdsh-${version}"; - version = "0.1.2"; + version = "0.1.3"; src = fetchFromGitHub { owner = "zimbatm"; repo = "mdsh"; rev = "v${version}"; - sha256 = "0sggclzghm54g4wnbab00qw4ry49min4zyw3hjwi0v741aa51xb2"; + sha256 = "17pd090wpnx7i8q9pp9rhps35ahm1xn4h6pm1cfsafm072qd7rff"; }; cargoSha256 = "1hsnz4sj8kff9azcbw9pkr2ipxlymz4zcm4vhfwydfkdlvdncpxm"; diff --git a/pkgs/development/tools/godef/default.nix b/pkgs/development/tools/godef/default.nix index 497c765b5b1..993305bd98f 100644 --- a/pkgs/development/tools/godef/default.nix +++ b/pkgs/development/tools/godef/default.nix @@ -1,17 +1,18 @@ -{ stdenv, buildGoPackage, fetchgit }: +{ stdenv, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { name = "godef-${version}"; - version = "1.0.0"; - rev = "7b4626be9fa8081987905fd4719d2f6628f9d8b5"; + version = "1.1.1"; + rev = "v${version}"; goPackagePath = "github.com/rogpeppe/godef"; - excludedPackages = "go/printer/testdata"; + subPackages = [ "." ]; - src = fetchgit { + src = fetchFromGitHub { inherit rev; - url = "https://github.com/rogpeppe/godef"; - sha256 = "0zhw4ba19hy0kv74c58ax759h8721khmwj04fak2y5800ymsgndg"; + owner = "rogpeppe"; + repo = "godef"; + sha256 = "1bpzqnb9fsk1pjjap3gm94pqch1jz02rfah9hg8iqbfm0dzpy31b"; }; meta = { diff --git a/pkgs/development/tools/mbed-cli/default.nix b/pkgs/development/tools/mbed-cli/default.nix index 62489800cbb..cd80a5ad9e6 100644 --- a/pkgs/development/tools/mbed-cli/default.nix +++ b/pkgs/development/tools/mbed-cli/default.nix @@ -1,17 +1,28 @@ -{ lib, python3Packages }: +{ lib, python3Packages, git, mercurial }: with python3Packages; buildPythonApplication rec { pname = "mbed-cli"; - version = "1.8.3"; + version = "1.9.1"; src = fetchPypi { inherit pname version; - sha256 = "04vn2v0d7y3vmm8cswzvn2z85balgp3095n5flvgf3r60fdlhlmp"; + sha256 = "1228plh55id03qywsw0ai88ypdpbh9iz18jfcyhn21pci7mj77fv"; }; - doCheck = false; # no tests available in Pypi + checkInputs = [ + git + mercurial + pytest + ]; + + checkPhase = '' + export GIT_COMMITTER_NAME=nixbld + export EMAIL=nixbld@localhost + export GIT_COMMITTER_DATE=$SOURCE_DATE_EPOCH + pytest test + ''; meta = with lib; { homepage = https://github.com/ARMmbed/mbed-cli; diff --git a/pkgs/games/steam/chrootenv.nix b/pkgs/games/steam/chrootenv.nix index c31b8b22216..17f25e25e3f 100644 --- a/pkgs/games/steam/chrootenv.nix +++ b/pkgs/games/steam/chrootenv.nix @@ -1,11 +1,13 @@ -{ stdenv, lib, writeScript, buildFHSUserEnv, steam, glxinfo-i686 +{ config, stdenv, lib, writeScript, buildFHSUserEnv, steam, glxinfo-i686 , steam-runtime-wrapped, steam-runtime-wrapped-i686 ? null -, withJava ? false -, withPrimus ? false , extraPkgs ? pkgs: [ ] # extra packages to add to targetPkgs , extraProfile ? "" # string to append to profile , nativeOnly ? false , runtimeOnly ? false + +# DEPRECATED +, withJava ? config.steam.java or false +, withPrimus ? config.steam.primus or false }: let diff --git a/pkgs/misc/drivers/epkowa/default.nix b/pkgs/misc/drivers/epkowa/default.nix index 3892c37a1d5..6bb021c4958 100644 --- a/pkgs/misc/drivers/epkowa/default.nix +++ b/pkgs/misc/drivers/epkowa/default.nix @@ -25,6 +25,39 @@ in # adding a plugin for another printer shouldn't be too difficult, but you need the firmware to test... let plugins = { + v330 = stdenv.mkDerivation rec { + name = "iscan-v330-bundle"; + version = "1.0.1"; + pluginVersion = "0.2.0"; + + src = fetchurl { + url = "https://download2.ebz.epson.net/iscan/plugin/perfection-v330/rpm/x64/iscan-perfection-v330-bundle-${version}.x64.rpm.tar.gz"; + sha256 = "f6fa455f04cdfbc3d38526573260746e9546830de93ba182d0365f557d2f7df9"; + }; + + buildInputs = [ patchelf rpm ]; + + installPhase = '' + ${rpm}/bin/rpm2cpio "plugins/esci-interpreter-perfection-v330-${pluginVersion}-1.x86_64.rpm" | ${cpio}/bin/cpio -idmv + mkdir $out{,/share,/lib} + cp -r ./usr/share/{iscan-data,esci}/ $out/share/ + cp -r ./usr/lib64/esci $out/lib + ''; + + preFixup = '' + lib=$out/lib/esci/libesci-interpreter-perfection-v330.so + rpath=${gcc.cc.lib}/lib/ + patchelf --set-rpath $rpath $lib + ''; + + passthru = { + registrationCommand = '' + $registry --add interpreter usb 0x04b8 0x0142 "$plugin/lib/esci/libesci-interpreter-perfection-v330 $plugin/share/esci/esfwad.bin" + ''; + hw = "Perfection V330 Photo"; + }; + meta = common_meta // { description = "Plugin to support "+passthru.hw+" scanner in sane."; }; + }; x770 = stdenv.mkDerivation rec { pname = "iscan-gt-x770-bundle"; version = "1.0.1"; diff --git a/pkgs/misc/screensavers/pipes/default.nix b/pkgs/misc/screensavers/pipes/default.nix index 6e4ae16e9c8..8539db5e002 100644 --- a/pkgs/misc/screensavers/pipes/default.nix +++ b/pkgs/misc/screensavers/pipes/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { homepage = https://github.com/pipeseroni/pipes.sh; description = "Animated pipes terminal screensaver"; license = licenses.mit; - maintainers = [ ]; + maintainers = [ maintainers.matthiasbeyer ]; platforms = platforms.unix; }; } diff --git a/pkgs/misc/urbit/default.nix b/pkgs/misc/urbit/default.nix index e356e83436d..e10fa1b06b7 100644 --- a/pkgs/misc/urbit/default.nix +++ b/pkgs/misc/urbit/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { name = "urbit-${version}"; - version = "0.6.0"; + version = "0.7.3"; src = fetchFromGitHub { owner = "urbit"; repo = "urbit"; - rev = "urbit-${version}"; - sha256 = "158mz6c6y5z1b6piid8hvrl5mcqh8q1ny185gz51jayia51azmgs"; + rev = "v${version}"; + sha256 = "192843pjzh8z55fd0x70m3l1vncmixljia3nphgn7j7x4976xkp2"; fetchSubmodules = true; }; diff --git a/pkgs/os-specific/darwin/apple-sdk/impure-deps.nix b/pkgs/os-specific/darwin/apple-sdk/impure-deps.nix index 94152d1628d..c111492f2b3 100644 --- a/pkgs/os-specific/darwin/apple-sdk/impure-deps.nix +++ b/pkgs/os-specific/darwin/apple-sdk/impure-deps.nix @@ -155,7 +155,6 @@ rec { "/System/Library/PrivateFrameworks/Symbolication.framework/Versions/A/Symbolication" "/System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC" "/System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation" - "/System/Library/PrivateFrameworks/Ubiquity.framework/Versions/A/Ubiquity" "/System/Library/PrivateFrameworks/login.framework/Versions/A/Frameworks/loginsupport.framework/Versions/A/loginsupport" "/usr/lib/libCRFSuite.dylib" "/usr/lib/libOpenScriptingUtil.dylib" @@ -203,7 +202,6 @@ rec { "/System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv" "/System/Library/PrivateFrameworks/IconServices.framework/Versions/A/IconServices" "/System/Library/PrivateFrameworks/ChunkingLibrary.framework/Versions/A/ChunkingLibrary" - "/System/Library/PrivateFrameworks/Ubiquity.framework/Versions/A/Ubiquity" "/System/Library/PrivateFrameworks/Sharing.framework/Versions/A/Sharing" "/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Apple80211" "/System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/GenerationalStorage" diff --git a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_generic/impure_deps.nix b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_generic/impure_deps.nix index 7725b9f3d1a..f54d667d6ae 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_generic/impure_deps.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_generic/impure_deps.nix @@ -101,7 +101,6 @@ "/System/Library/PrivateFrameworks/Symbolication.framework/Versions/A/Symbolication" "/System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC" "/System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation" - "/System/Library/PrivateFrameworks/Ubiquity.framework/Versions/A/Ubiquity" "/System/Library/PrivateFrameworks/login.framework/Versions/A/Frameworks/loginsupport.framework/Versions/A/loginsupport" "/usr/lib/libCRFSuite.dylib" "/usr/lib/libOpenScriptingUtil.dylib" diff --git a/pkgs/os-specific/linux/bolt/0001-skip-mkdir.patch b/pkgs/os-specific/linux/bolt/0001-skip-mkdir.patch new file mode 100644 index 00000000000..0853bcea916 --- /dev/null +++ b/pkgs/os-specific/linux/bolt/0001-skip-mkdir.patch @@ -0,0 +1,12 @@ +diff --git a/scripts/meson-install.sh b/scripts/meson-install.sh +index 859ae81..05a1c58 100644 +--- a/scripts/meson-install.sh ++++ b/scripts/meson-install.sh +@@ -7,5 +7,5 @@ fi + + BOLT_DBDIR=$1 + +-echo "Creating database dir: ${BOLT_DBDIR}" +-mkdir -p "${DESTDIR}/${BOLT_DBDIR}" ++# echo "Creating database dir: ${BOLT_DBDIR}" ++# mkdir -p "${DESTDIR}/${BOLT_DBDIR}" diff --git a/pkgs/os-specific/linux/bolt/default.nix b/pkgs/os-specific/linux/bolt/default.nix new file mode 100644 index 00000000000..f57fb1310c6 --- /dev/null +++ b/pkgs/os-specific/linux/bolt/default.nix @@ -0,0 +1,61 @@ +{ stdenv, meson, ninja, pkgconfig, fetchFromGitLab, + python3, umockdev, gobject-introspection, dbus, + asciidoc, libxml2, libxslt, docbook_xml_dtd_45, docbook_xsl, + glib, systemd, polkit +}: + +stdenv.mkDerivation rec { + pname = "bolt"; + version = "0.7"; + + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + owner = "bolt"; + repo = "bolt"; + rev = "${version}"; + sha256 = "0xn2c31kcjh1j76gq1qrcxwjyjyqnsxygkfrvh3xk07qc92f99xd"; + }; + + nativeBuildInputs = [ + meson ninja pkgconfig + asciidoc libxml2 libxslt docbook_xml_dtd_45 docbook_xsl + ] ++ stdenv.lib.optional (!doCheck) python3; + + buildInputs = [ + glib systemd polkit + ]; + + doCheck = true; + + preCheck = '' + export LD_LIBRARY_PATH=${umockdev.out}/lib/ + ''; + + checkInputs = [ + dbus umockdev gobject-introspection + (python3.withPackages + (p: [ p.pygobject3 p.dbus-python p.python-dbusmock ])) + ]; + + # meson install tries to create /var/lib/boltd + patches = [ ./0001-skip-mkdir.patch ]; + + postPatch = '' + patchShebangs tests/test-integration + ''; + + mesonFlags = [ + "-Dlocalstatedir=/var" + ]; + + PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "${placeholder "out"}/lib/systemd/system"; + PKG_CONFIG_UDEV_UDEVDIR = "${placeholder "out"}/lib/udev"; + + meta = with stdenv.lib; { + description = "Thunderbolt 3 device management daemon"; + homepage = https://gitlab.freedesktop.org/bolt/bolt; + license = licenses.lgpl21Plus; + maintainers = [ maintainers.callahad ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/os-specific/linux/conky/default.nix b/pkgs/os-specific/linux/conky/default.nix index 3d7fb43bbd1..d67c268f054 100644 --- a/pkgs/os-specific/linux/conky/default.nix +++ b/pkgs/os-specific/linux/conky/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, pkgconfig, cmake +{ config, stdenv, fetchFromGitHub, pkgconfig, cmake # dependencies , glib, libXinerama @@ -27,7 +27,7 @@ , wirelessSupport ? true , wirelesstools ? null , nvidiaSupport ? false , libXNVCtrl ? null -, pulseSupport ? false , libpulseaudio ? null +, pulseSupport ? config.pulseaudio or false, libpulseaudio ? null , curlSupport ? true , curl ? null , rssSupport ? curlSupport diff --git a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix index 57135bf515b..df917888dc7 100644 --- a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix +++ b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { name = "firmware-linux-nonfree-${version}"; - version = "2018-12-13"; + version = "2019-02-13"; src = fetchgit { url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git"; - rev = "813fa1fc6fba6638decd974c4a6a2e485069ea15"; - sha256 = "0zspisbrvplgz1plk4ya22h7ilnsk60srk4q38h6n5d18fpn7rdw"; + rev = "710963fe53ee3f227556d36839df3858daf6e232"; + sha256 = "1q3jvlqqxba08s2mrh9hwl0d5w6nhkwj63j0m6amxqpf10k49jxp"; }; installFlags = [ "DESTDIR=$(out)" ]; @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { outputHashMode = "recursive"; outputHashAlgo = "sha256"; - outputHash = "1yr6wcvc3s97h4w0qapma4l17dqsj175an6kmn5w6dppz19g0r5b"; + outputHash = "13gqnr6gm7336pm48v5p37clphwwdmgbrcipsg3w44wdwgc7fa2f"; meta = with stdenv.lib; { description = "Binary firmware collection packaged by kernel.org"; diff --git a/pkgs/os-specific/linux/guvcview/default.nix b/pkgs/os-specific/linux/guvcview/default.nix index 1afd1078c03..acafa0376f5 100644 --- a/pkgs/os-specific/linux/guvcview/default.nix +++ b/pkgs/os-specific/linux/guvcview/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchurl, intltool, pkgconfig +{ config, stdenv, fetchurl, intltool, pkgconfig , gtk3, portaudio, SDL2, ffmpeg, udev, libusb1, libv4l, alsaLib, gsl -, pulseaudioSupport ? true, libpulseaudio ? null }: +, pulseaudioSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio ? null }: assert pulseaudioSupport -> libpulseaudio != null; diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 1a56e68fa4b..e8126c23d3d 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -203,6 +203,7 @@ let SND_HDA_RECONFIG = yes; # Support reconfiguration of jack functions # Support configuring jack functions via fw mechanism at boot SND_HDA_PATCH_LOADER = yes; + SND_OSSEMUL = yes; SND_USB_CAIAQ_INPUT = yes; # Enable PSS mixer (Beethoven ADSP-16 and other compatible) PSS_MIXER = whenOlder "4.12" yes; diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix index 95050a37d28..0be12e1bfaa 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.14.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "4.14.101"; + version = "4.14.102"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "16mnrn2lb6xhcmpqx8brk2w4g6igfb1cwkqkpvlnc7003g2zfbql"; + sha256 = "0095aqc1jbic77r34mpddjbz75rq1smr41yjx4mdqkl0lb7q5afq"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix index ac6b3dad86b..f94bb32361b 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.19.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "4.19.23"; + version = "4.19.24"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "02hkiz5vlx2qhyi1hxar9d1cr2gfnrpjdrjjkh83yzxci9kjb6rd"; + sha256 = "014fpzy40yy56whnd8fclgxbdmaab8f5f6gam1lv8x6qmdgqic9v"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-4.20.nix b/pkgs/os-specific/linux/kernel/linux-4.20.nix index 382747b69d9..7a6b502048a 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.20.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.20.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "4.20.10"; + version = "4.20.11"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "1y1w3j65n2k4ibn9clapbhy5m2rbyspg2maql7q9k27vmplnppjk"; + sha256 = "07s1sw256nz72yx6kvzws32s9faphsmg91wq4h7fk3jwyi0mrnfw"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix index 8edd744ba66..d814deefb1a 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.4.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix @@ -1,11 +1,11 @@ { stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args: buildLinux (args // rec { - version = "4.4.174"; + version = "4.4.175"; extraMeta.branch = "4.4"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "0fdsxfwhn1xqic56c4aafxw1rdqy7s4w0inmkhcnh98lj3fi2lmy"; + sha256 = "1r8bp8dcjgndx9ziwv3pkgngr1bxwvdmimg8gxq8ak0km9bqfz76"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix index cdebebc7482..c5f4b45082f 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.9.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix @@ -1,11 +1,11 @@ { stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args: buildLinux (args // rec { - version = "4.9.158"; + version = "4.9.159"; extraMeta.branch = "4.9"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "1vvm2gw5cddy40amxxr1hcw0bis2zldzyicvjhy11wg6j3snk2lc"; + sha256 = "0hhpfyvankdiwbngpsl9xprf6777830dms722hix3450d0qz37cz"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/lxcfs/default.nix b/pkgs/os-specific/linux/lxcfs/default.nix index a32f99600cd..3953ff1915a 100644 --- a/pkgs/os-specific/linux/lxcfs/default.nix +++ b/pkgs/os-specific/linux/lxcfs/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, help2man, fuse -, enableDebugBuild ? false }: +{ config, stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, help2man, fuse +, enableDebugBuild ? config.lxcfs.enableDebugBuild or false }: with stdenv.lib; stdenv.mkDerivation rec { diff --git a/pkgs/os-specific/linux/pcmciautils/default.nix b/pkgs/os-specific/linux/pcmciautils/default.nix index 93e2c097ff7..aeb4d78d0ec 100644 --- a/pkgs/os-specific/linux/pcmciautils/default.nix +++ b/pkgs/os-specific/linux/pcmciautils/default.nix @@ -1,10 +1,9 @@ -{ stdenv, fetchurl +{ config, lib, stdenv, fetchurl , yacc, flex , sysfsutils, kmod, udev -, firmware # Special pcmcia cards. -, config # Special hardware (map memory & port & irq) -, lib # used to generate postInstall script. -}: +, firmware ? config.pcmciaUtils.firmware or [] # Special pcmcia cards. +, configOpts ? config.pcmciaUtils.config or null # Special hardware (map memory & port & irq) +}: # used to generate postInstall script. # FIXME: should add an option to choose between hotplug and udev. stdenv.mkDerivation rec { @@ -28,8 +27,8 @@ stdenv.mkDerivation rec { " src/{startup.c,pcmcia-check-broken-cis.c} # fix-color */ '' + (if firmware == [] then ''sed -i "s,STARTUP = true,STARTUP = false," Makefile'' else "") - + (if config == null then "" else '' - ln -sf ${config} ./config/config.opts'') + + (if configOpts == null then "" else '' + ln -sf ${configOpts} ./config/config.opts'') ; makeFlags = "LEX=flex"; diff --git a/pkgs/servers/atlassian/jira.nix b/pkgs/servers/atlassian/jira.nix index 8e11ef6163c..3c7c0dc6156 100644 --- a/pkgs/servers/atlassian/jira.nix +++ b/pkgs/servers/atlassian/jira.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { name = "atlassian-jira-${version}"; - version = "7.13.0"; + version = "8.0.1"; src = fetchurl { - url = "https://downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-${version}.tar.gz"; - sha256 = "1dra5h8lgqwzhs95br8x34c5pcrkgrkmpyhiq9vbayf1aarjxfnq"; + url = "https://product-downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-${version}.tar.gz"; + sha256 = "0cf0j781k23fs3jzrd4ranzvqnhdnza8dbaqxx31dk3p7c7168bw"; }; phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ]; diff --git a/pkgs/servers/dns/bind/default.nix b/pkgs/servers/dns/bind/default.nix index 74e1fda2d42..550a8fa13cc 100644 --- a/pkgs/servers/dns/bind/default.nix +++ b/pkgs/servers/dns/bind/default.nix @@ -1,7 +1,7 @@ -{ stdenv, lib, fetchurl +{ config, stdenv, lib, fetchurl , perl , libcap, libtool, libxml2, openssl -, enablePython ? false, python3 ? null +, enablePython ? config.bind.enablePython or false, python3 ? null , enableSeccomp ? false, libseccomp ? null, buildPackages }: @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { buildInputs = [ libtool libxml2 openssl ] ++ lib.optional stdenv.isLinux libcap ++ lib.optional enableSeccomp libseccomp - ++ lib.optional enablePython python3; + ++ lib.optional enablePython (python3.withPackages (ps: with ps; [ ply ])); STD_CDEFINES = [ "-DDIG_SIGCHASE=1" ]; # support +sigchase diff --git a/pkgs/servers/mautrix-whatsapp/default.nix b/pkgs/servers/mautrix-whatsapp/default.nix new file mode 100644 index 00000000000..ea3fbd58e2e --- /dev/null +++ b/pkgs/servers/mautrix-whatsapp/default.nix @@ -0,0 +1,24 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + name = "mautrix-unstable-${version}"; + version = "2019-02-11"; + + goPackagePath = "maunium.net/go/mautrix-whatsapp"; + + src = fetchFromGitHub { + owner = "tulir"; + repo = "mautrix-whatsapp"; + rev = "f689297ba6704265a938951f307b365e829fcfa1"; + sha256 = "1658bika9ylhm64k9lxavp43dxilygn6vx7yn6y1l10j8by2akxk"; + }; + + goDeps = ./deps.nix; + + meta = with stdenv.lib; { + homepage = https://github.com/tulir/mautrix-whatsapp; + description = "Matrix <-> Whatsapp hybrid puppeting/relaybot bridge"; + license = licenses.agpl3; + maintainers = with maintainers; [ vskilet ]; + }; +} diff --git a/pkgs/servers/mautrix-whatsapp/deps.nix b/pkgs/servers/mautrix-whatsapp/deps.nix new file mode 100644 index 00000000000..8a1543ac012 --- /dev/null +++ b/pkgs/servers/mautrix-whatsapp/deps.nix @@ -0,0 +1,201 @@ +# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix) +[ + { + goPackagePath = "github.com/Baozisoftware/qrcode-terminal-go"; + fetch = { + type = "git"; + url = "https://github.com/Baozisoftware/qrcode-terminal-go"; + rev = "c0650d8dff0f"; + sha256 = "166h9zy9y7ygayhybg7d080hpdcf1mvkf3rwnq5lqg8i3cg71s7b"; + }; + } + { + goPackagePath = "github.com/Rhymen/go-whatsapp"; + fetch = { + type = "git"; + url = "https://github.com/Rhymen/go-whatsapp"; + rev = "2ca6af00572c"; + sha256 = "0lrscj59n9nmd5z0h9r2c952m0da672r3aj33bi443ap0h97w19i"; + }; + } + { + goPackagePath = "github.com/fatih/color"; + fetch = { + type = "git"; + url = "https://github.com/fatih/color"; + rev = "v1.7.0"; + sha256 = "0v8msvg38r8d1iiq2i5r4xyfx0invhc941kjrsg5gzwvagv55inv"; + }; + } + { + goPackagePath = "github.com/golang/protobuf"; + fetch = { + type = "git"; + url = "https://github.com/golang/protobuf"; + rev = "v1.2.0"; + sha256 = "0kf4b59rcbb1cchfny2dm9jyznp8ri2hsb14n8iak1q8986xa0ab"; + }; + } + { + goPackagePath = "github.com/gorilla/mux"; + fetch = { + type = "git"; + url = "https://github.com/gorilla/mux"; + rev = "v1.6.2"; + sha256 = "0pvzm23hklxysspnz52mih6h1q74vfrdhjfm1l3sa9r8hhqmmld2"; + }; + } + { + goPackagePath = "github.com/gorilla/websocket"; + fetch = { + type = "git"; + url = "https://github.com/gorilla/websocket"; + rev = "v1.4.0"; + sha256 = "00i4vb31nsfkzzk7swvx3i75r2d960js3dri1875vypk3v2s0pzk"; + }; + } + { + goPackagePath = "github.com/mattn/go-colorable"; + fetch = { + type = "git"; + url = "https://github.com/mattn/go-colorable"; + rev = "v0.0.9"; + sha256 = "1nwjmsppsjicr7anq8na6md7b1z84l9ppnlr045hhxjvbkqwalvx"; + }; + } + { + goPackagePath = "github.com/mattn/go-isatty"; + fetch = { + type = "git"; + url = "https://github.com/mattn/go-isatty"; + rev = "v0.0.4"; + sha256 = "0zs92j2cqaw9j8qx1sdxpv3ap0rgbs0vrvi72m40mg8aa36gd39w"; + }; + } + { + goPackagePath = "github.com/mattn/go-sqlite3"; + fetch = { + type = "git"; + url = "https://github.com/mattn/go-sqlite3"; + rev = "v1.10.0"; + sha256 = "1zmz6asplixfihxhj11spgfs0v3xzb3nv0hlq6n6zsg781ni31xx"; + }; + } + { + goPackagePath = "github.com/russross/blackfriday"; + fetch = { + type = "git"; + url = "https://github.com/russross/blackfriday"; + rev = "v2.0.1"; + sha256 = "0nlz7isdd4rgnwzs68499hlwicxz34j2k2a0b8jy0y7ycd2bcr5j"; + }; + } + { + goPackagePath = "github.com/shurcooL/sanitized_anchor_name"; + fetch = { + type = "git"; + url = "https://github.com/shurcooL/sanitized_anchor_name"; + rev = "v1.0.0"; + sha256 = "1gv9p2nr46z80dnfjsklc6zxbgk96349sdsxjz05f3z6wb6m5l8f"; + }; + } + { + goPackagePath = "github.com/skip2/go-qrcode"; + fetch = { + type = "git"; + url = "https://github.com/skip2/go-qrcode"; + rev = "dc11ecdae0a9"; + sha256 = "0mc70hsn5x2a66a9sbwlq51cng2s1aq7rw4pr9pif4xdzflkl057"; + }; + } + { + goPackagePath = "golang.org/x/crypto"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/crypto"; + rev = "ff983b9c42bc"; + sha256 = "1hpr06kzn8jnn3gvzp0p9zn4fz4l9h69f7x66idx142w4xdlaanz"; + }; + } + { + goPackagePath = "golang.org/x/net"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/net"; + rev = "915654e7eabc"; + sha256 = "0fzd7n2yc4qnnf2wk21zxy6gb01xviq2z1dzrbqcn8p1s4fjsqw5"; + }; + } + { + goPackagePath = "golang.org/x/sync"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sync"; + rev = "37e7f081c4d4"; + sha256 = "1bb0mw6ckb1k7z8v3iil2qlqwfj408fvvp8m1cik2b46p7snyjhm"; + }; + } + { + goPackagePath = "golang.org/x/sys"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sys"; + rev = "48ac38b7c8cb"; + sha256 = "037vs8sdvq310j3b6z9k62zlby1mzmsr9ha01rcy98dv5v8bkhin"; + }; + } + { + goPackagePath = "gopkg.in/check.v1"; + fetch = { + type = "git"; + url = "https://gopkg.in/check.v1"; + rev = "788fd7840127"; + sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a"; + }; + } + { + goPackagePath = "gopkg.in/yaml.v2"; + fetch = { + type = "git"; + url = "https://gopkg.in/yaml.v2"; + rev = "v2.2.2"; + sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa"; + }; + } + { + goPackagePath = "maunium.net/go/mauflag"; + fetch = { + type = "git"; + url = "https://github.com/tulir/mauflag.git"; + rev = "v1.0.0"; + sha256 = "09jv1819jwq5i29y6ngf4j4ii6qwlshydvprfvsfplc419dkz1vx"; + }; + } + { + goPackagePath = "maunium.net/go/maulogger"; + fetch = { + type = "git"; + url = "https://github.com/tulir/maulogger.git"; + rev = "v2.0.0"; + sha256 = "0qz4cpaqvcmrj3fb2bb6yrhw3k5h51crskricyqgg1b7aklphan5"; + }; + } + { + goPackagePath = "maunium.net/go/mautrix"; + fetch = { + type = "git"; + url = "https://github.com/tulir/mautrix-go.git"; + rev = "v0.1.0-alpha.3"; + sha256 = "12nlyij57ss2a5d1f1k1vsmjjvxp1fannlrbnp2jsj6rrsq0d2wr"; + }; + } + { + goPackagePath = "maunium.net/go/mautrix-appservice"; + fetch = { + type = "git"; + url = "https://github.com/tulir/mautrix-appservice-go.git"; + rev = "v0.1.0-alpha.3"; + sha256 = "17y11wgqbrafbq6bnn4rp2lzd50fjz9d6f8j3382jsara7ps95vr"; + }; + } +] diff --git a/pkgs/servers/misc/taskserver/default.nix b/pkgs/servers/misc/taskserver/default.nix index 63925d30c64..f15b7ca2e82 100644 --- a/pkgs/servers/misc/taskserver/default.nix +++ b/pkgs/servers/misc/taskserver/default.nix @@ -38,6 +38,6 @@ stdenv.mkDerivation rec { homepage = https://taskwarrior.org; license = stdenv.lib.licenses.mit; platforms = stdenv.lib.platforms.linux; - maintainers = with stdenv.lib.maintainers; [ makefu ]; + maintainers = with stdenv.lib.maintainers; [ matthiasbeyer makefu ]; }; } diff --git a/pkgs/servers/plex/default.nix b/pkgs/servers/plex/default.nix index cce1f5c6ab0..f94d185910f 100644 --- a/pkgs/servers/plex/default.nix +++ b/pkgs/servers/plex/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchurl, rpmextract, glibc +{ config, stdenv, fetchurl, rpmextract, glibc , dataDir ? "/var/lib/plex" # Plex's data directory must be baked into the package due to symlinks. -, enablePlexPass ? false +, enablePlexPass ? config.plex.enablePlexPass or false }: let diff --git a/pkgs/shells/oil/default.nix b/pkgs/shells/oil/default.nix index 8d3452b912b..d019457ab8a 100644 --- a/pkgs/shells/oil/default.nix +++ b/pkgs/shells/oil/default.nix @@ -1,13 +1,13 @@ { stdenv, lib, fetchurl }: let - version = "0.3.0"; + version = "0.6.pre15"; in stdenv.mkDerivation { name = "oil-${version}"; src = fetchurl { url = "https://www.oilshell.org/download/oil-${version}.tar.xz"; - sha256 = "0j4fyn6xjaf29xqyzm09ahazmq9v1hkxv4kps7n3lzdfr32a4kk9"; + sha256 = "1azdmicv39rp30msl6fpw6921gi6ib8lxiyc8kanljqk5d7zg4p6"; }; postPatch = '' diff --git a/pkgs/tools/bluetooth/blueman/default.nix b/pkgs/tools/bluetooth/blueman/default.nix index 63affdde718..84a2375302f 100644 --- a/pkgs/tools/bluetooth/blueman/default.nix +++ b/pkgs/tools/bluetooth/blueman/default.nix @@ -1,7 +1,7 @@ -{ stdenv, lib, fetchurl, intltool, pkgconfig, python3Packages, bluez, gtk3 +{ config, stdenv, lib, fetchurl, intltool, pkgconfig, python3Packages, bluez, gtk3 , obex_data_server, xdg_utils, libnotify, dnsmasq, dhcp , hicolor-icon-theme, librsvg, wrapGAppsHook, gobject-introspection -, withPulseAudio ? true, libpulseaudio }: +, withPulseAudio ? config.pulseaudio or stdenv.isLinux, libpulseaudio }: let pythonPackages = python3Packages; diff --git a/pkgs/tools/graphics/lepton/default.nix b/pkgs/tools/graphics/lepton/default.nix new file mode 100644 index 00000000000..fec092db0c5 --- /dev/null +++ b/pkgs/tools/graphics/lepton/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchFromGitHub, cmake, git, glibc }: + +stdenv.mkDerivation rec { + version = "1.2.1"; + name = "lepton-${version}"; + + src = fetchFromGitHub { + repo = "lepton"; + owner = "dropbox"; + rev = "c378cbfa2daaa99e8828be7395013f94cedb1bcc"; + sha256 = "1f2vyp0crj4yw27bs53vykf2fqk4w57gv3lh9dp89dh3y7wwh1ba"; + }; + + nativeBuildInputs = [ cmake git ]; + buildInputs = [ glibc.static ]; + + meta = with stdenv.lib; { + homepage = https://github.com/dropbox/lepton; + description = "A tool to losslessly compress JPEGs"; + license = licenses.asl20; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ artemist ]; + }; +} diff --git a/pkgs/tools/misc/aptly/default.nix b/pkgs/tools/misc/aptly/default.nix index 168a3f88772..27ee38b3417 100644 --- a/pkgs/tools/misc/aptly/default.nix +++ b/pkgs/tools/misc/aptly/default.nix @@ -2,14 +2,14 @@ let - version = "1.2.0"; + version = "1.3.0"; rev = "v${version}"; aptlySrc = fetchFromGitHub { inherit rev; - owner = "smira"; + owner = "aptly-dev"; repo = "aptly"; - sha256 = "1acnkmgarz9rp0skkh7zzwkhisjlmbl74jqjmqd3mn42y528c34b"; + sha256 = "032gw8qkxcgc0jyrvzqh7jkbmk4k0gf7j74hyhclfnjmd9548f5l"; }; aptlyCompletionSrc = fetchFromGitHub { @@ -26,7 +26,7 @@ buildGoPackage { src = aptlySrc; - goPackagePath = "github.com/smira/aptly"; + goPackagePath = "github.com/aptly-dev/aptly"; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix index 2a8734822ac..fa1729b929c 100644 --- a/pkgs/tools/misc/grub/2.0x.nix +++ b/pkgs/tools/misc/grub/2.0x.nix @@ -47,6 +47,21 @@ stdenv.mkDerivation rec { sha256 = "03vvdfhdmf16121v7xs8is2krwnv15wpkhkf16a4yf8nsfc3f2w1"; }; + patches = [ + ./fix-bash-completion.patch + # This patch makes grub compatible with the XFS sparse inode + # feature introduced by xfsprogs-4.16. + # to be removed in grub-2.03 + (fetchpatch { + url = https://git.savannah.gnu.org/cgit/grub.git/patch/?id=cda0a857dd7a27cd5d621747464bfe71e8727fff; + sha256 = "0k9qrkdxwdqk6sz05q9smqwjr6pvgc9adx1mlf0807g4im91xnm0"; + }) + ./relocation-not-implemented.diff + ]; + postPatch = '' + substituteInPlace ./configure --replace '/usr/share/fonts/unifont' '${unifont}/share/fonts' + ''; + nativeBuildInputs = [ bison flex python pkgconfig ]; buildInputs = [ ncurses libusb freetype gettext lvm2 fuse ] ++ optional doCheck qemu @@ -57,10 +72,6 @@ stdenv.mkDerivation rec { # Work around a bug in the generated flex lexer (upstream flex bug?) NIX_CFLAGS_COMPILE = "-Wno-error"; - postPatch = '' - substituteInPlace ./configure --replace '/usr/share/fonts/unifont' '${unifont}/share/fonts' - ''; - preConfigure = '' for i in "tests/util/"*.in do @@ -82,17 +93,6 @@ stdenv.mkDerivation rec { unset CPP # setting CPP intereferes with dependency calculation ''; - patches = [ - ./fix-bash-completion.patch - # This patch makes grub compatible with the XFS sparse inode - # feature introduced by xfsprogs-4.16. - # to be removed in grub-2.03 - (fetchpatch { - url = https://git.savannah.gnu.org/cgit/grub.git/patch/?id=cda0a857dd7a27cd5d621747464bfe71e8727fff; - sha256 = "0k9qrkdxwdqk6sz05q9smqwjr6pvgc9adx1mlf0807g4im91xnm0"; - }) - ]; - configureFlags = [ "--enable-grub-mount" ] # dep of os-prober ++ optional zfsSupport "--enable-libzfs" ++ optionals efiSupport [ "--with-platform=efi" "--target=${efiSystemsBuild.${stdenv.hostPlatform.system}.target}" "--program-prefix=" ] diff --git a/pkgs/tools/misc/grub/relocation-not-implemented.diff b/pkgs/tools/misc/grub/relocation-not-implemented.diff new file mode 100644 index 00000000000..0b7bf947d14 --- /dev/null +++ b/pkgs/tools/misc/grub/relocation-not-implemented.diff @@ -0,0 +1,25 @@ +https://git.savannah.gnu.org/cgit/grub.git/commit/util?id=842c390469e2c2e10b5 +diff --git a/util/grub-mkimagexx.c b/util/grub-mkimagexx.c +index a2bb054..39d7efb 100644 +--- a/util/grub-mkimagexx.c ++++ b/util/grub-mkimagexx.c +@@ -841,6 +841,7 @@ SUFFIX (relocate_addresses) (Elf_Ehdr *e, Elf_Shdr *sections, + break; + + case R_X86_64_PC32: ++ case R_X86_64_PLT32: + { + grub_uint32_t *t32 = (grub_uint32_t *) target; + *t32 = grub_host_to_target64 (grub_target_to_host32 (*t32) +diff --git a/util/grub-module-verifier.c b/util/grub-module-verifier.c +index 9179285..a79271f 100644 +--- a/util/grub-module-verifier.c ++++ b/util/grub-module-verifier.c +@@ -19,6 +19,7 @@ struct grub_module_verifier_arch archs[] = { + -1 + }, (int[]){ + R_X86_64_PC32, ++ R_X86_64_PLT32, + -1 + } + }, diff --git a/pkgs/tools/misc/mpdscribble/default.nix b/pkgs/tools/misc/mpdscribble/default.nix index 6913f1c11fd..ca6808effda 100644 --- a/pkgs/tools/misc/mpdscribble/default.nix +++ b/pkgs/tools/misc/mpdscribble/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { description = "A Music Player Daemon (MPD) client which submits information about tracks beeing played to a scrobbler (e.g. last.fm)"; homepage = http://mpd.wikia.com/wiki/Client:mpdscribble; license = licenses.gpl2; - maintainers = [ ]; + maintainers = [ maintainers.matthiasbeyer ]; platforms = platforms.linux; }; } diff --git a/pkgs/tools/misc/multitail/default.nix b/pkgs/tools/misc/multitail/default.nix index 48714a4b6e8..07561d390cd 100644 --- a/pkgs/tools/misc/multitail/default.nix +++ b/pkgs/tools/misc/multitail/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.vanheusden.com/multitail/; description = "tail on Steroids"; - maintainers = with stdenv.lib.maintainers; [ ]; + maintainers = with stdenv.lib.maintainers; [ matthiasbeyer ]; platforms = stdenv.lib.platforms.unix; license = stdenv.lib.licenses.gpl2Plus; }; diff --git a/pkgs/tools/misc/skim/default.nix b/pkgs/tools/misc/skim/default.nix index f1df0691205..52cc5671531 100644 --- a/pkgs/tools/misc/skim/default.nix +++ b/pkgs/tools/misc/skim/default.nix @@ -2,13 +2,13 @@ rustPlatform.buildRustPackage rec { name = "skim-${version}"; - version = "0.5.2"; + version = "0.5.4"; src = fetchFromGitHub { owner = "lotabout"; repo = "skim"; rev = "v${version}"; - sha256 = "1b3l0h69cm70669apsgzp7qw1k5fi2gbk9176hjr9iypbdiwjyir"; + sha256 = "1mn0wa10f9ik6ddhwjdd1n15gdif10284zpwbrwprya643959aj2"; }; outputs = [ "out" "vim" ]; @@ -21,6 +21,7 @@ rustPlatform.buildRustPackage rec { postInstall = '' install -D -m 555 bin/sk-tmux -t $out/bin + install -D -m 644 shell/skim.1 $out/man/man1/skim.1 install -D -m 444 shell/* -t $out/share/skim install -D -m 444 plugin/skim.vim -t $vim/plugin diff --git a/pkgs/tools/misc/smenu/default.nix b/pkgs/tools/misc/smenu/default.nix index b5c963307df..2b9f83041a4 100644 --- a/pkgs/tools/misc/smenu/default.nix +++ b/pkgs/tools/misc/smenu/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { your selection will be sent to standard output. ''; license = licenses.gpl2; - maintainers = [ ]; + maintainers = [ maintainers.matthiasbeyer ]; platforms = platforms.linux; }; } diff --git a/pkgs/tools/misc/vdirsyncer/default.nix b/pkgs/tools/misc/vdirsyncer/default.nix index 2212ba870c4..f538fcbe4ec 100644 --- a/pkgs/tools/misc/vdirsyncer/default.nix +++ b/pkgs/tools/misc/vdirsyncer/default.nix @@ -71,7 +71,7 @@ python3Packages.buildPythonApplication rec { meta = with stdenv.lib; { homepage = https://github.com/pimutils/vdirsyncer; description = "Synchronize calendars and contacts"; - maintainers = with maintainers; [ jgeerds ]; + maintainers = with maintainers; [ matthiasbeyer jgeerds ]; platforms = platforms.all; license = licenses.mit; }; diff --git a/pkgs/tools/misc/vimer/default.nix b/pkgs/tools/misc/vimer/default.nix index 7ccc6e9dc27..a655aa9502e 100644 --- a/pkgs/tools/misc/vimer/default.nix +++ b/pkgs/tools/misc/vimer/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { in an existing instance of GVim or MacVim. ''; license = licenses.mit; - maintainers = [ ]; + maintainers = [ maintainers.matthiasbeyer ]; platforms = platforms.linux; }; diff --git a/pkgs/tools/misc/xsel/default.nix b/pkgs/tools/misc/xsel/default.nix index 604868f8c49..0ec7d58598f 100644 --- a/pkgs/tools/misc/xsel/default.nix +++ b/pkgs/tools/misc/xsel/default.nix @@ -3,23 +3,18 @@ stdenv.mkDerivation rec { name = "xsel-unstable-${version}"; - version = "2016-09-02"; + version = "2018-01-10"; src = fetchFromGitHub { owner = "kfish"; repo = "xsel"; - rev = "aa7f57eed805adb09e9c59c8ea841870e8206b81"; - sha256 = "04mrc8j0rr7iy1k6brfxnx26pmxm800gh4nqrxn6j2lz6vd5y9m5"; + rev = "9bfc13d64b5acb92c6648c696a9d9260fcbecc65"; + sha256 = "05ms34by5hxznnpvmvhgp6llvlkz0zw4sq6c4bgwr82lj140lscm"; }; nativeBuildInputs = [ autoreconfHook ]; buildInputs = [ libX11 ]; - # We need a README file, otherwise autoconf complains. - postUnpack = '' - mv $sourceRoot/README{.md,} - ''; - meta = with lib; { description = "Command-line program for getting and setting the contents of the X selection"; homepage = http://www.kfish.org/software/xsel; diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix index 0598976ec98..fbba83d7a33 100644 --- a/pkgs/tools/misc/youtube-dl/default.nix +++ b/pkgs/tools/misc/youtube-dl/default.nix @@ -19,11 +19,11 @@ buildPythonPackage rec { # The websites youtube-dl deals with are a very moving target. That means that # downloads break constantly. Because of that, updates should always be backported # to the latest stable release. - version = "2019.01.30.1"; + version = "2019.02.18"; src = fetchurl { url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz"; - sha256 = "0wamv1fs4w8jjx67p60rgrgdi6k04yy0h4p3cwscza5pzhpmvnlf"; + sha256 = "1sr0f6ixpaqyp3cf29zswx84y3nfabwnk3sljcgvgnmjp73zzfv1"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/tools/networking/http-prompt/default.nix b/pkgs/tools/networking/http-prompt/default.nix index 69b23b3e3a4..78dc52905d8 100644 --- a/pkgs/tools/networking/http-prompt/default.nix +++ b/pkgs/tools/networking/http-prompt/default.nix @@ -29,7 +29,7 @@ pythonPackages.buildPythonApplication rec { description = "An interactive command-line HTTP client featuring autocomplete and syntax highlighting"; homepage = https://github.com/eliangcs/http-prompt; license = licenses.mit; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ matthiasbeyer ]; platforms = platforms.linux; # can only test on linux }; } diff --git a/pkgs/tools/networking/lftp/default.nix b/pkgs/tools/networking/lftp/default.nix index bb627f49971..b4886f58cbb 100644 --- a/pkgs/tools/networking/lftp/default.nix +++ b/pkgs/tools/networking/lftp/default.nix @@ -21,10 +21,14 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-readline=${readline.dev}" + "--with-zlib=${zlib.dev}" + "--without-expat" ]; installFlags = [ "PREFIX=$(out)" ]; + enableParallelBuilding = true; + meta = with stdenv.lib; { description = "A file transfer program supporting a number of network protocols"; homepage = https://lftp.tech/; diff --git a/pkgs/tools/security/ibm-sw-tpm2/default.nix b/pkgs/tools/security/ibm-sw-tpm2/default.nix new file mode 100644 index 00000000000..cec31cec377 --- /dev/null +++ b/pkgs/tools/security/ibm-sw-tpm2/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchurl, lib, openssl }: + +stdenv.mkDerivation rec { + pname = "ibm-sw-tpm2"; + version = "1332"; + + src = fetchurl { + url = "mirror://sourceforge/ibmswtpm2/ibmtpm${version}.tar.gz"; + sha256 = "1zdhi8acd4jfp1v7ibd86hcv0g39yk8qrnhxjmmgzn8i7npr70cf"; + }; + + buildInputs = [ openssl ]; + + sourceRoot = "src"; + + prePatch = '' + # Fix hardcoded path to GCC. + substituteInPlace makefile --replace /usr/bin/gcc "${stdenv.cc}/bin/cc" + + # Remove problematic default CFLAGS. + substituteInPlace makefile \ + --replace -Werror "" \ + --replace -O0 "" \ + --replace -ggdb "" + ''; + + installPhase = '' + mkdir -p $out/bin + cp tpm_server $out/bin + ''; + + meta = with lib; { + description = "IBM's Software TPM 2.0, an implementation of the TCG TPM 2.0 specification"; + homepage = https://sourceforge.net/projects/ibmswtpm2/; + platforms = platforms.linux; + maintainers = with maintainers; [ delroth ]; + license = licenses.bsd3; + }; +} diff --git a/pkgs/tools/security/tpm2-tools/default.nix b/pkgs/tools/security/tpm2-tools/default.nix new file mode 100644 index 00000000000..84369e6ea54 --- /dev/null +++ b/pkgs/tools/security/tpm2-tools/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchurl, fetchpatch, lib +, cmocka, curl, pandoc, pkgconfig, openssl, tpm2-tss }: + +stdenv.mkDerivation rec { + pname = "tpm2-tools"; + version = "3.1.3"; + + src = fetchurl { + url = "https://github.com/tpm2-software/${pname}/releases/download/${version}/${pname}-${version}.tar.gz"; + sha256 = "05is1adwcg7y2p121yldd8m1gigdnzf9izbjazvsr6yg95pmg5fc"; + }; + + patches = [ + (fetchpatch { + name = "tests-tss-2.2.0-compat.patch"; + url = "https://patch-diff.githubusercontent.com/raw/tpm2-software/tpm2-tools/pull/1322.patch"; + sha256 = "0yy5qbgbd13d7cl8pzsji95a6qnwiik5s2cyqj35jd8blymikqxh"; + }) + ]; + + nativeBuildInputs = [ pandoc pkgconfig ]; + buildInputs = [ + curl openssl tpm2-tss + # For unit tests. + cmocka + ]; + + configureFlags = [ "--enable-unit" ]; + doCheck = true; + + meta = with lib; { + description = "Command line tools that provide access to a TPM 2.0 compatible device"; + homepage = https://github.com/tpm2-software/tpm2-tools; + license = licenses.bsd3; + platforms = platforms.linux; + maintainers = with maintainers; [ delroth ]; + }; +} diff --git a/pkgs/tools/system/gotop/default.nix b/pkgs/tools/system/gotop/default.nix index 2b918d15581..745139f9e50 100644 --- a/pkgs/tools/system/gotop/default.nix +++ b/pkgs/tools/system/gotop/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "gotop-${version}"; - version = "1.7.1"; + version = "2.0.1"; goPackagePath = "github.com/cjbassi/gotop"; @@ -10,11 +10,9 @@ buildGoPackage rec { repo = "gotop"; owner = "cjbassi"; rev = version; - sha256 = "0dxnhal10kv6ypsg6mildzpz6vi1iw996q47f4rv8hvfyrffhzc9"; + sha256 = "0xpm8nrn53kz65f93czflgdgr2a33qfi1w0gsgngrmaliq1vlpji"; }; - goDeps = ./deps.nix; - meta = with stdenv.lib; { description = "A terminal based graphical activity monitor inspired by gtop and vtop"; homepage = https://github.com/cjbassi/gotop; diff --git a/pkgs/tools/system/gotop/deps.nix b/pkgs/tools/system/gotop/deps.nix deleted file mode 100644 index ceae7857551..00000000000 --- a/pkgs/tools/system/gotop/deps.nix +++ /dev/null @@ -1,39 +0,0 @@ -# This file was generated by https://github.com/kamilchm/go2nix v1.3.0 -[ - { - goPackagePath = "github.com/cjbassi/termui"; - fetch = { - type = "git"; - url = "https://github.com/cjbassi/termui"; - rev = "e8dd23f6146c0e0d80f1be0163b8069abfbb921b"; - sha256 = "0jds2mpa7whrwaznlkcn2y92q41zbf2rjj5267kl8zqllbia8cbx"; - }; - } - { - goPackagePath = "github.com/docopt/docopt-go"; - fetch = { - type = "git"; - url = "https://github.com/docopt/docopt-go"; - rev = "ee0de3bc6815ee19d4a46c7eb90f829db0e014b1"; - sha256 = "0hlra7rmi5pmd7d93rv56ahiy4qkgmq8a6mz0jpadvbi5qh8lq6j"; - }; - } - { - goPackagePath = "github.com/shirou/gopsutil"; - fetch = { - type = "git"; - url = "https://github.com/shirou/gopsutil"; - rev = "51e6519305e4871657c291a6281fcddc6364bbef"; - sha256 = "1pvvaj51m0w2v6bp5hhhzfy27hbicf4ga7r9m073vqcwjnfyz431"; - }; - } - { - goPackagePath = "golang.org/x/sys"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/sys"; - rev = "9b800f95dbbc54abff0acf7ee32d88ba4e328c89"; - sha256 = "07v3l7q7y59cwvw0mc85i39v7qjcc1jh4svwi789rmrqqm5nq7q6"; - }; - } -] diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7487ff65d69..d3468d31f07 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -226,9 +226,7 @@ in fetchs3 = callPackage ../build-support/fetchs3 { }; - fetchsvn = callPackage ../build-support/fetchsvn { - sshSupport = true; - }; + fetchsvn = callPackage ../build-support/fetchsvn { }; fetchsvnrevision = import ../build-support/fetchsvnrevision runCommand subversion; @@ -785,7 +783,6 @@ in androidenv = callPackage ../development/mobile/androidenv { pkgs_i686 = pkgsi686Linux; - licenseAccepted = config.android_sdk.accept_license or false; }; androidndkPkgs = androidndkPkgs_18b; @@ -936,7 +933,6 @@ in tensor = libsForQt5.callPackage ../applications/networking/instant-messengers/tensor { }; libtensorflow = callPackage ../development/libraries/libtensorflow { - cudaSupport = config.cudaSupport or false; inherit (linuxPackages) nvidia_x11; cudatoolkit = cudatoolkit_9_0; cudnn = cudnn_cudatoolkit_9_0; @@ -1491,6 +1487,8 @@ in languagetool = callPackage ../tools/text/languagetool { }; + lepton = callPackage ../tools/graphics/lepton { }; + lief = callPackage ../development/libraries/lief {}; libndtypes = callPackage ../development/libraries/libndtypes { }; @@ -1765,9 +1763,7 @@ in inherit (python27Packages) pillow; }; - blueman = callPackage ../tools/bluetooth/blueman { - withPulseAudio = config.pulseaudio or true; - }; + blueman = callPackage ../tools/bluetooth/blueman { }; bmrsa = callPackage ../tools/security/bmrsa/11.nix { }; @@ -3363,6 +3359,8 @@ in iannix = libsForQt5.callPackage ../applications/audio/iannix { }; + ibm-sw-tpm2 = callPackage ../tools/security/ibm-sw-tpm2 { }; + ibniz = callPackage ../tools/graphics/ibniz { }; icecast = callPackage ../servers/icecast { }; @@ -3749,6 +3747,8 @@ in mautrix-telegram = callPackage ../servers/mautrix-telegram { }; + mautrix-whatsapp = callPackage ../servers/mautrix-whatsapp { }; + mdbook = callPackage ../tools/text/mdbook { inherit (darwin.apple_sdk.frameworks) CoreServices; }; @@ -4038,9 +4038,7 @@ in ltris = callPackage ../games/ltris { }; lxc = callPackage ../os-specific/linux/lxc { }; - lxcfs = callPackage ../os-specific/linux/lxcfs { - enableDebugBuild = config.lxcfs.enableDebugBuild or false; - }; + lxcfs = callPackage ../os-specific/linux/lxcfs { }; lxd = callPackage ../tools/admin/lxd { }; lzfse = callPackage ../tools/compression/lzfse { }; @@ -4879,7 +4877,7 @@ in playbar2 = libsForQt5.callPackage ../applications/audio/playbar2 { }; - plex = callPackage ../servers/plex { enablePlexPass = config.plex.enablePlexPass or false; }; + plex = callPackage ../servers/plex { }; plexpy = callPackage ../servers/plexpy { python = python2; }; @@ -5827,6 +5825,8 @@ in tpm-luks = callPackage ../tools/security/tpm-luks { }; + tpm2-tools = callPackage ../tools/security/tpm2-tools { }; + trezord = callPackage ../servers/trezord { }; tthsum = callPackage ../applications/misc/tthsum { }; @@ -6958,9 +6958,7 @@ in inherit (gnome2) libart_lgpl; }); - gnu-smalltalk = callPackage ../development/compilers/gnu-smalltalk { - emacsSupport = config.emacsSupport or false; - }; + gnu-smalltalk = callPackage ../development/compilers/gnu-smalltalk { }; gccgo = gccgo6; gccgo6 = wrapCC (gcc6.cc.override { @@ -7201,14 +7199,12 @@ in (if pluginSupport then appendToName "with-plugin" else x: x) (callPackage ../development/compilers/oraclejdk/jdk8cpu-linux.nix { inherit installjdk pluginSupport; - licenseAccepted = config.oraclejdk.accept_license or false; }); oraclejdk8psu_distro = installjdk: pluginSupport: (if pluginSupport then appendToName "with-plugin" else x: x) (callPackage ../development/compilers/oraclejdk/jdk8psu-linux.nix { inherit installjdk pluginSupport; - licenseAccepted = config.oraclejdk.accept_license or false; }); javacard-devkit = pkgsi686Linux.callPackage ../development/compilers/javacard-devkit { }; @@ -9013,14 +9009,10 @@ in r10k = callPackage ../tools/system/r10k { }; - inherit (callPackages ../development/tools/analysis/radare2 { + inherit (callPackages ../development/tools/analysis/radare2 ({ inherit (gnome2) vte; lua = lua5; - useX11 = config.radare.useX11 or false; - pythonBindings = config.radare.pythonBindings or false; - rubyBindings = config.radare.rubyBindings or false; - luaBindings = config.radare.luaBindings or false; - }) radare2 r2-for-cutter; + } // (config.radare or {}))) radare2 r2-for-cutter; radare2-cutter = libsForQt5.callPackage ../development/tools/analysis/radare2/cutter.nix { }; @@ -9361,6 +9353,12 @@ in inherit (darwin.apple_sdk.frameworks) AudioUnit CoreServices; }; + aws-c-common = callPackage ../development/libraries/aws-c-common { }; + + aws-c-event-stream = callPackage ../development/libraries/aws-c-event-stream { }; + + aws-checksums = callPackage ../development/libraries/aws-checksums { }; + aws-sdk-cpp = callPackage ../development/libraries/aws-sdk-cpp { inherit (darwin.apple_sdk.frameworks) CoreAudio AudioToolbox; }; @@ -10117,12 +10115,9 @@ in # https://github.com/NixOS/nixpkgs/commit/d6454e6a1 then ../development/libraries/gnutls/3.5.10.nix else ../development/libraries/gnutls/3.6.nix) - { - guileBindings = config.gnutls.guile or false; - }; + { }; gnutls-kdh = callPackage ../development/libraries/gnutls-kdh/3.5.nix { - guileBindings = config.gnutls.guile or false; gperf = gperf_3_0; }; @@ -10180,11 +10175,7 @@ in pixman = callPackage ../development/libraries/pixman { }; - cairo = callPackage ../development/libraries/cairo { - glSupport = config.cairo.gl or (stdenv.isLinux && - !stdenv.isAarch32 && !stdenv.isMips); - }; - + cairo = callPackage ../development/libraries/cairo { }; cairomm = callPackage ../development/libraries/cairomm { }; @@ -10211,7 +10202,6 @@ in elementary-cmake-modules = callPackage ../development/libraries/elementary-cmake-modules { }; gtk2 = callPackage ../development/libraries/gtk+/2.x.nix { - cupsSupport = config.gtk2.cups or stdenv.isLinux; inherit (darwin.apple_sdk.frameworks) AppKit Cocoa; }; @@ -10976,7 +10966,6 @@ in libinotify-kqueue = callPackage ../development/libraries/libinotify-kqueue { }; libiodbc = callPackage ../development/libraries/libiodbc { - useGTK = config.libiodbc.gtk or false; inherit (darwin.apple_sdk.frameworks) Carbon; }; @@ -11866,7 +11855,6 @@ in }; opencv3 = callPackage ../development/libraries/opencv/3.x.nix { - enableCuda = config.cudaSupport or false; inherit (darwin) cf-private; inherit (darwin.apple_sdk.frameworks) AVFoundation Cocoa QTKit VideoDecodeAcceleration; }; @@ -11876,7 +11864,6 @@ in }; opencv4 = callPackage ../development/libraries/opencv/4.x.nix { - enableCuda = config.cudaSupport or false; inherit (darwin) cf-private; inherit (darwin.apple_sdk.frameworks) AVFoundation Cocoa QTKit VideoDecodeAcceleration; }; @@ -11935,7 +11922,6 @@ in openssl-chacha = callPackage ../development/libraries/openssl/chacha.nix { }; opensubdiv = callPackage ../development/libraries/opensubdiv { - cudaSupport = config.cudaSupport or false; cmake = cmake_2_8; }; @@ -12100,7 +12086,6 @@ in qolibri = libsForQt5.callPackage ../applications/misc/qolibri { }; qt3 = callPackage ../development/libraries/qt-3 { - openglSupport = libGLSupported; libpng = libpng12; }; @@ -12140,6 +12125,7 @@ in harfbuzz = harfbuzzFull; inherit libGL; inherit perl; + inherit (darwin) cf-private; inherit (gst_all_1) gstreamer gst-plugins-base; }); @@ -12830,6 +12816,8 @@ in totem-pl-parser = callPackage ../development/libraries/totem-pl-parser { }; + tpm2-tss = callPackage ../development/libraries/tpm2-tss { }; + tremor = callPackage ../development/libraries/tremor { }; twolame = callPackage ../development/libraries/twolame { }; @@ -13009,21 +12997,18 @@ in wxGTK28 = callPackage ../development/libraries/wxwidgets/2.8 { inherit (gnome2) GConf; - withMesa = lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms; }; wxGTK29 = callPackage ../development/libraries/wxwidgets/2.9 { inherit (gnome2) GConf; inherit (darwin.stubs) setfile; inherit (darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QuickTime; - withMesa = lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms; }; wxGTK30 = callPackage ../development/libraries/wxwidgets/3.0 { inherit (gnome2) GConf; inherit (darwin.stubs) setfile; inherit (darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QTKit; - withMesa = lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms; }; wxGTK31 = callPackage ../development/libraries/wxwidgets/3.1 {}; @@ -13073,9 +13058,7 @@ in xalanc = callPackage ../development/libraries/xalanc {}; - xgboost = callPackage ../development/libraries/xgboost { - cudaSupport = config.cudaSupport or false; - }; + xgboost = callPackage ../development/libraries/xgboost { }; xgeometry-select = callPackage ../tools/X11/xgeometry-select { }; @@ -13465,10 +13448,7 @@ in bftpd = callPackage ../servers/ftp/bftpd {}; - bind = callPackage ../servers/dns/bind { - enablePython = config.bind.enablePython or false; - python3 = python3.withPackages (ps: with ps; [ ply ]); - }; + bind = callPackage ../servers/dns/bind { }; dnsutils = bind.dnsutils; inherit (callPackages ../servers/bird { }) @@ -14303,6 +14283,8 @@ in inherit (python3Packages) bedup; + bolt = callPackage ../os-specific/linux/bolt { }; + bridge-utils = callPackage ../os-specific/linux/bridge-utils { }; busybox = callPackage ../os-specific/linux/busybox { }; @@ -14322,8 +14304,7 @@ in conky = callPackage ../os-specific/linux/conky ({ lua = lua5_3_compat; - libXNVCtrl = linuxPackages.nvidia_x11.settings.libXNVCtrl; - pulseSupport = config.pulseaudio or false; + inherit (linuxPackages.nvidia_x11.settings) libXNVCtrl; } // config.conky or {}); conntrack-tools = callPackage ../os-specific/linux/conntrack-tools { }; @@ -15102,10 +15083,7 @@ in pax-utils = callPackage ../os-specific/linux/pax-utils { }; - pcmciaUtils = callPackage ../os-specific/linux/pcmciautils { - firmware = config.pcmciaUtils.firmware or []; - config = config.pcmciaUtils.config or null; - }; + pcmciaUtils = callPackage ../os-specific/linux/pcmciautils { }; pcstat = callPackage ../tools/system/pcstat { }; @@ -15471,9 +15449,7 @@ in comic-relief = callPackage ../data/fonts/comic-relief {}; - coreclr = callPackage ../development/compilers/coreclr { - debug = config.coreclr.debug or false; - }; + coreclr = callPackage ../development/compilers/coreclr { }; corefonts = callPackage ../data/fonts/corefonts { }; @@ -16056,9 +16032,7 @@ in agedu = callPackage ../tools/misc/agedu { }; - ahoviewer = callPackage ../applications/graphics/ahoviewer { - useUnrar = config.ahoviewer.useUnrar or false; - }; + ahoviewer = callPackage ../applications/graphics/ahoviewer { }; airwave = callPackage ../applications/audio/airwave { }; @@ -16292,7 +16266,6 @@ in bleachbit = callPackage ../applications/misc/bleachbit { }; blender = callPackage ../applications/misc/blender { - cudaSupport = config.cudaSupport or false; pythonPackages = python35Packages; stdenv = overrideCC stdenv gcc6; }; @@ -16417,7 +16390,6 @@ in claws-mail = callPackage ../applications/networking/mailreaders/claws-mail { inherit (gnome3) gsettings-desktop-schemas; inherit (xorg) libSM; - enableNetworkManager = config.networking.networkmanager.enable or false; }; clfswm = callPackage ../applications/window-managers/clfswm { }; @@ -17540,9 +17512,7 @@ in gv = callPackage ../applications/misc/gv { }; - guvcview = callPackage ../os-specific/linux/guvcview { - pulseaudioSupport = config.pulseaudio or true; - }; + guvcview = callPackage ../os-specific/linux/guvcview { }; gxmessage = callPackage ../applications/misc/gxmessage { }; @@ -17895,12 +17865,19 @@ in inherit (kdeFrameworks) kdesu; - kdevelop-pg-qt = libsForQt5.callPackage ../applications/editors/kdevelop5/kdevelop-pg-qt.nix {}; + kdevelop-pg-qt = libsForQt5.callPackage ../applications/editors/kdevelop5/kdevelop-pg-qt.nix { }; - kdevelop = libsForQt5.callPackage ../applications/editors/kdevelop5/kdevelop.nix { + kdevelop-unwrapped = libsForQt5.callPackage ../applications/editors/kdevelop5/kdevelop.nix { llvmPackages = llvmPackages_7; }; + kdev-php = libsForQt5.callPackage ../applications/editors/kdevelop5/kdev-php.nix { }; + kdev-python = libsForQt5.callPackage ../applications/editors/kdevelop5/kdev-python.nix { + python = python3; + }; + + kdevelop = libsForQt5.callPackage ../applications/editors/kdevelop5/wrapper.nix { }; + keepnote = callPackage ../applications/office/keepnote { }; kega-fusion = pkgsi686Linux.callPackage ../misc/emulators/kega-fusion { }; @@ -18376,19 +18353,8 @@ in # !!! should depend on MPlayer }; - mpv = callPackage ../applications/video/mpv rec { + mpv = callPackage ../applications/video/mpv { inherit lua; - waylandSupport = stdenv.isLinux; - alsaSupport = !stdenv.isDarwin; - pulseSupport = !stdenv.isDarwin; - rubberbandSupport = !stdenv.isDarwin; - dvdreadSupport = !stdenv.isDarwin; - dvdnavSupport = !stdenv.isDarwin; - drmSupport = !stdenv.isDarwin; - vaapiSupport = !stdenv.isDarwin; - x11Support = !stdenv.isDarwin; - xineramaSupport = !stdenv.isDarwin; - xvSupport = !stdenv.isDarwin; }; mpv-with-scripts = callPackage ../applications/video/mpv/wrapper.nix { }; @@ -18646,10 +18612,7 @@ in obs-linuxbrowser = callPackage ../applications/video/obs-studio/linuxbrowser.nix { }; - obs-studio = libsForQt5.callPackage ../applications/video/obs-studio { - alsaSupport = stdenv.isLinux; - pulseaudioSupport = config.pulseaudio or true; - }; + obs-studio = libsForQt5.callPackage ../applications/video/obs-studio { }; octoprint = callPackage ../applications/misc/octoprint { }; @@ -18713,9 +18676,7 @@ in vivaldi-ffmpeg-codecs = callPackage ../applications/networking/browsers/vivaldi/ffmpeg-codecs.nix {}; - openmpt123 = callPackage ../applications/audio/openmpt123 { - usePulseAudio = config.pulseaudio or false; - }; + openmpt123 = callPackage ../applications/audio/openmpt123 { }; opusfile = callPackage ../applications/audio/opusfile { }; @@ -18749,7 +18710,7 @@ in pavucontrol = callPackage ../applications/audio/pavucontrol { }; - paraview = libsForQt59.callPackage ../applications/graphics/paraview { }; + paraview = libsForQt5.callPackage ../applications/graphics/paraview { }; packet = callPackage ../development/tools/packet { }; @@ -19422,9 +19383,7 @@ in soulseekqt = libsForQt5.callPackage ../applications/networking/p2p/soulseekqt { }; - sox = callPackage ../applications/misc/audio/sox { - enableLame = config.sox.enableLame or false; - }; + sox = callPackage ../applications/misc/audio/sox { }; soxr = callPackage ../applications/misc/audio/soxr { }; @@ -20295,18 +20254,15 @@ in }; xmonad_log_applet = callPackage ../applications/window-managers/xmonad/log-applet { - desktopSupport = "gnomeflashback"; inherit (xfce) libxfce4util xfce4-panel; }; xmonad_log_applet_mate = xmonad_log_applet.override { desktopSupport = "mate"; - inherit (xfce) libxfce4util xfce4-panel; }; xmonad_log_applet_xfce = xmonad_log_applet.override { desktopSupport = "xfce4"; - inherit (xfce) libxfce4util xfce4-panel; }; xmpp-client = callPackage ../applications/networking/instant-messengers/xmpp-client { }; @@ -20407,9 +20363,7 @@ in boost = boost160; }; - zathura = callPackage ../applications/misc/zathura { - useMupdf = config.zathura.useMupdf or true; - }; + zathura = callPackage ../applications/misc/zathura { }; zeroc_ice = callPackage ../development/libraries/zeroc-ice { inherit (darwin.apple_sdk.frameworks) Security; @@ -21043,11 +20997,7 @@ in steamPackages = callPackage ../games/steam { }; - steam = steamPackages.steam-chrootenv.override { - # DEPRECATED - withJava = config.steam.java or false; - withPrimus = config.steam.primus or false; - }; + steam = steamPackages.steam-chrootenv; steam-run = steam.run; steam-run-native = (steam.override { @@ -21575,9 +21525,7 @@ in ### SCIENCE/MACHINE LEARNING - sc2-headless = callPackage ../applications/science/machine-learning/sc2-headless { - licenseAccepted = (config.sc2-headless.accept_license or false); - }; + sc2-headless = callPackage ../applications/science/machine-learning/sc2-headless { }; ### SCIENCE/MATH @@ -21993,28 +21941,21 @@ in ### SCIENCE / MATH - caffe = callPackage ../applications/science/math/caffe rec { - cudaSupport = config.caffe.cudaSupport or config.cudaSupport or false; - cudnnSupport = cudaSupport; - # Used only for image loading. - opencv3 = opencv3WithoutCuda; + caffe = callPackage ../applications/science/math/caffe ({ + opencv3 = opencv3WithoutCuda; # Used only for image loading. inherit (darwin.apple_sdk.frameworks) Accelerate CoreGraphics CoreVideo; - }; + } // (config.caffe or {})); caffe2 = callPackage ../development/libraries/science/math/caffe2 (rec { inherit (python36Packages) python future six numpy pydot; protobuf = protobuf3_1; python-protobuf = python36Packages.protobuf.override { inherit protobuf; }; - # Used only for image loading. - opencv3 = opencv3WithoutCuda; + opencv3 = opencv3WithoutCuda; # Used only for image loading. }); - cntk = callPackage ../applications/science/math/cntk rec { - cudaSupport = pkgs.config.cudaSupport or false; - cudnnSupport = cudaSupport; + cntk = callPackage ../applications/science/math/cntk { inherit (linuxPackages) nvidia_x11; - # Used only for image loading. - opencv3 = opencv3WithoutCuda; + opencv3 = opencv3WithoutCuda; # Used only for image loading. }; ecm = callPackage ../applications/science/math/ecm { }; @@ -22045,9 +21986,7 @@ in sbcl = null; }; - mxnet = callPackage ../applications/science/math/mxnet rec { - cudaSupport = config.cudaSupport or false; - cudnnSupport = cudaSupport; + mxnet = callPackage ../applications/science/math/mxnet { inherit (linuxPackages) nvidia_x11; }; diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 15d4cf3f213..3e59bf872d5 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -55,7 +55,7 @@ in { }; ghc844 = callPackage ../development/compilers/ghc/8.4.4.nix { bootPkgs = packages.ghc822Binary; - inherit (buildPackages.python3Packages) sphinx; + sphinx = null; # broken with sphinx 1.8.x buildLlvmPackages = buildPackages.llvmPackages_5; llvmPackages = pkgs.llvmPackages_5; }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 07715ce856a..0077482ab17 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -305,7 +305,7 @@ in { cdecimal = callPackage ../development/python-modules/cdecimal { }; cfn-flip = callPackage ../development/python-modules/cfn-flip { }; - + chalice = callPackage ../development/python-modules/chalice { }; cleo = callPackage ../development/python-modules/cleo { }; @@ -492,6 +492,8 @@ in { nanomsg-python = callPackage ../development/python-modules/nanomsg-python { inherit (pkgs) nanomsg; }; + nbsphinx = callPackage ../development/python-modules/nbsphinx { }; + nbval = callPackage ../development/python-modules/nbval { }; nest-asyncio = callPackage ../development/python-modules/nest-asyncio { }; @@ -718,6 +720,8 @@ in { python-binance = callPackage ../development/python-modules/python-binance { }; + python-dbusmock = callPackage ../development/python-modules/python-dbusmock { }; + python-engineio = callPackage ../development/python-modules/python-engineio { }; python-hosts = callPackage ../development/python-modules/python-hosts { };