From 60369bb333534d0cfcfe7bd34958b5a95739a60a Mon Sep 17 00:00:00 2001 From: Martin Schwaighofer Date: Wed, 20 Oct 2021 16:12:07 +0200 Subject: [PATCH 01/46] nixos/vmware-guest: fix headless option The headless option broke with 7d8b303e3fd76ccf58cfe26348e889def3663546 because the path /bin/vmware-user-suid-wrapper does not exist in the headless variant of the open-vm-tools package. Since the vmblock fuse mount and vmware-user-suid-wrapper seem to only be used for shared folders and drag and drop, they should not exist in the vmware-guest module if it is configured as headless. --- nixos/modules/virtualisation/vmware-guest.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nixos/modules/virtualisation/vmware-guest.nix b/nixos/modules/virtualisation/vmware-guest.nix index 7b25ffc440f8..480a9703cef3 100644 --- a/nixos/modules/virtualisation/vmware-guest.nix +++ b/nixos/modules/virtualisation/vmware-guest.nix @@ -38,7 +38,7 @@ in }; # Mount the vmblock for drag-and-drop and copy-and-paste. - systemd.mounts = [ + systemd.mounts = mkIf (!cfg.headless) [ { description = "VMware vmblock fuse mount"; documentation = [ "https://github.com/vmware/open-vm-tools/blob/master/open-vm-tools/vmblock-fuse/design.txt" ]; @@ -52,8 +52,8 @@ in } ]; - security.wrappers.vmware-user-suid-wrapper = - { setuid = true; + security.wrappers.vmware-user-suid-wrapper = mkIf (!cfg.headless) { + setuid = true; owner = "root"; group = "root"; source = "${open-vm-tools}/bin/vmware-user-suid-wrapper"; From 216dd5b740f91f4250e33256e3c11e4e342895ce Mon Sep 17 00:00:00 2001 From: Cole Mickens Date: Thu, 16 Sep 2021 05:00:41 -0700 Subject: [PATCH 02/46] nvidia: fix egl-wayland loading --- nixos/modules/hardware/video/nvidia.nix | 4 ++++ pkgs/os-specific/linux/nvidia-x11/builder.sh | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix index 8f6b5c22ea4f..917c6d3013e7 100644 --- a/nixos/modules/hardware/video/nvidia.nix +++ b/nixos/modules/hardware/video/nvidia.nix @@ -284,6 +284,10 @@ in source = "${nvidia_x11.bin}/share/nvidia/nvidia-application-profiles-rc"; }; + # 'nvidia_x11' installs it's files to /run/opengl-driver/... + environment.etc."egl/egl_external_platform.d".source = + "/run/opengl-driver/share/egl/egl_external_platform.d/"; + hardware.opengl.package = mkIf (!offloadCfg.enable) nvidia_x11.out; hardware.opengl.package32 = mkIf (!offloadCfg.enable) nvidia_x11.lib32; hardware.opengl.extraPackages = optional offloadCfg.enable nvidia_x11.out; diff --git a/pkgs/os-specific/linux/nvidia-x11/builder.sh b/pkgs/os-specific/linux/nvidia-x11/builder.sh index 51bd4d725a8b..abb557a55330 100755 --- a/pkgs/os-specific/linux/nvidia-x11/builder.sh +++ b/pkgs/os-specific/linux/nvidia-x11/builder.sh @@ -106,8 +106,8 @@ installPhase() { sed -E "s#(libEGL_nvidia)#$i/lib/\\1#" 10_nvidia.json > 10_nvidia.json.fixed sed -E "s#(libnvidia-egl-wayland)#$i/lib/\\1#" 10_nvidia_wayland.json > 10_nvidia_wayland.json.fixed - install -Dm644 10_nvidia.json.fixed $i/share/glvnd/egl_vendor.d/nvidia.json - install -Dm644 10_nvidia_wayland.json.fixed $i/share/glvnd/egl_vendor.d/nvidia_wayland.json + install -Dm644 10_nvidia.json.fixed $i/share/glvnd/egl_vendor.d/10_nvidia.json + install -Dm644 10_nvidia_wayland.json.fixed $i/share/egl/egl_external_platform.d/10_nvidia_wayland.json fi done From 7761e2378570a2f4c9ddc0b75b6cca052667b7b5 Mon Sep 17 00:00:00 2001 From: Cole Mickens Date: Sun, 17 Oct 2021 20:55:16 -0700 Subject: [PATCH 03/46] nvidia: add wayland to nvidia-egl-wayland libpath --- pkgs/os-specific/linux/nvidia-x11/generic.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/nvidia-x11/generic.nix b/pkgs/os-specific/linux/nvidia-x11/generic.nix index 6f58e3e8f1d9..ed8c2a050955 100644 --- a/pkgs/os-specific/linux/nvidia-x11/generic.nix +++ b/pkgs/os-specific/linux/nvidia-x11/generic.nix @@ -41,7 +41,7 @@ let i686bundled = versionAtLeast version "391" && !disable32Bit; libPathFor = pkgs: pkgs.lib.makeLibraryPath [ pkgs.libdrm pkgs.xorg.libXext pkgs.xorg.libX11 - pkgs.xorg.libXv pkgs.xorg.libXrandr pkgs.xorg.libxcb pkgs.zlib pkgs.stdenv.cc.cc ]; + pkgs.xorg.libXv pkgs.xorg.libXrandr pkgs.xorg.libxcb pkgs.zlib pkgs.stdenv.cc.cc pkgs.wayland ]; self = stdenv.mkDerivation { name = "nvidia-x11-${version}${nameSuffix}"; From 59a7fb27a166717d2765411fc04c7deedfe18882 Mon Sep 17 00:00:00 2001 From: Cole Mickens Date: Sat, 16 Oct 2021 00:28:28 -0700 Subject: [PATCH 04/46] nvidia: install egl wayland gbm support --- pkgs/os-specific/linux/nvidia-x11/builder.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/os-specific/linux/nvidia-x11/builder.sh b/pkgs/os-specific/linux/nvidia-x11/builder.sh index abb557a55330..d108ca0d0060 100755 --- a/pkgs/os-specific/linux/nvidia-x11/builder.sh +++ b/pkgs/os-specific/linux/nvidia-x11/builder.sh @@ -108,6 +108,14 @@ installPhase() { install -Dm644 10_nvidia.json.fixed $i/share/glvnd/egl_vendor.d/10_nvidia.json install -Dm644 10_nvidia_wayland.json.fixed $i/share/egl/egl_external_platform.d/10_nvidia_wayland.json + + if [[ -f "15_nvidia_gbm.json" ]]; then + sed -E "s#(libnvidia-egl-gbm)#$i/lib/\\1#" 15_nvidia_gbm.json > 15_nvidia_gbm.json.fixed + install -Dm644 15_nvidia_gbm.json.fixed $i/share/egl/egl_external_platform.d/15_nvidia_gbm.json + + mkdir -p $i/lib/gbm + ln -s $i/lib/libnvidia-allocator.so $i/lib/gbm/nvidia-drm_gbm.so + fi fi done From bd0e2e52e44ae07a3f470d0fda72476c0adc5613 Mon Sep 17 00:00:00 2001 From: Nathan Ringo Date: Sat, 23 Oct 2021 00:15:36 -0500 Subject: [PATCH 05/46] haskellPackages.bytestring-trie: unbreak --- .../haskell-modules/configuration-hackage2nix/broken.yaml | 1 - pkgs/development/haskell-modules/hackage-packages.nix | 2 -- 2 files changed, 3 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml index ff2210d031ed..97ffc1407def 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml @@ -499,7 +499,6 @@ broken-packages: - bytestring-show - bytestring-substring - bytestring-time - - bytestring-trie - bytestring-typenats - c0parser - c10k diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index 41aa5edcdd06..1e10325c430e 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -48843,8 +48843,6 @@ self: { libraryHaskellDepends = [ base binary bytestring ]; description = "An efficient finite map from (byte)strings to values"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; - broken = true; }) {}; "bytestring-typenats" = callPackage From 1da3fa5b78e3d574a1754d84f21cc418648c75b2 Mon Sep 17 00:00:00 2001 From: Ellie Hermaszewska Date: Sat, 23 Oct 2021 13:41:56 +0800 Subject: [PATCH 06/46] haskellPackages.cabal2nix-unstable: 2021-09-28 -> 2021-10-23 --- pkgs/development/haskell-modules/cabal2nix-unstable.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/haskell-modules/cabal2nix-unstable.nix b/pkgs/development/haskell-modules/cabal2nix-unstable.nix index b216bf9000b6..70d50088b0b3 100644 --- a/pkgs/development/haskell-modules/cabal2nix-unstable.nix +++ b/pkgs/development/haskell-modules/cabal2nix-unstable.nix @@ -8,10 +8,10 @@ }: mkDerivation { pname = "cabal2nix"; - version = "unstable-2021-09-28"; + version = "unstable-2021-10-23"; src = fetchzip { - url = "https://github.com/NixOS/cabal2nix/archive/b4d893ed1a7a66b0046dd8a48f62b81de670ab02.tar.gz"; - sha256 = "0xl5a0gfxrqz8pkx43zrj84xvcg15723lgvirxdcvc4zqa732zjg"; + url = "https://github.com/NixOS/cabal2nix/archive/8aeef87436468a416e5908b48ec82ac3f15eb885.tar.gz"; + sha256 = "1w6wabp0v2fii5i28nsp0ss6dsz222p94mmxrrns3q0df82s2cm1"; }; isLibrary = true; isExecutable = true; From b65bb811cf7777d7c64491f2bf2611c1e6e6efc4 Mon Sep 17 00:00:00 2001 From: Ellie Hermaszewska Date: Sat, 23 Oct 2021 13:31:37 +0800 Subject: [PATCH 07/46] all-cabal-hashes: 2021-10-18T14:27:09Z -> 2021-10-23T04:57:02Z This commit has been generated by maintainers/scripts/haskell/update-hackage.sh --- pkgs/data/misc/hackage/pin.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/data/misc/hackage/pin.json b/pkgs/data/misc/hackage/pin.json index fb0b6cd6156b..d5bcd2d60bff 100644 --- a/pkgs/data/misc/hackage/pin.json +++ b/pkgs/data/misc/hackage/pin.json @@ -1,6 +1,6 @@ { - "commit": "b60d5f4b773d16857c105718faad9699e145edcd", - "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/b60d5f4b773d16857c105718faad9699e145edcd.tar.gz", - "sha256": "19avxynbjhkhvjy5kcxgd3fp0b2nczsk213s1za488r6kksj90f5", - "msg": "Update from Hackage at 2021-10-18T14:27:09Z" + "commit": "f2537d46db49014726f8ad00dcc60f5e41213397", + "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/f2537d46db49014726f8ad00dcc60f5e41213397.tar.gz", + "sha256": "021j2xn1xk8fqs7648si42n7z6rjzp4jnags4jkfnk1f81swns6h", + "msg": "Update from Hackage at 2021-10-23T04:57:02Z" } From 30e8984d31b9311ca226a16ed757f43dd0177fcd Mon Sep 17 00:00:00 2001 From: Ellie Hermaszewska Date: Sat, 23 Oct 2021 13:32:16 +0800 Subject: [PATCH 08/46] haskellPackages: regenerate package set based on current config This commit has been generated by maintainers/scripts/haskell/regenerate-hackage-packages.sh --- .../haskell-modules/hackage-packages.nix | 1389 ++++++++++++++--- 1 file changed, 1208 insertions(+), 181 deletions(-) diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index 41aa5edcdd06..f47599096bc9 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -9796,6 +9796,25 @@ self: { license = "LGPL"; }) {}; + "HaXml_1_25_7" = callPackage + ({ mkDerivation, base, bytestring, containers, directory, filepath + , polyparse, pretty, random + }: + mkDerivation { + pname = "HaXml"; + version = "1.25.7"; + sha256 = "111cmrviw8d4cywyka4l0ni5ldi7y6m1nl8fcyjxh54b859c3bsn"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base bytestring containers filepath polyparse pretty random + ]; + executableHaskellDepends = [ base directory polyparse pretty ]; + description = "Utilities for manipulating XML documents"; + license = "LGPL"; + hydraPlatforms = lib.platforms.none; + }) {}; + "Hach" = callPackage ({ mkDerivation, base, containers, network, old-locale, text, time , vty, vty-ui @@ -13881,8 +13900,8 @@ self: { ({ mkDerivation, ansi-terminal, base, doctest, hspec, time }: mkDerivation { pname = "Monadoro"; - version = "0.2.5.0"; - sha256 = "0p3270xzwhq1j8m3mb4bvh95c4w16vrjj4cd0p87aq35xy99f4dr"; + version = "0.2.6.0"; + sha256 = "0ijiqwx8vy00l1aphbj2kjfdzycsj6hm5828liyj4qig6cr6l1zd"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ ansi-terminal base time ]; @@ -16556,11 +16575,12 @@ self: { ({ mkDerivation, base, hspec, QuickCheck }: mkDerivation { pname = "QuickCheckVariant"; - version = "1.0.0.1"; - sha256 = "12yxavf2bcd6cpf09j4d97myks4v34jki5hqjl9kcwar8k8j8gls"; + version = "1.0.1.0"; + sha256 = "1hfx28krjmx06jlivri51jcssngyf7i8n1vjmz0n948i83hn5kga"; libraryHaskellDepends = [ base QuickCheck ]; testHaskellDepends = [ base hspec QuickCheck ]; - description = "Generator of \"valid\" and \"invalid\" data in a type class"; + benchmarkHaskellDepends = [ base hspec QuickCheck ]; + description = "Valid and Invalid generator"; license = lib.licenses.gpl3Only; hydraPlatforms = lib.platforms.none; broken = true; @@ -20722,10 +20742,8 @@ self: { ({ mkDerivation, base, parsec }: mkDerivation { pname = "ValveValueKeyvalue"; - version = "1.0.1.0"; - sha256 = "05m75nhsz1a2zb59lkdmkv7wznljhr76k7qm2pia37dj8h5zywcy"; - revision = "1"; - editedCabalFile = "1d4n0kqypzrcbxaq43aiw5zaq12ncws5c50ckyzvky4cs208g0is"; + version = "1.1.0.0"; + sha256 = "1hcgyv5fhpqvccpplrpi192vlk8dh1ds3w455fy3yvz14g5rfvkp"; libraryHaskellDepends = [ base parsec ]; description = "A Valve Value-keyvalue parser for Haskell made with Parsec"; license = lib.licenses.mit; @@ -25754,12 +25772,13 @@ self: { "agda-language-server" = callPackage ({ mkDerivation, aeson, Agda, base, bytestring, containers, lsp - , mtl, network, network-simple, process, stm, strict, text + , mtl, network, network-simple, process, stm, strict, tasty + , tasty-golden, tasty-hunit, tasty-quickcheck, text }: mkDerivation { pname = "agda-language-server"; - version = "0.0.3.0"; - sha256 = "1sjni83r9snscqlrszx68ld9lyvrrg02abkli23j9yd6yg8zyx8v"; + version = "0.2.0"; + sha256 = "15r96aaigdqj1kn66nmn4j1s9i98rc7q6r1v0zlixyiiq25awrjq"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -25772,9 +25791,10 @@ self: { ]; testHaskellDepends = [ aeson Agda base bytestring containers lsp mtl network - network-simple process stm strict text + network-simple process stm strict tasty tasty-golden tasty-hunit + tasty-quickcheck text ]; - description = "LSP server for Agda"; + description = "An implementation of language server protocal (LSP) for Agda 2"; license = lib.licenses.mit; hydraPlatforms = lib.platforms.none; broken = true; @@ -32587,8 +32607,8 @@ self: { }: mkDerivation { pname = "arbtt"; - version = "0.11"; - sha256 = "1jxsmwi7nqgmhnx1hv7y1hcff4gpi3zsg3lrzkq3y8dj2pz29whw"; + version = "0.11.1"; + sha256 = "0xlwphjq36wbdzbzl39m163jhrcxnhnrx0lsvmbq4y2gf20r0bbq"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -32946,8 +32966,8 @@ self: { }: mkDerivation { pname = "argo"; - version = "0.2021.10.17"; - sha256 = "0chzjpdz2x7nkqhphxj2x9knhdjm9dz2880s6f04p6w4w849pm33"; + version = "0.2021.10.19"; + sha256 = "1g1wp0xvmdkgrnws2b3s27k25b7194kk1hmsrrjwb9rjz7jpncps"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -35919,6 +35939,26 @@ self: { broken = true; }) {}; + "aur_7_0_7" = callPackage + ({ mkDerivation, aeson, base, bytestring, hashable, http-client + , http-client-tls, http-types, tasty, tasty-hunit, text + }: + mkDerivation { + pname = "aur"; + version = "7.0.7"; + sha256 = "0k8b3rc89ibln7idb1a1f6g3p04f1n7mnk8q8nqiggygf8r6sdnh"; + libraryHaskellDepends = [ + aeson base bytestring hashable http-client http-types text + ]; + testHaskellDepends = [ + base http-client http-client-tls tasty tasty-hunit + ]; + description = "Access metadata from the Arch Linux User Repository"; + license = lib.licenses.gpl3Only; + hydraPlatforms = lib.platforms.none; + broken = true; + }) {}; + "aur-api" = callPackage ({ mkDerivation, aeson, base, bytestring, exceptions, hspec , http-client, http-client-tls, mtl, text @@ -35949,6 +35989,8 @@ self: { pname = "aura"; version = "3.2.6"; sha256 = "07sry2nf41f101ldcfcf2x5pp0w7qvlvl6m4j5bbkvxp3rmsjbx2"; + revision = "1"; + editedCabalFile = "1ilxbi5pvg7ayyfww2y85y2503ihzr1w06w2sgbm3pk6qcjz95jg"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -36803,8 +36845,8 @@ self: { pname = "aws-arn"; version = "0.1.0.0"; sha256 = "0wwmrpmcw01wifcpfsb81fx54c49zgg80h2y11cjpr7qkwdhiqwd"; - revision = "1"; - editedCabalFile = "0jcz4wwi46mxymv7d15h5qj2xq8v9b02jqa4ap5r3fa9q6bl9sh3"; + revision = "2"; + editedCabalFile = "17yvsm3rqvr8vy8qs7l4xvp3bnlmyvwq8bmb6gjacgz46k30dq0f"; libraryHaskellDepends = [ base deriving-compat hashable lens text ]; @@ -38394,8 +38436,8 @@ self: { ({ mkDerivation, barbies, base, split, template-haskell }: mkDerivation { pname = "barbies-th"; - version = "0.1.8"; - sha256 = "19cznyjds09l8k844bhc1k2m50w455j7n13826z0np01a23qhyad"; + version = "0.1.9"; + sha256 = "1brikm7qr2yi3426vgwjjxjrvw060sb0v7jbxrhazjps28f6aa3n"; libraryHaskellDepends = [ barbies base split template-haskell ]; testHaskellDepends = [ barbies base ]; description = "Create strippable HKD via TH"; @@ -40048,8 +40090,8 @@ self: { }: mkDerivation { pname = "bearriver"; - version = "0.13.1.3"; - sha256 = "1qycifi7gnfky4pxy3dr7az0iv2s2xykjy4mccy8gki05fsy0lg5"; + version = "0.13.3"; + sha256 = "0qakz6fidvhg121j442lsvcz9va0xa0rks41qj293mnrs8savv0p"; libraryHaskellDepends = [ base dunai MonadRandom mtl simple-affine-space transformers ]; @@ -40321,6 +40363,21 @@ self: { license = lib.licenses.bsd3; }) {}; + "benchpress_0_2_2_18" = callPackage + ({ mkDerivation, base, bytestring, mtl, time }: + mkDerivation { + pname = "benchpress"; + version = "0.2.2.18"; + sha256 = "1ihg97zkvhq7sbp851q3qdpf2mmi2l88w742pq6cldhlhb8q7xa5"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ base mtl time ]; + executableHaskellDepends = [ base bytestring time ]; + description = "Micro-benchmarking with detailed statistics"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + }) {}; + "bencode" = callPackage ({ mkDerivation, base, binary, bytestring, containers, hspec , parsec, QuickCheck, transformers, transformers-compat @@ -44328,6 +44385,25 @@ self: { license = lib.licenses.bsd3; }) {}; + "blaze-builder_0_4_2_2" = callPackage + ({ mkDerivation, base, bytestring, deepseq, ghc-prim, HUnit + , QuickCheck, test-framework, test-framework-hunit + , test-framework-quickcheck2, text, utf8-string + }: + mkDerivation { + pname = "blaze-builder"; + version = "0.4.2.2"; + sha256 = "0rxg6vjr0ji6g1nngrqpl4k1q9w66fwkhld9cqm5yfhx0a69kp1c"; + libraryHaskellDepends = [ base bytestring deepseq ghc-prim text ]; + testHaskellDepends = [ + base bytestring HUnit QuickCheck test-framework + test-framework-hunit test-framework-quickcheck2 text utf8-string + ]; + description = "Efficient buffered output"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + }) {}; + "blaze-builder-conduit" = callPackage ({ mkDerivation, base, conduit }: mkDerivation { @@ -46122,6 +46198,18 @@ self: { license = lib.licenses.mit; }) {}; + "bound-simple" = callPackage + ({ mkDerivation, base, hspec, transformers }: + mkDerivation { + pname = "bound-simple"; + version = "0.2.0.0"; + sha256 = "0vsqbgb75d20sqis9wk00z301hw5kjknszgd0k07rhymhcja0v5j"; + libraryHaskellDepends = [ base transformers ]; + testHaskellDepends = [ base hspec ]; + description = "A lightweight implementation of 'bound'"; + license = lib.licenses.bsd3; + }) {}; + "bounded-array" = callPackage ({ mkDerivation, array, base }: mkDerivation { @@ -46503,7 +46591,7 @@ self: { license = lib.licenses.bsd3; }) {}; - "brick_0_64_1" = callPackage + "brick_0_64_2" = callPackage ({ mkDerivation, base, bytestring, config-ini, containers , contravariant, data-clist, deepseq, directory, dlist, exceptions , filepath, microlens, microlens-mtl, microlens-th, QuickCheck, stm @@ -46512,8 +46600,8 @@ self: { }: mkDerivation { pname = "brick"; - version = "0.64.1"; - sha256 = "13n4m4qfxbh8grqmp3ycl99xf8hszk9539qy73bzz785axgvhhbj"; + version = "0.64.2"; + sha256 = "058kpghx5s559z5l9hav44s8vb5lizn8j7v7l4lmvpqx3a6cisn7"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -47468,14 +47556,14 @@ self: { license = lib.licenses.bsd3; }) {}; - "bugsnag-hs_0_2_0_6" = callPackage + "bugsnag-hs_0_2_0_7" = callPackage ({ mkDerivation, aeson, base, bytestring, hedgehog, http-client , text, time, unordered-containers }: mkDerivation { pname = "bugsnag-hs"; - version = "0.2.0.6"; - sha256 = "0kq2mxsl6rm95v551vwjcim0sfk2lhc2n95f28pmglpp5qxc1q7j"; + version = "0.2.0.7"; + sha256 = "0wrc9lmx3r3l5hz0avr99f9fcjla5bi4b3iziv59qm93m882hmx3"; enableSeparateDataOutput = true; libraryHaskellDepends = [ aeson base bytestring http-client text time unordered-containers @@ -48291,8 +48379,8 @@ self: { }: mkDerivation { pname = "bytelog"; - version = "0.1.0.0"; - sha256 = "03acvb13q3bs77qyxsf91b9l2wv6f23lrghqnh2dacsdrg75dpfa"; + version = "0.1.1.0"; + sha256 = "06z3m5rimwswkiimgva896vqs7i92pdslgqaxk80iy1as04z218i"; libraryHaskellDepends = [ base bytebuild byteslice natural-arithmetic posix-api primitive ]; @@ -52823,6 +52911,25 @@ self: { license = lib.licenses.mit; }) {}; + "cassava-megaparsec_2_0_4" = callPackage + ({ mkDerivation, base, bytestring, cassava, hspec, hspec-megaparsec + , megaparsec, unordered-containers, vector + }: + mkDerivation { + pname = "cassava-megaparsec"; + version = "2.0.4"; + sha256 = "0pg9z38jmrylbj683b6pf7psipp7lrdq6mn1hbj8v2gj5lh8yf8n"; + libraryHaskellDepends = [ + base bytestring cassava megaparsec unordered-containers vector + ]; + testHaskellDepends = [ + base bytestring cassava hspec hspec-megaparsec vector + ]; + description = "Megaparsec parser of CSV files that plays nicely with Cassava"; + license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + }) {}; + "cassava-records" = callPackage ({ mkDerivation, attoparsec, base, bytestring, cassava, containers , foldl, HUnit, QuickCheck, tasty, tasty-hunit, tasty-quickcheck @@ -56113,7 +56220,7 @@ self: { license = lib.licenses.bsd2; }) {}; - "citeproc_0_5" = callPackage + "citeproc_0_6" = callPackage ({ mkDerivation, aeson, attoparsec, base, bytestring , case-insensitive, containers, data-default, Diff, directory , file-embed, filepath, mtl, pandoc-types, pretty, safe, scientific @@ -56122,8 +56229,8 @@ self: { }: mkDerivation { pname = "citeproc"; - version = "0.5"; - sha256 = "14l7gpa2phgmgcx2mdln1wf1gfqjmbkm5nyxnihrybmrkg9l8yfk"; + version = "0.6"; + sha256 = "1dx61f8y32b5w84d2fzaxfgdj2gyr0wyqhh6jl2jf2lfn5cbhll3"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -60549,6 +60656,29 @@ self: { license = lib.licenses.bsd3; }) {}; + "commonmark_0_2_1_1" = callPackage + ({ mkDerivation, base, bytestring, containers, parsec, tasty + , tasty-bench, tasty-hunit, tasty-quickcheck, text, transformers + , unicode-transforms + }: + mkDerivation { + pname = "commonmark"; + version = "0.2.1.1"; + sha256 = "105szy7l4ji255fwv0kbfcy3i3a3a4197zgj6s9jb12kwbn6n0c7"; + libraryHaskellDepends = [ + base bytestring containers parsec text transformers + unicode-transforms + ]; + testHaskellDepends = [ + base parsec tasty tasty-hunit tasty-quickcheck text + unicode-transforms + ]; + benchmarkHaskellDepends = [ base tasty-bench text ]; + description = "Pure Haskell commonmark parser"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + }) {}; + "commonmark-cli" = callPackage ({ mkDerivation, aeson, ansi-terminal, base, bytestring, commonmark , commonmark-extensions, commonmark-pandoc, containers, mtl @@ -60592,6 +60722,28 @@ self: { license = lib.licenses.bsd3; }) {}; + "commonmark-extensions_0_2_2" = callPackage + ({ mkDerivation, base, commonmark, containers, emojis, filepath + , network-uri, parsec, tasty, tasty-bench, tasty-hunit, text + , transformers + }: + mkDerivation { + pname = "commonmark-extensions"; + version = "0.2.2"; + sha256 = "0jm6w84p2a2gyaljvnlvjjwrwnir1lss3ps53d0bd8mkvhixxrqr"; + libraryHaskellDepends = [ + base commonmark containers emojis filepath network-uri parsec text + transformers + ]; + testHaskellDepends = [ + base commonmark parsec tasty tasty-hunit text + ]; + benchmarkHaskellDepends = [ base commonmark tasty-bench text ]; + description = "Pure Haskell commonmark parser"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + }) {}; + "commonmark-pandoc" = callPackage ({ mkDerivation, base, commonmark, commonmark-extensions , pandoc-types, text @@ -64204,8 +64356,8 @@ self: { }: mkDerivation { pname = "consumers"; - version = "2.2.0.5"; - sha256 = "1ramqz680xfh47p5kijcp58nby687lm5vacfxpz57a3p01j39y8s"; + version = "2.2.0.6"; + sha256 = "16b21s3j4srjafam3d6s1zc9lwlk5ir875bnfcnjmc5717iv0k29"; libraryHaskellDepends = [ base containers exceptions extra hpqtypes lifted-base lifted-threads log-base monad-control monad-time mtl stm time @@ -65435,15 +65587,15 @@ self: { license = lib.licenses.bsd3; }) {}; - "core-data_0_2_1_10" = callPackage + "core-data_0_2_1_11" = callPackage ({ mkDerivation, aeson, base, bytestring, containers, core-text , hashable, prettyprinter, scientific, text, unordered-containers , vector }: mkDerivation { pname = "core-data"; - version = "0.2.1.10"; - sha256 = "151b8kym71dklgynyjsbzpggbyw7wysa8bv1pkpy94jdbflmlpaf"; + version = "0.2.1.11"; + sha256 = "0i4v84gfrjfimc9nh12mf0fabqysm575c8kiq8awk2f1xmbz2f7q"; libraryHaskellDepends = [ aeson base bytestring containers core-text hashable prettyprinter scientific text unordered-containers vector @@ -65491,28 +65643,47 @@ self: { license = lib.licenses.mit; }) {}; - "core-program_0_2_12_0" = callPackage + "core-program_0_3_1_0" = callPackage ({ mkDerivation, async, base, bytestring, chronologique, core-data , core-text, directory, exceptions, filepath, fsnotify, hashable , hourglass, mtl, prettyprinter, safe-exceptions, stm , template-haskell, terminal-size, text, text-short, transformers - , unix + , typed-process, unix }: mkDerivation { pname = "core-program"; - version = "0.2.12.0"; - sha256 = "0gl1cv82h2ax8gf1jjqphkj2481plz64jqq497rvyy2cpqv72kvr"; + version = "0.3.1.0"; + sha256 = "0nl0mxff9ky3dhczya7xbfdjs0z3jcfvh5fhw71kk0s86dfvalvs"; libraryHaskellDepends = [ async base bytestring chronologique core-data core-text directory exceptions filepath fsnotify hashable hourglass mtl prettyprinter safe-exceptions stm template-haskell terminal-size text text-short - transformers unix + transformers typed-process unix ]; description = "Opinionated Haskell Interoperability"; license = lib.licenses.mit; hydraPlatforms = lib.platforms.none; }) {}; + "core-telemetry" = callPackage + ({ mkDerivation, async, base, bytestring, chronologique, core-data + , core-program, core-text, exceptions, http-streams, io-streams + , mtl, random, safe-exceptions, scientific, stm, template-haskell + , text, unix + }: + mkDerivation { + pname = "core-telemetry"; + version = "0.1.7.1"; + sha256 = "0yfhds4scsjk9x0jb772wdyl2b8mx5n7kn86432lpc3nv33rdwk3"; + libraryHaskellDepends = [ + async base bytestring chronologique core-data core-program + core-text exceptions http-streams io-streams mtl random + safe-exceptions scientific stm template-haskell text unix + ]; + description = "Advanced telemetry"; + license = lib.licenses.mit; + }) {}; + "core-text" = callPackage ({ mkDerivation, ansi-terminal, base, bytestring, colour, deepseq , fingertree, hashable, prettyprinter, template-haskell, text @@ -65530,15 +65701,15 @@ self: { license = lib.licenses.mit; }) {}; - "core-text_0_3_4_0" = callPackage + "core-text_0_3_5_0" = callPackage ({ mkDerivation, ansi-terminal, base, bytestring, colour, deepseq , fingertree, hashable, prettyprinter, template-haskell, text , text-short }: mkDerivation { pname = "core-text"; - version = "0.3.4.0"; - sha256 = "1013s28p90fifkkqldh35wrdrs86fhan0r8q54imb7b8c7lasj3r"; + version = "0.3.5.0"; + sha256 = "0h6m0wrkyhzzqchzqwpvkskpmnvzm1qynf8jhqwk759w5yxmxycw"; libraryHaskellDepends = [ ansi-terminal base bytestring colour deepseq fingertree hashable prettyprinter template-haskell text text-short @@ -67897,6 +68068,25 @@ self: { license = lib.licenses.bsd3; }) {}; + "cryptohash-md5_0_11_101_0" = callPackage + ({ mkDerivation, base, base16-bytestring, bytestring, criterion + , pureMD5, tasty, tasty-hunit, tasty-quickcheck + }: + mkDerivation { + pname = "cryptohash-md5"; + version = "0.11.101.0"; + sha256 = "018g13hkmq5782i24b4518hcd926fl6x6fh5hd7b9wlxwc5dn21v"; + libraryHaskellDepends = [ base bytestring ]; + testHaskellDepends = [ + base base16-bytestring bytestring pureMD5 tasty tasty-hunit + tasty-quickcheck + ]; + benchmarkHaskellDepends = [ base bytestring criterion ]; + description = "Fast, pure and practical MD5 implementation"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + }) {}; + "cryptohash-sha1" = callPackage ({ mkDerivation, base, base16-bytestring, bytestring, criterion , SHA, tasty, tasty-hunit, tasty-quickcheck @@ -68782,8 +68972,8 @@ self: { }: mkDerivation { pname = "cuckoo"; - version = "0.3.0"; - sha256 = "11p7f1br9jyjdwaviy94xwq1jg3kgq5q1pqls20sakgm1f71axls"; + version = "0.3.1"; + sha256 = "0zyba60p70qfg24vlas0yp9fqwwrpiqksp5jq0p1qrmrcv9jyx6n"; libraryHaskellDepends = [ base bytestring hashes primitive random ]; @@ -74280,17 +74470,19 @@ self: { }) {}; "dep-t" = callPackage - ({ mkDerivation, base, doctest, mtl, rank2classes, sop-core, tasty - , tasty-hunit, template-haskell, transformers, unliftio-core + ({ mkDerivation, aeson, barbies, base, bytestring, containers + , doctest, mtl, rank2classes, sop-core, tasty, tasty-hunit + , template-haskell, text, transformers, unliftio-core }: mkDerivation { pname = "dep-t"; - version = "0.4.5.0"; - sha256 = "0hmyfq7xkz3l7d2f3d9ax782b6h0vvq1cfcxxnj1dg29hrnpd1ja"; + version = "0.4.6.0"; + sha256 = "0mhc5i54r8zbcq9wqmf25761b8dinkldcxq2x9f1l6mdy3zswsg3"; libraryHaskellDepends = [ base mtl transformers unliftio-core ]; testHaskellDepends = [ - base doctest mtl rank2classes sop-core tasty tasty-hunit - template-haskell transformers unliftio-core + aeson barbies base bytestring containers doctest mtl rank2classes + sop-core tasty tasty-hunit template-haskell text transformers + unliftio-core ]; description = "Reader-like monad transformer for dependency injection"; license = lib.licenses.bsd3; @@ -82310,14 +82502,14 @@ self: { maintainers = with lib.maintainers; [ turion ]; }) {}; - "dunai_0_8_0" = callPackage + "dunai_0_8_1" = callPackage ({ mkDerivation, base, MonadRandom, simple-affine-space, tasty , tasty-hunit, transformers, transformers-base }: mkDerivation { pname = "dunai"; - version = "0.8.0"; - sha256 = "06xdn1fqfbpffdcpf9mmkl56797bdh9ijwg7nm98fqhwq0d4jnkv"; + version = "0.8.1"; + sha256 = "1zijhrk50cyyrb6jqlf8q0hh87lbfy5k9iy6w2az66nm89ckxrv9"; libraryHaskellDepends = [ base MonadRandom simple-affine-space transformers transformers-base ]; @@ -82348,8 +82540,8 @@ self: { ({ mkDerivation, base, dunai, normaldistribution, QuickCheck }: mkDerivation { pname = "dunai-test"; - version = "0.8.0"; - sha256 = "1n5a30iw0pr94fl1jparlmf0lnw4md4l3r9aq56247cz1npnfaqh"; + version = "0.8.1"; + sha256 = "1iy989wz4jnn9g892p7n0f1hj2hd61a01vxnqz5fr0yppbsckp3h"; libraryHaskellDepends = [ base dunai normaldistribution QuickCheck ]; @@ -83225,6 +83417,28 @@ self: { license = lib.licenses.bsd3; }) {}; + "easy-logger" = callPackage + ({ mkDerivation, array, auto-update, base, bytestring, containers + , directory, hspec, QuickCheck, quickcheck-assertions + , template-haskell, text, unix-compat, unix-time + }: + mkDerivation { + pname = "easy-logger"; + version = "0.1.0.4"; + sha256 = "040q410p9i9vwydnsa5n7ycy1bq0gr1p3jvmv1y52hh96bcsbdg1"; + libraryHaskellDepends = [ + array auto-update base bytestring containers template-haskell text + unix-compat unix-time + ]; + testHaskellDepends = [ + array auto-update base bytestring containers directory hspec + QuickCheck quickcheck-assertions template-haskell text unix-compat + unix-time + ]; + description = "Logging made easy"; + license = lib.licenses.bsd3; + }) {}; + "easyjson" = callPackage ({ mkDerivation, base, mtl, parsec, text, unordered-containers , vector @@ -87780,6 +87994,22 @@ self: { broken = true; }) {}; + "esqueleto-streaming" = callPackage + ({ mkDerivation, base, conduit, esqueleto, persistent-postgresql + , persistent-postgresql-streaming, resourcet, transformers + }: + mkDerivation { + pname = "esqueleto-streaming"; + version = "0.1.0.0"; + sha256 = "07qmnms0jmqqdn0d3ia1dl3alpggs1mj62gppy0ys8myac0wdk1r"; + libraryHaskellDepends = [ + base conduit esqueleto persistent-postgresql + persistent-postgresql-streaming resourcet transformers + ]; + description = "Memory-constant streaming of Esqueleto results from PostgreSQL"; + license = lib.licenses.bsd3; + }) {}; + "ess" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -90403,19 +90633,19 @@ self: { "extensible" = callPackage ({ mkDerivation, aeson, base, bytestring, cassava, comonad , constraints, deepseq, ghc-prim, hashable, incremental, lens - , membership, monad-skeleton, prettyprinter, primitive, profunctors - , QuickCheck, StateVar, tagged, template-haskell, text, th-lift - , transformers, unordered-containers, vector + , membership, prettyprinter, primitive, profunctors, QuickCheck + , StateVar, tagged, template-haskell, text, th-lift, transformers + , unordered-containers, vector }: mkDerivation { pname = "extensible"; - version = "0.8.2"; - sha256 = "133yid7snb48n4rn15p6nsk2h1shbiw647d5fvapn3lnsb4ymqgv"; + version = "0.8.3"; + sha256 = "1cwh7a6mipyh4a7vs1394wmmbm1ms5cs9snl5nd1mg1v455ykcmb"; libraryHaskellDepends = [ aeson base bytestring cassava comonad constraints deepseq ghc-prim - hashable incremental membership monad-skeleton prettyprinter - primitive profunctors QuickCheck StateVar tagged template-haskell - text th-lift transformers unordered-containers vector + hashable incremental membership prettyprinter primitive profunctors + QuickCheck StateVar tagged template-haskell text th-lift + transformers unordered-containers vector ]; testHaskellDepends = [ base lens QuickCheck template-haskell ]; description = "Extensible, efficient, optics-friendly data types and effects"; @@ -90517,8 +90747,8 @@ self: { }: mkDerivation { pname = "extensible-skeleton"; - version = "0"; - sha256 = "0bv6589p8cpzsr167yi98vm0bzkcfgazkxbj35f74ykh8zwqlqfl"; + version = "0.0.1"; + sha256 = "10pjnjn60fcmx08vgkdvp8lysd3gz0c5rk829cf2sqk279x8h07h"; libraryHaskellDepends = [ base exceptions extensible membership monad-skeleton mtl profunctors resourcet template-haskell transformers @@ -91225,7 +91455,7 @@ self: { broken = true; }) {}; - "faktory_1_1_1_0" = callPackage + "faktory_1_1_2_0" = callPackage ({ mkDerivation, aeson, aeson-casing, aeson-qq, async, base , bytestring, connection, cryptonite, errors, hspec, markdown-unlit , megaparsec, memory, mtl, network, random, safe-exceptions @@ -91233,8 +91463,8 @@ self: { }: mkDerivation { pname = "faktory"; - version = "1.1.1.0"; - sha256 = "1lh427lq991pclzqr112dw4jjalcxpkwl440ygg2fhl6bgn082wx"; + version = "1.1.2.0"; + sha256 = "0rsypmqy6gkpsjgzzc20wy5jjw13bb4j2zsxwn9zchyihfpak36a"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -100091,10 +100321,8 @@ self: { }: mkDerivation { pname = "futhark"; - version = "0.20.4"; - sha256 = "0yjm0s9risrc0aj1si8i403k6b1znr8szff1f8ksb5cr9j7nn7gn"; - revision = "1"; - editedCabalFile = "0kx2p48b56icbd1bf6y6qbqx7sb7r8d2lcjxb60khiz7ff8kqjw8"; + version = "0.20.5"; + sha256 = "0wdpi1lr6cglwig194i9l6jmb54lh5qhwfhx8nn7z2kmww0qpmbv"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -103414,8 +103642,8 @@ self: { }: mkDerivation { pname = "gerrit"; - version = "0.1.1.0"; - sha256 = "0qkrcf0m2rq31sqd3fqij5c0yfp5pnzj2fx3dh9cwi7dqz24jwsg"; + version = "0.1.3.0"; + sha256 = "00jz3p1j3gmz7kk9vscw5m936vj09b0ja5q5gy8p05iz958lfbq4"; libraryHaskellDepends = [ aeson aeson-casing base bytestring containers http-client http-client-openssl text time @@ -107491,8 +107719,8 @@ self: { }: mkDerivation { pname = "git-lfs"; - version = "1.1.1"; - sha256 = "1jjr73knvc8b7mlabb3yyyc5blfxiwgbdk6lylshfp2fqsmkvhnx"; + version = "1.1.2"; + sha256 = "1kfrlpq54s5z84l5sk19vmvlqrybnyqg2nwgh452bdh13z67scmw"; libraryHaskellDepends = [ aeson base bytestring case-insensitive containers http-client http-types network-uri text @@ -117828,6 +118056,8 @@ self: { pname = "hakyll"; version = "4.15.0.1"; sha256 = "09arikf44i4llffhi948fy2zdj76zym7z9swjx5p5axc7qvc4sqh"; + revision = "1"; + editedCabalFile = "1q0x76cnpjrciigfqh8axx06gq5lpd6fhj2f7ccs0yhsxwnzbk1m"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -118038,6 +118268,8 @@ self: { pname = "hakyll-convert"; version = "0.3.0.4"; sha256 = "09fqr05mvs0qs53psq97kn1s4axinwn1vr5d6af4sqj3zc5k6k39"; + revision = "1"; + editedCabalFile = "0sg82zrawgklzkzpj8gpigwh1ixzi2igsxl8s881skq1z9k1fphj"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -119072,6 +119304,38 @@ self: { broken = true; }) {}; + "hapistrano_0_4_3_0" = callPackage + ({ mkDerivation, aeson, ansi-terminal, async, base, directory + , filepath, formatting, gitrev, hspec, hspec-discover, mtl + , optparse-applicative, path, path-io, process, QuickCheck + , silently, stm, temporary, time, transformers, typed-process, yaml + }: + mkDerivation { + pname = "hapistrano"; + version = "0.4.3.0"; + sha256 = "05aphcj0pfqiwg6xxagf9d81qv4qqs8rbk140i9d9xvhyis3fl73"; + isLibrary = true; + isExecutable = true; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ + aeson ansi-terminal base filepath gitrev mtl path process stm time + transformers typed-process yaml + ]; + executableHaskellDepends = [ + aeson async base formatting gitrev optparse-applicative path + path-io stm yaml + ]; + testHaskellDepends = [ + base directory filepath hspec mtl path path-io process QuickCheck + silently temporary yaml + ]; + testToolDepends = [ hspec-discover ]; + description = "A deployment library for Haskell applications"; + license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + broken = true; + }) {}; + "happindicator" = callPackage ({ mkDerivation, array, base, bytestring, containers, glib, gtk , gtk2hs-buildtools, libappindicator-gtk2, mtl @@ -120684,19 +120948,22 @@ self: { }) {}; "hashes" = callPackage - ({ mkDerivation, base, bytestring, criterion, memory, QuickCheck }: + ({ mkDerivation, base, bytestring, criterion, openssl, QuickCheck + , sydtest + }: mkDerivation { pname = "hashes"; - version = "0.1.0.1"; - sha256 = "0r686g8ksgl680s11m433z0d5b9hq8dz7k2as31qm2r2b6rvg7yd"; + version = "0.2.1.0"; + sha256 = "1bj24iwnaxp6knnpili6gfwpdpnl1fdaaifadqn9yy621dw0hw2x"; libraryHaskellDepends = [ base bytestring ]; - testHaskellDepends = [ base bytestring QuickCheck ]; - benchmarkHaskellDepends = [ - base bytestring criterion memory QuickCheck - ]; + librarySystemDepends = [ openssl ]; + testHaskellDepends = [ base bytestring QuickCheck sydtest ]; + testSystemDepends = [ openssl ]; + benchmarkHaskellDepends = [ base bytestring criterion ]; + benchmarkSystemDepends = [ openssl ]; description = "Hash functions"; license = lib.licenses.mit; - }) {}; + }) {inherit (pkgs) openssl;}; "hashflare" = callPackage ({ mkDerivation, base, containers, simple-money }: @@ -120841,6 +121108,8 @@ self: { pname = "hashtables"; version = "1.2.4.1"; sha256 = "0vgggm7bqq55zmqj6qji89bfj3k1rdkikkfhyg81vsqf0f3bzhqa"; + revision = "1"; + editedCabalFile = "170m0vidlcm1vazxmx0vgc9l9dkdqv3z9licvgvmh30qbck599fb"; libraryHaskellDepends = [ base ghc-prim hashable primitive vector ]; @@ -121921,8 +122190,8 @@ self: { pname = "haskell-lsp"; version = "0.24.0.0"; sha256 = "0gw289wy91h0qv4filw3glw3rrjvmr5j591wrdiwc1bl3w56bpig"; - revision = "1"; - editedCabalFile = "0px7k5768rnxfqi9cf2g2f99kh2kwmyy2vkzszcp2kgxhb7qzcha"; + revision = "2"; + editedCabalFile = "1zcm43g0pyba9vdlqj5whd3743zpfi8cy94p9gdh5fvcbb8wv5jn"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -122444,8 +122713,8 @@ self: { pname = "haskell-src"; version = "1.0.3.1"; sha256 = "0cjigvshk4b8wqdk0v0hz9ag1kyjjsmqsy4a1m3n28ac008cg746"; - revision = "4"; - editedCabalFile = "0cyqdw77clzz7mq0b4c0jg2d1kdz9xii41268w2psmqmfpyn29pc"; + revision = "5"; + editedCabalFile = "1qaibp1b1szb3ci5lhsxa3lh7iwyfzr5gjnmb4nypqwjqs05dk2c"; libraryHaskellDepends = [ array base pretty syb ]; libraryToolDepends = [ happy ]; description = "Support for manipulating Haskell source code"; @@ -140520,28 +140789,29 @@ self: { license = lib.licenses.mit; }) {inherit (pkgs) lua5_3;}; - "hslua_1_3_0_2" = callPackage - ({ mkDerivation, base, bytestring, containers, exceptions, lua5_3 - , mtl, QuickCheck, quickcheck-instances, tasty, tasty-hunit - , tasty-quickcheck, text + "hslua_2_0_0" = callPackage + ({ mkDerivation, base, bytestring, containers, exceptions + , hslua-classes, hslua-core, hslua-marshalling + , hslua-objectorientation, hslua-packaging, mtl, tasty, tasty-hslua + , tasty-hunit, text }: mkDerivation { pname = "hslua"; - version = "1.3.0.2"; - sha256 = "0p39xm0mmxzs5x6aim11qkb7npn0d9h7li2kwfhry0dijd1vm18i"; - configureFlags = [ "-fsystem-lua" "-f-use-pkgconfig" ]; + version = "2.0.0"; + sha256 = "02sy42625pcasxk3c5c0lf08zffq726ip2ylfbvbzlxpyw313vjq"; libraryHaskellDepends = [ - base bytestring containers exceptions mtl text + base bytestring containers exceptions hslua-classes hslua-core + hslua-marshalling hslua-objectorientation hslua-packaging mtl text ]; - librarySystemDepends = [ lua5_3 ]; testHaskellDepends = [ - base bytestring containers exceptions mtl QuickCheck - quickcheck-instances tasty tasty-hunit tasty-quickcheck text + base bytestring containers exceptions hslua-classes hslua-core + hslua-marshalling hslua-objectorientation hslua-packaging mtl tasty + tasty-hslua tasty-hunit text ]; description = "Bindings to Lua, an embeddable scripting language"; license = lib.licenses.mit; hydraPlatforms = lib.platforms.none; - }) {inherit (pkgs) lua5_3;}; + }) {}; "hslua-aeson" = callPackage ({ mkDerivation, aeson, base, bytestring, hashable, hslua, hspec @@ -140564,6 +140834,29 @@ self: { license = lib.licenses.mit; }) {}; + "hslua-classes" = callPackage + ({ mkDerivation, base, bytestring, containers, exceptions + , hslua-core, hslua-marshalling, lua-arbitrary, QuickCheck + , quickcheck-instances, tasty, tasty-hslua, tasty-hunit + , tasty-quickcheck, text + }: + mkDerivation { + pname = "hslua-classes"; + version = "2.0.0"; + sha256 = "1vnck29395dc4rcyr082vxyf8pz5llz73rpvkl3sq8029pj9jwsl"; + libraryHaskellDepends = [ + base bytestring containers exceptions hslua-core hslua-marshalling + text + ]; + testHaskellDepends = [ + base bytestring containers exceptions hslua-core hslua-marshalling + lua-arbitrary QuickCheck quickcheck-instances tasty tasty-hslua + tasty-hunit tasty-quickcheck text + ]; + description = "Type classes for HsLua"; + license = lib.licenses.mit; + }) {}; + "hslua-core" = callPackage ({ mkDerivation, base, bytestring, exceptions, lua, lua-arbitrary , mtl, QuickCheck, quickcheck-instances, tasty, tasty-hunit @@ -140571,8 +140864,8 @@ self: { }: mkDerivation { pname = "hslua-core"; - version = "1.0.0"; - sha256 = "1dkm0w0cpdkakx2ka8csjpg2dlzv49xxij884g1kzwg2k85l4xyy"; + version = "2.0.0"; + sha256 = "12sgrf7hm7jyfsv960n9jcciwdx16v8jyc2y8qw08fsvw9dfx1h1"; libraryHaskellDepends = [ base bytestring exceptions lua mtl text ]; @@ -140582,9 +140875,45 @@ self: { ]; description = "Bindings to Lua, an embeddable scripting language"; license = lib.licenses.mit; - hydraPlatforms = lib.platforms.none; - broken = true; - }) {lua-arbitrary = null;}; + }) {}; + + "hslua-examples" = callPackage + ({ mkDerivation, base, bytestring, hslua, hslua-marshalling, lua + , text + }: + mkDerivation { + pname = "hslua-examples"; + version = "2.0.0"; + sha256 = "12wkhs83yrragwfrgl7xdgzs4bgm3zawrkxkh16dxn619brh7n8z"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + base bytestring hslua hslua-marshalling lua text + ]; + description = "Examples of how to combine Haskell and Lua"; + license = lib.licenses.mit; + }) {}; + + "hslua-marshalling" = callPackage + ({ mkDerivation, base, bytestring, containers, hslua-core + , lua-arbitrary, mtl, QuickCheck, quickcheck-instances, tasty + , tasty-hslua, tasty-hunit, tasty-quickcheck, text + }: + mkDerivation { + pname = "hslua-marshalling"; + version = "2.0.0"; + sha256 = "1slyj0szy1ancymx2ky013q8f6sd337gpa1bbbyfl7y8s2qx7idl"; + libraryHaskellDepends = [ + base bytestring containers hslua-core mtl text + ]; + testHaskellDepends = [ + base bytestring containers hslua-core lua-arbitrary mtl QuickCheck + quickcheck-instances tasty tasty-hslua tasty-hunit tasty-quickcheck + text + ]; + description = "Marshalling of values between Haskell and Lua"; + license = lib.licenses.mit; + }) {}; "hslua-module-doclayout" = callPackage ({ mkDerivation, base, doclayout, hslua, tasty, tasty-hunit @@ -140618,6 +140947,26 @@ self: { license = lib.licenses.mit; }) {}; + "hslua-module-path_1_0_0" = callPackage + ({ mkDerivation, base, filepath, hslua, hslua-marshalling + , hslua-packaging, tasty, tasty-hunit, tasty-lua, text + }: + mkDerivation { + pname = "hslua-module-path"; + version = "1.0.0"; + sha256 = "1yhalkvz2pyhv6fw1a5sd1a4zcd3qarrcbhfk6z80wh1j23cabzg"; + libraryHaskellDepends = [ + base filepath hslua hslua-marshalling hslua-packaging text + ]; + testHaskellDepends = [ + base filepath hslua hslua-marshalling hslua-packaging tasty + tasty-hunit tasty-lua text + ]; + description = "Lua module to work with file paths"; + license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + }) {}; + "hslua-module-system" = callPackage ({ mkDerivation, base, containers, directory, exceptions, hslua , tasty, tasty-hunit, tasty-lua, temporary, text @@ -140636,6 +140985,27 @@ self: { license = lib.licenses.mit; }) {}; + "hslua-module-system_1_0_0" = callPackage + ({ mkDerivation, base, directory, exceptions, hslua-core + , hslua-marshalling, hslua-packaging, tasty, tasty-hunit, tasty-lua + , temporary, text + }: + mkDerivation { + pname = "hslua-module-system"; + version = "1.0.0"; + sha256 = "1qvc2200mi1pqckjhav3d488nc4bfh1qv4mgaqx35njda8an6l9q"; + libraryHaskellDepends = [ + base directory exceptions hslua-core hslua-marshalling + hslua-packaging temporary text + ]; + testHaskellDepends = [ + base hslua-core hslua-packaging tasty tasty-hunit tasty-lua text + ]; + description = "Lua module wrapper around Haskell's System module"; + license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + }) {}; + "hslua-module-text" = callPackage ({ mkDerivation, base, bytestring, hslua, tasty, tasty-hunit , tasty-lua, text @@ -140654,6 +141024,88 @@ self: { license = lib.licenses.mit; }) {}; + "hslua-module-text_1_0_0" = callPackage + ({ mkDerivation, base, hslua-core, hslua-marshalling + , hslua-packaging, tasty, tasty-hunit, tasty-lua, text + }: + mkDerivation { + pname = "hslua-module-text"; + version = "1.0.0"; + sha256 = "0ymmca9nmxhwghyrbs08g0d0k49zby5rrvqjzxz332yh2nvi2fg1"; + libraryHaskellDepends = [ + base hslua-core hslua-marshalling hslua-packaging text + ]; + testHaskellDepends = [ + base hslua-core hslua-packaging tasty tasty-hunit tasty-lua text + ]; + description = "Lua module for text"; + license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + }) {}; + + "hslua-module-version" = callPackage + ({ mkDerivation, base, filepath, hslua, hslua-marshalling + , hslua-packaging, tasty, tasty-hunit, tasty-lua, text + }: + mkDerivation { + pname = "hslua-module-version"; + version = "1.0.0"; + sha256 = "1kbk0iva5g4garpx0d5l1gr6zlcfi565mscqr602dr88as87nfyn"; + libraryHaskellDepends = [ + base filepath hslua hslua-marshalling hslua-packaging text + ]; + testHaskellDepends = [ + base filepath hslua hslua-marshalling hslua-packaging tasty + tasty-hunit tasty-lua text + ]; + description = "Lua module to work with version specifiers"; + license = lib.licenses.mit; + }) {}; + + "hslua-objectorientation" = callPackage + ({ mkDerivation, base, bytestring, containers, exceptions + , hslua-core, hslua-marshalling, lua-arbitrary, mtl, QuickCheck + , quickcheck-instances, tasty, tasty-hslua, tasty-hunit + , tasty-quickcheck, text + }: + mkDerivation { + pname = "hslua-objectorientation"; + version = "2.0.0"; + sha256 = "0rmzvskyvfz1salh8nyfpl56qr1jdcx5wg1sa5vp1ihyjgyrsspy"; + libraryHaskellDepends = [ + base bytestring containers exceptions hslua-core hslua-marshalling + mtl text + ]; + testHaskellDepends = [ + base bytestring containers exceptions hslua-core hslua-marshalling + lua-arbitrary mtl QuickCheck quickcheck-instances tasty tasty-hslua + tasty-hunit tasty-quickcheck text + ]; + description = "Object orientation tools for HsLua"; + license = lib.licenses.mit; + }) {}; + + "hslua-packaging" = callPackage + ({ mkDerivation, base, bytestring, containers, hslua-core + , hslua-marshalling, hslua-objectorientation, mtl, tasty + , tasty-hslua, tasty-hunit, text + }: + mkDerivation { + pname = "hslua-packaging"; + version = "2.0.0"; + sha256 = "0zb9cdbrsqs882r56vbxi9v6r34kqhacb4dwm85j5yhdmpdy0p7d"; + libraryHaskellDepends = [ + base containers hslua-core hslua-marshalling + hslua-objectorientation mtl text + ]; + testHaskellDepends = [ + base bytestring hslua-core hslua-marshalling + hslua-objectorientation mtl tasty tasty-hslua tasty-hunit text + ]; + description = "Utilities to build Lua modules"; + license = lib.licenses.mit; + }) {}; + "hsluv-haskell" = callPackage ({ mkDerivation, aeson, base, bytestring, colour, containers }: mkDerivation { @@ -141946,13 +142398,14 @@ self: { }) {}; "hspecVariant" = callPackage - ({ mkDerivation, base, hspec, QuickCheckVariant }: + ({ mkDerivation, base, hspec, QuickCheck, QuickCheckVariant }: mkDerivation { pname = "hspecVariant"; - version = "1.0.0.0"; - sha256 = "0y45jizkf2kfj3yjjkq96kavkfp74vf5dyyjvi9pj3kshf8sx8il"; + version = "1.0.1.0"; + sha256 = "1s11faqvqdmizhwhd14lq0q169352hb0fc009sqvv4c4n563xgnh"; libraryHaskellDepends = [ base hspec QuickCheckVariant ]; - description = "Spec for testing properties for variant types"; + testHaskellDepends = [ base hspec QuickCheck QuickCheckVariant ]; + description = "Spec for testing properties"; license = lib.licenses.gpl3Only; hydraPlatforms = lib.platforms.none; }) {}; @@ -143373,6 +143826,8 @@ self: { pname = "htoml"; version = "1.0.0.3"; sha256 = "0vw59kmwwqcr6ja9rx2q5l7s78n384cl7fdbq1azp03g6a5diy08"; + revision = "1"; + editedCabalFile = "1aci42zkrsbnxh090aah3j2c094gqkb0yh7i2prvlkhfsfi8r70b"; libraryHaskellDepends = [ aeson base containers old-locale parsec text time unordered-containers vector @@ -148858,8 +149313,8 @@ self: { }: mkDerivation { pname = "idris"; - version = "1.3.3"; - sha256 = "1pachwc6msw3n1mz2z1r1w6h518w9gbhdvbaa5vi1qp3cn3wm6q4"; + version = "1.3.4"; + sha256 = "0f5wrnc5ibpf2pmcj78lvg7cfq4n97ninm62wwx8993kwd6dvm46"; configureFlags = [ "-fcurses" "-fexeconly" "-fffi" "-fgmp" ]; isLibrary = true; isExecutable = true; @@ -151036,6 +151491,34 @@ self: { license = lib.licenses.bsd3; }) {}; + "influxdb_1_9_2_1" = callPackage + ({ mkDerivation, aeson, attoparsec, base, bytestring, Cabal + , cabal-doctest, clock, containers, doctest, foldl, http-client + , http-types, lens, network, optional-args, raw-strings-qq + , scientific, tagged, tasty, tasty-hunit, template-haskell, text + , time, unordered-containers, vector + }: + mkDerivation { + pname = "influxdb"; + version = "1.9.2.1"; + sha256 = "1w47wfzrl6bqac251qfpq7mja9n08kf9cgp76mmyfq3yfzcxn1wl"; + isLibrary = true; + isExecutable = true; + setupHaskellDepends = [ base Cabal cabal-doctest ]; + libraryHaskellDepends = [ + aeson attoparsec base bytestring clock containers foldl http-client + http-types lens network optional-args scientific tagged text time + unordered-containers vector + ]; + testHaskellDepends = [ + base containers doctest lens raw-strings-qq tasty tasty-hunit + template-haskell time vector + ]; + description = "InfluxDB client library for Haskell"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + }) {}; + "informative" = callPackage ({ mkDerivation, base, containers, csv, highlighting-kate , http-conduit, monad-logger, pandoc, persistent @@ -155880,33 +156363,30 @@ self: { license = lib.licenses.asl20; }) {}; - "jose_0_8_5" = callPackage - ({ mkDerivation, aeson, attoparsec, base, base64-bytestring - , bytestring, concise, containers, cryptonite, hspec, lens, memory - , monad-time, mtl, network-uri, pem, QuickCheck - , quickcheck-instances, safe, tasty, tasty-hspec, tasty-quickcheck - , template-haskell, text, time, unordered-containers, vector, x509 + "jose_0_9" = callPackage + ({ mkDerivation, aeson, base, base64-bytestring, bytestring + , concise, containers, cryptonite, hspec, lens, memory, monad-time + , mtl, network-uri, pem, QuickCheck, quickcheck-instances, tasty + , tasty-hspec, tasty-quickcheck, template-haskell, text, time, x509 }: mkDerivation { pname = "jose"; - version = "0.8.5"; - sha256 = "0d3dgm12bjdmb806599amrxqkq1rz9bs5rkp8smllvrqyxc1qn9h"; + version = "0.9"; + sha256 = "0kii03gr6n8ayp1q3hid5qslzwgxm6isjnw8klvg7j82kliikycj"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - aeson attoparsec base base64-bytestring bytestring concise - containers cryptonite lens memory monad-time mtl network-uri - QuickCheck quickcheck-instances safe template-haskell text time - unordered-containers vector x509 + aeson base base64-bytestring bytestring concise containers + cryptonite lens memory monad-time mtl network-uri QuickCheck + quickcheck-instances template-haskell text time x509 ]; testHaskellDepends = [ - aeson attoparsec base base64-bytestring bytestring concise - containers cryptonite hspec lens memory monad-time mtl network-uri - pem QuickCheck quickcheck-instances safe tasty tasty-hspec - tasty-quickcheck template-haskell text time unordered-containers - vector x509 + aeson base base64-bytestring bytestring concise containers + cryptonite hspec lens mtl network-uri pem QuickCheck + quickcheck-instances tasty tasty-hspec tasty-quickcheck text time + x509 ]; - description = "Javascript Object Signing and Encryption and JSON Web Token library"; + description = "JSON Object Signing and Encryption (JOSE) and JSON Web Token (JWT) library"; license = lib.licenses.asl20; hydraPlatforms = lib.platforms.none; }) {}; @@ -158369,6 +158849,42 @@ self: { license = lib.licenses.bsd3; }) {}; + "katip_0_8_6_0" = callPackage + ({ mkDerivation, aeson, async, auto-update, base, blaze-builder + , bytestring, containers, criterion, deepseq, directory, either + , filepath, hostname, microlens, microlens-th, monad-control, mtl + , old-locale, quickcheck-instances, regex-tdfa, resourcet + , safe-exceptions, scientific, semigroups, stm, string-conv, tasty + , tasty-golden, tasty-hunit, tasty-quickcheck, template-haskell + , text, time, time-locale-compat, transformers, transformers-base + , transformers-compat, unix, unliftio-core, unordered-containers + }: + mkDerivation { + pname = "katip"; + version = "0.8.6.0"; + sha256 = "02rq2rl9cgxfay6bnxzh7r354x20hj8zdc60pfhvh3l8naslyk5z"; + libraryHaskellDepends = [ + aeson async auto-update base bytestring containers either hostname + microlens microlens-th monad-control mtl old-locale resourcet + safe-exceptions scientific semigroups stm string-conv + template-haskell text time transformers transformers-base + transformers-compat unix unliftio-core unordered-containers + ]; + testHaskellDepends = [ + aeson base bytestring containers directory microlens + quickcheck-instances regex-tdfa safe-exceptions stm tasty + tasty-golden tasty-hunit tasty-quickcheck template-haskell text + time time-locale-compat unordered-containers + ]; + benchmarkHaskellDepends = [ + aeson async base blaze-builder criterion deepseq directory filepath + safe-exceptions text time transformers unix + ]; + description = "A structured logging framework"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + }) {}; + "katip-datadog" = callPackage ({ mkDerivation, aeson, async, attoparsec, base, binary, bytestring , conduit, conduit-extra, connection, containers, katip, network @@ -165312,8 +165828,8 @@ self: { }: mkDerivation { pname = "lentil"; - version = "1.5.2.0"; - sha256 = "0mkr8ng7i4cli8wscqy2l8112nr7wdg8dh32li354fvahmv6i4si"; + version = "1.5.3.0"; + sha256 = "14fpvclm0xvwsgc2hgnq3jxlh5mdbq7gn713nnblc92pghfgbx18"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -166789,6 +167305,19 @@ self: { license = lib.licenses.bsd3; }) {}; + "libyaml-streamly" = callPackage + ({ mkDerivation, base, bytestring, safe-exceptions, streamly }: + mkDerivation { + pname = "libyaml-streamly"; + version = "0.2.0"; + sha256 = "0lvpavy78clizrizj7zlj9msgfwkhj3c6shnss7swnp1xfi1a1k9"; + libraryHaskellDepends = [ + base bytestring safe-exceptions streamly + ]; + description = "Low-level, streaming YAML interface via streamly"; + license = lib.licenses.bsd3; + }) {}; + "libzfs" = callPackage ({ mkDerivation, base, mtl, nvpair, transformers, zfs }: mkDerivation { @@ -172129,15 +172658,28 @@ self: { }) {}; "lua" = callPackage - ({ mkDerivation, base, bytestring, tasty, tasty-hunit }: + ({ mkDerivation, base, lua5_3, tasty, tasty-hunit }: mkDerivation { pname = "lua"; - version = "1.0.0"; - sha256 = "0ly10sy9xlvalaximff287wd6hr3hxqicsx5alwpqbg9ajxlx798"; - libraryHaskellDepends = [ base bytestring ]; - testHaskellDepends = [ base bytestring tasty tasty-hunit ]; + version = "2.0.0"; + sha256 = "1k2xv210373r4y1bzzdfbkax9yypc1y7nhiamyl8gxcfp1fnjg7q"; + configureFlags = [ "-fsystem-lua" "-f-use-pkgconfig" ]; + libraryHaskellDepends = [ base ]; + librarySystemDepends = [ lua5_3 ]; + testHaskellDepends = [ base tasty tasty-hunit ]; description = "Lua, an embeddable scripting language"; license = lib.licenses.mit; + }) {inherit (pkgs) lua5_3;}; + + "lua-arbitrary" = callPackage + ({ mkDerivation, base, lua, QuickCheck }: + mkDerivation { + pname = "lua-arbitrary"; + version = "1.0.0"; + sha256 = "13kfpiyln1i3d1a47fpf00lrcj4m9dyg80zrqclx7wzy9p8ixh7l"; + libraryHaskellDepends = [ base lua QuickCheck ]; + description = "Arbitrary instances for Lua types"; + license = lib.licenses.mit; }) {}; "lua-bc" = callPackage @@ -176010,8 +176552,8 @@ self: { }: mkDerivation { pname = "matterhorn"; - version = "50200.13.0"; - sha256 = "1wyhqj7jvk94px3npid3lncyccv2xsc3rmfcw616xrf4xsqwisx2"; + version = "50200.14.0"; + sha256 = "0x0f7s4pz0ds1vg8v8qycafmg2i21542p8bmhhrzzwj2m99bgx5d"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -178502,6 +179044,28 @@ self: { license = lib.licenses.mit; }) {}; + "microlens-aeson_2_4_0" = callPackage + ({ mkDerivation, aeson, attoparsec, base, bytestring, deepseq + , hashable, microlens, scientific, tasty, tasty-hunit, text + , unordered-containers, vector + }: + mkDerivation { + pname = "microlens-aeson"; + version = "2.4.0"; + sha256 = "103r9i4ky58y34rb82dmw20npbzzk4brn9nn4650m7mdzcgmz0zm"; + libraryHaskellDepends = [ + aeson attoparsec base bytestring deepseq hashable microlens + scientific text unordered-containers vector + ]; + testHaskellDepends = [ + aeson base bytestring deepseq hashable microlens tasty tasty-hunit + text unordered-containers vector + ]; + description = "Law-abiding lenses for Aeson, using microlens"; + license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + }) {}; + "microlens-contra" = callPackage ({ mkDerivation, base, microlens }: mkDerivation { @@ -187337,6 +187901,23 @@ self: { license = lib.licenses.bsd3; }) {inherit (pkgs) libmysqlclient;}; + "mysql_0_2_1" = callPackage + ({ mkDerivation, base, bytestring, Cabal, containers, hspec + , libmysqlclient + }: + mkDerivation { + pname = "mysql"; + version = "0.2.1"; + sha256 = "051w428arxbix06a52dacqjpnkfx42zbazxsd3l9d857dsd0kl3g"; + setupHaskellDepends = [ base Cabal ]; + libraryHaskellDepends = [ base bytestring containers ]; + librarySystemDepends = [ libmysqlclient ]; + testHaskellDepends = [ base bytestring hspec ]; + description = "A low-level MySQL client library"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + }) {inherit (pkgs) libmysqlclient;}; + "mysql-effect" = callPackage ({ mkDerivation, base, bytestring, extensible-effects, mysql , mysql-simple @@ -187429,6 +188010,25 @@ self: { license = lib.licenses.bsd3; }) {}; + "mysql-simple_0_4_7" = callPackage + ({ mkDerivation, attoparsec, base, base16-bytestring, blaze-builder + , blaze-textual, bytestring, containers, hspec, mysql, old-locale + , pcre-light, text, time + }: + mkDerivation { + pname = "mysql-simple"; + version = "0.4.7"; + sha256 = "1mhmszpq64h8kxr20iaj1laq46wr2gaqc8xxq1k821i7jfxfld6j"; + libraryHaskellDepends = [ + attoparsec base base16-bytestring blaze-builder blaze-textual + bytestring containers mysql old-locale pcre-light text time + ]; + testHaskellDepends = [ base blaze-builder hspec text ]; + description = "A mid-level MySQL client library"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + }) {}; + "mysql-simple-quasi" = callPackage ({ mkDerivation, base, haskell-src-meta, mysql-simple , template-haskell @@ -191372,8 +191972,8 @@ self: { }: mkDerivation { pname = "ngx-export-tools-extra"; - version = "0.8.0.0"; - sha256 = "03s47hzw82w2wgyffdqvgcf4i0nz1vmaim7f3j8pniaa2b3xj3gv"; + version = "0.8.1.0"; + sha256 = "1lnammw06prn2mqry4g85g92hagwkfnxmv195ljxk5225xlbngy8"; libraryHaskellDepends = [ aeson array base base64 binary bytestring case-insensitive containers ede enclosed-exceptions http-client http-types network @@ -191703,8 +192303,8 @@ self: { }: mkDerivation { pname = "nix-diff"; - version = "1.0.14"; - sha256 = "0d1m65iw0c4x56gbp2rff0k2b54zawr6wn5hiah4q3k0a75r17ny"; + version = "1.0.15"; + sha256 = "0sjnihdhiib45chc04hr38g12sgp9rmjx2fibha9qsqla3rjnx3y"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -200180,6 +200780,30 @@ self: { license = lib.licenses.bsd3; }) {}; + "pandoc-types_1_22_1" = callPackage + ({ mkDerivation, aeson, base, bytestring, containers, criterion + , deepseq, ghc-prim, HUnit, QuickCheck, string-qq, syb + , test-framework, test-framework-hunit, test-framework-quickcheck2 + , text, transformers + }: + mkDerivation { + pname = "pandoc-types"; + version = "1.22.1"; + sha256 = "0z2j306jsiriwhib0201hsllwyck7qcvqci5c25frwsmknr3mls2"; + libraryHaskellDepends = [ + aeson base bytestring containers deepseq ghc-prim QuickCheck syb + text transformers + ]; + testHaskellDepends = [ + aeson base bytestring containers HUnit QuickCheck string-qq syb + test-framework test-framework-hunit test-framework-quickcheck2 text + ]; + benchmarkHaskellDepends = [ base criterion text ]; + description = "Types for representing a structured document"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + }) {}; + "pandoc-unlit" = callPackage ({ mkDerivation, base, pandoc }: mkDerivation { @@ -200242,6 +200866,17 @@ self: { license = lib.licenses.mit; }) {}; + "pandora-io" = callPackage + ({ mkDerivation, ghc-prim, pandora }: + mkDerivation { + pname = "pandora-io"; + version = "0.4.7"; + sha256 = "1kdm9g651g0836q2rc8ahqa9ys72xsy8z1ssawf4d339f8id83v5"; + libraryHaskellDepends = [ ghc-prim pandora ]; + description = "..."; + license = lib.licenses.mit; + }) {}; + "pang-a-lambda" = callPackage ({ mkDerivation, base, bytestring, containers, IfElse, mtl, SDL , SDL-gfx, SDL-ttf, transformers, Yampa @@ -205152,6 +205787,23 @@ self: { hydraPlatforms = lib.platforms.none; }) {}; + "persistent-postgresql-streaming" = callPackage + ({ mkDerivation, base, conduit, monad-logger, mtl, persistent + , persistent-postgresql, postgresql-simple, resourcet, text + , transformers + }: + mkDerivation { + pname = "persistent-postgresql-streaming"; + version = "0.1.0.0"; + sha256 = "0k9dvlhjhnrb64apr8w6hbyhvrvibgfszp2gm9zrks3mh729i5k3"; + libraryHaskellDepends = [ + base conduit monad-logger mtl persistent persistent-postgresql + postgresql-simple resourcet text transformers + ]; + description = "Memory-constant streaming of Persistent entities from PostgreSQL"; + license = lib.licenses.bsd3; + }) {}; + "persistent-protobuf" = callPackage ({ mkDerivation, base, bytestring, persistent, protocol-buffers , protocol-buffers-descriptor, template-haskell, text @@ -205403,6 +206055,32 @@ self: { license = lib.licenses.bsd3; }) {}; + "persistent-typed-db_0_1_0_5" = callPackage + ({ mkDerivation, aeson, base, bytestring, conduit, esqueleto, hspec + , hspec-discover, http-api-data, monad-logger, path-pieces + , persistent, resource-pool, resourcet, template-haskell, text + , transformers + }: + mkDerivation { + pname = "persistent-typed-db"; + version = "0.1.0.5"; + sha256 = "0xqvaypl987br15pymky9qa1z62sfa32kmcgpvnl8zpgdjsa17nc"; + libraryHaskellDepends = [ + aeson base bytestring conduit http-api-data monad-logger + path-pieces persistent resource-pool resourcet template-haskell + text transformers + ]; + testHaskellDepends = [ + aeson base bytestring conduit esqueleto hspec http-api-data + monad-logger path-pieces persistent resource-pool resourcet + template-haskell text transformers + ]; + testToolDepends = [ hspec-discover ]; + description = "Type safe access to multiple database schemata"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + }) {}; + "persistent-vector" = callPackage ({ mkDerivation, base, containers, criterion, deepseq, QuickCheck , test-framework, test-framework-quickcheck2, transformers @@ -209901,6 +210579,28 @@ self: { license = lib.licenses.mit; }) {}; + "poker-base" = callPackage + ({ mkDerivation, base, containers, extra, generic-arbitrary, hspec + , prettyprinter, QuickCheck, safe-money, tasty, tasty-discover + , tasty-hspec, tasty-quickcheck, text + }: + mkDerivation { + pname = "poker-base"; + version = "0.1.0.0"; + sha256 = "1w8j62y95d521g9y6j9ikjhzhfnlnrk8mdfxkls270xwk7m6csj6"; + libraryHaskellDepends = [ + base containers generic-arbitrary prettyprinter QuickCheck + safe-money text + ]; + testHaskellDepends = [ + base containers extra hspec prettyprinter QuickCheck tasty + tasty-discover tasty-hspec tasty-quickcheck text + ]; + testToolDepends = [ tasty-discover ]; + description = "A library for core poker types"; + license = lib.licenses.bsd3; + }) {}; + "poker-eval" = callPackage ({ mkDerivation, array, base, mtl, poker-eval, random, vector }: mkDerivation { @@ -210367,8 +211067,8 @@ self: { }: mkDerivation { pname = "polysemy-check"; - version = "0.7.0.0"; - sha256 = "1sb6gz5wz7b7gxmw0jci9kpaafk4m3rf7ghzsk2fnpvzya5fp6lg"; + version = "0.8.1.0"; + sha256 = "18nf74y8zcm3hi5gmg8zm6x13rwr17wvbw4bcm779l3v3y3ddwqw"; libraryHaskellDepends = [ base containers kind-generics kind-generics-th polysemy QuickCheck ]; @@ -210733,7 +211433,7 @@ self: { broken = true; }) {}; - "polysemy-plugin_0_4_0_0" = callPackage + "polysemy-plugin_0_4_1_0" = callPackage ({ mkDerivation, base, Cabal, cabal-doctest, containers, doctest , ghc, ghc-tcplugins-extra, hspec, hspec-discover , inspection-testing, polysemy, should-not-typecheck, syb @@ -210741,8 +211441,8 @@ self: { }: mkDerivation { pname = "polysemy-plugin"; - version = "0.4.0.0"; - sha256 = "0r3cy26smq3z1lw1pjjgankgal5m166c4cflm4chrw4bi056ipss"; + version = "0.4.1.0"; + sha256 = "1ry32mldi5mzlayb5anjzw4adqydilxfj1as01an2x9y0hp4yy00"; setupHaskellDepends = [ base Cabal cabal-doctest ]; libraryHaskellDepends = [ base containers ghc ghc-tcplugins-extra polysemy syb transformers @@ -215052,10 +215752,8 @@ self: { }: mkDerivation { pname = "primitive-sort"; - version = "0.1.0.0"; - sha256 = "147y4y8v00yggfgyf70kzd3pd9r6jvgxkzjsy3xpbp6mjdnzrbm3"; - revision = "4"; - editedCabalFile = "167p2a9bc64vfrmxnwr0zh7ddcm41rxchckygxkya46kcrgn07v3"; + version = "0.1.1.0"; + sha256 = "0ixx8cvjzsl93lr6pxppyiv12rgwaxh5xv4m56f6b81cxqdx97f2"; libraryHaskellDepends = [ base contiguous ghc-prim primitive ]; testHaskellDepends = [ base containers doctest HUnit primitive QuickCheck smallcheck tasty @@ -218246,25 +218944,25 @@ self: { "purebred-email" = callPackage ({ mkDerivation, attoparsec, base, base64-bytestring, bytestring , case-insensitive, concise, deepseq, hedgehog, lens, QuickCheck - , quickcheck-instances, semigroupoids, semigroups, stringsearch - , tasty, tasty-golden, tasty-hedgehog, tasty-hunit + , quickcheck-instances, random, semigroupoids, semigroups + , stringsearch, tasty, tasty-golden, tasty-hedgehog, tasty-hunit , tasty-quickcheck, text, time }: mkDerivation { pname = "purebred-email"; - version = "0.4.3"; - sha256 = "00jl1n200nfn8iaqqdpa9h77b14r0fd6amsh46h16ad4ky3p2nkj"; + version = "0.5"; + sha256 = "0ibnykfqs438fhpwcq0yqkdnr67rql7ss07fcr5qckr4zxaw8ba1"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ attoparsec base base64-bytestring bytestring case-insensitive - concise deepseq lens semigroupoids semigroups stringsearch text - time + concise deepseq lens random semigroupoids semigroups stringsearch + text time ]; testHaskellDepends = [ attoparsec base bytestring case-insensitive hedgehog lens - QuickCheck quickcheck-instances semigroups tasty tasty-golden - tasty-hedgehog tasty-hunit tasty-quickcheck text time + QuickCheck quickcheck-instances random semigroups tasty + tasty-golden tasty-hedgehog tasty-hunit tasty-quickcheck text time ]; description = "types and parser for email messages (including MIME)"; license = lib.licenses.agpl3Plus; @@ -218311,8 +219009,8 @@ self: { }: mkDerivation { pname = "purescript"; - version = "0.14.4"; - sha256 = "0qda90yycv2yyjdpfqvmsnxbyxpx55b53cfp9rgnbhbrskr0w2vk"; + version = "0.14.5"; + sha256 = "06f318hdah076vkviw1ryyg2p0gpbabsp8lbm5x03f2qv92n9j1n"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -218689,15 +219387,15 @@ self: { license = lib.licenses.mit; }) {}; - "pusher-http-haskell_2_1_0_4" = callPackage + "pusher-http-haskell_2_1_0_5" = callPackage ({ mkDerivation, aeson, base, base16-bytestring, bytestring , cryptonite, hashable, hspec, http-client, http-client-tls , http-types, memory, QuickCheck, text, time, unordered-containers }: mkDerivation { pname = "pusher-http-haskell"; - version = "2.1.0.4"; - sha256 = "0mqjxx1jb8kvzhnnpfs0r1zkjlb6n0pwqdr6idjsn3w7yxlf5ldw"; + version = "2.1.0.5"; + sha256 = "1nwnwli1pr2f2q77awy4b2ilph0y2hpi4wvv4wj4ha80lpniba55"; libraryHaskellDepends = [ aeson base base16-bytestring bytestring cryptonite hashable http-client http-client-tls http-types memory text time @@ -223297,8 +223995,8 @@ self: { }: mkDerivation { pname = "reactive-banana-automation"; - version = "0.5.4"; - sha256 = "1ir2m6d13hg8i4w4vfpnvjv6dvnjmrz2bwl7n6lsac95pm0hbjs3"; + version = "0.5.5"; + sha256 = "13vpmyn68ad1g9885aj6dvgyn07f5blr91k4c3gf77ymlwj1a1zn"; libraryHaskellDepends = [ base reactive-banana stm time transformers ]; @@ -226863,8 +227561,8 @@ self: { }: mkDerivation { pname = "rel8"; - version = "1.1.0.0"; - sha256 = "1p67r6l89hnl54sgqxsy5w66cx4xxwcxkidm9n1fbc2gzkd4dzbm"; + version = "1.2.0.0"; + sha256 = "0nslc1hsgvv9j5lyf4zi6b3jkakfkv49j9pjan141j1cb0cbpgwa"; libraryHaskellDepends = [ aeson base bifunctors bytestring case-insensitive comonad contravariant hasql opaleye pretty product-profunctors profunctors @@ -228851,6 +229549,32 @@ self: { hydraPlatforms = lib.platforms.none; }) {}; + "rest-rewrite" = callPackage + ({ mkDerivation, base, containers, hashable, monad-loops, mtl + , parsec, process, QuickCheck, text, time, unordered-containers + }: + mkDerivation { + pname = "rest-rewrite"; + version = "0.1.1"; + sha256 = "0absln2c3ia5bj473wr6lahms9x9xj6szk9lgpb9382px038wxrn"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base containers hashable mtl parsec process text + unordered-containers + ]; + executableHaskellDepends = [ + base containers hashable monad-loops mtl parsec process QuickCheck + text time unordered-containers + ]; + testHaskellDepends = [ + base containers hashable mtl parsec process QuickCheck text + unordered-containers + ]; + description = "Rewriting library with online termination checking"; + license = lib.licenses.bsd3; + }) {}; + "rest-snap" = callPackage ({ mkDerivation, base, base-compat, bytestring, case-insensitive , rest-core, safe, snap-core, unordered-containers, uri-encode @@ -234295,6 +235019,34 @@ self: { license = lib.licenses.lgpl3Only; }) {}; + "sbp_4_0_3" = callPackage + ({ mkDerivation, aeson, aeson-pretty, array, base + , base64-bytestring, basic-prelude, binary, binary-conduit + , bytestring, cmdargs, conduit, conduit-extra, data-binary-ieee754 + , lens, lens-aeson, monad-loops, resourcet, tasty, tasty-hunit + , template-haskell, text, time, yaml + }: + mkDerivation { + pname = "sbp"; + version = "4.0.3"; + sha256 = "1pcrpykf6wzpkrgxi08niwadvdk5rab3ddcba28j84d3agzv7192"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson array base base64-bytestring basic-prelude binary bytestring + data-binary-ieee754 lens lens-aeson monad-loops template-haskell + text + ]; + executableHaskellDepends = [ + aeson aeson-pretty base basic-prelude binary-conduit bytestring + cmdargs conduit conduit-extra lens resourcet time yaml + ]; + testHaskellDepends = [ base basic-prelude tasty tasty-hunit ]; + description = "SwiftNav's SBP Library"; + license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + }) {}; + "sbp2udp" = callPackage ({ mkDerivation, base, basic-prelude, binary, binary-conduit , bytestring, conduit, conduit-extra, network, optparse-generic @@ -244288,6 +245040,28 @@ self: { maintainers = with lib.maintainers; [ turion ]; }) {}; + "simple-amount" = callPackage + ({ mkDerivation, aeson, base, data-default, gmp, hedgehog, HUnit + , lens, mpfr, pretty, pretty-show, profunctors, split, tasty + , tasty-hedgehog, tasty-hunit, text, time, transformers + }: + mkDerivation { + pname = "simple-amount"; + version = "0.2.0"; + sha256 = "1vcms57piz1abvsbsc67m1yzlnkkffz4bgrdg1yqxja7azncpizf"; + libraryHaskellDepends = [ + aeson base data-default lens pretty pretty-show profunctors split + text time transformers + ]; + librarySystemDepends = [ gmp mpfr ]; + testHaskellDepends = [ + aeson base data-default hedgehog HUnit lens pretty pretty-show + profunctors split tasty tasty-hedgehog tasty-hunit text time + transformers + ]; + license = lib.licenses.bsd3; + }) {inherit (pkgs) gmp; inherit (pkgs) mpfr;}; + "simple-atom" = callPackage ({ mkDerivation, base, containers, deepseq }: mkDerivation { @@ -249923,6 +250697,23 @@ self: { license = lib.licenses.mit; }) {}; + "som" = callPackage + ({ mkDerivation, base, containers, deepseq, grid, QuickCheck + , random, test-framework, test-framework-quickcheck2 + }: + mkDerivation { + pname = "som"; + version = "10.1.11"; + sha256 = "1fslhbi5gxdjx199g4vaygq57nimhrc4dhqf8nk8nv4b2pwd97nr"; + libraryHaskellDepends = [ base containers deepseq grid ]; + testHaskellDepends = [ + base containers deepseq grid QuickCheck random test-framework + test-framework-quickcheck2 + ]; + description = "Self-Organising Maps"; + license = lib.licenses.bsd3; + }) {}; + "some" = callPackage ({ mkDerivation, base, deepseq }: mkDerivation { @@ -252067,6 +252858,74 @@ self: { broken = true; }) {}; + "squeal-postgresql_0_8_0_0" = callPackage + ({ mkDerivation, aeson, async, base, binary, binary-parser + , bytestring, bytestring-strict-builder, deepseq, doctest + , exceptions, free-categories, gauge, generic-random, generics-sop + , hedgehog, hspec, mmorph, monad-control, monad-loops, mtl + , network-ip, postgresql-binary, postgresql-libpq, profunctors + , QuickCheck, quickcheck-instances, records-sop, resource-pool + , scientific, text, time, transformers, transformers-base, unliftio + , uuid-types, vector, with-utf8 + }: + mkDerivation { + pname = "squeal-postgresql"; + version = "0.8.0.0"; + sha256 = "1yk6fayg4nk6597jz9552jv910131fpvjb1hlfvjnx6zhb7lf71q"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson base binary binary-parser bytestring + bytestring-strict-builder deepseq exceptions free-categories + generics-sop mmorph monad-control mtl network-ip postgresql-binary + postgresql-libpq profunctors records-sop resource-pool scientific + text time transformers transformers-base unliftio uuid-types vector + ]; + executableHaskellDepends = [ + base bytestring generics-sop mtl text transformers vector + ]; + testHaskellDepends = [ + async base bytestring doctest generics-sop hedgehog hspec mtl + scientific text time vector with-utf8 + ]; + benchmarkHaskellDepends = [ + base bytestring deepseq gauge generic-random generics-sop + monad-loops mtl QuickCheck quickcheck-instances scientific text + with-utf8 + ]; + description = "Squeal PostgreSQL Library"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + broken = true; + }) {}; + + "squeal-postgresql-ltree" = callPackage + ({ mkDerivation, base, bytestring, generics-sop, mtl + , postgresql-binary, postgresql-libpq, squeal-postgresql, text + }: + mkDerivation { + pname = "squeal-postgresql-ltree"; + version = "0.1.0.0"; + sha256 = "184y3ar72icxbnqasqvma0ri7s1qczmfsangcvqjjwjf3kpnbb87"; + libraryHaskellDepends = [ + base bytestring generics-sop mtl postgresql-binary postgresql-libpq + squeal-postgresql text + ]; + description = "LTree extension for Squeal"; + license = lib.licenses.bsd3; + }) {}; + + "squeal-postgresql-uuid-ossp" = callPackage + ({ mkDerivation, base, squeal-postgresql }: + mkDerivation { + pname = "squeal-postgresql-uuid-ossp"; + version = "0.1.0.0"; + sha256 = "0b2z4rz3r3dikqa6w8rsi36gw6wvvj7b8rmh2drpp6lykykm8n2s"; + libraryHaskellDepends = [ base squeal-postgresql ]; + description = "UUID OSSP extension for Squeal"; + license = lib.licenses.bsd3; + }) {}; + "squeather" = callPackage ({ mkDerivation, base, bytestring, directory, filepath, hedgehog , lifted-base, temporary, text @@ -263273,6 +264132,20 @@ self: { broken = true; }) {}; + "tasty-hslua" = callPackage + ({ mkDerivation, base, bytestring, hslua-core, tasty, tasty-hunit + }: + mkDerivation { + pname = "tasty-hslua"; + version = "1.0.0"; + sha256 = "07il3h282lj7m9y7cgc2w0gbffzndibwgxqfdv5m2n4kf1c3finl"; + libraryHaskellDepends = [ + base bytestring hslua-core tasty tasty-hunit + ]; + description = "Tasty helpers to test HsLua"; + license = lib.licenses.mit; + }) {}; + "tasty-hspec" = callPackage ({ mkDerivation, base, hspec, hspec-core, QuickCheck, tasty , tasty-quickcheck, tasty-smallcheck @@ -263525,6 +264398,26 @@ self: { license = lib.licenses.mit; }) {}; + "tasty-lua_1_0_0" = callPackage + ({ mkDerivation, base, bytestring, directory, file-embed, filepath + , hslua-core, hslua-marshalling, tasty, tasty-hunit, text + }: + mkDerivation { + pname = "tasty-lua"; + version = "1.0.0"; + sha256 = "1ykl3by81ivz59zy3cqd6xsa4g8g7axwr9hajdbvmwn1b5y4h880"; + libraryHaskellDepends = [ + base bytestring file-embed hslua-core hslua-marshalling tasty text + ]; + testHaskellDepends = [ + base directory filepath hslua-core hslua-marshalling tasty + tasty-hunit + ]; + description = "Write tests in Lua, integrate into tasty"; + license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + }) {}; + "tasty-mgolden" = callPackage ({ mkDerivation, ansi-terminal, base, Diff, filepath, hlint, tasty , tasty-expected-failure, tasty-hunit, text, typed-process @@ -264350,6 +265243,22 @@ self: { license = lib.licenses.bsd3; }) {}; + "telega" = callPackage + ({ mkDerivation, aeson, base, data-default, http-client, joint + , lens, req, text, unordered-containers + }: + mkDerivation { + pname = "telega"; + version = "0.3.0"; + sha256 = "1i19vn0i89p1p007bj0yfdywd9q2n3pd5gx39r7rcn13rzr40alq"; + libraryHaskellDepends = [ + aeson base data-default http-client joint lens req text + unordered-containers + ]; + description = "Telegram Bot API binding"; + license = lib.licenses.mit; + }) {}; + "telegram" = callPackage ({ mkDerivation, aeson, base, bytestring, data-default , http-conduit, url, utf8-string @@ -265750,8 +266659,8 @@ self: { pname = "test-framework"; version = "0.8.2.0"; sha256 = "1hhacrzam6b8f10hyldmjw8pb7frdxh04rfg3farxcxwbnhwgbpm"; - revision = "6"; - editedCabalFile = "0wbq9wiaag69nsqxwijzhs5y1hb9kbpkp1x65dvx158cxp8i9w9r"; + revision = "7"; + editedCabalFile = "0an5fypqx6r9v3ql5n9xwdxnaq922lpwh759z5y6vx8rasnd98jw"; libraryHaskellDepends = [ ansi-terminal ansi-wl-pprint base containers hostname old-locale random regex-posix time xml @@ -266469,6 +267378,29 @@ self: { license = lib.licenses.gpl2Only; }) {}; + "texmath_0_12_3_2" = callPackage + ({ mkDerivation, base, bytestring, containers, directory, filepath + , mtl, pandoc-types, parsec, process, split, syb, temporary, text + , utf8-string, xml + }: + mkDerivation { + pname = "texmath"; + version = "0.12.3.2"; + sha256 = "1d9r3na7hmkgr0j63fs50ssll506l1wyqhw0dpap7jk0rdz8pv6n"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base containers mtl pandoc-types parsec split syb text xml + ]; + testHaskellDepends = [ + base bytestring directory filepath process temporary text + utf8-string xml + ]; + description = "Conversion between formats used to represent mathematics"; + license = lib.licenses.gpl2Only; + hydraPlatforms = lib.platforms.none; + }) {}; + "texrunner" = callPackage ({ mkDerivation, attoparsec, base, bytestring, directory, filepath , HUnit, io-streams, lens, mtl, process, semigroups, temporary @@ -269452,14 +270384,14 @@ self: { hydraPlatforms = lib.platforms.none; }) {}; - "time_1_13" = callPackage + "time_1_12" = callPackage ({ mkDerivation, base, criterion, deepseq, QuickCheck, random , tasty, tasty-hunit, tasty-quickcheck }: mkDerivation { pname = "time"; - version = "1.13"; - sha256 = "1i2czgawz0gx3b6mfkcjc8fk4b4jjdlq3znys6kcvzmb6s1lf61d"; + version = "1.12"; + sha256 = "0xavlg1lsq0fip6mwvphr4xz2iykys4wsn468hr8qdg6xqab0x0b"; libraryHaskellDepends = [ base deepseq ]; testHaskellDepends = [ base deepseq QuickCheck random tasty tasty-hunit tasty-quickcheck @@ -285412,6 +286344,37 @@ self: { license = lib.licenses.mit; }) {}; + "wai-extra_3_1_7" = callPackage + ({ mkDerivation, aeson, ansi-terminal, base, base64-bytestring + , bytestring, call-stack, case-insensitive, containers, cookie + , data-default-class, directory, fast-logger, hspec, http-types + , http2, HUnit, iproute, network, resourcet, streaming-commons + , text, time, transformers, unix, vault, wai, wai-logger, word8 + , zlib + }: + mkDerivation { + pname = "wai-extra"; + version = "3.1.7"; + sha256 = "1avf7bjcsbs8l6klp5kkd0cd2dc5n0j0a2yf8813pnwfn5b7qyd4"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson ansi-terminal base base64-bytestring bytestring call-stack + case-insensitive containers cookie data-default-class directory + fast-logger http-types http2 HUnit iproute network resourcet + streaming-commons text time transformers unix vault wai wai-logger + word8 + ]; + testHaskellDepends = [ + aeson base bytestring case-insensitive cookie fast-logger hspec + http-types http2 HUnit iproute resourcet text time transformers wai + zlib + ]; + description = "Provides some basic WAI handlers and middleware"; + license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + }) {}; + "wai-feature-flags" = callPackage ({ mkDerivation, aeson, base, bytestring, random, text , unordered-containers, wai, warp @@ -294796,6 +295759,34 @@ self: { hydraPlatforms = lib.platforms.none; }) {}; + "yaml-streamly" = callPackage + ({ mkDerivation, aeson, attoparsec, base, base-compat, bytestring + , containers, directory, filepath, hspec, hspec-discover, HUnit + , libyaml-streamly, mockery, mtl, raw-strings-qq, safe-exceptions + , scientific, streamly, template-haskell, temporary, text + , transformers, unordered-containers, vector + }: + mkDerivation { + pname = "yaml-streamly"; + version = "0.12.0"; + sha256 = "1jvvj1g20n8v7rnbvqgsvqm7l4nnh97ibkvb2zkj2wskir0l00mc"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson attoparsec base bytestring containers directory filepath + libyaml-streamly mtl safe-exceptions scientific streamly + template-haskell text transformers unordered-containers vector + ]; + testHaskellDepends = [ + aeson base base-compat bytestring directory hspec HUnit + libyaml-streamly mockery raw-strings-qq scientific streamly + temporary text unordered-containers vector + ]; + testToolDepends = [ hspec-discover ]; + description = "Support for parsing and rendering YAML documents"; + license = lib.licenses.bsd3; + }) {}; + "yaml-union" = callPackage ({ mkDerivation, aeson, base, bytestring, directory, filepath , hspec, optparse-applicative, QuickCheck, quickcheck-instances @@ -294906,6 +295897,26 @@ self: { license = lib.licenses.mit; }) {}; + "yamlparse-applicative_0_2_0_1" = callPackage + ({ mkDerivation, aeson, base, bytestring, containers + , optparse-applicative, path, path-io, prettyprinter + , safe-coloured-text, scientific, text, unordered-containers + , validity, validity-text, vector, yaml + }: + mkDerivation { + pname = "yamlparse-applicative"; + version = "0.2.0.1"; + sha256 = "1b4qz5qy7349bx7kkz9nf2p13hr8a2xyirsw92y4vigpjd16fvs4"; + libraryHaskellDepends = [ + aeson base bytestring containers optparse-applicative path path-io + prettyprinter safe-coloured-text scientific text + unordered-containers validity validity-text vector yaml + ]; + description = "Declaritive configuration parsing with free docs"; + license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + }) {}; + "yampa-canvas" = callPackage ({ mkDerivation, base, blank-canvas, stm, time, Yampa }: mkDerivation { @@ -298863,8 +299874,8 @@ self: { }: mkDerivation { pname = "zeolite-lang"; - version = "0.18.0.1"; - sha256 = "0sjzqn1mxqqlqg4zhkl1r3nh125i0pkpl2lplw99dgsbpdv8q71a"; + version = "0.18.1.0"; + sha256 = "158wp0c50qa7pmmnr4vm7agz7w37wpi8mk1588g877nwsxy8p4s4"; isLibrary = false; isExecutable = true; enableSeparateDataOutput = true; @@ -299638,6 +300649,22 @@ self: { license = lib.licenses.bsd3; }) {}; + "zlib-bytes" = callPackage + ({ mkDerivation, base, byteslice, bytestring, mtl, primitive, tasty + , tasty-quickcheck + }: + mkDerivation { + pname = "zlib-bytes"; + version = "0.1.0.0"; + sha256 = "0a8hqk5vw49fiwvdgf5glg2s49zkjgydy6bfasas2zl3ibvcy7xw"; + libraryHaskellDepends = [ base byteslice mtl primitive ]; + testHaskellDepends = [ + base byteslice bytestring primitive tasty tasty-quickcheck + ]; + description = "zlib compression bindings"; + license = lib.licenses.bsd3; + }) {}; + "zlib-conduit" = callPackage ({ mkDerivation, base, conduit }: mkDerivation { From 3478ac5c5ba30b841cb8096d314c01fa553b19a3 Mon Sep 17 00:00:00 2001 From: Ellie Hermaszewska Date: Sat, 23 Oct 2021 16:02:05 +0800 Subject: [PATCH 09/46] haskellPackages.lua: fix install phase --- pkgs/development/haskell-modules/configuration-common.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index f20a37fe8406..fef81a0cde33 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -2071,4 +2071,12 @@ EOT # file revision on hackage was gifted CRLF line endings gogol-core = appendPatch super.gogol-core ./patches/gogol-core-144.patch; + # cabal tries to install files we're supplying from the system + # https://github.com/hslua/hslua/pull/103 + lua = appendPatch super.lua (pkgs.fetchpatch { + url = "https://github.com/hslua/hslua/pull/103/commits/814bf1bb284151e827b1c11a7277819ed2779dd2.patch"; + sha256 = "1kj0g51lkjyf6jv2ikayb3cfh0dcr669swmxl9a2mcrizxcbkrhy"; + stripLen = 1; + }); + } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super From 4b7c62ffc328fc683b31963a97ceaf9c462c2307 Mon Sep 17 00:00:00 2001 From: Markus Hauck Date: Sat, 23 Oct 2021 20:08:35 +0200 Subject: [PATCH 10/46] haskellPackages.aeson-via: unbreak --- .../haskell-modules/configuration-hackage2nix/broken.yaml | 1 - pkgs/development/haskell-modules/hackage-packages.nix | 2 -- 2 files changed, 3 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml index 97ffc1407def..b681232afde1 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml @@ -88,7 +88,6 @@ broken-packages: - aeson-tiled - aeson-typescript - aeson-utils - - aeson-via - affection - affine-invariant-ensemble-mcmc - Agata diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index a5945d11480d..7edb79da4720 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -25596,8 +25596,6 @@ self: { ]; description = "Wrappers to derive-via Aeson ToJSON/FromJSON typeclasses"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; - broken = true; }) {}; "aeson-with" = callPackage From 595b25ed53a824633a0159da98e4b0137baec705 Mon Sep 17 00:00:00 2001 From: Markus Hauck Date: Sat, 23 Oct 2021 20:08:54 +0200 Subject: [PATCH 11/46] haskellPackages.diagrams-canvas: unbreak --- .../haskell-modules/configuration-hackage2nix/broken.yaml | 1 - pkgs/development/haskell-modules/hackage-packages.nix | 2 -- 2 files changed, 3 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml index b681232afde1..fb0782fa63cd 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml @@ -1049,7 +1049,6 @@ broken-packages: - dia-base - diagrams-boolean - diagrams-builder - - diagrams-canvas - diagrams-graphviz - diagrams-gtk - diagrams-pdf diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index 7edb79da4720..9ef72b253f28 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -76633,8 +76633,6 @@ self: { ]; description = "HTML5 canvas backend for diagrams drawing EDSL"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; - broken = true; }) {}; "diagrams-contrib" = callPackage From 46a23e81f3d2cc95f32c2527739d063eb218a595 Mon Sep 17 00:00:00 2001 From: Markus Hauck Date: Sat, 23 Oct 2021 20:09:07 +0200 Subject: [PATCH 12/46] haskellPackages.hw-prim-bits: unbreak --- .../haskell-modules/configuration-hackage2nix/broken.yaml | 1 - pkgs/development/haskell-modules/hackage-packages.nix | 2 -- 2 files changed, 3 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml index fb0782fa63cd..c912e3522478 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml @@ -2467,7 +2467,6 @@ broken-packages: - hw-json-simd - hw-mquery - hworker - - hw-prim-bits - hw-simd - hwsl2 - hx diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index 9ef72b253f28..5af69d43763b 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -147035,8 +147035,6 @@ self: { benchmarkHaskellDepends = [ base criterion vector ]; description = "Primitive support for bit manipulation"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; - broken = true; }) {}; "hw-rankselect" = callPackage From 742d75c5bcd587ba0ac2a4c01e16b0872b743b89 Mon Sep 17 00:00:00 2001 From: Daniel Smith Date: Sat, 23 Oct 2021 13:42:26 -0700 Subject: [PATCH 13/46] ghcjs: remove duplicate vector patch Allows vector to be built with ghcjs --- .../ghcjs/patches/vector-ghcjs-storable-set.patch | 14 -------------- .../haskell-modules/configuration-ghcjs.nix | 3 --- 2 files changed, 17 deletions(-) delete mode 100644 pkgs/development/compilers/ghcjs/patches/vector-ghcjs-storable-set.patch diff --git a/pkgs/development/compilers/ghcjs/patches/vector-ghcjs-storable-set.patch b/pkgs/development/compilers/ghcjs/patches/vector-ghcjs-storable-set.patch deleted file mode 100644 index 20e19d8bf863..000000000000 --- a/pkgs/development/compilers/ghcjs/patches/vector-ghcjs-storable-set.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/Data/Vector/Storable/Mutable.hs b/Data/Vector/Storable/Mutable.hs -index 8b538bc..2b74fce 100644 ---- a/Data/Vector/Storable/Mutable.hs -+++ b/Data/Vector/Storable/Mutable.hs -@@ -197,7 +197,9 @@ storableSet (MVector n fp) x - 1 -> storableSetAsPrim n fp x (undefined :: Word8) - 2 -> storableSetAsPrim n fp x (undefined :: Word16) - 4 -> storableSetAsPrim n fp x (undefined :: Word32) -+#if !defined(ghcjs_HOST_OS) - 8 -> storableSetAsPrim n fp x (undefined :: Word64) -+#endif - _ -> unsafeWithForeignPtr fp $ \p -> do - poke p x - diff --git a/pkgs/development/haskell-modules/configuration-ghcjs.nix b/pkgs/development/haskell-modules/configuration-ghcjs.nix index d4e443d6beaf..953695e7b6cc 100644 --- a/pkgs/development/haskell-modules/configuration-ghcjs.nix +++ b/pkgs/development/haskell-modules/configuration-ghcjs.nix @@ -101,9 +101,6 @@ self: super: # still present here https://github.com/glguy/th-abstraction/issues/53 th-abstraction = dontCheck super.th-abstraction; - # https://github.com/haskell/vector/issues/410 - vector = appendPatch super.vector (../compilers/ghcjs/patches/vector-ghcjs-storable-set.patch) ; - # Need hedgehog for tests, which fails to compile due to dep on concurrent-output zenc = dontCheck super.zenc; } From a0029f0b02ddb1ae97924563eebf9040fe48003c Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Sun, 24 Oct 2021 13:14:18 +0200 Subject: [PATCH 14/46] haskellPackages.idris: remove patches included in new release --- .../haskell-modules/configuration-common.nix | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index fef81a0cde33..8b19deda5db9 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -631,20 +631,7 @@ self: super: { # removed when the next idris release (1.3.4 probably) comes # around. idris = generateOptparseApplicativeCompletion "idris" - (doJailbreak (dontCheck - (appendPatches super.idris [ - # compatibility with haskeline >= 0.8 - (pkgs.fetchpatch { - url = "https://github.com/idris-lang/Idris-dev/commit/89a87cf666eb8b27190c779e72d0d76eadc1bc14.patch"; - sha256 = "0fv493zlpgjsf57w0sncd4vqfkabfczp3xazjjmqw54m9rsfix35"; - }) - # compatibility with megaparsec >= 0.9 - (pkgs.fetchpatch { - url = "https://github.com/idris-lang/Idris-dev/commit/6ea9bc913877d765048d7cdb7fc5aec60b196fac.patch"; - sha256 = "0yms74d1xdxd1c08dnp45nb1ddzq54n6hqgzxx0r494wy614ir8q"; - }) - ]) - )); + (doJailbreak (dontCheck super.idris)); # https://github.com/pontarius/pontarius-xmpp/issues/105 pontarius-xmpp = dontCheck super.pontarius-xmpp; From e3bca38518f3a962f94ed7caa6af8d77801cbf0e Mon Sep 17 00:00:00 2001 From: Markus Hauck Date: Sun, 24 Oct 2021 19:42:00 +0200 Subject: [PATCH 15/46] haskellPackages.tasty-checklist: unbreak --- .../haskell-modules/configuration-hackage2nix/broken.yaml | 1 - pkgs/development/haskell-modules/hackage-packages.nix | 2 -- 2 files changed, 3 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml index c912e3522478..ba3202705b00 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml @@ -4806,7 +4806,6 @@ broken-packages: - tapioca - TaskMonad - tasty-auto - - tasty-checklist - tasty-fail-fast - tasty-grading-system - tasty-hedgehog-coverage diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index 5af69d43763b..ba91f9b5fd63 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -263929,8 +263929,6 @@ self: { ]; description = "Check multiple items during a tasty test"; license = lib.licenses.isc; - hydraPlatforms = lib.platforms.none; - broken = true; }) {}; "tasty-dejafu" = callPackage From a561e73b9e64752f87c328a561f3ba08540494ac Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Sun, 24 Oct 2021 20:16:01 +0200 Subject: [PATCH 16/46] haskellPackages.matterhorn: provide up to date brick Fails to compile with stackage's brick version and additionally depends on packages depending on brick, so overrideScope is necessary. Should be fine as this is a leaf package. --- pkgs/development/haskell-modules/configuration-common.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 8b19deda5db9..871fc9189714 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -281,7 +281,9 @@ self: super: { lvmrun = disableHardening (dontCheck super.lvmrun) ["format"]; matplotlib = dontCheck super.matplotlib; # https://github.com/matterhorn-chat/matterhorn/issues/679 they do not want to be on stackage - matterhorn = doJailbreak super.matterhorn; # this is needed until the end of time :') + matterhorn = doJailbreak (super.matterhorn.overrideScope (self: super: { + brick = self.brick_0_64_2; + })); memcache = dontCheck super.memcache; metrics = dontCheck super.metrics; milena = dontCheck super.milena; From 5d53087f9b96919eb2175bf44d5669575e24e2f6 Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Wed, 27 Oct 2021 18:17:10 +0200 Subject: [PATCH 17/46] haskellPackages.callCabal2nixWithOptions: don't guess cabal filename cabal only allows one cabal file per directory and cabal2nix will find the correct file easily. Thus we don't need to know ahead of time which cabal file to select. One downside of this is of course that we may include unnecessary files in subdirectories, which could possibly be fixed by enforcing depth. --- pkgs/development/haskell-modules/make-package-set.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix index b79aace9e3b7..d272f7375a82 100644 --- a/pkgs/development/haskell-modules/make-package-set.nix +++ b/pkgs/development/haskell-modules/make-package-set.nix @@ -205,7 +205,7 @@ in package-set { inherit pkgs lib callPackage; } self // { callCabal2nixWithOptions = name: src: extraCabal2nixOptions: args: let filter = path: type: - pkgs.lib.hasSuffix "${name}.cabal" path || + pkgs.lib.hasSuffix ".cabal" path || baseNameOf path == "package.yaml"; expr = self.haskellSrc2nix { inherit name extraCabal2nixOptions; From f7ce5752d7dd8272050590c1d3d6594ae30f45d7 Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Thu, 28 Oct 2021 13:41:30 +0200 Subject: [PATCH 18/46] haskellPackages.Chart-tests: fix override preCheck should reuse the old preCheck phase, not the postPatch phase (which for example would contain the jailbreak-cabal call). Also use overrideCabal which should have less pitfalls in this context. --- pkgs/development/haskell-modules/configuration-common.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 871fc9189714..e9376a6dadb1 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1121,8 +1121,8 @@ self: super: { }); # Chart-tests needs and compiles some modules from Chart itself - Chart-tests = (addExtraLibrary super.Chart-tests self.QuickCheck).overrideAttrs (old: { - preCheck = old.postPatch or "" + '' + Chart-tests = overrideCabal (addExtraLibrary super.Chart-tests self.QuickCheck) (old: { + preCheck = old.preCheck or "" + '' tar --one-top-level=../chart --strip-components=1 -xf ${self.Chart.src} ''; }); From a8d21813179e32d8e8f3880c6d311de5573ed5fb Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Thu, 28 Oct 2021 13:52:35 +0200 Subject: [PATCH 19/46] haskellPackages: update diagrams-related packages to latest hackage Since https://github.com/diagrams/diagrams/issues/26 has been solved, all diagrams-related libs finally work together in their latest version and we can remove the constraints on the following updated packages. * haskellPackages.monoid-extras: 0.5.1 -> 0.6 * haskellPackages.diagrams-lib: 1.4.3 -> 1.4.4 Also allows us to get rid of a patch for optparse-applicative 0.16 support. * haskellPackages.dual-tree: 0.2.2.1 -> 0.2.3.0 Allows us to drop jailbreak. * haskellPackages.diagrams-core: 1.4.2 -> 1.5.0 Allows us to drop jailbreak. Some reverse dependencies of said libraries had too strict bounds, but fortunately no new regressions (as far as I am aware) have been introduced. Jailbreaks were needed for: * diagrams-braille * Chart-diagrams * namespace * plots * Chart-tests --- .../haskell-modules/configuration-common.nix | 24 ++--- .../configuration-hackage2nix/main.yaml | 12 --- .../haskell-modules/hackage-packages.nix | 89 ------------------- 3 files changed, 12 insertions(+), 113 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index e9376a6dadb1..b3a57a9e2acd 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -681,19 +681,17 @@ self: super: { # For 2.17 support: https://github.com/JonasDuregard/sized-functors/pull/10 size-based = doJailbreak super.size-based; - # Remove as soon as we update to monoid-extras 0.6 and unpin these packages - dual-tree = doJailbreak super.dual-tree; - diagrams-core = doJailbreak super.diagrams-core; + # https://github.com/diagrams/diagrams-braille/issues/1 + diagrams-braille = doJailbreak super.diagrams-braille; - # Apply patch from master to add compat with optparse-applicative >= 0.16. - # We unfortunately can't upgrade to 1.4.4 which includes this patch yet - # since it would require monoid-extras 0.6 which breaks other diagrams libs. - diagrams-lib = doJailbreak (appendPatch super.diagrams-lib - (pkgs.fetchpatch { - url = "https://github.com/diagrams/diagrams-lib/commit/4b9842c3e3d653be69af19778970337775e2404d.patch"; - sha256 = "0xqvzh3ip9i0nv8xnh41afxki64r259pxq8ir1a4v99ggnldpjaa"; - includes = [ "*/CmdLine.hs" ]; - })); + # https://github.com/timbod7/haskell-chart/pull/231#issuecomment-953745932 + Chart-diagrams = doJailbreak super.Chart-diagrams; + + # https://github.com/xu-hao/namespace/issues/1 + namespace = doJailbreak super.namespace; + + # https://github.com/cchalmers/plots/issues/46 + plots = doJailbreak super.plots; # https://github.com/diagrams/diagrams-solve/issues/4 diagrams-solve = dontCheck super.diagrams-solve; @@ -1122,6 +1120,8 @@ self: super: { # Chart-tests needs and compiles some modules from Chart itself Chart-tests = overrideCabal (addExtraLibrary super.Chart-tests self.QuickCheck) (old: { + # https://github.com/timbod7/haskell-chart/issues/233 + jailbreak = true; preCheck = old.preCheck or "" + '' tar --one-top-level=../chart --strip-components=1 -xf ${self.Chart.src} ''; diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml index 4282915cee41..7f337014ff08 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml @@ -72,18 +72,6 @@ default-package-overrides: # gi-gdkx11-4.x requires gtk-4.x, which is still under development and # not yet available in Nixpkgs - gi-gdkx11 < 4 - # 2021-05-11: not all diagrams libraries have adjusted to - # monoid-extras 0.6 yet, keep them pinned to lower versions - # until we can do a full migration, see - # https://github.com/diagrams/diagrams-core/issues/115 - # We can keep this pin at most until base 4.15 - # Since the monoid-extras adjustment was combined with - # a major release in some cases, we need to wait for - # diagrams 1.5 to be released. - - monoid-extras < 0.6 - - dual-tree < 0.2.3.0 - - diagrams-core < 1.5.0 - - diagrams-lib < 1.4.4 # streamly-* packages which are not in stackage and to be constrained # as long as we have streamly < 0.8.0 - streamly-archive < 0.1.0 diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index ba91f9b5fd63..c1f70f5a9a1c 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -76664,25 +76664,6 @@ self: { }) {}; "diagrams-core" = callPackage - ({ mkDerivation, adjunctions, base, containers, distributive - , dual-tree, lens, linear, monoid-extras, mtl, profunctors - , semigroups, unordered-containers - }: - mkDerivation { - pname = "diagrams-core"; - version = "1.4.2"; - sha256 = "0qgb43vy23g4fxh3nmxfq6jyp34imqvkhgflaa6rz0iq6d60gl43"; - revision = "1"; - editedCabalFile = "0w8mpy0z8kmx4l7cg8sgc1hyixysjfqffdgmnxy5p04airjlbpj7"; - libraryHaskellDepends = [ - adjunctions base containers distributive dual-tree lens linear - monoid-extras mtl profunctors semigroups unordered-containers - ]; - description = "Core libraries for diagrams EDSL"; - license = lib.licenses.bsd3; - }) {}; - - "diagrams-core_1_5_0" = callPackage ({ mkDerivation, adjunctions, base, containers, distributive , dual-tree, lens, linear, monoid-extras, mtl, profunctors , semigroups, unordered-containers @@ -76699,7 +76680,6 @@ self: { ]; description = "Core libraries for diagrams EDSL"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "diagrams-graphviz" = callPackage @@ -76808,39 +76788,6 @@ self: { }) {}; "diagrams-lib" = callPackage - ({ mkDerivation, active, adjunctions, array, base, bytestring - , cereal, colour, containers, criterion, data-default-class - , deepseq, diagrams-core, diagrams-solve, directory, distributive - , dual-tree, exceptions, filepath, fingertree, fsnotify, hashable - , intervals, JuicyPixels, lens, linear, monoid-extras, mtl - , numeric-extras, optparse-applicative, process, profunctors - , QuickCheck, semigroups, tagged, tasty, tasty-hunit - , tasty-quickcheck, text, transformers, unordered-containers - }: - mkDerivation { - pname = "diagrams-lib"; - version = "1.4.3"; - sha256 = "0gqrcyjyp3p78vmfxvhfjbkkl2xvwcv3qyyinbdcmalb5zb8vyy6"; - revision = "1"; - editedCabalFile = "0cqhqm2nz2ls00pfhx8hz6z6g17qhl380h24wp4d6l5msiw7gxq4"; - libraryHaskellDepends = [ - active adjunctions array base bytestring cereal colour containers - data-default-class diagrams-core diagrams-solve directory - distributive dual-tree exceptions filepath fingertree fsnotify - hashable intervals JuicyPixels lens linear monoid-extras mtl - optparse-applicative process profunctors semigroups tagged text - transformers unordered-containers - ]; - testHaskellDepends = [ - base deepseq diagrams-solve distributive lens numeric-extras - QuickCheck tasty tasty-hunit tasty-quickcheck - ]; - benchmarkHaskellDepends = [ base criterion diagrams-core ]; - description = "Embedded domain-specific language for declarative graphics"; - license = lib.licenses.bsd3; - }) {}; - - "diagrams-lib_1_4_4" = callPackage ({ mkDerivation, active, adjunctions, array, base, bytestring , cereal, colour, containers, criterion, data-default-class , deepseq, diagrams-core, diagrams-solve, directory, distributive @@ -76871,7 +76818,6 @@ self: { benchmarkHaskellDepends = [ base criterion diagrams-core ]; description = "Embedded domain-specific language for declarative graphics"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "diagrams-pandoc" = callPackage @@ -82280,24 +82226,6 @@ self: { }) {}; "dual-tree" = callPackage - ({ mkDerivation, base, monoid-extras, newtype-generics, QuickCheck - , semigroups, testing-feat - }: - mkDerivation { - pname = "dual-tree"; - version = "0.2.2.1"; - sha256 = "17kdfnf0df0z5pkiifxrlmyd1xd7hjjaazd2kzyajl0gd00vbszx"; - libraryHaskellDepends = [ - base monoid-extras newtype-generics semigroups - ]; - testHaskellDepends = [ - base monoid-extras QuickCheck semigroups testing-feat - ]; - description = "Rose trees with cached and accumulating monoidal annotations"; - license = lib.licenses.bsd3; - }) {}; - - "dual-tree_0_2_3_0" = callPackage ({ mkDerivation, base, monoid-extras, newtype-generics, QuickCheck , semigroups, testing-feat }: @@ -82315,7 +82243,6 @@ self: { ]; description = "Rose trees with cached and accumulating monoidal annotations"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "dualizer" = callPackage @@ -183652,21 +183579,6 @@ self: { }) {}; "monoid-extras" = callPackage - ({ mkDerivation, base, criterion, groups, semigroupoids, semigroups - }: - mkDerivation { - pname = "monoid-extras"; - version = "0.5.1"; - sha256 = "0xfrkgqn9d31z54l617m3w3kkd5m9vjb4yl247r3zzql3mpb1f37"; - revision = "2"; - editedCabalFile = "0gbrwpr7rzh9mmf59yhs74hixgclmxngaxx51j7pvr6wnkbvz3a3"; - libraryHaskellDepends = [ base groups semigroupoids semigroups ]; - benchmarkHaskellDepends = [ base criterion semigroups ]; - description = "Various extra monoid-related definitions and utilities"; - license = lib.licenses.bsd3; - }) {}; - - "monoid-extras_0_6" = callPackage ({ mkDerivation, base, criterion, groups, semigroupoids, semigroups }: mkDerivation { @@ -183677,7 +183589,6 @@ self: { benchmarkHaskellDepends = [ base criterion semigroups ]; description = "Various extra monoid-related definitions and utilities"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "monoid-owns" = callPackage From 66529c5f40fd5eef86dd33f6583acaaeda896cf5 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 28 Oct 2021 18:07:00 +0000 Subject: [PATCH 20/46] sparse: 0.6.3 -> 0.6.4 --- pkgs/development/tools/analysis/sparse/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/analysis/sparse/default.nix b/pkgs/development/tools/analysis/sparse/default.nix index 75541dc112a8..780ae828e28c 100644 --- a/pkgs/development/tools/analysis/sparse/default.nix +++ b/pkgs/development/tools/analysis/sparse/default.nix @@ -4,11 +4,11 @@ let GCC_BASE = "${stdenv.cc.cc}/lib/gcc/${stdenv.hostPlatform.uname.processor}-unknown-linux-gnu/${stdenv.cc.cc.version}"; in stdenv.mkDerivation rec { pname = "sparse"; - version = "0.6.3"; + version = "0.6.4"; src = fetchurl { url = "mirror://kernel/software/devel/sparse/dist/${pname}-${version}.tar.xz"; - sha256 = "16d8c4dhipjzjf8z4z7pix1pdpqydz0v4r7i345f5s09hjnxpxnl"; + sha256 = "sha256-arKLSZG8au29c1UCkTYKpqs99B9ZIGqb3paQIIpuOHw="; }; preConfigure = '' From 1d4787f14d264da8d18bc247facaf89d3511a56e Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Fri, 29 Oct 2021 19:48:41 +0200 Subject: [PATCH 21/46] haskell.compiler.ghc921: 9.2.0.20210821 -> 9.2.1 https://mail.haskell.org/pipermail/glasgow-haskell-users/2021-October/027082.html Also fixes a bug affecting the behavior of streaming-commons and text: https://gitlab.haskell.org/ghc/ghc/-/issues/20526 Co-authored-by: Guillaume Bouchard --- pkgs/development/compilers/ghc/9.2.1.nix | 18 ++++-------------- .../configuration-ghc-9.2.x.nix | 6 ++---- 2 files changed, 6 insertions(+), 18 deletions(-) diff --git a/pkgs/development/compilers/ghc/9.2.1.nix b/pkgs/development/compilers/ghc/9.2.1.nix index 703ba0a705c2..90dea665e6d6 100644 --- a/pkgs/development/compilers/ghc/9.2.1.nix +++ b/pkgs/development/compilers/ghc/9.2.1.nix @@ -142,24 +142,14 @@ let in stdenv.mkDerivation (rec { - version = "9.2.0.20210821"; + version = "9.2.1"; pname = "${targetPrefix}ghc${variantSuffix}"; src = fetchurl { - url = "https://downloads.haskell.org/ghc/9.2.1-rc1/ghc-${version}-src.tar.xz"; - sha256 = "1q2pppxv2avhykyxvyq72r5p97rkkiqp19b77yhp85ralbcp4ivw"; + url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz"; + sha256 = "f444012f97a136d9940f77cdff03fda48f9475e2ed0fec966c4d35c4df55f746"; }; - patches = [ - # picked from release branch, remove with the next release candidate, - # see https://gitlab.haskell.org/ghc/ghc/-/issues/19950#note_373726 - (fetchpatch { - name = "fix-darwin-link-failure.patch"; - url = "https://gitlab.haskell.org/ghc/ghc/-/commit/77456387025ca74299ecc70621cbdb62b1b6ffc9.patch"; - sha256 = "1g8smrn7hj8cbp9fhrylvmrb15s0xd8lhdgxqnx0asnd4az82gj8"; - }) - ]; - enableParallelBuilding = true; outputs = [ "out" "doc" ]; @@ -255,7 +245,7 @@ stdenv.mkDerivation (rec { ] ++ lib.optionals enableDocs [ sphinx ] ++ lib.optionals stdenv.isDarwin [ - # TODO(@sternenseemann): use XATTR env var after backport of + # TODO(@sternenseemann): backport addition of XATTR env var like # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6447 xattr ]; diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix index 29c0716b093b..3de5f97fe853 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix @@ -239,12 +239,10 @@ self: super: { # https://github.com/Soostone/retry/issues/71 retry = dontCheck super.retry; - # Disable tests pending resolution of - # https://github.com/haskell/text/issues/380 or https://github.com/fpco/streaming-commons/issues/60 - streaming-commons = dontCheck (appendPatch super.streaming-commons (pkgs.fetchpatch { + streaming-commons = appendPatch super.streaming-commons (pkgs.fetchpatch { url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/streaming-commons-0.2.2.1.patch"; sha256 = "04wi1jskr3j8ayh88kkx4irvhhgz0i7aj6fblzijy0fygikvidpy"; - })); + }); # hlint 3.3 needs a ghc-lib-parser newer than the one from stackage hlint = super.hlint_3_3_4.overrideScope (self: super: { From e4691108473e526d37aaada5ee66446692fcd01d Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Mon, 1 Nov 2021 12:18:45 +0100 Subject: [PATCH 22/46] haskell.packages.ghc921.tf-random: work around aarch64 decoding bug GHC 9.2.1 seemingly has trouble decoding the UTF-8 in tf-random's haddock comments and cabal file, causing haddock and the build to fail. Until there's a patch from upstream we can apply, we'll just disable haddock. --- pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix index 3de5f97fe853..ca2ef743096a 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix @@ -43,6 +43,11 @@ self: super: { unix = null; xhtml = null; + # Workaround for https://gitlab.haskell.org/ghc/ghc/-/issues/20594 + tf-random = overrideCabal super.tf-random { + doHaddock = !pkgs.stdenv.isAarch64; + }; + aeson = appendPatch (doJailbreak super.aeson) (pkgs.fetchpatch { url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/aeson-1.5.6.0.patch"; sha256 = "07rk7f0lhgilxvbg2grpl1p5x25wjf9m7a0wqmi2jr0q61p9a0nl"; From cec5b71b7ee828f89bf39f25be44c75e1187e3fc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 3 Nov 2021 07:31:05 +0000 Subject: [PATCH 23/46] kora-icon-theme: 1.4.5 -> 1.4.7 --- pkgs/data/icons/kora-icon-theme/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/data/icons/kora-icon-theme/default.nix b/pkgs/data/icons/kora-icon-theme/default.nix index 5c8f3d15b663..89fd80c468e5 100644 --- a/pkgs/data/icons/kora-icon-theme/default.nix +++ b/pkgs/data/icons/kora-icon-theme/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "kora-icon-theme"; - version = "1.4.5"; + version = "1.4.7"; src = fetchFromGitHub { owner = "bikass"; repo = "kora"; rev = "v${version}"; - sha256 = "sha256-5tXXAfGY5JQ5RiKayUuQJDgX6sPHRi8Hy2ht/Hl0hdo="; + sha256 = "sha256-Ol4DrQJmQT/LIU5qWJJEm6od7e29h7g913YTFQjudBQ="; }; nativeBuildInputs = [ From 39c007ce9cc3f46db70bde794323b6cbfccfe62a Mon Sep 17 00:00:00 2001 From: illustris Date: Tue, 2 Nov 2021 11:59:58 +0530 Subject: [PATCH 24/46] nixos/hadoop: Add HA capabilities - Add HDFS journalnode and ZKFC services - Test failover of HDFS and YARN master services in full hadoop test - Check if a minimal HDFS cluster works in the minimal HDFS test --- .../modules/services/cluster/hadoop/hdfs.nix | 76 +++++- .../modules/services/cluster/hadoop/yarn.nix | 1 + nixos/tests/hadoop/hadoop.nix | 244 +++++++++++++++--- nixos/tests/hadoop/hdfs.nix | 19 +- nixos/tests/hadoop/yarn.nix | 11 +- 5 files changed, 286 insertions(+), 65 deletions(-) diff --git a/nixos/modules/services/cluster/hadoop/hdfs.nix b/nixos/modules/services/cluster/hadoop/hdfs.nix index e347b682b902..961aa35a4b15 100644 --- a/nixos/modules/services/cluster/hadoop/hdfs.nix +++ b/nixos/modules/services/cluster/hadoop/hdfs.nix @@ -24,6 +24,15 @@ in Whether to run the HDFS NameNode ''; }; + formatOnInit = mkOption { + type = types.bool; + default = false; + description = '' + Format HDFS namenode on first start. This is useful for quickly spinning up ephemeral HDFS clusters with a single namenode. + For HA clusters, initialization involves multiple steps across multiple nodes. Follow [this guide](https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html) + to initialize an HA cluster manually. + ''; + }; inherit restartIfChanged; openFirewall = mkOption { type = types.bool; @@ -50,6 +59,33 @@ in ''; }; }; + journalnode = { + enabled = mkOption { + type = types.bool; + default = false; + description = '' + Whether to run the HDFS JournalNode + ''; + }; + inherit restartIfChanged; + openFirewall = mkOption { + type = types.bool; + default = true; + description = '' + Open firewall ports for journalnode + ''; + }; + }; + zkfc = { + enabled = mkOption { + type = types.bool; + default = false; + description = '' + Whether to run the HDFS ZooKeeper failover controller + ''; + }; + inherit restartIfChanged; + }; }; config = mkMerge [ @@ -59,9 +95,9 @@ in wantedBy = [ "multi-user.target" ]; inherit (cfg.hdfs.namenode) restartIfChanged; - preStart = '' + preStart = (mkIf cfg.hdfs.namenode.formatOnInit '' ${cfg.package}/bin/hdfs --config ${hadoopConf} namenode -format -nonInteractive || true - ''; + ''); serviceConfig = { User = "hdfs"; @@ -74,6 +110,7 @@ in networking.firewall.allowedTCPPorts = (mkIf cfg.hdfs.namenode.openFirewall [ 9870 # namenode.http-address 8020 # namenode.rpc-address + 8022 # namenode. servicerpc-address ]); }) (mkIf cfg.hdfs.datanode.enabled { @@ -96,8 +133,41 @@ in 9867 # datanode.ipc.address ]); }) + (mkIf cfg.hdfs.journalnode.enabled { + systemd.services.hdfs-journalnode = { + description = "Hadoop HDFS JournalNode"; + wantedBy = [ "multi-user.target" ]; + inherit (cfg.hdfs.journalnode) restartIfChanged; + + serviceConfig = { + User = "hdfs"; + SyslogIdentifier = "hdfs-journalnode"; + ExecStart = "${cfg.package}/bin/hdfs --config ${hadoopConf} journalnode"; + Restart = "always"; + }; + }; + + networking.firewall.allowedTCPPorts = (mkIf cfg.hdfs.datanode.openFirewall [ + 8480 # dfs.journalnode.http-address + 8485 # dfs.journalnode.rpc-address + ]); + }) + (mkIf cfg.hdfs.zkfc.enabled { + systemd.services.hdfs-zkfc = { + description = "Hadoop HDFS ZooKeeper failover controller"; + wantedBy = [ "multi-user.target" ]; + inherit (cfg.hdfs.zkfc) restartIfChanged; + + serviceConfig = { + User = "hdfs"; + SyslogIdentifier = "hdfs-zkfc"; + ExecStart = "${cfg.package}/bin/hdfs --config ${hadoopConf} zkfc"; + Restart = "always"; + }; + }; + }) (mkIf ( - cfg.hdfs.namenode.enabled || cfg.hdfs.datanode.enabled + cfg.hdfs.namenode.enabled || cfg.hdfs.datanode.enabled || cfg.hdfs.journalnode.enabled || cfg.hdfs.zkfc.enabled ) { users.users.hdfs = { description = "Hadoop HDFS user"; diff --git a/nixos/modules/services/cluster/hadoop/yarn.nix b/nixos/modules/services/cluster/hadoop/yarn.nix index 0086a53e3b74..3d27ad8b1099 100644 --- a/nixos/modules/services/cluster/hadoop/yarn.nix +++ b/nixos/modules/services/cluster/hadoop/yarn.nix @@ -91,6 +91,7 @@ in 8030 # resourcemanager.scheduler.address 8031 # resourcemanager.resource-tracker.address 8032 # resourcemanager.address + 8033 # resourcemanager.admin.address ]); }) diff --git a/nixos/tests/hadoop/hadoop.nix b/nixos/tests/hadoop/hadoop.nix index 46dfac26e065..2a55c6fc3aa4 100644 --- a/nixos/tests/hadoop/hadoop.nix +++ b/nixos/tests/hadoop/hadoop.nix @@ -1,70 +1,230 @@ +# This test is very comprehensive. It tests whether all hadoop services work well with each other. +# Run this when updating the Hadoop package or making significant changes to the hadoop module. +# For a more basic test, see hdfs.nix and yarn.nix import ../make-test-python.nix ({pkgs, ...}: { nodes = let package = pkgs.hadoop; coreSite = { - "fs.defaultFS" = "hdfs://master"; + "fs.defaultFS" = "hdfs://ns1"; + }; + hdfsSite = { + "dfs.namenode.rpc-bind-host" = "0.0.0.0"; + "dfs.namenode.http-bind-host" = "0.0.0.0"; + "dfs.namenode.servicerpc-bind-host" = "0.0.0.0"; + + # HA Quorum Journal Manager configuration + "dfs.nameservices" = "ns1"; + "dfs.ha.namenodes.ns1" = "nn1,nn2"; + "dfs.namenode.shared.edits.dir.ns1.nn1" = "qjournal://jn1:8485;jn2:8485;jn3:8485/ns1"; + "dfs.namenode.shared.edits.dir.ns1.nn2" = "qjournal://jn1:8485;jn2:8485;jn3:8485/ns1"; + "dfs.namenode.rpc-address.ns1.nn1" = "nn1:8020"; + "dfs.namenode.rpc-address.ns1.nn2" = "nn2:8020"; + "dfs.namenode.servicerpc-address.ns1.nn1" = "nn1:8022"; + "dfs.namenode.servicerpc-address.ns1.nn2" = "nn2:8022"; + "dfs.namenode.http-address.ns1.nn1" = "nn1:9870"; + "dfs.namenode.http-address.ns1.nn2" = "nn2:9870"; + + # Automatic failover configuration + "dfs.client.failover.proxy.provider.ns1" = "org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider"; + "dfs.ha.automatic-failover.enabled.ns1" = "true"; + "dfs.ha.fencing.methods" = "shell(true)"; + "ha.zookeeper.quorum" = "zk1:2181"; + }; + yarnSiteHA = { + "yarn.resourcemanager.zk-address" = "zk1:2181"; + "yarn.resourcemanager.ha.enabled" = "true"; + "yarn.resourcemanager.ha.rm-ids" = "rm1,rm2"; + "yarn.resourcemanager.hostname.rm1" = "rm1"; + "yarn.resourcemanager.hostname.rm2" = "rm2"; + "yarn.resourcemanager.ha.automatic-failover.enabled" = "true"; + "yarn.resourcemanager.cluster-id" = "cluster1"; + # yarn.resourcemanager.webapp.address needs to be defined even though yarn.resourcemanager.hostname is set. This shouldn't be necessary, but there's a bug in + # hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-web-proxy/src/main/java/org/apache/hadoop/yarn/server/webproxy/amfilter/AmFilterInitializer.java:70 + # that causes AM containers to fail otherwise. + "yarn.resourcemanager.webapp.address.rm1" = "rm1:8088"; + "yarn.resourcemanager.webapp.address.rm2" = "rm2:8088"; }; in { - master = {pkgs, options, ...}: { - services.hadoop = { - inherit package coreSite; - hdfs.namenode.enabled = true; - yarn.resourcemanager.enabled = true; - }; - virtualisation.memorySize = 1024; + zk1 = { ... }: { + services.zookeeper.enable = true; + networking.firewall.allowedTCPPorts = [ 2181 ]; }; - worker = {pkgs, options, ...}: { + # HDFS cluster + nn1 = {pkgs, options, ...}: { services.hadoop = { - inherit package coreSite; - hdfs.datanode.enabled = true; - yarn.nodemanager.enabled = true; - yarnSite = options.services.hadoop.yarnSite.default // { - "yarn.resourcemanager.hostname" = "master"; - }; + inherit package coreSite hdfsSite; + hdfs.namenode.enabled = true; + hdfs.zkfc.enabled = true; }; + }; + nn2 = {pkgs, options, ...}: { + services.hadoop = { + inherit package coreSite hdfsSite; + hdfs.namenode.enabled = true; + hdfs.zkfc.enabled = true; + }; + }; + + jn1 = {pkgs, options, ...}: { + services.hadoop = { + inherit package coreSite hdfsSite; + hdfs.journalnode.enabled = true; + }; + }; + jn2 = {pkgs, options, ...}: { + services.hadoop = { + inherit package coreSite hdfsSite; + hdfs.journalnode.enabled = true; + }; + }; + jn3 = {pkgs, options, ...}: { + services.hadoop = { + inherit package coreSite hdfsSite; + hdfs.journalnode.enabled = true; + }; + }; + + dn1 = {pkgs, options, ...}: { + services.hadoop = { + inherit package coreSite hdfsSite; + hdfs.datanode.enabled = true; + }; + }; + + # YARN cluster + rm1 = {pkgs, options, ...}: { + virtualisation.memorySize = 1024; + services.hadoop = { + inherit package coreSite hdfsSite; + yarnSite = options.services.hadoop.yarnSite.default // yarnSiteHA; + yarn.resourcemanager.enabled = true; + }; + }; + rm2 = {pkgs, options, ...}: { + virtualisation.memorySize = 1024; + services.hadoop = { + inherit package coreSite hdfsSite; + yarnSite = options.services.hadoop.yarnSite.default // yarnSiteHA; + yarn.resourcemanager.enabled = true; + }; + }; + nm1 = {pkgs, options, ...}: { virtualisation.memorySize = 2048; + services.hadoop = { + inherit package coreSite hdfsSite; + yarnSite = options.services.hadoop.yarnSite.default // yarnSiteHA; + yarn.nodemanager.enabled = true; + }; }; }; testScript = '' start_all() - master.wait_for_unit("network.target") - master.wait_for_unit("hdfs-namenode") + #### HDFS tests #### - master.wait_for_open_port(8020) - master.wait_for_open_port(9870) + zk1.wait_for_unit("network.target") + jn1.wait_for_unit("network.target") + jn2.wait_for_unit("network.target") + jn3.wait_for_unit("network.target") + nn1.wait_for_unit("network.target") + nn2.wait_for_unit("network.target") + dn1.wait_for_unit("network.target") - worker.wait_for_unit("network.target") - worker.wait_for_unit("hdfs-datanode") - worker.wait_for_open_port(9864) - worker.wait_for_open_port(9866) - worker.wait_for_open_port(9867) + zk1.wait_for_unit("zookeeper") + jn1.wait_for_unit("hdfs-journalnode") + jn2.wait_for_unit("hdfs-journalnode") + jn3.wait_for_unit("hdfs-journalnode") - master.succeed("curl -f http://worker:9864") - worker.succeed("curl -f http://master:9870") + zk1.wait_for_open_port(2181) + jn1.wait_for_open_port(8480) + jn1.wait_for_open_port(8485) + jn2.wait_for_open_port(8480) + jn2.wait_for_open_port(8485) - worker.succeed("sudo -u hdfs hdfs dfsadmin -safemode wait") + # Namenodes must be stopped before initializing the cluster + nn1.succeed("systemctl stop hdfs-namenode") + nn2.succeed("systemctl stop hdfs-namenode") + nn1.succeed("systemctl stop hdfs-zkfc") + nn2.succeed("systemctl stop hdfs-zkfc") - master.wait_for_unit("yarn-resourcemanager") + # Initialize zookeeper for failover controller + nn1.succeed("sudo -u hdfs hdfs zkfc -formatZK 2>&1 | systemd-cat") - master.wait_for_open_port(8030) - master.wait_for_open_port(8031) - master.wait_for_open_port(8032) - master.wait_for_open_port(8088) - worker.succeed("curl -f http://master:8088") + # Format NN1 and start it + nn1.succeed("sudo -u hdfs hadoop namenode -format 2>&1 | systemd-cat") + nn1.succeed("systemctl start hdfs-namenode") + nn1.wait_for_open_port(9870) + nn1.wait_for_open_port(8022) + nn1.wait_for_open_port(8020) - worker.wait_for_unit("yarn-nodemanager") - worker.wait_for_open_port(8042) - worker.wait_for_open_port(8040) - master.succeed("curl -f http://worker:8042") + # Bootstrap NN2 from NN1 and start it + nn2.succeed("sudo -u hdfs hdfs namenode -bootstrapStandby 2>&1 | systemd-cat") + nn2.succeed("systemctl start hdfs-namenode") + nn2.wait_for_open_port(9870) + nn2.wait_for_open_port(8022) + nn2.wait_for_open_port(8020) + nn1.succeed("netstat -tulpne | systemd-cat") - assert "Total Nodes:1" in worker.succeed("yarn node -list") + # Start failover controllers + nn1.succeed("systemctl start hdfs-zkfc") + nn2.succeed("systemctl start hdfs-zkfc") - assert "Estimated value of Pi is" in worker.succeed("HADOOP_USER_NAME=hdfs yarn jar $(readlink $(which yarn) | sed -r 's~bin/yarn~lib/hadoop-*/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar~g') pi 2 10") - assert "SUCCEEDED" in worker.succeed("yarn application -list -appStates FINISHED") - worker.succeed("sudo -u hdfs hdfs dfs -ls / | systemd-cat") + # DN should have started by now, but confirm anyway + dn1.wait_for_unit("hdfs-datanode") + # Print states of namenodes + dn1.succeed("sudo -u hdfs hdfs haadmin -getAllServiceState | systemd-cat") + # Wait for cluster to exit safemode + dn1.succeed("sudo -u hdfs hdfs dfsadmin -safemode wait") + dn1.succeed("sudo -u hdfs hdfs haadmin -getAllServiceState | systemd-cat") + # test R/W + dn1.succeed("echo testfilecontents | sudo -u hdfs hdfs dfs -put - /testfile") + assert "testfilecontents" in dn1.succeed("sudo -u hdfs hdfs dfs -cat /testfile") + + # Test NN failover + nn1.succeed("systemctl stop hdfs-namenode") + assert "active" in dn1.succeed("sudo -u hdfs hdfs haadmin -getAllServiceState") + dn1.succeed("sudo -u hdfs hdfs haadmin -getAllServiceState | systemd-cat") + assert "testfilecontents" in dn1.succeed("sudo -u hdfs hdfs dfs -cat /testfile") + + nn1.succeed("systemctl start hdfs-namenode") + nn1.wait_for_open_port(9870) + nn1.wait_for_open_port(8022) + nn1.wait_for_open_port(8020) + assert "standby" in dn1.succeed("sudo -u hdfs hdfs haadmin -getAllServiceState") + dn1.succeed("sudo -u hdfs hdfs haadmin -getAllServiceState | systemd-cat") + + #### YARN tests #### + + rm1.wait_for_unit("network.target") + rm2.wait_for_unit("network.target") + nm1.wait_for_unit("network.target") + + rm1.wait_for_unit("yarn-resourcemanager") + rm1.wait_for_open_port(8088) + rm2.wait_for_unit("yarn-resourcemanager") + rm2.wait_for_open_port(8088) + + nm1.wait_for_unit("yarn-nodemanager") + nm1.wait_for_open_port(8042) + nm1.wait_for_open_port(8040) + nm1.wait_until_succeeds("yarn node -list | grep Nodes:1") + nm1.succeed("sudo -u yarn yarn rmadmin -getAllServiceState | systemd-cat") + nm1.succeed("sudo -u yarn yarn node -list | systemd-cat") + + # Test RM failover + rm1.succeed("systemctl stop yarn-resourcemanager") + assert "standby" not in nm1.succeed("sudo -u yarn yarn rmadmin -getAllServiceState") + nm1.succeed("sudo -u yarn yarn rmadmin -getAllServiceState | systemd-cat") + rm1.succeed("systemctl start yarn-resourcemanager") + rm1.wait_for_unit("yarn-resourcemanager") + rm1.wait_for_open_port(8088) + assert "standby" in nm1.succeed("sudo -u yarn yarn rmadmin -getAllServiceState") + nm1.succeed("sudo -u yarn yarn rmadmin -getAllServiceState | systemd-cat") + + assert "Estimated value of Pi is" in nm1.succeed("HADOOP_USER_NAME=hdfs yarn jar $(readlink $(which yarn) | sed -r 's~bin/yarn~lib/hadoop-*/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar~g') pi 2 10") + assert "SUCCEEDED" in nm1.succeed("yarn application -list -appStates FINISHED") ''; - }) +}) diff --git a/nixos/tests/hadoop/hdfs.nix b/nixos/tests/hadoop/hdfs.nix index f5907185c039..9bc32cc7f8ad 100644 --- a/nixos/tests/hadoop/hdfs.nix +++ b/nixos/tests/hadoop/hdfs.nix @@ -1,9 +1,13 @@ +# Test a minimal HDFS cluster with no HA import ../make-test-python.nix ({...}: { nodes = { namenode = {pkgs, ...}: { services.hadoop = { package = pkgs.hadoop; - hdfs.namenode.enabled = true; + hdfs.namenode = { + enabled = true; + formatOnInit = true; + }; coreSite = { "fs.defaultFS" = "hdfs://namenode:8020"; }; @@ -13,10 +17,6 @@ import ../make-test-python.nix ({...}: { "dfs.namenode.http-bind-host" = "0.0.0.0"; }; }; - networking.firewall.allowedTCPPorts = [ - 9870 # namenode.http-address - 8020 # namenode.rpc-address - ]; }; datanode = {pkgs, ...}: { services.hadoop = { @@ -26,11 +26,6 @@ import ../make-test-python.nix ({...}: { "fs.defaultFS" = "hdfs://namenode:8020"; }; }; - networking.firewall.allowedTCPPorts = [ - 9864 # datanode.http.address - 9866 # datanode.address - 9867 # datanode.ipc.address - ]; }; }; @@ -50,5 +45,9 @@ import ../make-test-python.nix ({...}: { namenode.succeed("curl -f http://namenode:9870") datanode.succeed("curl -f http://datanode:9864") + + datanode.succeed("sudo -u hdfs hdfs dfsadmin -safemode wait") + datanode.succeed("echo testfilecontents | sudo -u hdfs hdfs dfs -put - /testfile") + assert "testfilecontents" in datanode.succeed("sudo -u hdfs hdfs dfs -cat /testfile") ''; }) diff --git a/nixos/tests/hadoop/yarn.nix b/nixos/tests/hadoop/yarn.nix index fbbb293eecd6..70367dfec183 100644 --- a/nixos/tests/hadoop/yarn.nix +++ b/nixos/tests/hadoop/yarn.nix @@ -1,3 +1,4 @@ +# This only tests if YARN is able to start its services import ../make-test-python.nix ({...}: { nodes = { resourcemanager = {pkgs, ...}: { @@ -6,10 +7,6 @@ import ../make-test-python.nix ({...}: { services.hadoop.yarnSite = { "yarn.resourcemanager.scheduler.class" = "org.apache.hadoop.yarn.server.resourcemanager.scheduler.fifo.FifoScheduler"; }; - networking.firewall.allowedTCPPorts = [ - 8088 # resourcemanager.webapp.address - 8031 # resourcemanager.resource-tracker.address - ]; }; nodemanager = {pkgs, ...}: { services.hadoop.package = pkgs.hadoop; @@ -17,12 +14,7 @@ import ../make-test-python.nix ({...}: { services.hadoop.yarnSite = { "yarn.resourcemanager.hostname" = "resourcemanager"; "yarn.nodemanager.log-dirs" = "/tmp/userlogs"; - "yarn.nodemanager.address" = "0.0.0.0:8041"; }; - networking.firewall.allowedTCPPorts = [ - 8042 # nodemanager.webapp.address - 8041 # nodemanager.address - ]; }; }; @@ -38,7 +30,6 @@ import ../make-test-python.nix ({...}: { nodemanager.wait_for_unit("yarn-nodemanager") nodemanager.wait_for_unit("network.target") nodemanager.wait_for_open_port(8042) - nodemanager.wait_for_open_port(8041) resourcemanager.succeed("curl -f http://localhost:8088") nodemanager.succeed("curl -f http://localhost:8042") From 9ca4363191f05147d0bd23ffb61838d9c1ee890e Mon Sep 17 00:00:00 2001 From: illustris Date: Tue, 2 Nov 2021 18:34:04 +0530 Subject: [PATCH 25/46] nixos/hadoop: add HTTPFS --- .../modules/services/cluster/hadoop/conf.nix | 1 + .../services/cluster/hadoop/default.nix | 14 +++++- .../modules/services/cluster/hadoop/hdfs.nix | 50 ++++++++++++++++++- nixos/tests/hadoop/hdfs.nix | 23 ++++++--- 4 files changed, 78 insertions(+), 10 deletions(-) diff --git a/nixos/modules/services/cluster/hadoop/conf.nix b/nixos/modules/services/cluster/hadoop/conf.nix index 69472408cabe..0caec5cfc203 100644 --- a/nixos/modules/services/cluster/hadoop/conf.nix +++ b/nixos/modules/services/cluster/hadoop/conf.nix @@ -35,6 +35,7 @@ pkgs.runCommand "hadoop-conf" {} '' cp ${siteXml "hdfs-site.xml" cfg.hdfsSite}/* $out/ cp ${siteXml "mapred-site.xml" cfg.mapredSite}/* $out/ cp ${siteXml "yarn-site.xml" cfg.yarnSite}/* $out/ + cp ${siteXml "httpfs-site.xml" cfg.httpfsSite}/* $out/ cp ${cfgFile "container-executor.cfg" cfg.containerExecutorCfg}/* $out/ cp ${pkgs.writeTextDir "hadoop-user-functions.sh" userFunctions}/* $out/ cp ${pkgs.writeTextDir "hadoop-env.sh" hadoopEnv}/* $out/ diff --git a/nixos/modules/services/cluster/hadoop/default.nix b/nixos/modules/services/cluster/hadoop/default.nix index da3e47b95d4d..e4dcfde80fba 100644 --- a/nixos/modules/services/cluster/hadoop/default.nix +++ b/nixos/modules/services/cluster/hadoop/default.nix @@ -70,6 +70,17 @@ with lib; description = "Hadoop yarn-site.xml definition"; }; + httpfsSite = mkOption { + default = { }; + type = types.attrsOf types.anything; + example = literalExpression '' + { + "hadoop.http.max.threads" = 500; + } + ''; + description = "Hadoop httpfs-site.xml definition"; + }; + log4jProperties = mkOption { default = "${cfg.package}/lib/${cfg.package.untarDir}/etc/hadoop/log4j.properties"; type = types.path; @@ -118,7 +129,8 @@ with lib; config = mkMerge [ (mkIf (builtins.hasAttr "yarn" config.users.users || - builtins.hasAttr "hdfs" config.users.users) { + builtins.hasAttr "hdfs" config.users.users || + builtins.hasAttr "httpfs" config.users.users) { users.groups.hadoop = { gid = config.ids.gids.hadoop; }; diff --git a/nixos/modules/services/cluster/hadoop/hdfs.nix b/nixos/modules/services/cluster/hadoop/hdfs.nix index 961aa35a4b15..11b855b0c710 100644 --- a/nixos/modules/services/cluster/hadoop/hdfs.nix +++ b/nixos/modules/services/cluster/hadoop/hdfs.nix @@ -86,6 +86,23 @@ in }; inherit restartIfChanged; }; + httpfs = { + enabled = mkOption { + type = types.bool; + default = false; + description = '' + Whether to run the HDFS httpfs failover controller + ''; + }; + tempPath = mkOption { + type = types.path; + default = "/tmp/hadoop/httpfs"; + description = '' + HTTPFS_TEMP path used by HTTPFS + ''; + }; + inherit restartIfChanged; + }; }; config = mkMerge [ @@ -166,6 +183,31 @@ in }; }; }) + (mkIf cfg.hdfs.httpfs.enabled { + systemd.services.hdfs-httpfs = { + description = "Hadoop httpfs"; + wantedBy = [ "multi-user.target" ]; + inherit (cfg.hdfs.httpfs) restartIfChanged; + + environment = { + HTTPFS_TEMP = cfg.hdfs.httpfs.tempPath; + }; + + preStart = '' + mkdir -p $HTTPFS_TEMP + ''; + + serviceConfig = { + User = "httpfs"; + SyslogIdentifier = "hdfs-httpfs"; + ExecStart = "${cfg.package}/bin/hdfs --config ${hadoopConf} httpfs"; + Restart = "always"; + }; + }; + networking.firewall.allowedTCPPorts = (mkIf cfg.hdfs.datanode.openFirewall [ + 14000 # httpfs.http.port + ]); + }) (mkIf ( cfg.hdfs.namenode.enabled || cfg.hdfs.datanode.enabled || cfg.hdfs.journalnode.enabled || cfg.hdfs.zkfc.enabled ) { @@ -175,6 +217,12 @@ in uid = config.ids.uids.hdfs; }; }) - + (mkIf cfg.hdfs.httpfs.enabled { + users.users.httpfs = { + description = "Hadoop HTTPFS user"; + group = "hadoop"; + isSystemUser = true; + }; + }) ]; } diff --git a/nixos/tests/hadoop/hdfs.nix b/nixos/tests/hadoop/hdfs.nix index 9bc32cc7f8ad..e2cef32d05dd 100644 --- a/nixos/tests/hadoop/hdfs.nix +++ b/nixos/tests/hadoop/hdfs.nix @@ -2,19 +2,20 @@ import ../make-test-python.nix ({...}: { nodes = { namenode = {pkgs, ...}: { + virtualisation.memorySize = 1024; services.hadoop = { package = pkgs.hadoop; - hdfs.namenode = { - enabled = true; - formatOnInit = true; + hdfs = { + namenode = { + enabled = true; + formatOnInit = true; + }; + httpfs.enabled = true; }; coreSite = { "fs.defaultFS" = "hdfs://namenode:8020"; - }; - hdfsSite = { - "dfs.replication" = 1; - "dfs.namenode.rpc-bind-host" = "0.0.0.0"; - "dfs.namenode.http-bind-host" = "0.0.0.0"; + "hadoop.proxyuser.httpfs.groups" = "*"; + "hadoop.proxyuser.httpfs.hosts" = "*"; }; }; }; @@ -24,6 +25,8 @@ import ../make-test-python.nix ({...}: { hdfs.datanode.enabled = true; coreSite = { "fs.defaultFS" = "hdfs://namenode:8020"; + "hadoop.proxyuser.httpfs.groups" = "*"; + "hadoop.proxyuser.httpfs.hosts" = "*"; }; }; }; @@ -49,5 +52,9 @@ import ../make-test-python.nix ({...}: { datanode.succeed("sudo -u hdfs hdfs dfsadmin -safemode wait") datanode.succeed("echo testfilecontents | sudo -u hdfs hdfs dfs -put - /testfile") assert "testfilecontents" in datanode.succeed("sudo -u hdfs hdfs dfs -cat /testfile") + + namenode.wait_for_unit("hdfs-httpfs") + namenode.wait_for_open_port(14000) + assert "testfilecontents" in datanode.succeed("curl -f \"http://namenode:14000/webhdfs/v1/testfile?user.name=hdfs&op=OPEN\" 2>&1") ''; }) From c3d147f507e81455ae467f8aa589972af3449f77 Mon Sep 17 00:00:00 2001 From: illustris Date: Tue, 2 Nov 2021 21:46:48 +0530 Subject: [PATCH 26/46] nixos/hadoop: replace "enabled" options with "enable" options The module has been using "enabled" in place of enable since init ( 0c10b2baa6bf61c8ddaed7cdb6c2f2dbaab42662 ) --- .../modules/services/cluster/hadoop/hdfs.nix | 24 +++++++++---------- .../modules/services/cluster/hadoop/yarn.nix | 10 ++++---- nixos/tests/hadoop/hadoop.nix | 22 ++++++++--------- nixos/tests/hadoop/hdfs.nix | 6 ++--- nixos/tests/hadoop/yarn.nix | 4 ++-- 5 files changed, 33 insertions(+), 33 deletions(-) diff --git a/nixos/modules/services/cluster/hadoop/hdfs.nix b/nixos/modules/services/cluster/hadoop/hdfs.nix index 11b855b0c710..e2cd8bc6fbaa 100644 --- a/nixos/modules/services/cluster/hadoop/hdfs.nix +++ b/nixos/modules/services/cluster/hadoop/hdfs.nix @@ -17,7 +17,7 @@ in { options.services.hadoop.hdfs = { namenode = { - enabled = mkOption { + enable = mkOption { type = types.bool; default = false; description = '' @@ -43,7 +43,7 @@ in }; }; datanode = { - enabled = mkOption { + enable = mkOption { type = types.bool; default = false; description = '' @@ -60,7 +60,7 @@ in }; }; journalnode = { - enabled = mkOption { + enable = mkOption { type = types.bool; default = false; description = '' @@ -77,7 +77,7 @@ in }; }; zkfc = { - enabled = mkOption { + enable = mkOption { type = types.bool; default = false; description = '' @@ -87,7 +87,7 @@ in inherit restartIfChanged; }; httpfs = { - enabled = mkOption { + enable = mkOption { type = types.bool; default = false; description = '' @@ -106,7 +106,7 @@ in }; config = mkMerge [ - (mkIf cfg.hdfs.namenode.enabled { + (mkIf cfg.hdfs.namenode.enable { systemd.services.hdfs-namenode = { description = "Hadoop HDFS NameNode"; wantedBy = [ "multi-user.target" ]; @@ -130,7 +130,7 @@ in 8022 # namenode. servicerpc-address ]); }) - (mkIf cfg.hdfs.datanode.enabled { + (mkIf cfg.hdfs.datanode.enable { systemd.services.hdfs-datanode = { description = "Hadoop HDFS DataNode"; wantedBy = [ "multi-user.target" ]; @@ -150,7 +150,7 @@ in 9867 # datanode.ipc.address ]); }) - (mkIf cfg.hdfs.journalnode.enabled { + (mkIf cfg.hdfs.journalnode.enable { systemd.services.hdfs-journalnode = { description = "Hadoop HDFS JournalNode"; wantedBy = [ "multi-user.target" ]; @@ -169,7 +169,7 @@ in 8485 # dfs.journalnode.rpc-address ]); }) - (mkIf cfg.hdfs.zkfc.enabled { + (mkIf cfg.hdfs.zkfc.enable { systemd.services.hdfs-zkfc = { description = "Hadoop HDFS ZooKeeper failover controller"; wantedBy = [ "multi-user.target" ]; @@ -183,7 +183,7 @@ in }; }; }) - (mkIf cfg.hdfs.httpfs.enabled { + (mkIf cfg.hdfs.httpfs.enable { systemd.services.hdfs-httpfs = { description = "Hadoop httpfs"; wantedBy = [ "multi-user.target" ]; @@ -209,7 +209,7 @@ in ]); }) (mkIf ( - cfg.hdfs.namenode.enabled || cfg.hdfs.datanode.enabled || cfg.hdfs.journalnode.enabled || cfg.hdfs.zkfc.enabled + cfg.hdfs.namenode.enable || cfg.hdfs.datanode.enable || cfg.hdfs.journalnode.enable || cfg.hdfs.zkfc.enable ) { users.users.hdfs = { description = "Hadoop HDFS user"; @@ -217,7 +217,7 @@ in uid = config.ids.uids.hdfs; }; }) - (mkIf cfg.hdfs.httpfs.enabled { + (mkIf cfg.hdfs.httpfs.enable { users.users.httpfs = { description = "Hadoop HTTPFS user"; group = "hadoop"; diff --git a/nixos/modules/services/cluster/hadoop/yarn.nix b/nixos/modules/services/cluster/hadoop/yarn.nix index 3d27ad8b1099..b6d4dbe25c03 100644 --- a/nixos/modules/services/cluster/hadoop/yarn.nix +++ b/nixos/modules/services/cluster/hadoop/yarn.nix @@ -17,7 +17,7 @@ in { options.services.hadoop.yarn = { resourcemanager = { - enabled = mkOption { + enable = mkOption { type = types.bool; default = false; description = '' @@ -34,7 +34,7 @@ in }; }; nodemanager = { - enabled = mkOption { + enable = mkOption { type = types.bool; default = false; description = '' @@ -62,7 +62,7 @@ in config = mkMerge [ (mkIf ( - cfg.yarn.resourcemanager.enabled || cfg.yarn.nodemanager.enabled + cfg.yarn.resourcemanager.enable || cfg.yarn.nodemanager.enable ) { users.users.yarn = { @@ -72,7 +72,7 @@ in }; }) - (mkIf cfg.yarn.resourcemanager.enabled { + (mkIf cfg.yarn.resourcemanager.enable { systemd.services.yarn-resourcemanager = { description = "Hadoop YARN ResourceManager"; wantedBy = [ "multi-user.target" ]; @@ -95,7 +95,7 @@ in ]); }) - (mkIf cfg.yarn.nodemanager.enabled { + (mkIf cfg.yarn.nodemanager.enable { # Needed because yarn hardcodes /bin/bash in container start scripts # These scripts can't be patched, they are generated at runtime systemd.tmpfiles.rules = [ diff --git a/nixos/tests/hadoop/hadoop.nix b/nixos/tests/hadoop/hadoop.nix index 2a55c6fc3aa4..b4ed0e17a852 100644 --- a/nixos/tests/hadoop/hadoop.nix +++ b/nixos/tests/hadoop/hadoop.nix @@ -55,41 +55,41 @@ import ../make-test-python.nix ({pkgs, ...}: { nn1 = {pkgs, options, ...}: { services.hadoop = { inherit package coreSite hdfsSite; - hdfs.namenode.enabled = true; - hdfs.zkfc.enabled = true; + hdfs.namenode.enable = true; + hdfs.zkfc.enable = true; }; }; nn2 = {pkgs, options, ...}: { services.hadoop = { inherit package coreSite hdfsSite; - hdfs.namenode.enabled = true; - hdfs.zkfc.enabled = true; + hdfs.namenode.enable = true; + hdfs.zkfc.enable = true; }; }; jn1 = {pkgs, options, ...}: { services.hadoop = { inherit package coreSite hdfsSite; - hdfs.journalnode.enabled = true; + hdfs.journalnode.enable = true; }; }; jn2 = {pkgs, options, ...}: { services.hadoop = { inherit package coreSite hdfsSite; - hdfs.journalnode.enabled = true; + hdfs.journalnode.enable = true; }; }; jn3 = {pkgs, options, ...}: { services.hadoop = { inherit package coreSite hdfsSite; - hdfs.journalnode.enabled = true; + hdfs.journalnode.enable = true; }; }; dn1 = {pkgs, options, ...}: { services.hadoop = { inherit package coreSite hdfsSite; - hdfs.datanode.enabled = true; + hdfs.datanode.enable = true; }; }; @@ -99,7 +99,7 @@ import ../make-test-python.nix ({pkgs, ...}: { services.hadoop = { inherit package coreSite hdfsSite; yarnSite = options.services.hadoop.yarnSite.default // yarnSiteHA; - yarn.resourcemanager.enabled = true; + yarn.resourcemanager.enable = true; }; }; rm2 = {pkgs, options, ...}: { @@ -107,7 +107,7 @@ import ../make-test-python.nix ({pkgs, ...}: { services.hadoop = { inherit package coreSite hdfsSite; yarnSite = options.services.hadoop.yarnSite.default // yarnSiteHA; - yarn.resourcemanager.enabled = true; + yarn.resourcemanager.enable = true; }; }; nm1 = {pkgs, options, ...}: { @@ -115,7 +115,7 @@ import ../make-test-python.nix ({pkgs, ...}: { services.hadoop = { inherit package coreSite hdfsSite; yarnSite = options.services.hadoop.yarnSite.default // yarnSiteHA; - yarn.nodemanager.enabled = true; + yarn.nodemanager.enable = true; }; }; }; diff --git a/nixos/tests/hadoop/hdfs.nix b/nixos/tests/hadoop/hdfs.nix index e2cef32d05dd..360dbd60ed27 100644 --- a/nixos/tests/hadoop/hdfs.nix +++ b/nixos/tests/hadoop/hdfs.nix @@ -7,10 +7,10 @@ import ../make-test-python.nix ({...}: { package = pkgs.hadoop; hdfs = { namenode = { - enabled = true; + enable = true; formatOnInit = true; }; - httpfs.enabled = true; + httpfs.enable = true; }; coreSite = { "fs.defaultFS" = "hdfs://namenode:8020"; @@ -22,7 +22,7 @@ import ../make-test-python.nix ({...}: { datanode = {pkgs, ...}: { services.hadoop = { package = pkgs.hadoop; - hdfs.datanode.enabled = true; + hdfs.datanode.enable = true; coreSite = { "fs.defaultFS" = "hdfs://namenode:8020"; "hadoop.proxyuser.httpfs.groups" = "*"; diff --git a/nixos/tests/hadoop/yarn.nix b/nixos/tests/hadoop/yarn.nix index 70367dfec183..09bdb35791c7 100644 --- a/nixos/tests/hadoop/yarn.nix +++ b/nixos/tests/hadoop/yarn.nix @@ -3,14 +3,14 @@ import ../make-test-python.nix ({...}: { nodes = { resourcemanager = {pkgs, ...}: { services.hadoop.package = pkgs.hadoop; - services.hadoop.yarn.resourcemanager.enabled = true; + services.hadoop.yarn.resourcemanager.enable = true; services.hadoop.yarnSite = { "yarn.resourcemanager.scheduler.class" = "org.apache.hadoop.yarn.server.resourcemanager.scheduler.fifo.FifoScheduler"; }; }; nodemanager = {pkgs, ...}: { services.hadoop.package = pkgs.hadoop; - services.hadoop.yarn.nodemanager.enabled = true; + services.hadoop.yarn.nodemanager.enable = true; services.hadoop.yarnSite = { "yarn.resourcemanager.hostname" = "resourcemanager"; "yarn.nodemanager.log-dirs" = "/tmp/userlogs"; From 42e14ff69ff52c74f5ccbb37b7954ef4dea7bf5a Mon Sep 17 00:00:00 2001 From: illustris Date: Wed, 3 Nov 2021 19:36:28 +0530 Subject: [PATCH 27/46] nixos/hadoop: replace enable = mkoption bools with mkEnableOption --- .../modules/services/cluster/hadoop/hdfs.nix | 40 +++---------------- .../modules/services/cluster/hadoop/yarn.nix | 16 +------- 2 files changed, 7 insertions(+), 49 deletions(-) diff --git a/nixos/modules/services/cluster/hadoop/hdfs.nix b/nixos/modules/services/cluster/hadoop/hdfs.nix index e2cd8bc6fbaa..52f951a6c5f4 100644 --- a/nixos/modules/services/cluster/hadoop/hdfs.nix +++ b/nixos/modules/services/cluster/hadoop/hdfs.nix @@ -17,13 +17,7 @@ in { options.services.hadoop.hdfs = { namenode = { - enable = mkOption { - type = types.bool; - default = false; - description = '' - Whether to run the HDFS NameNode - ''; - }; + enable = mkEnableOption "Whether to run the HDFS NameNode"; formatOnInit = mkOption { type = types.bool; default = false; @@ -43,13 +37,7 @@ in }; }; datanode = { - enable = mkOption { - type = types.bool; - default = false; - description = '' - Whether to run the HDFS DataNode - ''; - }; + enable = mkEnableOption "Whether to run the HDFS DataNode"; inherit restartIfChanged; openFirewall = mkOption { type = types.bool; @@ -60,13 +48,7 @@ in }; }; journalnode = { - enable = mkOption { - type = types.bool; - default = false; - description = '' - Whether to run the HDFS JournalNode - ''; - }; + enable = mkEnableOption "Whether to run the HDFS JournalNode"; inherit restartIfChanged; openFirewall = mkOption { type = types.bool; @@ -77,23 +59,11 @@ in }; }; zkfc = { - enable = mkOption { - type = types.bool; - default = false; - description = '' - Whether to run the HDFS ZooKeeper failover controller - ''; - }; + enable = mkEnableOption "Whether to run the HDFS ZooKeeper failover controller"; inherit restartIfChanged; }; httpfs = { - enable = mkOption { - type = types.bool; - default = false; - description = '' - Whether to run the HDFS httpfs failover controller - ''; - }; + enable = mkEnableOption "Whether to run the HDFS HTTPfs server"; tempPath = mkOption { type = types.path; default = "/tmp/hadoop/httpfs"; diff --git a/nixos/modules/services/cluster/hadoop/yarn.nix b/nixos/modules/services/cluster/hadoop/yarn.nix index b6d4dbe25c03..37c26ea10f76 100644 --- a/nixos/modules/services/cluster/hadoop/yarn.nix +++ b/nixos/modules/services/cluster/hadoop/yarn.nix @@ -17,13 +17,7 @@ in { options.services.hadoop.yarn = { resourcemanager = { - enable = mkOption { - type = types.bool; - default = false; - description = '' - Whether to run the Hadoop YARN ResourceManager - ''; - }; + enable = mkEnableOption "Whether to run the Hadoop YARN ResourceManager"; inherit restartIfChanged; openFirewall = mkOption { type = types.bool; @@ -34,13 +28,7 @@ in }; }; nodemanager = { - enable = mkOption { - type = types.bool; - default = false; - description = '' - Whether to run the Hadoop YARN NodeManager - ''; - }; + enable = mkEnableOption "Whether to run the Hadoop YARN NodeManager"; inherit restartIfChanged; addBinBash = mkOption { type = types.bool; From 0bd4b60a42a84dab321ee6ca61ff3bcf2d27e9fd Mon Sep 17 00:00:00 2001 From: illustris Date: Wed, 3 Nov 2021 22:59:17 +0530 Subject: [PATCH 28/46] nixos/hadoop: release notes --- .../from_md/release-notes/rl-2111.section.xml | 23 +++++++++++++++++++ .../manual/release-notes/rl-2111.section.md | 5 ++++ 2 files changed, 28 insertions(+) diff --git a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml index 4a134e42a0f9..2692415174c5 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml @@ -50,6 +50,29 @@ guide is available. + + + Improvements have been made to the Hadoop module and package: + + + + + HDFS and YARN now support production-ready highly + available deployments with automatic failover. + + + + + Hadoop now defaults to Hadoop 3, updated from 2. + + + + + JournalNode, ZKFS and HTTPFS services have been added. + + + + Activation scripts can now opt int to be run when running diff --git a/nixos/doc/manual/release-notes/rl-2111.section.md b/nixos/doc/manual/release-notes/rl-2111.section.md index 1e815616f201..04566980c30d 100644 --- a/nixos/doc/manual/release-notes/rl-2111.section.md +++ b/nixos/doc/manual/release-notes/rl-2111.section.md @@ -18,6 +18,11 @@ In addition to numerous new and upgraded packages, this release has the followin - spark now defaults to spark 3, updated from 2. A [migration guide](https://spark.apache.org/docs/latest/core-migration-guide.html#upgrading-from-core-24-to-30) is available. +- Improvements have been made to the Hadoop module and package: + - HDFS and YARN now support production-ready highly available deployments with automatic failover. + - Hadoop now defaults to Hadoop 3, updated from 2. + - JournalNode, ZKFS and HTTPFS services have been added. + - Activation scripts can now opt int to be run when running `nixos-rebuild dry-activate` and detect the dry activation by reading `$NIXOS_ACTION`. This allows activation scripts to output what they would change if the activation was really run. The users/modules activation script supports this and outputs some of is actions. From c8df915e0e4b19364038a03d2a5203bf4805c9ff Mon Sep 17 00:00:00 2001 From: illustris Date: Thu, 4 Nov 2021 11:07:32 +0530 Subject: [PATCH 29/46] nixos/hadoop: add links for config files --- .../services/cluster/hadoop/default.nix | 30 +++++++++++++++---- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/nixos/modules/services/cluster/hadoop/default.nix b/nixos/modules/services/cluster/hadoop/default.nix index e4dcfde80fba..90f22c48e055 100644 --- a/nixos/modules/services/cluster/hadoop/default.nix +++ b/nixos/modules/services/cluster/hadoop/default.nix @@ -15,7 +15,10 @@ with lib; "fs.defaultFS" = "hdfs://localhost"; } ''; - description = "Hadoop core-site.xml definition"; + description = '' + Hadoop core-site.xml definition + + ''; }; hdfsSite = mkOption { @@ -28,7 +31,10 @@ with lib; "dfs.nameservices" = "namenode1"; } ''; - description = "Hadoop hdfs-site.xml definition"; + description = '' + Hadoop hdfs-site.xml definition + + ''; }; mapredSite = mkOption { @@ -44,7 +50,10 @@ with lib; "mapreduce.map.java.opts" = "-Xmx900m -XX:+UseParallelGC"; } ''; - description = "Hadoop mapred-site.xml definition"; + description = '' + Hadoop mapred-site.xml definition + + ''; }; yarnSite = mkOption { @@ -67,7 +76,10 @@ with lib; "yarn.resourcemanager.hostname" = "''${config.networking.hostName}"; } ''; - description = "Hadoop yarn-site.xml definition"; + description = '' + Hadoop yarn-site.xml definition + + ''; }; httpfsSite = mkOption { @@ -78,7 +90,10 @@ with lib; "hadoop.http.max.threads" = 500; } ''; - description = "Hadoop httpfs-site.xml definition"; + description = '' + Hadoop httpfs-site.xml definition + + ''; }; log4jProperties = mkOption { @@ -103,7 +118,10 @@ with lib; "feature.terminal.enabled" = 0; } ''; - description = "Yarn container-executor.cfg definition"; + description = '' + Yarn container-executor.cfg definition + + ''; }; extraConfDirs = mkOption { From 8331b56701d6df0140345e17a8ae4ac8240f33f9 Mon Sep 17 00:00:00 2001 From: illustris Date: Thu, 4 Nov 2021 11:15:21 +0530 Subject: [PATCH 30/46] nixos/hadoop: correct openFirewall options --- nixos/modules/services/cluster/hadoop/hdfs.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/cluster/hadoop/hdfs.nix b/nixos/modules/services/cluster/hadoop/hdfs.nix index 52f951a6c5f4..2b8c29b04f86 100644 --- a/nixos/modules/services/cluster/hadoop/hdfs.nix +++ b/nixos/modules/services/cluster/hadoop/hdfs.nix @@ -134,7 +134,7 @@ in }; }; - networking.firewall.allowedTCPPorts = (mkIf cfg.hdfs.datanode.openFirewall [ + networking.firewall.allowedTCPPorts = (mkIf cfg.hdfs.journalnode.openFirewall [ 8480 # dfs.journalnode.http-address 8485 # dfs.journalnode.rpc-address ]); @@ -174,7 +174,7 @@ in Restart = "always"; }; }; - networking.firewall.allowedTCPPorts = (mkIf cfg.hdfs.datanode.openFirewall [ + networking.firewall.allowedTCPPorts = (mkIf cfg.hdfs.httpfs.openFirewall [ 14000 # httpfs.http.port ]); }) From 57225575dfa9f3630ba495a9fa9c57b576a23dff Mon Sep 17 00:00:00 2001 From: illustris Date: Thu, 4 Nov 2021 11:26:32 +0530 Subject: [PATCH 31/46] nixos/hadoop: fix errors in HTTPFS --- nixos/modules/services/cluster/hadoop/hdfs.nix | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/nixos/modules/services/cluster/hadoop/hdfs.nix b/nixos/modules/services/cluster/hadoop/hdfs.nix index 2b8c29b04f86..be667aa82d8a 100644 --- a/nixos/modules/services/cluster/hadoop/hdfs.nix +++ b/nixos/modules/services/cluster/hadoop/hdfs.nix @@ -72,6 +72,13 @@ in ''; }; inherit restartIfChanged; + openFirewall = mkOption { + type = types.bool; + default = true; + description = '' + Open firewall ports for HTTPFS + ''; + }; }; }; @@ -159,9 +166,7 @@ in wantedBy = [ "multi-user.target" ]; inherit (cfg.hdfs.httpfs) restartIfChanged; - environment = { - HTTPFS_TEMP = cfg.hdfs.httpfs.tempPath; - }; + environment.HTTPFS_TEMP = cfg.hdfs.httpfs.tempPath; preStart = '' mkdir -p $HTTPFS_TEMP From 72ab5cbf6963be0dd20aefbe42a7bd025f7b2cb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Thu, 4 Nov 2021 23:13:07 +0100 Subject: [PATCH 32/46] tree-sitter: fix eval --- pkgs/development/tools/parsing/tree-sitter/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/tools/parsing/tree-sitter/default.nix b/pkgs/development/tools/parsing/tree-sitter/default.nix index 145ee7580024..33d440d6d8a4 100644 --- a/pkgs/development/tools/parsing/tree-sitter/default.nix +++ b/pkgs/development/tools/parsing/tree-sitter/default.nix @@ -62,7 +62,7 @@ let source = fetchGrammar grammar; location = if grammar ? location then grammar.location else null; }; - grammars' = (import ./grammars); + grammars' = (import ./grammars { inherit lib; }); grammars = grammars' // { tree-sitter-ocaml = grammars'.tree-sitter-ocaml // { location = "ocaml"; }; } // { tree-sitter-ocaml-interface = grammars'.tree-sitter-ocaml // { location = "interface"; }; } // From f92b08416d2fce4e61c5c32412962957537d720b Mon Sep 17 00:00:00 2001 From: "(cdep)illabout" Date: Fri, 5 Nov 2021 14:13:15 +0900 Subject: [PATCH 33/46] haskellPackages: mark builds failing on hydra as broken This commit has been generated by maintainers/scripts/haskell/mark-broken.sh --- .../configuration-hackage2nix/broken.yaml | 11 +++++ .../transitive-broken.yaml | 21 +++------ .../haskell-modules/hackage-packages.nix | 43 ++++++++++++------- 3 files changed, 43 insertions(+), 32 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml index ba3202705b00..316ae601c013 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml @@ -127,6 +127,7 @@ broken-packages: - alure - amazon-emailer - amazonka-contrib-rds-utils + - amazonka-mediaconvert - amazonka-s3-streaming - amazon-products - amby @@ -839,6 +840,7 @@ broken-packages: - CoreErlang - core-haskell - corenlp-parser + - core-telemetry - Coroutine - coroutine-object - CouchDB @@ -1327,6 +1329,7 @@ broken-packages: - expresso - extcore - extended-categories + - extensible - extensible-effects-concurrent - extensible-skeleton - external-sort @@ -1918,6 +1921,7 @@ broken-packages: - hashable-orphans - hashabler - hashed-storage + - hashes - hashring - hashtables-plus - hasim @@ -2336,6 +2340,8 @@ broken-packages: - hslogger-reader - hslogger-template - hs-logo + - hslua-examples + - hslua-module-version - hsluv-haskell - hsmagick - hsmodetweaks @@ -2841,6 +2847,7 @@ broken-packages: - libtagc - libxls - libxslt + - libyaml-streamly - lie - life-sync - lifted-protolude @@ -3652,6 +3659,7 @@ broken-packages: - persistent-mongoDB - persistent-mysql-haskell - persistent-odbc + - persistent-postgresql-streaming - persistent-protobuf - persistent-ratelimit - persistent-redis @@ -3753,6 +3761,7 @@ broken-packages: - pointful - pointless-haskell - pokemon-go-protobuf-types + - poker-base - poker-eval - pokitdok - polar-configfile @@ -4119,6 +4128,7 @@ broken-packages: - resource-effect - resource-embed - restartable + - rest-rewrite - restyle - resumable-exceptions - rethinkdb @@ -4822,6 +4832,7 @@ broken-packages: - tds - teams - teeth + - telega - telegram - telegram-api - telegram-bot-simple diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml index b1d9b7b551a6..f90e8b12c2f7 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml @@ -221,9 +221,6 @@ dont-distribute-packages: - IORefCAS - IndexedList - InfixApplicative - - JSON-Combinator - - JSON-Combinator-Examples - - JSONb - Javasf - JsContracts - JsonGrammar @@ -234,7 +231,6 @@ dont-distribute-packages: - KiCS-debugger - KiCS-prophecy - LDAPv3 - - LambdaDesigner - LambdaINet - LambdaPrettyQuote - LambdaShell @@ -408,7 +404,6 @@ dont-distribute-packages: - agda-snippets-hakyll - agentx - aip - - airship - aivika-distributed - algebra-checkers - algebra-driven-design @@ -1003,7 +998,6 @@ dont-distribute-packages: - dph-prim-interface - dph-prim-par - dph-prim-seq - - dprox - dropbox-sdk - dropsolve - dsh-sql @@ -1045,6 +1039,7 @@ dont-distribute-packages: - enumeration - enumerator-fd - enumerator-tf + - envy-extensible - ephemeral - erf-native - eros-client @@ -1053,6 +1048,7 @@ dont-distribute-packages: - errors-ext - ersatz-toysat - esotericbot + - esqueleto-streaming - estreps - eternity - eternity-timestamped @@ -1724,8 +1720,6 @@ dont-distribute-packages: - iException - ice40-prim - ide-backend - - ide-backend-common - - ide-backend-server - ideas-math - ideas-math-types - ideas-statistics @@ -1832,7 +1826,6 @@ dont-distribute-packages: - json-tokens - json2-hdbc - jsons-to-schema - - jspath - jvm - jvm-batching - jvm-streaming @@ -1904,10 +1897,6 @@ dont-distribute-packages: - lambdacube - lambdacube-bullet - lambdacube-compiler - - lambdacube-core - - lambdacube-edsl - - lambdacube-engine - - lambdacube-examples - lambdacube-gl - lambdacube-samples - lambdaya-bus @@ -2871,6 +2860,8 @@ dont-distribute-packages: - sql-simple-postgresql - sql-simple-sqlite - sqlite-simple-typed + - squeal-postgresql-ltree + - squeal-postgresql-uuid-ossp - squeeze - sr-extra - sscgi @@ -2995,7 +2986,6 @@ dont-distribute-packages: - testbench - text-json-qq - text-plus - - text-trie - text-xml-generic - textmatetags - th-alpha @@ -3097,7 +3087,6 @@ dont-distribute-packages: - typson-esqueleto - typson-selda - u2f - - uber - ucam-webauth - uhc-light - uhc-util @@ -3205,7 +3194,6 @@ dont-distribute-packages: - web-routes-regular - web-routing - web3 - - webapi - webcrank-wai - webdriver-w3c - webserver @@ -3284,6 +3272,7 @@ dont-distribute-packages: - yam-web - yaml-rpc-scotty - yaml-rpc-snap + - yaml-streamly - yaml-unscrambler - yarr-image-io - yavie diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index c1f70f5a9a1c..909f2847d395 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -11499,7 +11499,6 @@ self: { ]; description = "A combinator library on top of a generalised JSON type"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "JSON-Combinator-Examples" = callPackage @@ -11513,7 +11512,6 @@ self: { ]; description = "Example uses of the JSON-Combinator library"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "JSONParser" = callPackage @@ -11545,7 +11543,6 @@ self: { ]; description = "JSON parser that uses byte strings"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "JYU-Utils" = callPackage @@ -12379,7 +12376,6 @@ self: { ]; description = "A type-safe EDSL for TouchDesigner written in Haskell"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "LambdaHack" = callPackage @@ -26090,7 +26086,6 @@ self: { ]; description = "A Webmachine-inspired HTTP library"; license = lib.licenses.mit; - hydraPlatforms = lib.platforms.none; }) {}; "airtable-api" = callPackage @@ -29074,6 +29069,8 @@ self: { ]; description = "Amazon Elemental MediaConvert SDK"; license = lib.licenses.mpl20; + hydraPlatforms = lib.platforms.none; + broken = true; }) {}; "amazonka-medialive" = callPackage @@ -65678,6 +65675,8 @@ self: { ]; description = "Advanced telemetry"; license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + broken = true; }) {}; "core-text" = callPackage @@ -81606,7 +81605,6 @@ self: { ]; description = "a lightweight DNS proxy server"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "drClickOn" = callPackage @@ -86918,6 +86916,7 @@ self: { testToolDepends = [ hspec-discover ]; description = "Provides FromEnv in envy instance for Record of extensible"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; }) {}; "epanet-haskell" = callPackage @@ -87929,6 +87928,7 @@ self: { ]; description = "Memory-constant streaming of Esqueleto results from PostgreSQL"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; }) {}; "ess" = callPackage @@ -90571,6 +90571,8 @@ self: { testHaskellDepends = [ base lens QuickCheck template-haskell ]; description = "Extensible, efficient, optics-friendly data types and effects"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + broken = true; }) {}; "extensible-data" = callPackage @@ -120884,6 +120886,8 @@ self: { benchmarkSystemDepends = [ openssl ]; description = "Hash functions"; license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + broken = true; }) {inherit (pkgs) openssl;}; "hashflare" = callPackage @@ -140813,6 +140817,8 @@ self: { ]; description = "Examples of how to combine Haskell and Lua"; license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + broken = true; }) {}; "hslua-marshalling" = callPackage @@ -140981,6 +140987,8 @@ self: { ]; description = "Lua module to work with version specifiers"; license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + broken = true; }) {}; "hslua-objectorientation" = callPackage @@ -148958,7 +148966,6 @@ self: { ]; description = "Shared library used be ide-backend and ide-backend-server"; license = lib.licenses.mit; - hydraPlatforms = lib.platforms.none; }) {}; "ide-backend-rts" = callPackage @@ -148993,7 +149000,6 @@ self: { ]; description = "An IDE backend server"; license = lib.licenses.mit; - hydraPlatforms = lib.platforms.none; }) {}; "ideas" = callPackage @@ -157899,7 +157905,6 @@ self: { ]; description = "Extract substructures from JSON by following a path"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "juandelacosa" = callPackage @@ -161925,7 +161930,6 @@ self: { ]; description = "LambdaCube 3D IR"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "lambdacube-edsl" = callPackage @@ -161942,7 +161946,6 @@ self: { ]; description = "LambdaCube 3D EDSL definition"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "lambdacube-engine" = callPackage @@ -161962,7 +161965,6 @@ self: { ]; description = "3D rendering engine written entirely in Haskell"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "lambdacube-examples" = callPackage @@ -161979,7 +161981,6 @@ self: { ]; description = "Examples for LambdaCube"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "lambdacube-gl" = callPackage @@ -167235,6 +167236,8 @@ self: { ]; description = "Low-level, streaming YAML interface via streamly"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + broken = true; }) {}; "libzfs" = callPackage @@ -205705,6 +205708,8 @@ self: { ]; description = "Memory-constant streaming of Persistent entities from PostgreSQL"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + broken = true; }) {}; "persistent-protobuf" = callPackage @@ -210502,6 +210507,8 @@ self: { testToolDepends = [ tasty-discover ]; description = "A library for core poker types"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + broken = true; }) {}; "poker-eval" = callPackage @@ -229476,6 +229483,8 @@ self: { ]; description = "Rewriting library with online termination checking"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + broken = true; }) {}; "rest-snap" = callPackage @@ -252816,6 +252825,7 @@ self: { ]; description = "LTree extension for Squeal"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; }) {}; "squeal-postgresql-uuid-ossp" = callPackage @@ -252827,6 +252837,7 @@ self: { libraryHaskellDepends = [ base squeal-postgresql ]; description = "UUID OSSP extension for Squeal"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; }) {}; "squeather" = callPackage @@ -265158,6 +265169,8 @@ self: { ]; description = "Telegram Bot API binding"; license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + broken = true; }) {}; "telegram" = callPackage @@ -268145,7 +268158,6 @@ self: { ]; description = "An efficient finite map from Text to values, based on bytestring-trie"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "text-utf7" = callPackage @@ -278228,7 +278240,6 @@ self: { testHaskellDepends = [ base hspec text ]; description = "Uber client for Haskell"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "uberlast" = callPackage @@ -288913,7 +288924,6 @@ self: { ]; description = "WAI based library for web api"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "webapp" = callPackage @@ -295686,6 +295696,7 @@ self: { testToolDepends = [ hspec-discover ]; description = "Support for parsing and rendering YAML documents"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; }) {}; "yaml-union" = callPackage From 316dee019773144e26dcf333cfe67638bca28577 Mon Sep 17 00:00:00 2001 From: "(cdep)illabout" Date: Fri, 5 Nov 2021 15:01:17 +0900 Subject: [PATCH 34/46] hyper-haskell: mark broken hyper-haskell depends on electron-10.4.7, which is marked insecure. --- pkgs/development/tools/haskell/hyper-haskell/default.nix | 3 +++ pkgs/top-level/release-haskell.nix | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/development/tools/haskell/hyper-haskell/default.nix b/pkgs/development/tools/haskell/hyper-haskell/default.nix index 2b3fb76903e5..331f78f7a1e2 100644 --- a/pkgs/development/tools/haskell/hyper-haskell/default.nix +++ b/pkgs/development/tools/haskell/hyper-haskell/default.nix @@ -49,5 +49,8 @@ in stdenvNoCC.mkDerivation rec { homepage = "https://github.com/HeinrichApfelmus/hyper-haskell"; license = licenses.bsd3; maintainers = [ maintainers.rvl ]; + # depends on electron-10.4.7 which is marked as insecure: + # https://github.com/NixOS/nixpkgs/pull/142641#issuecomment-957358476 + broken = true; }; } diff --git a/pkgs/top-level/release-haskell.nix b/pkgs/top-level/release-haskell.nix index 11dad3dd3a39..f6e34e7084b7 100644 --- a/pkgs/top-level/release-haskell.nix +++ b/pkgs/top-level/release-haskell.nix @@ -182,7 +182,7 @@ let hledger-web hlint hpack - hyper-haskell + # hyper-haskell # depends on electron-10.4.7 which is marked as insecure hyper-haskell-server-with-packages icepeak idris From 6cc0ebae3a93a5c8555e22da03860d6d4c313821 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 5 Nov 2021 09:45:53 +0100 Subject: [PATCH 35/46] python3Packages.holidays: 0.11.1 -> 0.11.3.1 --- pkgs/development/python-modules/holidays/default.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/holidays/default.nix b/pkgs/development/python-modules/holidays/default.nix index 7ac02fa05ac9..10d333301641 100644 --- a/pkgs/development/python-modules/holidays/default.nix +++ b/pkgs/development/python-modules/holidays/default.nix @@ -7,17 +7,18 @@ , korean-lunar-calendar , pytestCheckHook , pythonOlder -, six }: buildPythonPackage rec { pname = "holidays"; version = "0.11.3.1"; + format = "setuptools"; + disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "4855afe0ebf428efbcf848477828b889f8515be7f4f15ae26682919369d92774"; + sha256 = "sha256-SFWv4Ov0KO+8+EhHeCi4ifhRW+f08VriZoKRk2nZJ3Q="; }; propagatedBuildInputs = [ @@ -25,18 +26,19 @@ buildPythonPackage rec { python-dateutil hijri-converter korean-lunar-calendar - six ]; checkInputs = [ pytestCheckHook ]; - pythonImportsCheck = [ "holidays" ]; + pythonImportsCheck = [ + "holidays" + ]; meta = with lib; { - homepage = "https://github.com/dr-prodigy/python-holidays"; description = "Generate and work with holidays in Python"; + homepage = "https://github.com/dr-prodigy/python-holidays"; license = licenses.mit; maintainers = with maintainers; [ jluttine ]; }; From 10d8fd24c5d72991480c5c09a8d357c07d395755 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 5 Nov 2021 09:46:08 +0100 Subject: [PATCH 36/46] python3Packages.aiopvpc: 2.2.1 -> 2.2.2 --- pkgs/development/python-modules/aiopvpc/default.nix | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/aiopvpc/default.nix b/pkgs/development/python-modules/aiopvpc/default.nix index efbe695673aa..74c85eb11a24 100644 --- a/pkgs/development/python-modules/aiopvpc/default.nix +++ b/pkgs/development/python-modules/aiopvpc/default.nix @@ -15,15 +15,16 @@ buildPythonPackage rec { pname = "aiopvpc"; - version = "2.2.0"; - disabled = pythonOlder "3.8"; + version = "2.2.2"; format = "pyproject"; + disabled = pythonOlder "3.8"; + src = fetchFromGitHub { owner = "azogue"; repo = pname; rev = "v${version}"; - sha256 = "1hk3giwzzlcqnpw9kx3zrr808nmdb7qwac60fki5395qffd2fpqw"; + sha256 = "sha256-wNMHzeKJ1kG0jnoI5fO3d5CBXE0cyoK92BkGunXK3pI="; }; nativeBuildInputs = [ @@ -49,7 +50,9 @@ buildPythonPackage rec { " --cov --cov-report term --cov-report html" "" ''; - pythonImportsCheck = [ "aiopvpc" ]; + pythonImportsCheck = [ + "aiopvpc" + ]; meta = with lib; { description = "Python module to download Spanish electricity hourly prices (PVPC)"; From 6879dc1ece6fdae31edb5467b3a73a9c7b237d2c Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 5 Nov 2021 10:03:16 +0100 Subject: [PATCH 37/46] python3Packages.flux-led: 0.24.12 -> 0.24.14 --- pkgs/development/python-modules/flux-led/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/flux-led/default.nix b/pkgs/development/python-modules/flux-led/default.nix index d0f90da8fe4f..7273b2c16d1d 100644 --- a/pkgs/development/python-modules/flux-led/default.nix +++ b/pkgs/development/python-modules/flux-led/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "flux_led"; - version = "0.24.12"; + version = "0.24.14"; disabled = pythonOlder "3.7"; @@ -16,7 +16,7 @@ buildPythonPackage rec { owner = "Danielhiversen"; repo = "flux_led"; rev = version; - sha256 = "sha256-vhmqfHAqbgDUvbn+dR7TuA5SFjF72/nhCL1h+GPy+9c="; + sha256 = "sha256-lHsMQbKKgHjxzaPdnqAY7WAZK3CiWfVr5Z5DWXsvRWI="; }; propagatedBuildInputs = [ From 65b34026ba3076e19e19ddb1f66534d442bb8a1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sch=C3=A4fer=2C=20Denny?= Date: Fri, 29 Oct 2021 17:42:17 +0200 Subject: [PATCH 38/46] awscli2: 2.2.40 -> 2.3.4 --- pkgs/tools/admin/awscli2/default.nix | 29 ++++++++++------------------ 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/pkgs/tools/admin/awscli2/default.nix b/pkgs/tools/admin/awscli2/default.nix index cf765a53c53f..01f9661bb899 100644 --- a/pkgs/tools/admin/awscli2/default.nix +++ b/pkgs/tools/admin/awscli2/default.nix @@ -1,22 +1,22 @@ -{ lib, python3, groff, less, fetchFromGitHub, fetchpatch }: +{ lib, python3, groff, less, fetchFromGitHub }: let py = python3.override { packageOverrides = self: super: { awscrt = super.awscrt.overridePythonAttrs (oldAttrs: rec { - version = "0.11.24"; + version = "0.12.4"; src = self.fetchPypi { inherit (oldAttrs) pname; inherit version; - sha256 = "sha256-uKpovKQEvwCFvgVw7/W1QtAffo48D5sIWav+XgcBYv8="; + sha256 = "sha256:1cmfkcv2zzirxsb989vx1hvna9nv24pghcvypl0zaxsjphv97mka"; }; }); botocore = super.botocore.overridePythonAttrs (oldAttrs: rec { - version = "2.0.0dev148"; + version = "2.0.0dev155"; src = fetchFromGitHub { owner = "boto"; repo = "botocore"; - rev = "c0734f100f61bbef413cb04d9890bbffbccd230f"; - sha256 = "sha256-ndSJdBF3NMNtpyHgYAksCUBDqlwPhugTkIK6Nby20oI="; + rev = "7083e5c204e139dc41f646e0ad85286b5e7c0c23"; + sha256 = "sha256-aiCc/CXoTem0a9wI/AMBRK3g2BXJi7LpnUY/BxBEKVM="; }; propagatedBuildInputs = super.botocore.propagatedBuildInputs ++ [py.pkgs.awscrt]; }); @@ -40,24 +40,17 @@ let in with py.pkgs; buildPythonApplication rec { pname = "awscli2"; - version = "2.2.40"; # N.B: if you change this, change botocore to a matching version too + version = "2.3.4"; # N.B: if you change this, change botocore to a matching version too src = fetchFromGitHub { owner = "aws"; repo = "aws-cli"; rev = version; - sha256 = "sha256-IHnNRER9ePKVI9ez15HgxLDR1n6QR0iRESgNqbxQPx8="; + sha256 = "sha256-C/NrU+1AixuN4T1N5Zs8xduUQiwuQWvXkitQRnPJdNw="; }; - patches = [ - (fetchpatch { - url = "https://github.com/mgorny/aws-cli/commit/85361123d2fa12eaedf912c046ffe39aebdd2bad.patch"; - sha256 = "sha256-1Rb+/CY7ze1/DbJ6TfqHF01cfI2vixZ1dT91bmHTg/A="; - }) - ]; - postPatch = '' - substituteInPlace setup.py \ + substituteInPlace setup.cfg \ --replace "colorama>=0.2.5,<0.4.4" "colorama" \ --replace "cryptography>=3.3.2,<3.4.0" "cryptography" \ --replace "docutils>=0.10,<0.16" "docutils" \ @@ -67,7 +60,7 @@ with py.pkgs; buildPythonApplication rec { --replace "distro>=1.5.0,<1.6.0" "distro" ''; - checkInputs = [ jsonschema mock nose ]; + checkInputs = [ jsonschema mock pytestCheckHook pytest-xdist ]; propagatedBuildInputs = [ awscrt @@ -93,8 +86,6 @@ with py.pkgs; buildPythonApplication rec { # https://github.com/NixOS/nixpkgs/issues/16144#issuecomment-225422439 export HOME=$TMP - - AWS_TEST_COMMAND=$out/bin/aws python scripts/ci/run-tests ''; postInstall = '' From 11ba3c1b87f555793fd038a12636461a7cbb11b6 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 5 Nov 2021 10:08:06 +0100 Subject: [PATCH 39/46] python3Packages.qcs-api-client: 0.14.0 -> 0.15.0 --- .../python-modules/qcs-api-client/default.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/qcs-api-client/default.nix b/pkgs/development/python-modules/qcs-api-client/default.nix index 4d0fdb745c89..e1f09a28c23c 100644 --- a/pkgs/development/python-modules/qcs-api-client/default.nix +++ b/pkgs/development/python-modules/qcs-api-client/default.nix @@ -18,13 +18,14 @@ buildPythonPackage rec { pname = "qcs-api-client"; - version = "0.14.0"; + version = "0.15.0"; + format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - sha256 = "sha256-CoiLMpaPRTISc0EO0jIMw/daTW8MyXQqaeGq0zaykmc="; + sha256 = "sha256-NzfHemIYQq2quYs3RNKF7NHfR6Vi8Sx4eRTVT2pTEYk="; }; propagatedBuildInputs = [ @@ -55,7 +56,9 @@ buildPythonPackage rec { # Project has no tests doCheck = false; - pythonImportsCheck = [ "qcs_api_client" ]; + pythonImportsCheck = [ + "qcs_api_client" + ]; meta = with lib; { description = "Python library for accessing the Rigetti QCS API"; From 0278e1e297b9862919a66aab312cb1567a1e863d Mon Sep 17 00:00:00 2001 From: Nikola Knezevic Date: Fri, 5 Nov 2021 10:08:49 +0100 Subject: [PATCH 40/46] ngrep: Make available on darwin ngrep works on macos/Darwin without problems. The official page even states that: ``` Confirmed Working Platforms Linux 2.0+ (RH6+, SuSE, TurboLinux, Debian, Gentoo, Ubuntu, Mandrake, Slackware)/x86, RedHat/alpha Cobalt, (Qube2) Linux/MIPS Solaris 2.5.1, 2.6/SPARC, Solaris 7, Solaris 8/SPARC, Solaris 9/SPARC FreeBSD 2.2.5, 3.1, 3.2, 3.4-RC, 3.4-RELEASE, 4.0, 5.0 OpenBSD 2.4 (after upgrading pcap from 0.2), 2.9, 3.0, 3.1+ NetBSD 1.5/SPARC Digital Unix V4.0D (OSF/1), Tru64 5.0, Tru64 5.1A HPUX 11 IRIX AIX 4.3.3.0/PowerPC BeOS R5 Mac OS X 10+ GNU HURD Windows 95, 98, NT, 2000, XP, 2003/x86, 7, 8, 8.1, 10 ``` --- pkgs/tools/networking/ngrep/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/networking/ngrep/default.nix b/pkgs/tools/networking/ngrep/default.nix index 1e57ac75843e..bee8678d1c93 100644 --- a/pkgs/tools/networking/ngrep/default.nix +++ b/pkgs/tools/networking/ngrep/default.nix @@ -48,7 +48,7 @@ stdenv.mkDerivation rec { # 'BSD-like' license but that the 'regex' library (in the ngrep tarball) is # GPLv2. license = "ngrep"; # Some custom BSD-style, see LICENSE.txt - platforms = platforms.linux; + platforms = with platforms; linux ++ darwin; maintainers = [ maintainers.bjornfor ]; }; } From 5f1860b53a2075e6dc3b698df62bb4093af9136d Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 5 Nov 2021 10:10:35 +0100 Subject: [PATCH 41/46] python3Packages.pymazda: 0.2.2 -> 0.3.0 --- pkgs/development/python-modules/pymazda/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pymazda/default.nix b/pkgs/development/python-modules/pymazda/default.nix index 179202da8dff..f6fdd60a3872 100644 --- a/pkgs/development/python-modules/pymazda/default.nix +++ b/pkgs/development/python-modules/pymazda/default.nix @@ -8,12 +8,12 @@ buildPythonPackage rec { pname = "pymazda"; - version = "0.2.2"; + version = "0.3.0"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "sha256-nngYdoVY3rXfszoCpUWFtJ0U0Rjczxix/wJDOZD+2O4="; + sha256 = "sha256-D0odz4GkKvjuafhEGlHtRnO8lk4rV9y3imaHl7jXqJw="; }; propagatedBuildInputs = [ From b680de7700279a06546eec0df52ae2e193cf911f Mon Sep 17 00:00:00 2001 From: Matt Votava Date: Fri, 5 Nov 2021 02:23:30 -0700 Subject: [PATCH 42/46] dovecot_fts_xapian: 1.4.11 -> 1.4.14 --- pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix b/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix index 841ee7915a43..90859efd3c48 100644 --- a/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix +++ b/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix @@ -1,13 +1,13 @@ { lib, stdenv, fetchFromGitHub, autoconf, automake, pkg-config, dovecot, libtool, xapian, icu64 }: stdenv.mkDerivation rec { pname = "fts-xapian"; - version = "1.4.11"; + version = "1.4.14"; src = fetchFromGitHub { owner = "grosjo"; repo = "fts-xapian"; rev = version; - sha256 = "sha256-HPmS2Z1PIEM9fc6EerCEigQJg5BK/115zOW2uxFqjP0="; + sha256 = "sha256-Banyg10AiM1Jw6Zfl4Dcpc0/6Km48lLVuQ3xRLylE7k="; }; buildInputs = [ dovecot xapian icu64 ]; From 274df1ce2871370ce52506e37ec4d240a82b1101 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Fri, 5 Nov 2021 09:27:44 +0000 Subject: [PATCH 43/46] nudoku: pull upstream fix for upcoming ncurses-6.3 --- pkgs/games/nudoku/default.nix | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pkgs/games/nudoku/default.nix b/pkgs/games/nudoku/default.nix index aaa6d3248094..d3e3d039d986 100644 --- a/pkgs/games/nudoku/default.nix +++ b/pkgs/games/nudoku/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, gettext, ncurses }: +{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config, gettext, ncurses }: stdenv.mkDerivation rec { pname = "nudoku"; @@ -11,6 +11,15 @@ stdenv.mkDerivation rec { sha256 = "12v00z3p0ymi8f3w4b4bgl4c76irawn3kmd147r0ap6s9ssx2q6m"; }; + patches = [ + # Pull upstream fix for ncurses-6.3 + (fetchpatch { + name = "ncurses-6.3.patch"; + url = "https://github.com/jubalh/nudoku/commit/93899a0fd72e04b9f257e5f54af53466106b5959.patch"; + sha256 = "1h3za0dnx8fk3vshql5mhcici8aw8j0vr7ra81p3r1rii4c479lm"; + }) + ]; + # Allow gettext 0.20 postPatch = '' substituteInPlace configure.ac --replace 0.19 0.20 From 59225ebaf1f52988964cae3e8a6db1a85cec8158 Mon Sep 17 00:00:00 2001 From: Simon Bruder Date: Fri, 5 Nov 2021 09:44:25 +0000 Subject: [PATCH 44/46] deluge: fix test (#144718) In 780135ad5ce54a6b3e7dfb35e3b596757e2ea6f8 the nodes for testing Deluge 1.x were removed, but the test script still referred to it. This removes the references in the test script and also renames the nodes to drop the 2 suffix. --- nixos/tests/deluge.nix | 33 +++++++++++---------------------- 1 file changed, 11 insertions(+), 22 deletions(-) diff --git a/nixos/tests/deluge.nix b/nixos/tests/deluge.nix index f673ec2db5a7..33c57ce7c36c 100644 --- a/nixos/tests/deluge.nix +++ b/nixos/tests/deluge.nix @@ -5,7 +5,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { }; nodes = { - simple2 = { + simple = { services.deluge = { enable = true; package = pkgs.deluge-2_x; @@ -16,7 +16,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { }; }; - declarative2 = { + declarative = { services.deluge = { enable = true; package = pkgs.deluge-2_x; @@ -45,27 +45,16 @@ import ./make-test-python.nix ({ pkgs, ...} : { testScript = '' start_all() - simple1.wait_for_unit("deluged") - simple2.wait_for_unit("deluged") - simple1.wait_for_unit("delugeweb") - simple2.wait_for_unit("delugeweb") - simple1.wait_for_open_port("8112") - simple2.wait_for_open_port("8112") - declarative1.wait_for_unit("network.target") - declarative2.wait_for_unit("network.target") - declarative1.wait_until_succeeds("curl --fail http://simple1:8112") - declarative2.wait_until_succeeds("curl --fail http://simple2:8112") + simple.wait_for_unit("deluged") + simple.wait_for_unit("delugeweb") + simple.wait_for_open_port("8112") + declarative.wait_for_unit("network.target") + declarative.wait_until_succeeds("curl --fail http://simple:8112") - declarative1.wait_for_unit("deluged") - declarative2.wait_for_unit("deluged") - declarative1.wait_for_unit("delugeweb") - declarative2.wait_for_unit("delugeweb") - declarative1.wait_until_succeeds("curl --fail http://declarative1:3142") - declarative2.wait_until_succeeds("curl --fail http://declarative2:3142") - declarative1.succeed( - "deluge-console 'connect 127.0.0.1:58846 andrew password; help' | grep -q 'rm.*Remove a torrent'" - ) - declarative2.succeed( + declarative.wait_for_unit("deluged") + declarative.wait_for_unit("delugeweb") + declarative.wait_until_succeeds("curl --fail http://declarative:3142") + declarative.succeed( "deluge-console 'connect 127.0.0.1:58846 andrew password; help' | grep -q 'rm.*Remove a torrent'" ) ''; From 0f60c45e9c577124dc371e442bdf5d91fc52d9dd Mon Sep 17 00:00:00 2001 From: Pascal Bach Date: Fri, 29 Oct 2021 00:00:10 +0200 Subject: [PATCH 45/46] nixos/unifi: refactor mountpoints Use service internal bind mounts instead of global ones. This also moves the logs to /var/log/unifi on the host and the run directory to /run/unifi. Closes #61424 --- .../from_md/release-notes/rl-2111.section.xml | 33 ++++++++ .../manual/release-notes/rl-2111.section.md | 5 ++ nixos/modules/services/networking/unifi.nix | 80 ++++++------------- 3 files changed, 64 insertions(+), 54 deletions(-) diff --git a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml index 329ea1409c9a..543f3d619804 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml @@ -1817,6 +1817,39 @@ Superuser created successfully. + + + The + services.unifi + module has been reworked, solving a number of issues. This + leads to several user facing changes: + + + + + The services.unifi.dataDir option is + removed and the data is now always located under + /var/lib/unifi/data. This is done to + make better use of systemd state direcotiry and thus + making the service restart more reliable. + + + + + The unifi logs can now be found under: + /var/log/unifi instead of + /var/lib/unifi/logs. + + + + + The unifi run directory can now be found under: + /run/unifi instead of + /var/lib/unifi/run. + + + + diff --git a/nixos/doc/manual/release-notes/rl-2111.section.md b/nixos/doc/manual/release-notes/rl-2111.section.md index 17f01d15b6fd..76e7f458d478 100644 --- a/nixos/doc/manual/release-notes/rl-2111.section.md +++ b/nixos/doc/manual/release-notes/rl-2111.section.md @@ -509,3 +509,8 @@ In addition to numerous new and upgraded packages, this release has the followin - Dokuwiki now supports caddy! However - the nginx option has been removed, in the new configuration, please use the `dokuwiki.webserver = "nginx"` instead. - The "${hostname}" option has been deprecated, please use `dokuwiki.sites = [ "${hostname}" ]` instead + +- The [services.unifi](options.html#opt-services.unifi.enable) module has been reworked, solving a number of issues. This leads to several user facing changes: + - The `services.unifi.dataDir` option is removed and the data is now always located under `/var/lib/unifi/data`. This is done to make better use of systemd state direcotiry and thus making the service restart more reliable. + - The unifi logs can now be found under: `/var/log/unifi` instead of `/var/lib/unifi/logs`. + - The unifi run directory can now be found under: `/run/unifi` instead of `/var/lib/unifi/run`. diff --git a/nixos/modules/services/networking/unifi.nix b/nixos/modules/services/networking/unifi.nix index caf89c84397f..53ad4df477fc 100644 --- a/nixos/modules/services/networking/unifi.nix +++ b/nixos/modules/services/networking/unifi.nix @@ -9,25 +9,6 @@ let ${optionalString (cfg.maximumJavaHeapSize != null) "-Xmx${(toString cfg.maximumJavaHeapSize)}m"} \ -jar ${stateDir}/lib/ace.jar ''; - mountPoints = [ - { - what = "${cfg.unifiPackage}/dl"; - where = "${stateDir}/dl"; - } - { - what = "${cfg.unifiPackage}/lib"; - where = "${stateDir}/lib"; - } - { - what = "${cfg.mongodbPackage}/bin"; - where = "${stateDir}/bin"; - } - { - what = "${cfg.dataDir}"; - where = "${stateDir}/data"; - } - ]; - systemdMountPoints = map (m: "${utils.escapeSystemdPath m.where}.mount") mountPoints; in { @@ -68,16 +49,6 @@ in ''; }; - services.unifi.dataDir = mkOption { - type = types.str; - default = "${stateDir}/data"; - description = '' - Where to store the database and other data. - - This directory will be bind-mounted to ${stateDir}/data as part of the service startup. - ''; - }; - services.unifi.openPorts = mkOption { type = types.bool; default = true; @@ -136,32 +107,11 @@ in ]; }; - # We must create the binary directories as bind mounts instead of symlinks - # This is because the controller resolves all symlinks to absolute paths - # to be used as the working directory. - systemd.mounts = map ({ what, where }: { - bindsTo = [ "unifi.service" ]; - partOf = [ "unifi.service" ]; - unitConfig.RequiresMountsFor = stateDir; - options = "bind"; - what = what; - where = where; - }) mountPoints; - - systemd.tmpfiles.rules = [ - "d '${stateDir}' 0700 unifi - - -" - "d '${stateDir}/data' 0700 unifi - - -" - "d '${stateDir}/webapps' 0700 unifi - - -" - "L+ '${stateDir}/webapps/ROOT' - - - - ${cfg.unifiPackage}/webapps/ROOT" - ]; - systemd.services.unifi = { description = "UniFi controller daemon"; wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ] ++ systemdMountPoints; - partOf = systemdMountPoints; - bindsTo = systemdMountPoints; - unitConfig.RequiresMountsFor = stateDir; + after = [ "network.target" ]; + # This a HACK to fix missing dependencies of dynamic libs extracted from jars environment.LD_LIBRARY_PATH = with pkgs.stdenv; "${cc.cc.lib}/lib"; # Make sure package upgrades trigger a service restart @@ -209,8 +159,27 @@ in SystemCallErrorNumber = "EPERM"; SystemCallFilter = [ "@system-service" ]; - # Required for ProtectSystem=strict - BindPaths = [ stateDir ]; + StateDirectory = "unifi"; + RuntimeDirectory = "unifi"; + LogsDirectory = "unifi"; + CacheDirectory= "unifi"; + + TemporaryFileSystem = [ + # required as we want to create bind mounts below + "${stateDir}/webapps:rw" + ]; + + # We must create the binary directories as bind mounts instead of symlinks + # This is because the controller resolves all symlinks to absolute paths + # to be used as the working directory. + BindPaths = [ + "/var/log/unifi:${stateDir}/logs" + "/run/unifi:${stateDir}/run" + "${cfg.unifiPackage}/dl:${stateDir}/dl" + "${cfg.unifiPackage}/lib:${stateDir}/lib" + "${cfg.mongodbPackage}/bin:${stateDir}/bin" + "${cfg.unifiPackage}/webapps/ROOT:${stateDir}/webapps/ROOT" + ]; # Needs network access PrivateNetwork = false; @@ -220,6 +189,9 @@ in }; }; + imports = [ + (mkRemovedOptionModule [ "services" "unifi" "dataDir" ] "You should move contents of dataDir to /var/lib/unifi/data" ) + ]; meta.maintainers = with lib.maintainers; [ erictapen pennae ]; } From c22dad59dcb74a9861ab29aea54c7aef8fa4688a Mon Sep 17 00:00:00 2001 From: Akshay Date: Fri, 5 Nov 2021 16:56:45 +0530 Subject: [PATCH 46/46] statix: 0.3.5 -> 0.3.6 --- pkgs/tools/nix/statix/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/nix/statix/default.nix b/pkgs/tools/nix/statix/default.nix index c78ace218c08..1a1f5c4a2431 100644 --- a/pkgs/tools/nix/statix/default.nix +++ b/pkgs/tools/nix/statix/default.nix @@ -4,16 +4,16 @@ rustPlatform.buildRustPackage rec { pname = "statix"; # also update version of the vim plugin in pkgs/misc/vim-plugins/overrides.nix # the version can be found in flake.nix of the source code - version = "0.3.5"; + version = "0.3.6"; src = fetchFromGitHub { owner = "nerdypepper"; repo = pname; rev = "v${version}"; - sha256 = "sha256-vJvHmg6X/B6wQYjeX1FZC4MDGo0HkKbTmQH+l4tZAwg="; + sha256 = "sha256-fsEqPr+qtLNmTtxUxjcVDPoG7fjqFImnVHwscy2IBkE="; }; - cargoSha256 = "sha256-OfLpnVe1QIjpjpD4ticG/7AxPGFMMjBWN3DdLZq6pA8="; + cargoSha256 = "sha256-7fSJhRqZh7lUIe8vVzIVx+1phd+Am+GNzKN62NSuOYs="; cargoBuildFlags = lib.optionals withJson [ "--features" "json" ];