lol
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge master into staging-next

authored by

github-actions[bot] and committed by
GitHub
4147e7d4 03ea42ab

+2395 -1335
+6 -5
maintainers/scripts/haskell/mark-broken.sh
··· 17 17 18 18 echo "Remember that you need to manually run 'maintainers/scripts/haskell/hydra-report.hs get-report' sometime before running this script." 19 19 echo "Generating a list of broken builds and displaying for manual confirmation ..." 20 - maintainers/scripts/haskell/hydra-report.hs mark-broken-list | sort -i > $tmpfile 20 + maintainers/scripts/haskell/hydra-report.hs mark-broken-list | sort -i > "$tmpfile" 21 21 22 - $EDITOR $tmpfile 22 + $EDITOR "$tmpfile" 23 23 24 24 tail -n +3 "$broken_config" >> "$tmpfile" 25 25 ··· 28 28 # These packages don't compile. 29 29 EOF 30 30 31 + # clear environment here to avoid things like allowing broken builds in 31 32 sort -iu "$tmpfile" >> "$broken_config" 32 - maintainers/scripts/haskell/regenerate-hackage-packages.sh 33 - maintainers/scripts/haskell/regenerate-transitive-broken-packages.sh 34 - maintainers/scripts/haskell/regenerate-hackage-packages.sh 33 + env -i maintainers/scripts/haskell/regenerate-hackage-packages.sh 34 + env -i maintainers/scripts/haskell/regenerate-transitive-broken-packages.sh 35 + env -i maintainers/scripts/haskell/regenerate-hackage-packages.sh 35 36 36 37 if [[ "${1:-}" == "--do-commit" ]]; then 37 38 git add $broken_config
+3 -3
nixos/doc/manual/development/nixos-tests.xml
··· 13 13 one or more virtual machines containing the NixOS system(s) required for the 14 14 test. 15 15 </para> 16 - <xi:include href="writing-nixos-tests.xml" /> 17 - <xi:include href="running-nixos-tests.xml" /> 18 - <xi:include href="running-nixos-tests-interactively.xml" /> 16 + <xi:include href="../from_md/development/writing-nixos-tests.section.xml" /> 17 + <xi:include href="../from_md/development/running-nixos-tests.section.xml" /> 18 + <xi:include href="../from_md/development/running-nixos-tests-interactively.section.xml" /> 19 19 </chapter>
+44
nixos/doc/manual/development/running-nixos-tests-interactively.section.md
··· 1 + # Running Tests interactively {#sec-running-nixos-tests-interactively} 2 + 3 + The test itself can be run interactively. This is particularly useful 4 + when developing or debugging a test: 5 + 6 + ```ShellSession 7 + $ nix-build nixos/tests/login.nix -A driverInteractive 8 + $ ./result/bin/nixos-test-driver 9 + starting VDE switch for network 1 10 + > 11 + ``` 12 + 13 + You can then take any Python statement, e.g. 14 + 15 + ```py 16 + > start_all() 17 + > test_script() 18 + > machine.succeed("touch /tmp/foo") 19 + > print(machine.succeed("pwd")) # Show stdout of command 20 + ``` 21 + 22 + The function `test_script` executes the entire test script and drops you 23 + back into the test driver command line upon its completion. This allows 24 + you to inspect the state of the VMs after the test (e.g. to debug the 25 + test script). 26 + 27 + To just start and experiment with the VMs, run: 28 + 29 + ```ShellSession 30 + $ nix-build nixos/tests/login.nix -A driverInteractive 31 + $ ./result/bin/nixos-run-vms 32 + ``` 33 + 34 + The script `nixos-run-vms` starts the virtual machines defined by test. 35 + 36 + You can re-use the VM states coming from a previous run by setting the 37 + `--keep-vm-state` flag. 38 + 39 + ```ShellSession 40 + $ ./result/bin/nixos-run-vms --keep-vm-state 41 + ``` 42 + 43 + The machine state is stored in the `$TMPDIR/vm-state-machinename` 44 + directory.
-49
nixos/doc/manual/development/running-nixos-tests-interactively.xml
··· 1 - <section xmlns="http://docbook.org/ns/docbook" 2 - xmlns:xlink="http://www.w3.org/1999/xlink" 3 - xmlns:xi="http://www.w3.org/2001/XInclude" 4 - version="5.0" 5 - xml:id="sec-running-nixos-tests-interactively"> 6 - <title>Running Tests interactively</title> 7 - 8 - <para> 9 - The test itself can be run interactively. This is particularly useful when 10 - developing or debugging a test: 11 - <screen> 12 - <prompt>$ </prompt>nix-build nixos/tests/login.nix -A driverInteractive 13 - <prompt>$ </prompt>./result/bin/nixos-test-driver 14 - starting VDE switch for network 1 15 - <prompt>&gt;</prompt> 16 - </screen> 17 - You can then take any Python statement, e.g. 18 - <screen> 19 - <prompt>&gt;</prompt> start_all() 20 - <prompt>&gt;</prompt> test_script() 21 - <prompt>&gt;</prompt> machine.succeed("touch /tmp/foo") 22 - <prompt>&gt;</prompt> print(machine.succeed("pwd")) # Show stdout of command 23 - </screen> 24 - The function <command>test_script</command> executes the entire test script 25 - and drops you back into the test driver command line upon its completion. 26 - This allows you to inspect the state of the VMs after the test (e.g. to debug 27 - the test script). 28 - </para> 29 - 30 - <para> 31 - To just start and experiment with the VMs, run: 32 - <screen> 33 - <prompt>$ </prompt>nix-build nixos/tests/login.nix -A driverInteractive 34 - <prompt>$ </prompt>./result/bin/nixos-run-vms 35 - </screen> 36 - The script <command>nixos-run-vms</command> starts the virtual machines 37 - defined by test. 38 - </para> 39 - 40 - <para> 41 - You can re-use the VM states coming from a previous run 42 - by setting the <command>--keep-vm-state</command> flag. 43 - <screen> 44 - <prompt>$ </prompt>./result/bin/nixos-run-vms --keep-vm-state 45 - </screen> 46 - The machine state is stored in the 47 - <filename>$TMPDIR/vm-state-</filename><varname>machinename</varname> directory. 48 - </para> 49 - </section>
+31
nixos/doc/manual/development/running-nixos-tests.section.md
··· 1 + # Running Tests {#sec-running-nixos-tests} 2 + 3 + You can run tests using `nix-build`. For example, to run the test 4 + [`login.nix`](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/login.nix), 5 + you just do: 6 + 7 + ```ShellSession 8 + $ nix-build '<nixpkgs/nixos/tests/login.nix>' 9 + ``` 10 + 11 + or, if you don't want to rely on `NIX_PATH`: 12 + 13 + ```ShellSession 14 + $ cd /my/nixpkgs/nixos/tests 15 + $ nix-build login.nix 16 + 17 + running the VM test script 18 + machine: QEMU running (pid 8841) 19 + 20 + 6 out of 6 tests succeeded 21 + ``` 22 + 23 + After building/downloading all required dependencies, this will perform 24 + a build that starts a QEMU/KVM virtual machine containing a NixOS 25 + system. The virtual machine mounts the Nix store of the host; this makes 26 + VM creation very fast, as no disk image needs to be created. Afterwards, 27 + you can view a pretty-printed log of the test: 28 + 29 + ```ShellSession 30 + $ firefox result/log.html 31 + ```
-36
nixos/doc/manual/development/running-nixos-tests.xml
··· 1 - <section xmlns="http://docbook.org/ns/docbook" 2 - xmlns:xlink="http://www.w3.org/1999/xlink" 3 - xmlns:xi="http://www.w3.org/2001/XInclude" 4 - version="5.0" 5 - xml:id="sec-running-nixos-tests"> 6 - <title>Running Tests</title> 7 - 8 - <para> 9 - You can run tests using <command>nix-build</command>. For example, to run the 10 - test 11 - <filename 12 - xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/login.nix">login.nix</filename>, 13 - you just do: 14 - <screen> 15 - <prompt>$ </prompt>nix-build '&lt;nixpkgs/nixos/tests/login.nix>' 16 - </screen> 17 - or, if you don’t want to rely on <envar>NIX_PATH</envar>: 18 - <screen> 19 - <prompt>$ </prompt>cd /my/nixpkgs/nixos/tests 20 - <prompt>$ </prompt>nix-build login.nix 21 - 22 - running the VM test script 23 - machine: QEMU running (pid 8841) 24 - 25 - 6 out of 6 tests succeeded 26 - </screen> 27 - After building/downloading all required dependencies, this will perform a 28 - build that starts a QEMU/KVM virtual machine containing a NixOS system. The 29 - virtual machine mounts the Nix store of the host; this makes VM creation very 30 - fast, as no disk image needs to be created. Afterwards, you can view a 31 - pretty-printed log of the test: 32 - <screen> 33 - <prompt>$ </prompt>firefox result/log.html 34 - </screen> 35 - </para> 36 - </section>
+301
nixos/doc/manual/development/writing-nixos-tests.section.md
··· 1 + # Writing Tests {#sec-writing-nixos-tests} 2 + 3 + A NixOS test is a Nix expression that has the following structure: 4 + 5 + ```nix 6 + import ./make-test-python.nix { 7 + 8 + # Either the configuration of a single machine: 9 + machine = 10 + { config, pkgs, ... }: 11 + { configuration… 12 + }; 13 + 14 + # Or a set of machines: 15 + nodes = 16 + { machine1 = 17 + { config, pkgs, ... }: { … }; 18 + machine2 = 19 + { config, pkgs, ... }: { … }; 20 + 21 + }; 22 + 23 + testScript = 24 + '' 25 + Python code… 26 + ''; 27 + } 28 + ``` 29 + 30 + The attribute `testScript` is a bit of Python code that executes the 31 + test (described below). During the test, it will start one or more 32 + virtual machines, the configuration of which is described by the 33 + attribute `machine` (if you need only one machine in your test) or by 34 + the attribute `nodes` (if you need multiple machines). For instance, 35 + [`login.nix`](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/login.nix) 36 + only needs a single machine to test whether users can log in 37 + on the virtual console, whether device ownership is correctly maintained 38 + when switching between consoles, and so on. On the other hand, 39 + [`nfs/simple.nix`](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/nfs/simple.nix), 40 + which tests NFS client and server functionality in the 41 + Linux kernel (including whether locks are maintained across server 42 + crashes), requires three machines: a server and two clients. 43 + 44 + There are a few special NixOS configuration options for test VMs: 45 + 46 + `virtualisation.memorySize` 47 + 48 + : The memory of the VM in megabytes. 49 + 50 + `virtualisation.vlans` 51 + 52 + : The virtual networks to which the VM is connected. See 53 + [`nat.nix`](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/nat.nix) 54 + for an example. 55 + 56 + `virtualisation.writableStore` 57 + 58 + : By default, the Nix store in the VM is not writable. If you enable 59 + this option, a writable union file system is mounted on top of the 60 + Nix store to make it appear writable. This is necessary for tests 61 + that run Nix operations that modify the store. 62 + 63 + For more options, see the module 64 + [`qemu-vm.nix`](https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/virtualisation/qemu-vm.nix). 65 + 66 + The test script is a sequence of Python statements that perform various 67 + actions, such as starting VMs, executing commands in the VMs, and so on. 68 + Each virtual machine is represented as an object stored in the variable 69 + `name` if this is also the identifier of the machine in the declarative 70 + config. If you didn\'t specify multiple machines using the `nodes` 71 + attribute, it is just `machine`. The following example starts the 72 + machine, waits until it has finished booting, then executes a command 73 + and checks that the output is more-or-less correct: 74 + 75 + ```py 76 + machine.start() 77 + machine.wait_for_unit("default.target") 78 + if not "Linux" in machine.succeed("uname"): 79 + raise Exception("Wrong OS") 80 + ``` 81 + 82 + The first line is actually unnecessary; machines are implicitly started 83 + when you first execute an action on them (such as `wait_for_unit` or 84 + `succeed`). If you have multiple machines, you can speed up the test by 85 + starting them in parallel: 86 + 87 + ```py 88 + start_all() 89 + ``` 90 + 91 + The following methods are available on machine objects: 92 + 93 + `start` 94 + 95 + : Start the virtual machine. This method is asynchronous --- it does 96 + not wait for the machine to finish booting. 97 + 98 + `shutdown` 99 + 100 + : Shut down the machine, waiting for the VM to exit. 101 + 102 + `crash` 103 + 104 + : Simulate a sudden power failure, by telling the VM to exit 105 + immediately. 106 + 107 + `block` 108 + 109 + : Simulate unplugging the Ethernet cable that connects the machine to 110 + the other machines. 111 + 112 + `unblock` 113 + 114 + : Undo the effect of `block`. 115 + 116 + `screenshot` 117 + 118 + : Take a picture of the display of the virtual machine, in PNG format. 119 + The screenshot is linked from the HTML log. 120 + 121 + `get_screen_text_variants` 122 + 123 + : Return a list of different interpretations of what is currently 124 + visible on the machine\'s screen using optical character 125 + recognition. The number and order of the interpretations is not 126 + specified and is subject to change, but if no exception is raised at 127 + least one will be returned. 128 + 129 + ::: {.note} 130 + This requires passing `enableOCR` to the test attribute set. 131 + ::: 132 + 133 + `get_screen_text` 134 + 135 + : Return a textual representation of what is currently visible on the 136 + machine\'s screen using optical character recognition. 137 + 138 + ::: {.note} 139 + This requires passing `enableOCR` to the test attribute set. 140 + ::: 141 + 142 + `send_monitor_command` 143 + 144 + : Send a command to the QEMU monitor. This is rarely used, but allows 145 + doing stuff such as attaching virtual USB disks to a running 146 + machine. 147 + 148 + `send_key` 149 + 150 + : Simulate pressing keys on the virtual keyboard, e.g., 151 + `send_key("ctrl-alt-delete")`. 152 + 153 + `send_chars` 154 + 155 + : Simulate typing a sequence of characters on the virtual keyboard, 156 + e.g., `send_chars("foobar\n")` will type the string `foobar` 157 + followed by the Enter key. 158 + 159 + `execute` 160 + 161 + : Execute a shell command, returning a list `(status, stdout)`. 162 + 163 + `succeed` 164 + 165 + : Execute a shell command, raising an exception if the exit status is 166 + not zero, otherwise returning the standard output. Commands are run 167 + with `set -euo pipefail` set: 168 + 169 + - If several commands are separated by `;` and one fails, the 170 + command as a whole will fail. 171 + 172 + - For pipelines, the last non-zero exit status will be returned 173 + (if there is one, zero will be returned otherwise). 174 + 175 + - Dereferencing unset variables fail the command. 176 + 177 + `fail` 178 + 179 + : Like `succeed`, but raising an exception if the command returns a zero 180 + status. 181 + 182 + `wait_until_succeeds` 183 + 184 + : Repeat a shell command with 1-second intervals until it succeeds. 185 + 186 + `wait_until_fails` 187 + 188 + : Repeat a shell command with 1-second intervals until it fails. 189 + 190 + `wait_for_unit` 191 + 192 + : Wait until the specified systemd unit has reached the "active" 193 + state. 194 + 195 + `wait_for_file` 196 + 197 + : Wait until the specified file exists. 198 + 199 + `wait_for_open_port` 200 + 201 + : Wait until a process is listening on the given TCP port (on 202 + `localhost`, at least). 203 + 204 + `wait_for_closed_port` 205 + 206 + : Wait until nobody is listening on the given TCP port. 207 + 208 + `wait_for_x` 209 + 210 + : Wait until the X11 server is accepting connections. 211 + 212 + `wait_for_text` 213 + 214 + : Wait until the supplied regular expressions matches the textual 215 + contents of the screen by using optical character recognition (see 216 + `get_screen_text` and `get_screen_text_variants`). 217 + 218 + ::: {.note} 219 + This requires passing `enableOCR` to the test attribute set. 220 + ::: 221 + 222 + `wait_for_console_text` 223 + 224 + : Wait until the supplied regular expressions match a line of the 225 + serial console output. This method is useful when OCR is not 226 + possibile or accurate enough. 227 + 228 + `wait_for_window` 229 + 230 + : Wait until an X11 window has appeared whose name matches the given 231 + regular expression, e.g., `wait_for_window("Terminal")`. 232 + 233 + `copy_from_host` 234 + 235 + : Copies a file from host to machine, e.g., 236 + `copy_from_host("myfile", "/etc/my/important/file")`. 237 + 238 + The first argument is the file on the host. The file needs to be 239 + accessible while building the nix derivation. The second argument is 240 + the location of the file on the machine. 241 + 242 + `systemctl` 243 + 244 + : Runs `systemctl` commands with optional support for 245 + `systemctl --user` 246 + 247 + ```py 248 + machine.systemctl("list-jobs --no-pager") # runs `systemctl list-jobs --no-pager` 249 + machine.systemctl("list-jobs --no-pager", "any-user") # spawns a shell for `any-user` and runs `systemctl --user list-jobs --no-pager` 250 + ``` 251 + 252 + `shell_interact` 253 + 254 + : Allows you to directly interact with the guest shell. This should 255 + only be used during test development, not in production tests. 256 + Killing the interactive session with `Ctrl-d` or `Ctrl-c` also ends 257 + the guest session. 258 + 259 + To test user units declared by `systemd.user.services` the optional 260 + `user` argument can be used: 261 + 262 + ```py 263 + machine.start() 264 + machine.wait_for_x() 265 + machine.wait_for_unit("xautolock.service", "x-session-user") 266 + ``` 267 + 268 + This applies to `systemctl`, `get_unit_info`, `wait_for_unit`, 269 + `start_job` and `stop_job`. 270 + 271 + For faster dev cycles it\'s also possible to disable the code-linters 272 + (this shouldn\'t be commited though): 273 + 274 + ```nix 275 + import ./make-test-python.nix { 276 + skipLint = true; 277 + machine = 278 + { config, pkgs, ... }: 279 + { configuration… 280 + }; 281 + 282 + testScript = 283 + '' 284 + Python code… 285 + ''; 286 + } 287 + ``` 288 + 289 + This will produce a Nix warning at evaluation time. To fully disable the 290 + linter, wrap the test script in comment directives to disable the Black 291 + linter directly (again, don\'t commit this within the Nixpkgs 292 + repository): 293 + 294 + ```nix 295 + testScript = 296 + '' 297 + # fmt: off 298 + Python code… 299 + # fmt: on 300 + ''; 301 + ```
-517
nixos/doc/manual/development/writing-nixos-tests.xml
··· 1 - <section xmlns="http://docbook.org/ns/docbook" 2 - xmlns:xlink="http://www.w3.org/1999/xlink" 3 - xmlns:xi="http://www.w3.org/2001/XInclude" 4 - version="5.0" 5 - xml:id="sec-writing-nixos-tests"> 6 - <title>Writing Tests</title> 7 - 8 - <para> 9 - A NixOS test is a Nix expression that has the following structure: 10 - <programlisting> 11 - import ./make-test-python.nix { 12 - 13 - # Either the configuration of a single machine: 14 - machine = 15 - { config, pkgs, ... }: 16 - { <replaceable>configuration…</replaceable> 17 - }; 18 - 19 - # Or a set of machines: 20 - nodes = 21 - { <replaceable>machine1</replaceable> = 22 - { config, pkgs, ... }: { <replaceable>…</replaceable> }; 23 - <replaceable>machine2</replaceable> = 24 - { config, pkgs, ... }: { <replaceable>…</replaceable> }; 25 - 26 - }; 27 - 28 - testScript = 29 - '' 30 - <replaceable>Python code…</replaceable> 31 - ''; 32 - } 33 - </programlisting> 34 - The attribute <literal>testScript</literal> is a bit of Python code that 35 - executes the test (described below). During the test, it will start one or 36 - more virtual machines, the configuration of which is described by the 37 - attribute <literal>machine</literal> (if you need only one machine in your 38 - test) or by the attribute <literal>nodes</literal> (if you need multiple 39 - machines). For instance, 40 - <filename 41 - xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/login.nix">login.nix</filename> 42 - only needs a single machine to test whether users can log in on the virtual 43 - console, whether device ownership is correctly maintained when switching 44 - between consoles, and so on. On the other hand, 45 - <filename 46 - xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/nfs/simple.nix">nfs/simple.nix</filename>, 47 - which tests NFS client and server functionality in the Linux kernel 48 - (including whether locks are maintained across server crashes), requires 49 - three machines: a server and two clients. 50 - </para> 51 - 52 - <para> 53 - There are a few special NixOS configuration options for test VMs: 54 - <!-- FIXME: would be nice to generate this automatically. --> 55 - <variablelist> 56 - <varlistentry> 57 - <term> 58 - <option>virtualisation.memorySize</option> 59 - </term> 60 - <listitem> 61 - <para> 62 - The memory of the VM in megabytes. 63 - </para> 64 - </listitem> 65 - </varlistentry> 66 - <varlistentry> 67 - <term> 68 - <option>virtualisation.vlans</option> 69 - </term> 70 - <listitem> 71 - <para> 72 - The virtual networks to which the VM is connected. See 73 - <filename 74 - xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/nat.nix">nat.nix</filename> 75 - for an example. 76 - </para> 77 - </listitem> 78 - </varlistentry> 79 - <varlistentry> 80 - <term> 81 - <option>virtualisation.writableStore</option> 82 - </term> 83 - <listitem> 84 - <para> 85 - By default, the Nix store in the VM is not writable. If you enable this 86 - option, a writable union file system is mounted on top of the Nix store 87 - to make it appear writable. This is necessary for tests that run Nix 88 - operations that modify the store. 89 - </para> 90 - </listitem> 91 - </varlistentry> 92 - </variablelist> 93 - For more options, see the module 94 - <filename 95 - xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/virtualisation/qemu-vm.nix">qemu-vm.nix</filename>. 96 - </para> 97 - 98 - <para> 99 - The test script is a sequence of Python statements that perform various 100 - actions, such as starting VMs, executing commands in the VMs, and so on. Each 101 - virtual machine is represented as an object stored in the variable 102 - <literal><replaceable>name</replaceable></literal> if this is also the 103 - identifier of the machine in the declarative config. 104 - If you didn't specify multiple machines using the <literal>nodes</literal> 105 - attribute, it is just <literal>machine</literal>. 106 - The following example starts the machine, waits until it has finished booting, 107 - then executes a command and checks that the output is more-or-less correct: 108 - <programlisting> 109 - machine.start() 110 - machine.wait_for_unit("default.target") 111 - if not "Linux" in machine.succeed("uname"): 112 - raise Exception("Wrong OS") 113 - </programlisting> 114 - The first line is actually unnecessary; machines are implicitly started when 115 - you first execute an action on them (such as <literal>wait_for_unit</literal> 116 - or <literal>succeed</literal>). If you have multiple machines, you can speed 117 - up the test by starting them in parallel: 118 - <programlisting> 119 - start_all() 120 - </programlisting> 121 - </para> 122 - 123 - <para> 124 - The following methods are available on machine objects: 125 - <variablelist> 126 - <varlistentry> 127 - <term> 128 - <methodname>start</methodname> 129 - </term> 130 - <listitem> 131 - <para> 132 - Start the virtual machine. This method is asynchronous — it does not 133 - wait for the machine to finish booting. 134 - </para> 135 - </listitem> 136 - </varlistentry> 137 - <varlistentry> 138 - <term> 139 - <methodname>shutdown</methodname> 140 - </term> 141 - <listitem> 142 - <para> 143 - Shut down the machine, waiting for the VM to exit. 144 - </para> 145 - </listitem> 146 - </varlistentry> 147 - <varlistentry> 148 - <term> 149 - <methodname>crash</methodname> 150 - </term> 151 - <listitem> 152 - <para> 153 - Simulate a sudden power failure, by telling the VM to exit immediately. 154 - </para> 155 - </listitem> 156 - </varlistentry> 157 - <varlistentry> 158 - <term> 159 - <methodname>block</methodname> 160 - </term> 161 - <listitem> 162 - <para> 163 - Simulate unplugging the Ethernet cable that connects the machine to the 164 - other machines. 165 - </para> 166 - </listitem> 167 - </varlistentry> 168 - <varlistentry> 169 - <term> 170 - <methodname>unblock</methodname> 171 - </term> 172 - <listitem> 173 - <para> 174 - Undo the effect of <methodname>block</methodname>. 175 - </para> 176 - </listitem> 177 - </varlistentry> 178 - <varlistentry> 179 - <term> 180 - <methodname>screenshot</methodname> 181 - </term> 182 - <listitem> 183 - <para> 184 - Take a picture of the display of the virtual machine, in PNG format. The 185 - screenshot is linked from the HTML log. 186 - </para> 187 - </listitem> 188 - </varlistentry> 189 - <varlistentry> 190 - <term> 191 - <methodname>get_screen_text_variants</methodname> 192 - </term> 193 - <listitem> 194 - <para> 195 - Return a list of different interpretations of what is currently visible 196 - on the machine's screen using optical character recognition. The number 197 - and order of the interpretations is not specified and is subject to 198 - change, but if no exception is raised at least one will be returned. 199 - </para> 200 - <note> 201 - <para> 202 - This requires passing <option>enableOCR</option> to the test attribute 203 - set. 204 - </para> 205 - </note> 206 - </listitem> 207 - </varlistentry> 208 - <varlistentry> 209 - <term> 210 - <methodname>get_screen_text</methodname> 211 - </term> 212 - <listitem> 213 - <para> 214 - Return a textual representation of what is currently visible on the 215 - machine's screen using optical character recognition. 216 - </para> 217 - <note> 218 - <para> 219 - This requires passing <option>enableOCR</option> to the test attribute 220 - set. 221 - </para> 222 - </note> 223 - </listitem> 224 - </varlistentry> 225 - <varlistentry> 226 - <term> 227 - <methodname>send_monitor_command</methodname> 228 - </term> 229 - <listitem> 230 - <para> 231 - Send a command to the QEMU monitor. This is rarely used, but allows doing 232 - stuff such as attaching virtual USB disks to a running machine. 233 - </para> 234 - </listitem> 235 - </varlistentry> 236 - <varlistentry> 237 - <term> 238 - <methodname>send_key</methodname> 239 - </term> 240 - <listitem> 241 - <para> 242 - Simulate pressing keys on the virtual keyboard, e.g., 243 - <literal>send_key("ctrl-alt-delete")</literal>. 244 - </para> 245 - </listitem> 246 - </varlistentry> 247 - <varlistentry> 248 - <term> 249 - <methodname>send_chars</methodname> 250 - </term> 251 - <listitem> 252 - <para> 253 - Simulate typing a sequence of characters on the virtual keyboard, e.g., 254 - <literal>send_chars("foobar\n")</literal> will type the string 255 - <literal>foobar</literal> followed by the Enter key. 256 - </para> 257 - </listitem> 258 - </varlistentry> 259 - <varlistentry> 260 - <term> 261 - <methodname>execute</methodname> 262 - </term> 263 - <listitem> 264 - <para> 265 - Execute a shell command, returning a list 266 - <literal>(<replaceable>status</replaceable>, 267 - <replaceable>stdout</replaceable>)</literal>. 268 - </para> 269 - </listitem> 270 - </varlistentry> 271 - <varlistentry> 272 - <term> 273 - <methodname>succeed</methodname> 274 - </term> 275 - <listitem> 276 - <para> 277 - Execute a shell command, raising an exception if the exit status 278 - is not zero, otherwise returning the standard output. Commands 279 - are run with <literal>set -euo pipefail</literal> set: 280 - <itemizedlist> 281 - <listitem> 282 - <para> 283 - If several commands are separated by <literal>;</literal> 284 - and one fails, the command as a whole will fail. 285 - </para> 286 - </listitem> 287 - <listitem> 288 - <para> 289 - For pipelines, the last non-zero exit status will be 290 - returned (if there is one, zero will be returned 291 - otherwise). 292 - </para> 293 - </listitem> 294 - <listitem> 295 - <para> 296 - Dereferencing unset variables fail the command. 297 - </para> 298 - </listitem> 299 - </itemizedlist> 300 - </para> 301 - </listitem> 302 - </varlistentry> 303 - <varlistentry> 304 - <term> 305 - <methodname>fail</methodname> 306 - </term> 307 - <listitem> 308 - <para> 309 - Like <methodname>succeed</methodname>, but raising an exception if the 310 - command returns a zero status. 311 - </para> 312 - </listitem> 313 - </varlistentry> 314 - <varlistentry> 315 - <term> 316 - <methodname>wait_until_succeeds</methodname> 317 - </term> 318 - <listitem> 319 - <para> 320 - Repeat a shell command with 1-second intervals until it succeeds. 321 - </para> 322 - </listitem> 323 - </varlistentry> 324 - <varlistentry> 325 - <term> 326 - <methodname>wait_until_fails</methodname> 327 - </term> 328 - <listitem> 329 - <para> 330 - Repeat a shell command with 1-second intervals until it fails. 331 - </para> 332 - </listitem> 333 - </varlistentry> 334 - <varlistentry> 335 - <term> 336 - <methodname>wait_for_unit</methodname> 337 - </term> 338 - <listitem> 339 - <para> 340 - Wait until the specified systemd unit has reached the “active” state. 341 - </para> 342 - </listitem> 343 - </varlistentry> 344 - <varlistentry> 345 - <term> 346 - <methodname>wait_for_file</methodname> 347 - </term> 348 - <listitem> 349 - <para> 350 - Wait until the specified file exists. 351 - </para> 352 - </listitem> 353 - </varlistentry> 354 - <varlistentry> 355 - <term> 356 - <methodname>wait_for_open_port</methodname> 357 - </term> 358 - <listitem> 359 - <para> 360 - Wait until a process is listening on the given TCP port (on 361 - <literal>localhost</literal>, at least). 362 - </para> 363 - </listitem> 364 - </varlistentry> 365 - <varlistentry> 366 - <term> 367 - <methodname>wait_for_closed_port</methodname> 368 - </term> 369 - <listitem> 370 - <para> 371 - Wait until nobody is listening on the given TCP port. 372 - </para> 373 - </listitem> 374 - </varlistentry> 375 - <varlistentry> 376 - <term> 377 - <methodname>wait_for_x</methodname> 378 - </term> 379 - <listitem> 380 - <para> 381 - Wait until the X11 server is accepting connections. 382 - </para> 383 - </listitem> 384 - </varlistentry> 385 - <varlistentry> 386 - <term> 387 - <methodname>wait_for_text</methodname> 388 - </term> 389 - <listitem> 390 - <para> 391 - Wait until the supplied regular expressions matches the textual contents 392 - of the screen by using optical character recognition (see 393 - <methodname>get_screen_text</methodname> and 394 - <methodname>get_screen_text_variants</methodname>). 395 - </para> 396 - <note> 397 - <para> 398 - This requires passing <option>enableOCR</option> to the test attribute 399 - set. 400 - </para> 401 - </note> 402 - </listitem> 403 - </varlistentry> 404 - <varlistentry> 405 - <term> 406 - <methodname>wait_for_console_text</methodname> 407 - </term> 408 - <listitem> 409 - <para> 410 - Wait until the supplied regular expressions match a line of the serial 411 - console output. This method is useful when OCR is not possibile or 412 - accurate enough. 413 - </para> 414 - </listitem> 415 - </varlistentry> 416 - <varlistentry> 417 - <term> 418 - <methodname>wait_for_window</methodname> 419 - </term> 420 - <listitem> 421 - <para> 422 - Wait until an X11 window has appeared whose name matches the given 423 - regular expression, e.g., <literal>wait_for_window("Terminal")</literal>. 424 - </para> 425 - </listitem> 426 - </varlistentry> 427 - <varlistentry> 428 - <term> 429 - <methodname>copy_from_host</methodname> 430 - </term> 431 - <listitem> 432 - <para> 433 - Copies a file from host to machine, e.g., 434 - <literal>copy_from_host("myfile", "/etc/my/important/file")</literal>. 435 - </para> 436 - <para> 437 - The first argument is the file on the host. The file needs to be 438 - accessible while building the nix derivation. The second argument is the 439 - location of the file on the machine. 440 - </para> 441 - </listitem> 442 - </varlistentry> 443 - <varlistentry> 444 - <term> 445 - <methodname>systemctl</methodname> 446 - </term> 447 - <listitem> 448 - <para> 449 - Runs <literal>systemctl</literal> commands with optional support for 450 - <literal>systemctl --user</literal> 451 - </para> 452 - <para> 453 - <programlisting> 454 - machine.systemctl("list-jobs --no-pager") # runs `systemctl list-jobs --no-pager` 455 - machine.systemctl("list-jobs --no-pager", "any-user") # spawns a shell for `any-user` and runs `systemctl --user list-jobs --no-pager` 456 - </programlisting> 457 - </para> 458 - </listitem> 459 - </varlistentry> 460 - <varlistentry> 461 - <term> 462 - <methodname>shell_interact</methodname> 463 - </term> 464 - <listitem> 465 - <para> 466 - Allows you to directly interact with the guest shell. 467 - This should only be used during test development, not in production tests. 468 - Killing the interactive session with <literal>Ctrl-d</literal> or <literal>Ctrl-c</literal> also ends the guest session. 469 - </para> 470 - </listitem> 471 - </varlistentry> 472 - </variablelist> 473 - </para> 474 - 475 - <para> 476 - To test user units declared by <literal>systemd.user.services</literal> the 477 - optional <literal>user</literal> argument can be used: 478 - <programlisting> 479 - machine.start() 480 - machine.wait_for_x() 481 - machine.wait_for_unit("xautolock.service", "x-session-user") 482 - </programlisting> 483 - This applies to <literal>systemctl</literal>, <literal>get_unit_info</literal>, 484 - <literal>wait_for_unit</literal>, <literal>start_job</literal> and 485 - <literal>stop_job</literal>. 486 - </para> 487 - 488 - <para> 489 - For faster dev cycles it's also possible to disable the code-linters (this shouldn't 490 - be commited though): 491 - <programlisting> 492 - import ./make-test-python.nix { 493 - skipLint = true; 494 - machine = 495 - { config, pkgs, ... }: 496 - { <replaceable>configuration…</replaceable> 497 - }; 498 - 499 - testScript = 500 - '' 501 - <replaceable>Python code…</replaceable> 502 - ''; 503 - } 504 - </programlisting> 505 - This will produce a Nix warning at evaluation time. To fully disable the 506 - linter, wrap the test script in comment directives to disable the Black linter 507 - directly (again, don't commit this within the Nixpkgs repository): 508 - <programlisting> 509 - testScript = 510 - '' 511 - # fmt: off 512 - <replaceable>Python code…</replaceable> 513 - # fmt: on 514 - ''; 515 - </programlisting> 516 - </para> 517 - </section>
+50
nixos/doc/manual/from_md/development/running-nixos-tests-interactively.section.xml
··· 1 + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-running-nixos-tests-interactively"> 2 + <title>Running Tests interactively</title> 3 + <para> 4 + The test itself can be run interactively. This is particularly 5 + useful when developing or debugging a test: 6 + </para> 7 + <programlisting> 8 + $ nix-build nixos/tests/login.nix -A driverInteractive 9 + $ ./result/bin/nixos-test-driver 10 + starting VDE switch for network 1 11 + &gt; 12 + </programlisting> 13 + <para> 14 + You can then take any Python statement, e.g. 15 + </para> 16 + <programlisting language="python"> 17 + &gt; start_all() 18 + &gt; test_script() 19 + &gt; machine.succeed(&quot;touch /tmp/foo&quot;) 20 + &gt; print(machine.succeed(&quot;pwd&quot;)) # Show stdout of command 21 + </programlisting> 22 + <para> 23 + The function <literal>test_script</literal> executes the entire test 24 + script and drops you back into the test driver command line upon its 25 + completion. This allows you to inspect the state of the VMs after 26 + the test (e.g. to debug the test script). 27 + </para> 28 + <para> 29 + To just start and experiment with the VMs, run: 30 + </para> 31 + <programlisting> 32 + $ nix-build nixos/tests/login.nix -A driverInteractive 33 + $ ./result/bin/nixos-run-vms 34 + </programlisting> 35 + <para> 36 + The script <literal>nixos-run-vms</literal> starts the virtual 37 + machines defined by test. 38 + </para> 39 + <para> 40 + You can re-use the VM states coming from a previous run by setting 41 + the <literal>--keep-vm-state</literal> flag. 42 + </para> 43 + <programlisting> 44 + $ ./result/bin/nixos-run-vms --keep-vm-state 45 + </programlisting> 46 + <para> 47 + The machine state is stored in the 48 + <literal>$TMPDIR/vm-state-machinename</literal> directory. 49 + </para> 50 + </section>
+34
nixos/doc/manual/from_md/development/running-nixos-tests.section.xml
··· 1 + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-running-nixos-tests"> 2 + <title>Running Tests</title> 3 + <para> 4 + You can run tests using <literal>nix-build</literal>. For example, 5 + to run the test 6 + <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/login.nix"><literal>login.nix</literal></link>, 7 + you just do: 8 + </para> 9 + <programlisting> 10 + $ nix-build '&lt;nixpkgs/nixos/tests/login.nix&gt;' 11 + </programlisting> 12 + <para> 13 + or, if you don’t want to rely on <literal>NIX_PATH</literal>: 14 + </para> 15 + <programlisting> 16 + $ cd /my/nixpkgs/nixos/tests 17 + $ nix-build login.nix 18 + 19 + running the VM test script 20 + machine: QEMU running (pid 8841) 21 + 22 + 6 out of 6 tests succeeded 23 + </programlisting> 24 + <para> 25 + After building/downloading all required dependencies, this will 26 + perform a build that starts a QEMU/KVM virtual machine containing a 27 + NixOS system. The virtual machine mounts the Nix store of the host; 28 + this makes VM creation very fast, as no disk image needs to be 29 + created. Afterwards, you can view a pretty-printed log of the test: 30 + </para> 31 + <programlisting> 32 + $ firefox result/log.html 33 + </programlisting> 34 + </section>
+526
nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml
··· 1 + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-writing-nixos-tests"> 2 + <title>Writing Tests</title> 3 + <para> 4 + A NixOS test is a Nix expression that has the following structure: 5 + </para> 6 + <programlisting language="bash"> 7 + import ./make-test-python.nix { 8 + 9 + # Either the configuration of a single machine: 10 + machine = 11 + { config, pkgs, ... }: 12 + { configuration… 13 + }; 14 + 15 + # Or a set of machines: 16 + nodes = 17 + { machine1 = 18 + { config, pkgs, ... }: { … }; 19 + machine2 = 20 + { config, pkgs, ... }: { … }; 21 + 22 + }; 23 + 24 + testScript = 25 + '' 26 + Python code… 27 + ''; 28 + } 29 + </programlisting> 30 + <para> 31 + The attribute <literal>testScript</literal> is a bit of Python code 32 + that executes the test (described below). During the test, it will 33 + start one or more virtual machines, the configuration of which is 34 + described by the attribute <literal>machine</literal> (if you need 35 + only one machine in your test) or by the attribute 36 + <literal>nodes</literal> (if you need multiple machines). For 37 + instance, 38 + <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/login.nix"><literal>login.nix</literal></link> 39 + only needs a single machine to test whether users can log in on the 40 + virtual console, whether device ownership is correctly maintained 41 + when switching between consoles, and so on. On the other hand, 42 + <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/nfs/simple.nix"><literal>nfs/simple.nix</literal></link>, 43 + which tests NFS client and server functionality in the Linux kernel 44 + (including whether locks are maintained across server crashes), 45 + requires three machines: a server and two clients. 46 + </para> 47 + <para> 48 + There are a few special NixOS configuration options for test VMs: 49 + </para> 50 + <variablelist> 51 + <varlistentry> 52 + <term> 53 + <literal>virtualisation.memorySize</literal> 54 + </term> 55 + <listitem> 56 + <para> 57 + The memory of the VM in megabytes. 58 + </para> 59 + </listitem> 60 + </varlistentry> 61 + <varlistentry> 62 + <term> 63 + <literal>virtualisation.vlans</literal> 64 + </term> 65 + <listitem> 66 + <para> 67 + The virtual networks to which the VM is connected. See 68 + <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/nat.nix"><literal>nat.nix</literal></link> 69 + for an example. 70 + </para> 71 + </listitem> 72 + </varlistentry> 73 + <varlistentry> 74 + <term> 75 + <literal>virtualisation.writableStore</literal> 76 + </term> 77 + <listitem> 78 + <para> 79 + By default, the Nix store in the VM is not writable. If you 80 + enable this option, a writable union file system is mounted on 81 + top of the Nix store to make it appear writable. This is 82 + necessary for tests that run Nix operations that modify the 83 + store. 84 + </para> 85 + </listitem> 86 + </varlistentry> 87 + </variablelist> 88 + <para> 89 + For more options, see the module 90 + <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/virtualisation/qemu-vm.nix"><literal>qemu-vm.nix</literal></link>. 91 + </para> 92 + <para> 93 + The test script is a sequence of Python statements that perform 94 + various actions, such as starting VMs, executing commands in the 95 + VMs, and so on. Each virtual machine is represented as an object 96 + stored in the variable <literal>name</literal> if this is also the 97 + identifier of the machine in the declarative config. If you didn't 98 + specify multiple machines using the <literal>nodes</literal> 99 + attribute, it is just <literal>machine</literal>. The following 100 + example starts the machine, waits until it has finished booting, 101 + then executes a command and checks that the output is more-or-less 102 + correct: 103 + </para> 104 + <programlisting language="python"> 105 + machine.start() 106 + machine.wait_for_unit(&quot;default.target&quot;) 107 + if not &quot;Linux&quot; in machine.succeed(&quot;uname&quot;): 108 + raise Exception(&quot;Wrong OS&quot;) 109 + </programlisting> 110 + <para> 111 + The first line is actually unnecessary; machines are implicitly 112 + started when you first execute an action on them (such as 113 + <literal>wait_for_unit</literal> or <literal>succeed</literal>). If 114 + you have multiple machines, you can speed up the test by starting 115 + them in parallel: 116 + </para> 117 + <programlisting language="python"> 118 + start_all() 119 + </programlisting> 120 + <para> 121 + The following methods are available on machine objects: 122 + </para> 123 + <variablelist> 124 + <varlistentry> 125 + <term> 126 + <literal>start</literal> 127 + </term> 128 + <listitem> 129 + <para> 130 + Start the virtual machine. This method is asynchronous — it 131 + does not wait for the machine to finish booting. 132 + </para> 133 + </listitem> 134 + </varlistentry> 135 + <varlistentry> 136 + <term> 137 + <literal>shutdown</literal> 138 + </term> 139 + <listitem> 140 + <para> 141 + Shut down the machine, waiting for the VM to exit. 142 + </para> 143 + </listitem> 144 + </varlistentry> 145 + <varlistentry> 146 + <term> 147 + <literal>crash</literal> 148 + </term> 149 + <listitem> 150 + <para> 151 + Simulate a sudden power failure, by telling the VM to exit 152 + immediately. 153 + </para> 154 + </listitem> 155 + </varlistentry> 156 + <varlistentry> 157 + <term> 158 + <literal>block</literal> 159 + </term> 160 + <listitem> 161 + <para> 162 + Simulate unplugging the Ethernet cable that connects the 163 + machine to the other machines. 164 + </para> 165 + </listitem> 166 + </varlistentry> 167 + <varlistentry> 168 + <term> 169 + <literal>unblock</literal> 170 + </term> 171 + <listitem> 172 + <para> 173 + Undo the effect of <literal>block</literal>. 174 + </para> 175 + </listitem> 176 + </varlistentry> 177 + <varlistentry> 178 + <term> 179 + <literal>screenshot</literal> 180 + </term> 181 + <listitem> 182 + <para> 183 + Take a picture of the display of the virtual machine, in PNG 184 + format. The screenshot is linked from the HTML log. 185 + </para> 186 + </listitem> 187 + </varlistentry> 188 + <varlistentry> 189 + <term> 190 + <literal>get_screen_text_variants</literal> 191 + </term> 192 + <listitem> 193 + <para> 194 + Return a list of different interpretations of what is 195 + currently visible on the machine's screen using optical 196 + character recognition. The number and order of the 197 + interpretations is not specified and is subject to change, but 198 + if no exception is raised at least one will be returned. 199 + </para> 200 + <note> 201 + <para> 202 + This requires passing <literal>enableOCR</literal> to the 203 + test attribute set. 204 + </para> 205 + </note> 206 + </listitem> 207 + </varlistentry> 208 + <varlistentry> 209 + <term> 210 + <literal>get_screen_text</literal> 211 + </term> 212 + <listitem> 213 + <para> 214 + Return a textual representation of what is currently visible 215 + on the machine's screen using optical character recognition. 216 + </para> 217 + <note> 218 + <para> 219 + This requires passing <literal>enableOCR</literal> to the 220 + test attribute set. 221 + </para> 222 + </note> 223 + </listitem> 224 + </varlistentry> 225 + <varlistentry> 226 + <term> 227 + <literal>send_monitor_command</literal> 228 + </term> 229 + <listitem> 230 + <para> 231 + Send a command to the QEMU monitor. This is rarely used, but 232 + allows doing stuff such as attaching virtual USB disks to a 233 + running machine. 234 + </para> 235 + </listitem> 236 + </varlistentry> 237 + <varlistentry> 238 + <term> 239 + <literal>send_key</literal> 240 + </term> 241 + <listitem> 242 + <para> 243 + Simulate pressing keys on the virtual keyboard, e.g., 244 + <literal>send_key(&quot;ctrl-alt-delete&quot;)</literal>. 245 + </para> 246 + </listitem> 247 + </varlistentry> 248 + <varlistentry> 249 + <term> 250 + <literal>send_chars</literal> 251 + </term> 252 + <listitem> 253 + <para> 254 + Simulate typing a sequence of characters on the virtual 255 + keyboard, e.g., 256 + <literal>send_chars(&quot;foobar\n&quot;)</literal> will type 257 + the string <literal>foobar</literal> followed by the Enter 258 + key. 259 + </para> 260 + </listitem> 261 + </varlistentry> 262 + <varlistentry> 263 + <term> 264 + <literal>execute</literal> 265 + </term> 266 + <listitem> 267 + <para> 268 + Execute a shell command, returning a list 269 + <literal>(status, stdout)</literal>. 270 + </para> 271 + </listitem> 272 + </varlistentry> 273 + <varlistentry> 274 + <term> 275 + <literal>succeed</literal> 276 + </term> 277 + <listitem> 278 + <para> 279 + Execute a shell command, raising an exception if the exit 280 + status is not zero, otherwise returning the standard output. 281 + Commands are run with <literal>set -euo pipefail</literal> 282 + set: 283 + </para> 284 + <itemizedlist> 285 + <listitem> 286 + <para> 287 + If several commands are separated by <literal>;</literal> 288 + and one fails, the command as a whole will fail. 289 + </para> 290 + </listitem> 291 + <listitem> 292 + <para> 293 + For pipelines, the last non-zero exit status will be 294 + returned (if there is one, zero will be returned 295 + otherwise). 296 + </para> 297 + </listitem> 298 + <listitem> 299 + <para> 300 + Dereferencing unset variables fail the command. 301 + </para> 302 + </listitem> 303 + </itemizedlist> 304 + </listitem> 305 + </varlistentry> 306 + <varlistentry> 307 + <term> 308 + <literal>fail</literal> 309 + </term> 310 + <listitem> 311 + <para> 312 + Like <literal>succeed</literal>, but raising an exception if 313 + the command returns a zero status. 314 + </para> 315 + </listitem> 316 + </varlistentry> 317 + <varlistentry> 318 + <term> 319 + <literal>wait_until_succeeds</literal> 320 + </term> 321 + <listitem> 322 + <para> 323 + Repeat a shell command with 1-second intervals until it 324 + succeeds. 325 + </para> 326 + </listitem> 327 + </varlistentry> 328 + <varlistentry> 329 + <term> 330 + <literal>wait_until_fails</literal> 331 + </term> 332 + <listitem> 333 + <para> 334 + Repeat a shell command with 1-second intervals until it fails. 335 + </para> 336 + </listitem> 337 + </varlistentry> 338 + <varlistentry> 339 + <term> 340 + <literal>wait_for_unit</literal> 341 + </term> 342 + <listitem> 343 + <para> 344 + Wait until the specified systemd unit has reached the 345 + <quote>active</quote> state. 346 + </para> 347 + </listitem> 348 + </varlistentry> 349 + <varlistentry> 350 + <term> 351 + <literal>wait_for_file</literal> 352 + </term> 353 + <listitem> 354 + <para> 355 + Wait until the specified file exists. 356 + </para> 357 + </listitem> 358 + </varlistentry> 359 + <varlistentry> 360 + <term> 361 + <literal>wait_for_open_port</literal> 362 + </term> 363 + <listitem> 364 + <para> 365 + Wait until a process is listening on the given TCP port (on 366 + <literal>localhost</literal>, at least). 367 + </para> 368 + </listitem> 369 + </varlistentry> 370 + <varlistentry> 371 + <term> 372 + <literal>wait_for_closed_port</literal> 373 + </term> 374 + <listitem> 375 + <para> 376 + Wait until nobody is listening on the given TCP port. 377 + </para> 378 + </listitem> 379 + </varlistentry> 380 + <varlistentry> 381 + <term> 382 + <literal>wait_for_x</literal> 383 + </term> 384 + <listitem> 385 + <para> 386 + Wait until the X11 server is accepting connections. 387 + </para> 388 + </listitem> 389 + </varlistentry> 390 + <varlistentry> 391 + <term> 392 + <literal>wait_for_text</literal> 393 + </term> 394 + <listitem> 395 + <para> 396 + Wait until the supplied regular expressions matches the 397 + textual contents of the screen by using optical character 398 + recognition (see <literal>get_screen_text</literal> and 399 + <literal>get_screen_text_variants</literal>). 400 + </para> 401 + <note> 402 + <para> 403 + This requires passing <literal>enableOCR</literal> to the 404 + test attribute set. 405 + </para> 406 + </note> 407 + </listitem> 408 + </varlistentry> 409 + <varlistentry> 410 + <term> 411 + <literal>wait_for_console_text</literal> 412 + </term> 413 + <listitem> 414 + <para> 415 + Wait until the supplied regular expressions match a line of 416 + the serial console output. This method is useful when OCR is 417 + not possibile or accurate enough. 418 + </para> 419 + </listitem> 420 + </varlistentry> 421 + <varlistentry> 422 + <term> 423 + <literal>wait_for_window</literal> 424 + </term> 425 + <listitem> 426 + <para> 427 + Wait until an X11 window has appeared whose name matches the 428 + given regular expression, e.g., 429 + <literal>wait_for_window(&quot;Terminal&quot;)</literal>. 430 + </para> 431 + </listitem> 432 + </varlistentry> 433 + <varlistentry> 434 + <term> 435 + <literal>copy_from_host</literal> 436 + </term> 437 + <listitem> 438 + <para> 439 + Copies a file from host to machine, e.g., 440 + <literal>copy_from_host(&quot;myfile&quot;, &quot;/etc/my/important/file&quot;)</literal>. 441 + </para> 442 + <para> 443 + The first argument is the file on the host. The file needs to 444 + be accessible while building the nix derivation. The second 445 + argument is the location of the file on the machine. 446 + </para> 447 + </listitem> 448 + </varlistentry> 449 + <varlistentry> 450 + <term> 451 + <literal>systemctl</literal> 452 + </term> 453 + <listitem> 454 + <para> 455 + Runs <literal>systemctl</literal> commands with optional 456 + support for <literal>systemctl --user</literal> 457 + </para> 458 + <programlisting language="python"> 459 + machine.systemctl(&quot;list-jobs --no-pager&quot;) # runs `systemctl list-jobs --no-pager` 460 + machine.systemctl(&quot;list-jobs --no-pager&quot;, &quot;any-user&quot;) # spawns a shell for `any-user` and runs `systemctl --user list-jobs --no-pager` 461 + </programlisting> 462 + </listitem> 463 + </varlistentry> 464 + <varlistentry> 465 + <term> 466 + <literal>shell_interact</literal> 467 + </term> 468 + <listitem> 469 + <para> 470 + Allows you to directly interact with the guest shell. This 471 + should only be used during test development, not in production 472 + tests. Killing the interactive session with 473 + <literal>Ctrl-d</literal> or <literal>Ctrl-c</literal> also 474 + ends the guest session. 475 + </para> 476 + </listitem> 477 + </varlistentry> 478 + </variablelist> 479 + <para> 480 + To test user units declared by 481 + <literal>systemd.user.services</literal> the optional 482 + <literal>user</literal> argument can be used: 483 + </para> 484 + <programlisting language="python"> 485 + machine.start() 486 + machine.wait_for_x() 487 + machine.wait_for_unit(&quot;xautolock.service&quot;, &quot;x-session-user&quot;) 488 + </programlisting> 489 + <para> 490 + This applies to <literal>systemctl</literal>, 491 + <literal>get_unit_info</literal>, <literal>wait_for_unit</literal>, 492 + <literal>start_job</literal> and <literal>stop_job</literal>. 493 + </para> 494 + <para> 495 + For faster dev cycles it's also possible to disable the code-linters 496 + (this shouldn't be commited though): 497 + </para> 498 + <programlisting language="bash"> 499 + import ./make-test-python.nix { 500 + skipLint = true; 501 + machine = 502 + { config, pkgs, ... }: 503 + { configuration… 504 + }; 505 + 506 + testScript = 507 + '' 508 + Python code… 509 + ''; 510 + } 511 + </programlisting> 512 + <para> 513 + This will produce a Nix warning at evaluation time. To fully disable 514 + the linter, wrap the test script in comment directives to disable 515 + the Black linter directly (again, don't commit this within the 516 + Nixpkgs repository): 517 + </para> 518 + <programlisting language="bash"> 519 + testScript = 520 + '' 521 + # fmt: off 522 + Python code… 523 + # fmt: on 524 + ''; 525 + </programlisting> 526 + </section>
+12
nixos/modules/config/shells-environment.nix
··· 126 126 type = types.bool; 127 127 }; 128 128 129 + environment.localBinInPath = mkOption { 130 + description = '' 131 + Add ~/.local/bin/ to $PATH 132 + ''; 133 + default = false; 134 + type = types.bool; 135 + }; 136 + 129 137 environment.binsh = mkOption { 130 138 default = "${config.system.build.binsh}/bin/sh"; 131 139 defaultText = "\${config.system.build.binsh}/bin/sh"; ··· 197 205 ${optionalString cfg.homeBinInPath '' 198 206 # ~/bin if it exists overrides other bin directories. 199 207 export PATH="$HOME/bin:$PATH" 208 + ''} 209 + 210 + ${optionalString cfg.localBinInPath '' 211 + export PATH="$HOME/.local/bin:$PATH" 200 212 ''} 201 213 ''; 202 214
+46 -4
nixos/modules/services/misc/geoipupdate.nix
··· 99 99 LockFile = "/run/geoipupdate/.lock"; 100 100 }; 101 101 102 + systemd.services.geoipupdate-create-db-dir = { 103 + serviceConfig.Type = "oneshot"; 104 + script = '' 105 + mkdir -p ${cfg.settings.DatabaseDirectory} 106 + chmod 0755 ${cfg.settings.DatabaseDirectory} 107 + ''; 108 + }; 109 + 102 110 systemd.services.geoipupdate = { 103 111 description = "GeoIP Updater"; 104 - after = [ "network-online.target" "nss-lookup.target" ]; 112 + requires = [ "geoipupdate-create-db-dir.service" ]; 113 + after = [ 114 + "geoipupdate-create-db-dir.service" 115 + "network-online.target" 116 + "nss-lookup.target" 117 + ]; 105 118 wants = [ "network-online.target" ]; 106 119 startAt = cfg.interval; 107 120 serviceConfig = { ··· 119 132 }; 120 133 }; 121 134 122 - geoipupdateConf = pkgs.writeText "discourse.conf" (geoipupdateKeyValue cfg.settings); 135 + geoipupdateConf = pkgs.writeText "geoipupdate.conf" (geoipupdateKeyValue cfg.settings); 123 136 124 137 script = '' 125 - mkdir -p "${cfg.settings.DatabaseDirectory}" 126 - chmod 755 "${cfg.settings.DatabaseDirectory}" 127 138 chown geoip "${cfg.settings.DatabaseDirectory}" 128 139 129 140 cp ${geoipupdateConf} /run/geoipupdate/GeoIP.conf ··· 139 150 ReadWritePaths = cfg.settings.DatabaseDirectory; 140 151 RuntimeDirectory = "geoipupdate"; 141 152 RuntimeDirectoryMode = 0700; 153 + CapabilityBoundingSet = ""; 154 + PrivateDevices = true; 155 + PrivateMounts = true; 156 + PrivateUsers = true; 157 + ProtectClock = true; 158 + ProtectControlGroups = true; 159 + ProtectHome = true; 160 + ProtectHostname = true; 161 + ProtectKernelLogs = true; 162 + ProtectKernelModules = true; 163 + ProtectKernelTunables = true; 164 + ProtectProc = "invisible"; 165 + ProcSubset = "pid"; 166 + SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ]; 167 + RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; 168 + RestrictRealtime = true; 169 + RestrictNamespaces = true; 170 + MemoryDenyWriteExecute = true; 171 + LockPersonality = true; 172 + SystemCallArchitectures = "native"; 173 + }; 174 + }; 175 + 176 + systemd.timers.geoipupdate-initial-run = { 177 + wantedBy = [ "timers.target" ]; 178 + unitConfig.ConditionPathExists = "!${cfg.settings.DatabaseDirectory}"; 179 + timerConfig = { 180 + Unit = "geoipupdate.service"; 181 + OnActiveSec = 0; 142 182 }; 143 183 }; 144 184 }; 185 + 186 + meta.maintainers = [ lib.maintainers.talyz ]; 145 187 }
+2
pkgs/applications/misc/seatd/default.nix
··· 21 21 22 22 outputs = [ "bin" "out" "dev" "man" ]; 23 23 24 + depsBuildBuild = [ pkg-config ]; 25 + 24 26 nativeBuildInputs = [ meson ninja pkg-config scdoc ]; 25 27 26 28 buildInputs = [ systemd ];
+3 -3
pkgs/applications/science/logic/lean/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "lean"; 5 - version = "3.30.0"; 5 + version = "3.31.0"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "leanprover-community"; ··· 11 11 # from. this is then used to check whether an olean file should be 12 12 # rebuilt. don't use a tag as rev because this will get replaced into 13 13 # src/githash.h.in in preConfigure. 14 - rev = "a5822ea47ebc52eec6323d8f1b60f6ec025daf99"; 15 - sha256 = "sha256-gJhbkl19iilNyfCt2TfPmghYA3yCjg6kS+yk/x/k14Y="; 14 + rev = "333783350cd3fe38f25fed1da7d6a433d8f85b77"; 15 + sha256 = "sha256-N8Ju7pSGssvt84/0e1o6G/p7fWM1c0Mzw+ftL1/++J4="; 16 16 }; 17 17 18 18 nativeBuildInputs = [ cmake ];
+2 -2
pkgs/applications/terminal-emulators/foot/default.nix
··· 26 26 }: 27 27 28 28 let 29 - version = "1.8.0"; 29 + version = "1.8.1"; 30 30 31 31 # build stimuli file for PGO build and the script to generate it 32 32 # independently of the foot's build, so we can cache the result ··· 94 94 95 95 src = fetchzip { 96 96 url = "https://codeberg.org/dnkl/${pname}/archive/${version}.tar.gz"; 97 - sha256 = "07irlhkvziv51cp5zn1yz8ljfnrnfjcykv5pgfwmpslw3nl5szxv"; 97 + sha256 = "0yrz7n0wls8g8w7ja934icwxmng3sxh70x87qmzc9c9cb1wyd989"; 98 98 }; 99 99 100 100 nativeBuildInputs = [
+4 -4
pkgs/data/misc/hackage/pin.json
··· 1 1 { 2 - "commit": "8005ce7c7ba90fa92db65f86c544623353a96cf8", 3 - "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/8005ce7c7ba90fa92db65f86c544623353a96cf8.tar.gz", 4 - "sha256": "1kzhh7h0csb0vh9avbjsm6hziaa3lbpmzp4pkij4s3bbl4l664aa", 5 - "msg": "Update from Hackage at 2021-06-22T07:13:30Z" 2 + "commit": "1567e96c400fcd62dfc0d9412881591d6e1e9f22", 3 + "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/1567e96c400fcd62dfc0d9412881591d6e1e9f22.tar.gz", 4 + "sha256": "04z26ypfp3nip2x6gwrv5k1lmckmmi03ry3z97syc72qqj59n9hq", 5 + "msg": "Update from Hackage at 2021-06-26T12:56:56Z" 6 6 }
+8 -4
pkgs/development/haskell-modules/configuration-common.nix
··· 706 706 uuid-types = doJailbreak super.uuid-types; 707 707 uuid = doJailbreak super.uuid; 708 708 709 - # Bypass version check for random < 1.2 (1.2 works fine). 710 - # https://github.com/yeyan/xmonad-wallpaper/issues/2 711 - xmonad-wallpaper = doJailbreak super.xmonad-wallpaper; 712 - 713 709 # The tests spuriously fail 714 710 libmpd = dontCheck super.libmpd; 715 711 ··· 1935 1931 # To strict bound on hspec 1936 1932 # https://github.com/dagit/zenc/issues/5 1937 1933 zenc = doJailbreak super.zenc; 1934 + 1935 + # Indeterministic tests 1936 + # Fixed on upstream: https://github.com/softwarefactory-project/matrix-client-haskell/commit/4ca4963cfd06379d9bdce49742af854aed6a0d37 1937 + matrix-client = dontCheck super.matrix-client; 1938 + 1939 + # Flakey tests 1940 + # upstream https://github.com/circuithub/rel8/issues/86 1941 + rel8 = dontCheck super.rel8; 1938 1942 1939 1943 } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
+1
pkgs/development/haskell-modules/configuration-darwin.nix
··· 173 173 hls-brittany-plugin = dontCheck super.hls-brittany-plugin; 174 174 hls-fourmolu-plugin = dontCheck super.hls-fourmolu-plugin; 175 175 hls-module-name-plugin = dontCheck super.hls-module-name-plugin; 176 + hls-splice-plugin = dontCheck super.hls-splice-plugin; 176 177 177 178 # We are lacking pure pgrep at the moment for tests to work 178 179 tmp-postgres = dontCheck super.tmp-postgres;
+7 -1
pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
··· 617 617 - chunky 618 618 - church 619 619 - church-maybe 620 + - churros 620 621 - cielo 621 622 - cil 622 623 - cinvoke ··· 1640 1641 - gitter 1641 1642 - git-vogue 1642 1643 - gi-vips 1643 - - gi-wnck 1644 1644 - glade 1645 1645 - glapp 1646 1646 - Gleam ··· 2289 2289 - hs-rs-notify 2290 2290 - hs-scrape 2291 2291 - hsseccomp 2292 + - hssh 2292 2293 - hs-snowtify 2293 2294 - hs-speedscope 2294 2295 - hsSqlite3 ··· 2453 2454 - initialize 2454 2455 - inject-function 2455 2456 - inline-asm 2457 + - inline-r 2456 2458 - inserts 2457 2459 - instana-haskell-trace-sdk 2458 2460 - instance-map ··· 2963 2965 - mi 2964 2966 - miconix-test 2965 2967 - microbase 2968 + - microformats2-parser 2966 2969 - microgroove 2967 2970 - microlens-each 2968 2971 - micrologger ··· 3597 3600 - plat 3598 3601 - platinum-parsing 3599 3602 - PlayingCards 3603 + - plex 3600 3604 - plist 3601 3605 - plist-buddy 3602 3606 - plot-gtk ··· 3979 3983 - reversi 3980 3984 - ReviewBoard 3981 3985 - rewrite-inspector 3986 + - rfc 3982 3987 - rfc-prelude 3983 3988 - rhbzquery 3984 3989 - ribbit ··· 4869 4874 - turing-music 4870 4875 - turtle-options 4871 4876 - tweak 4877 + - twee 4872 4878 - twentefp-websockets 4873 4879 - twfy-api-client 4874 4880 - twhs
+2
pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
··· 218 218 - hlint 219 219 - hmatrix 220 220 - iCalendar 221 + - matrix-client 221 222 - neuron 222 223 - optics 223 224 - reflex-dom ··· 356 357 gi-ibus: [ x86_64-darwin ] 357 358 gi-ostree: [ x86_64-darwin ] 358 359 gi-vte: [ x86_64-darwin ] 360 + gi-wnck: [ x86_64-darwin ] 359 361 gnome-keyring: [ x86_64-darwin ] 360 362 gtk-mac-integration: [ i686-linux, x86_64-linux, aarch64-linux, armv7l-linux ] 361 363 gtk-sni-tray: [ x86_64-darwin ]
+562 -562
pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
··· 5 5 dont-distribute-packages: 6 6 7 7 - 4Blocks 8 - - a50 9 - - abcBridge 8 + - AC-Vector-Fancy 9 + - ADPfusionForest 10 + - ADPfusionSet 11 + - AERN-Net 12 + - AERN-Real 13 + - AERN-Real-Double 14 + - AERN-Real-Interval 15 + - AERN-RnToRm 16 + - AERN-RnToRm-Plot 17 + - ASN1 10 18 - AbortT-monadstf 11 19 - AbortT-mtl 20 + - Advgame 21 + - Advise-me 22 + - AlgoRhythm 23 + - AlignmentAlgorithms 24 + - AndroidViewHierarchyImporter 25 + - Annotations 26 + - ApplePush 27 + - AttoJson 28 + - AutoForms 29 + - AvlTree 30 + - BASIC 31 + - Barracuda 32 + - BerlekampAlgorithm 33 + - BioHMM 34 + - Biobase 35 + - BiobaseBlast 36 + - BiobaseDotP 37 + - BiobaseENA 38 + - BiobaseEnsembl 39 + - BiobaseFR3D 40 + - BiobaseFasta 41 + - BiobaseHTTP 42 + - BiobaseHTTPTools 43 + - BiobaseInfernal 44 + - BiobaseMAF 45 + - BiobaseTrainingData 46 + - BiobaseTurner 47 + - BiobaseTypes 48 + - BiobaseVienna 49 + - BiobaseXNA 50 + - BirdPP 51 + - Bitly 52 + - BlastHTTP 53 + - Blobs 54 + - BlogLiterately 55 + - BlogLiterately-diagrams 56 + - Bookshelf 57 + - CBOR 58 + - CC-delcont-alt 59 + - CMCompare 60 + - CPBrainfuck 61 + - CPL 62 + - CSPM-Interpreter 63 + - CSPM-ToProlog 64 + - CSPM-cspm 65 + - CarneadesIntoDung 66 + - Chart-fltkhs 67 + - ClustalParser 68 + - Coadjute 69 + - Combinatorrent 70 + - ComonadSheet 71 + - Condor 72 + - Configger 73 + - Control-Monad-MultiPass 74 + - CoreFoundation 75 + - DMuCheck 76 + - DOM 77 + - DP 78 + - DSH 79 + - DSTM 80 + - Dangerous 81 + - DarcsHelpers 82 + - DefendTheKing 83 + - DifferenceLogic 84 + - DisTract 85 + - DnaProteinAlignment 86 + - DocTest 87 + - DrHylo 88 + - Dust 89 + - Dust-tools 90 + - Dust-tools-pcap 91 + - DysFRP-Cairo 92 + - DysFRP-Craftwerk 93 + - EditTimeReport 94 + - EntrezHTTP 95 + - EsounD 96 + - EtaMOO 97 + - Etage-Graph 98 + - Eternal10Seconds 99 + - Etherbunny 100 + - EventSocket 101 + - FComp 102 + - FM-SBLEX 103 + - FTPLine 104 + - Facts 105 + - FailureT 106 + - FermatsLastMargin 107 + - FieldTrip 108 + - FilePather 109 + - Finance-Treasury 110 + - FiniteMap 111 + - FirstOrderTheory 112 + - Flippi 113 + - Forestry 114 + - FormalGrammars 115 + - Foster 116 + - Frames-beam 117 + - Frames-dsv 118 + - Frank 119 + - GLFW-OGL 120 + - GLFW-task 121 + - GPX 122 + - GPipe-Collada 123 + - GPipe-Examples 124 + - GPipe-GLFW 125 + - GPipe-GLFW4 126 + - GPipe-TextureLoad 127 + - Gamgine 128 + - GeBoP 129 + - GenI 130 + - GenSmsPdu 131 + - Genbank 132 + - Gene-CluEDO 133 + - GenussFold 134 + - GlomeView 135 + - GoogleDirections 136 + - GoogleSB 137 + - GoogleTranslate 138 + - GrammarProducts 139 + - GraphHammer 140 + - GraphHammer-examples 141 + - GrowlNotify 142 + - Gtk2hsGenerics 143 + - GtkGLTV 144 + - GuiHaskell 145 + - GuiTV 146 + - H 147 + - HAppS-Data 148 + - HAppS-IxSet 149 + - HAppS-Server 150 + - HAppS-State 151 + - HGamer3D-API 152 + - HGamer3D-CAudio-Binding 153 + - HGamer3D-OIS-Binding 154 + - HJScript 155 + - HLearn-algebra 156 + - HLearn-approximation 157 + - HLearn-classification 158 + - HLearn-datastructures 159 + - HLearn-distributions 160 + - HNM 161 + - HPlot 162 + - HPong 163 + - HROOT 164 + - HROOT-core 165 + - HROOT-graf 166 + - HROOT-hist 167 + - HROOT-io 168 + - HROOT-math 169 + - HROOT-tree 170 + - HRay 171 + - HSGEP 172 + - HSHHelpers 173 + - HSoundFile 174 + - HStringTemplateHelpers 175 + - HTab 176 + - HXMPP 177 + - HaMinitel 178 + - HaRe 179 + - HaTeX-meta 180 + - HaTeX-qq 181 + - HaVSA 182 + - Hach 183 + - HarmTrace 184 + - HasGP 185 + - Hashell 186 + - HaskRel 187 + - Hate 188 + - Hawk 189 + - Hayoo 190 + - Hedi 191 + - Hieroglyph 192 + - HiggsSet 193 + - Hipmunk-Utils 194 + - HipmunkPlayground 195 + - Hoed 196 + - Holumbus-Distribution 197 + - Holumbus-MapReduce 198 + - Holumbus-Searchengine 199 + - Holumbus-Storage 200 + - HongoDB 201 + - Hs2lib 202 + - HsParrot 203 + - HsWebots 204 + - Hsed 205 + - Hydrogen 206 + - INblobs 207 + - IORefCAS 208 + - IndexedList 209 + - InfixApplicative 210 + - JSON-Combinator 211 + - JSON-Combinator-Examples 212 + - JSONb 213 + - Javasf 214 + - JsContracts 215 + - JsonGrammar 216 + - JuPyTer-notebook 217 + - JunkDB-driver-gdbm 218 + - JunkDB-driver-hashtables 219 + - KiCS 220 + - KiCS-debugger 221 + - KiCS-prophecy 222 + - LDAPv3 223 + - LambdaDesigner 224 + - LambdaINet 225 + - LambdaPrettyQuote 226 + - LambdaShell 227 + - LinearSplit 228 + - LinkChecker 229 + - LogicGrowsOnTrees 230 + - LogicGrowsOnTrees-MPI 231 + - LogicGrowsOnTrees-network 232 + - LogicGrowsOnTrees-processes 233 + - LslPlus 234 + - Lucu 235 + - Lykah 236 + - MC-Fold-DP 237 + - MFlow 238 + - MIP-glpk 239 + - MSQueue 240 + - MaybeT-transformers 241 + - MetaObject 242 + - Metrics 243 + - Mhailist 244 + - Michelangelo 245 + - MicrosoftTranslator 246 + - MissingPy 247 + - MonadCatchIO-mtl 248 + - MonadCatchIO-mtl-foreign 249 + - MonadCatchIO-transformers-foreign 250 + - MonadLab 251 + - Monaris 252 + - Monatron-IO 253 + - Monocle 254 + - MuCheck-HUnit 255 + - MuCheck-Hspec 256 + - MuCheck-QuickCheck 257 + - MuCheck-SmallCheck 258 + - MutationOrder 259 + - NXT 260 + - NaperianNetCDF 261 + - NearContextAlgebra 262 + - Ninjas 263 + - NoSlow 264 + - Nomyx 265 + - Nomyx-Core 266 + - Nomyx-Language 267 + - Nomyx-Rules 268 + - Nomyx-Web 269 + - NonEmptyList 270 + - Nussinov78 271 + - OSM 272 + - OnRmt 273 + - OpenAFP-Utils 274 + - OpenGLCheck 275 + - OpenSCAD 276 + - OpenVG 277 + - PCLT-DB 278 + - PageIO 279 + - Paraiso 280 + - Parallel-Arrows-Eden 281 + - PermuteEffects 282 + - Plot-ho-matic 283 + - PlslTools 284 + - Printf-TH 285 + - ProbabilityMonads 286 + - Pugs 287 + - Pup-Events 288 + - Pup-Events-Demo 289 + - Quelea 290 + - RESTng 291 + - RMP 292 + - RNAFold 293 + - RNAFoldProgs 294 + - RNAdesign 295 + - RNAdraw 296 + - RNAlien 297 + - RNAwolf 298 + - Ranka 299 + - Rlang-QQ 300 + - RollingDirectory 301 + - S3 302 + - SBench 303 + - SCRIPTWriter 304 + - SCalendar 305 + - SFML-control 306 + - SFont 307 + - SGdemo 308 + - STLinkUSB 309 + - STM32-Zombie 310 + - SVG2Q 311 + - SciFlow 312 + - SciFlow-drmaa 313 + - Scurry 314 + - SelectSequencesFromMSA 315 + - Shellac-compatline 316 + - Shellac-editline 317 + - Shellac-haskeline 318 + - Shellac-readline 319 + - ShortestPathProblems 320 + - Shpadoinkle-backend-pardiff 321 + - Shpadoinkle-backend-static 322 + - Shpadoinkle-developer-tools 323 + - Shpadoinkle-disembodied 324 + - Shpadoinkle-examples 325 + - Shpadoinkle-html 326 + - Shpadoinkle-router 327 + - Shpadoinkle-template 328 + - Shpadoinkle-widgets 329 + - SimpleGL 330 + - SimpleLog 331 + - SimpleServer 332 + - Smooth 333 + - Snusmumrik 334 + - SoccerFun 335 + - SoccerFunGL 336 + - SourceGraph 337 + - SpinCounter 338 + - Spock-auth 339 + - Spock-lucid 340 + - Spock-worker 341 + - StockholmAlignment 342 + - Strafunski-Sdf2Haskell 343 + - SyntaxMacros 344 + - Taxonomy 345 + - TaxonomyTools 346 + - TeX-my-math 347 + - TeaHS 348 + - TreeCounter 349 + - Treiber 350 + - TrieMap 351 + - TypeClass 352 + - TypeIlluminator 353 + - UMM 354 + - URLT 355 + - UrlDisp 356 + - ViennaRNA-extras 357 + - WAVE 358 + - WEditorBrick 359 + - WEditorHyphen 360 + - WL500gPControl 361 + - WURFL 362 + - WXDiffCtrl 363 + - WashNGo 364 + - WaveFront 365 + - WebBits-Html 366 + - WebBits-multiplate 367 + - WebCont 368 + - WordAlignment 369 + - WxGeneric 370 + - XML 371 + - XMPP 372 + - XSaiga 373 + - YACPong 374 + - Yablog 375 + - Yogurt 376 + - Yogurt-Standalone 377 + - Z-Botan 378 + - Z-IO 379 + - Z-MessagePack 380 + - Z-YAML 381 + - a50 382 + - abcBridge 383 + - ac-machine-conduit 12 384 - accelerate-arithmetic 13 385 - accelerate-fourier 14 386 - accelerate-typelits 15 387 - access-token-provider 16 - - ac-machine-conduit 17 388 - acme-php 18 389 - acme-safe 19 390 - acousticbrainz-client 20 391 - activehs 21 392 - actor 22 - - AC-Vector-Fancy 23 393 - adhoc-network 24 394 - adict 25 - - ADPfusionForest 26 - - ADPfusionSet 27 395 - adp-multi-monadiccp 28 - - Advgame 29 - - Advise-me 30 396 - aern2-real 31 - - AERN-Net 32 - - AERN-Real 33 - - AERN-Real-Double 34 - - AERN-Real-Interval 35 - - AERN-RnToRm 36 - - AERN-RnToRm-Plot 37 397 - aeson-native 38 398 - afv 39 399 - agda-server ··· 46 406 - algebra-driven-design 47 407 - algebra-sql 48 408 - algolia 49 - - AlgoRhythm 50 - - AlignmentAlgorithms 51 409 - alms 52 410 - alpha 53 411 - alsa-gui ··· 58 416 - amqp-streamly 59 417 - analyze-client 60 418 - anatomy 61 - - AndroidViewHierarchyImporter 62 419 - animate-example 63 420 - animate-frames 64 421 - animate-preview 65 422 - animate-sdl2 66 423 - annah 67 - - Annotations 68 424 - anonymous-sums-tests 69 425 - antagonist 70 426 - anticiv 71 427 - antlrc 72 428 - apelsin 429 + - api-rpc-pegnet 430 + - api-yoti 73 431 - apiary 74 432 - apiary-authenticate 75 433 - apiary-clientsession ··· 85 443 - apiary-redis 86 444 - apiary-session 87 445 - apiary-websockets 88 - - api-rpc-pegnet 89 446 - apis 90 - - api-yoti 91 447 - apotiki 92 - - ApplePush 93 448 - approx-rand-test 94 449 - arbor-monad-metric-datadog 95 450 - arch-hs ··· 104 459 - arraylist 105 460 - ascii-table 106 461 - asic 107 - - ASN1 108 462 - assert4hs-hspec 109 463 - assert4hs-tasty 110 464 - assimp ··· 114 468 - atmos-dimensional-tf 115 469 - atomic-primops-foreign 116 470 - atp 117 - - AttoJson 118 471 - attoparsec-enumerator 119 472 - attoparsec-iteratee 120 473 - attoparsec-text-enumerator ··· 122 475 - audiovisual 123 476 - aura 124 477 - authoring 125 - - AutoForms 126 478 - autonix-deps-kf5 127 479 - avers 128 480 - avers-api 129 481 - avers-api-docs 130 482 - avers-server 131 - - AvlTree 132 483 - avro-piper 133 484 - awesomium 134 485 - awesomium-glut ··· 150 501 - azure-functions-worker 151 502 - azure-service-api 152 503 - azure-servicebus 504 + - b-tree 153 505 - babylon 154 506 - backblaze-b2-hs 155 507 - backdropper ··· 162 514 - bamboo-theme-mini-html5 163 515 - bamse 164 516 - bamstats 165 - - Barracuda 166 517 - base16-lens 167 518 - base32-bytestring 168 519 - base64-bytes 169 520 - baserock-schema 170 - - BASIC 171 521 - batchd 172 522 - battlenet-yesod 173 523 - battleships ··· 184 534 - beam-th 185 535 - beautifHOL 186 536 - bech32-th 537 + - bech32-th_1_1_1 187 538 - bein 188 539 - belka 189 - - BerlekampAlgorithm 190 540 - berp 191 541 - bff 192 542 - bglib ··· 197 547 - binary-file 198 548 - binary-protocol-zmq 199 549 - binary-streams 550 + - binding-wx 200 551 - bindings-apr-util 201 552 - bindings-linux-videodev2 202 553 - bindings-ppdev 203 - - binding-wx 204 554 - binembed-example 205 555 - bioace 206 556 - bioalign 207 - - Biobase 208 - - BiobaseBlast 209 - - BiobaseDotP 210 - - BiobaseENA 211 - - BiobaseEnsembl 212 - - BiobaseFasta 213 - - BiobaseFR3D 214 - - BiobaseHTTP 215 - - BiobaseHTTPTools 216 - - BiobaseInfernal 217 - - BiobaseMAF 218 - - BiobaseTrainingData 219 - - BiobaseTurner 220 - - BiobaseTypes 221 - - BiobaseVienna 222 - - BiobaseXNA 223 557 - biofasta 224 558 - biofastq 225 - - BioHMM 226 559 - bioinformatics-toolkit 227 560 - biophd 228 561 - biopsl ··· 231 564 - bip32 232 565 - birch-beer 233 566 - bird 234 - - BirdPP 235 567 - bit-array 236 568 - bitcoin-address 237 569 - bitcoin-api 238 570 - bitcoin-api-extra 239 571 - bitcoin-block 240 572 - bitcoin-compact-filters 241 - - bitcoind-regtest 242 - - bitcoind-rpc 243 573 - bitcoin-keys 244 574 - bitcoin-rpc 245 575 - bitcoin-scripting 246 576 - bitcoin-tx 247 577 - bitcoin-types 248 - - Bitly 578 + - bitcoind-regtest 579 + - bitcoind-rpc 249 580 - bitly-cli 250 581 - bitmaps 251 582 - bittorrent 252 583 - bla 253 584 - blakesum-demo 254 - - BlastHTTP 255 585 - blastxml 256 586 - blatex 257 587 - blaze-builder-enumerator ··· 259 589 - ble 260 590 - blink1 261 591 - blip 262 - - Blobs 263 592 - blogination 264 - - BlogLiterately 265 - - BlogLiterately-diagrams 266 593 - bloodhound-amazonka-auth 267 594 - bloxorz 268 595 - blubber ··· 273 600 - bond-haskell 274 601 - bond-haskell-compiler 275 602 - bookkeeper-permissions 276 - - Bookshelf 277 603 - boomslang 278 604 - boopadoop 279 605 - boots-cloud ··· 292 618 - bronyradiogermany-streaming 293 619 - brotli-conduit 294 620 - brotli-streams 295 - - b-tree 296 621 - btree 297 622 - buchhaltung 298 623 - buildbox-tools ··· 309 634 - bytelog 310 635 - bytestring-read 311 636 - c0check 312 - - cabal2arch 313 637 - cabal-bounds 314 638 - cabal-cache 315 639 - cabal-cargs 640 + - cabal-query 641 + - cabal-test 642 + - cabal2arch 316 643 - cabalmdvrpm 317 - - cabal-query 318 644 - cabalrpmdeps 319 - - cabal-test 320 645 - cake 321 646 - cakyrespa 322 647 - cal3d-examples ··· 332 657 - canteven-http 333 658 - cao 334 659 - cap 660 + - car-pool 335 661 - carboncopy 336 - - CarneadesIntoDung 337 - - car-pool 338 662 - cartel 339 663 - casadi-bindings 340 664 - casadi-bindings-control ··· 348 672 - casui 349 673 - categorical-algebra 350 674 - category-extras 351 - - CBOR 352 - - CC-delcont-alt 353 675 - cctools-workqueue 354 676 - cef3-simple 355 677 - ceilometer-common ··· 363 685 - cfopu 364 686 - cgrep 365 687 - chainweb-mining-client 366 - - chakra 367 688 - chalkboard-viewer 368 689 - charade 369 690 - chart-cli 370 - - Chart-fltkhs 371 691 - chart-svg 372 692 - chart-svg-various 373 693 - chart-unit ··· 423 743 - cloud-seeder 424 744 - cloudyfs 425 745 - clua 426 - - ClustalParser 427 746 - clustertools 428 747 - clutterhs 429 748 - cmathml3 430 - - CMCompare 431 749 - cmptype 432 750 - cmv 433 751 - cnc-spec-compiler 434 - - Coadjute 752 + - co-feldspar 753 + - co-log-polysemy-formatting 754 + - code-conjure 435 755 - codec 436 - - code-conjure 437 756 - codec-rpm 438 757 - codemonitor 439 - - co-feldspar 440 758 - cognimeta-utils 441 759 - coinbase-exchange 442 760 - colada 443 761 - collapse-duplication 444 762 - collection-json 445 763 - collections-base-instances 446 - - co-log-polysemy-formatting 447 764 - color-counter 448 765 - colorless-http-client 449 766 - colorless-scotty 450 767 - colour-space 451 768 - columbia 452 769 - comark 453 - - Combinatorrent 454 770 - comic 455 771 - commsec-keyexchange 456 772 - comonad-random 457 - - ComonadSheet 458 773 - compact-mutable 459 774 - complexity 460 775 - computational-algebra ··· 464 779 - concrete-haskell 465 780 - concrete-haskell-autogen 466 781 - condor 467 - - Condor 468 782 - conductive-hsc3 469 783 - conductive-song 470 784 - conduit-vfs-zip ··· 474 788 - conferer-source-dhall 475 789 - conferer-source-yaml 476 790 - conffmt 477 - - Configger 791 + - config-select 478 792 - configifier 479 - - config-select 480 793 - configurator-ng 481 794 - constraint-manip 482 795 - constructible ··· 488 801 - control 489 802 - control-monad-attempt 490 803 - control-monad-exception-monadsfd 491 - - Control-Monad-MultiPass 492 804 - conversions 493 805 - convert 494 806 - convertible-ascii ··· 500 812 - copilot-language 501 813 - copilot-libraries 502 814 - copilot-theorem 503 - - CoreFoundation 504 815 - coroutine-enumerator 505 816 - coroutine-iteratee 817 + - couch-simple 506 818 - couchdb-enumerator 507 - - couch-simple 508 - - CPBrainfuck 509 - - CPL 510 819 - cprng-aes-effect 511 820 - cql-io-tinylog 512 821 - cqrs-example ··· 526 835 - criu-rpc 527 836 - crockford 528 837 - cron-compat 529 - - cryptocipher 530 838 - crypto-conduit 839 + - cryptocipher 531 840 - cryptoids 532 841 - cryptoids-class 533 842 - cryptol 534 843 - crystalfontz 535 844 - csg 536 845 - cspmchecker 537 - - CSPM-cspm 538 - - CSPM-Interpreter 539 - - CSPM-ToProlog 540 846 - csv-enumerator 541 847 - ctpl 542 848 - cube ··· 544 850 - cursor-fuzzy-time-gen 545 851 - cv-combinators 546 852 - cypher 547 - - Dangerous 548 853 - dapi 549 854 - darcs-benchmark 550 855 - darcs-beta 856 + - darcs-fastconvert 551 857 - darcsden 552 - - darcs-fastconvert 553 - - DarcsHelpers 554 858 - darcswatch 555 859 - darkplaces-demo 556 860 - darkplaces-rcon-util ··· 558 862 - data-accessor-monads-fd 559 863 - data-basic 560 864 - data-cycle 561 - - datadog-tracing 562 865 - data-elf 563 - - dataflow 564 866 - data-layer 565 867 - data-lens-fd 566 868 - data-lens-ixset ··· 570 872 - data-result 571 873 - data-rtuple 572 874 - data-structure-inferrer 875 + - datadog-tracing 876 + - dataflow 573 877 - date-conversions 574 878 - dbjava 575 879 - dbus-client ··· 584 888 - ddc-core-simpl 585 889 - ddc-core-tetra 586 890 - ddc-driver 587 - - ddci-core 588 891 - ddc-interface 589 892 - ddc-source-tetra 590 893 - ddc-tools 591 894 - ddc-war 895 + - ddci-core 592 896 - debug 593 897 - debug-trace-var 594 898 - decidable ··· 597 901 - deeplearning-hs 598 902 - deepzoom 599 903 - defargs 600 - - DefendTheKing 601 904 - definitive-graphics 602 905 - deka-tests 603 906 - delaunay ··· 606 909 - delimiter-separated 607 910 - delta 608 911 - delta-h 912 + - dep-t-advice 609 913 - dependent-state 610 914 - dephd 611 - - dep-t-advice 612 915 - deptrack-devops 613 916 - deptrack-dot 614 917 - dequeue ··· 618 921 - dewdrop 619 922 - dfinity-radix-tree 620 923 - dhall-docs 924 + - di-polysemy 621 925 - dia-functions 622 926 - diagrams-haddock 623 927 - diagrams-html5 ··· 625 929 - diagrams-pgf 626 930 - diagrams-reflex 627 931 - diagrams-wx 628 - - DifferenceLogic 629 932 - difference-monoid 630 933 - digestive-functors-hsp 631 934 - dingo-core ··· 633 936 - dingo-widgets 634 937 - diplomacy 635 938 - diplomacy-server 636 - - di-polysemy 637 939 - dirfiles 638 940 - discogs-haskell 639 941 - discord-gateway 640 942 - discord-hs 641 943 - discord-register 642 944 - discord-rest 643 - - DisTract 644 945 - distributed-process-async 645 946 - distributed-process-azure 646 947 - distributed-process-client-server ··· 665 966 - dmenu-pkill 666 967 - dmenu-pmount 667 968 - dmenu-search 668 - - DMuCheck 669 - - DnaProteinAlignment 670 969 - doc-review 671 - - DocTest 672 970 - doi 673 - - DOM 674 971 - domain 675 972 - domain-core 676 973 - domain-optics 677 974 - dow 678 975 - download-media-content 679 - - DP 680 976 - dph-examples 681 977 - dph-lifted-base 682 978 - dph-lifted-copy ··· 684 980 - dph-prim-interface 685 981 - dph-prim-par 686 982 - dph-prim-seq 687 - - DrHylo 688 983 - dropbox-sdk 689 984 - dropsolve 690 - - DSH 691 985 - dsh-sql 692 986 - dsmc-tools 693 - - DSTM 694 987 - dtd 695 988 - dumb-cas 696 - - Dust 697 - - Dust-tools 698 - - Dust-tools-pcap 699 989 - dvda 700 990 - dynamic-cabal 701 991 - dynamic-pipeline 702 992 - dynamic-plot 703 993 - dynobud 704 - - DysFRP-Cairo 705 - - DysFRP-Craftwerk 706 994 - eccrypto-ed25519-bindings 707 995 - ecdsa 708 996 - edenskel ··· 710 998 - edge 711 999 - edges 712 1000 - editable 713 - - EditTimeReport 714 1001 - effective-aspects-mzv 715 1002 - egison 716 1003 - egison-pattern-src-haskell-mode ··· 729 1016 - embroidery 730 1017 - engine-io-growler 731 1018 - entangle 732 - - EntrezHTTP 733 1019 - enumerate 734 1020 - enumerate-function 735 1021 - enumerator-fd ··· 742 1028 - errors-ext 743 1029 - ersatz-toysat 744 1030 - esotericbot 745 - - EsounD 746 1031 - estreps 747 - - Etage-Graph 748 - - EtaMOO 749 - - Eternal10Seconds 750 1032 - eternity 751 1033 - eternity-timestamped 752 1034 - ether 753 - - Etherbunny 754 1035 - ethereum-analyzer 755 1036 - ethereum-analyzer-cli 756 1037 - ethereum-analyzer-webui 757 1038 - ethereum-client-haskell 758 1039 - ethereum-merkle-patricia-db 759 1040 - evdev-streamly 1041 + - event-monad 760 1042 - eventful-postgresql 761 1043 - eventful-sqlite 762 - - event-monad 763 - - EventSocket 764 1044 - eventsource-geteventstore-store 765 1045 - every-bit-counts 766 1046 - exception-monads-fd ··· 777 1057 - extensible-data 778 1058 - extract-dependencies 779 1059 - extrapolate 780 - - Facts 781 1060 - factual-api 782 - - FailureT 783 1061 - fakedata-quickcheck 1062 + - falling-turnip 784 1063 - fallingblocks 785 - - falling-turnip 786 1064 - family-tree 787 1065 - fast-digits 788 1066 - fastirc 789 1067 - fault-tree 790 1068 - fbrnch 791 1069 - fcd 792 - - FComp 793 1070 - feature-flipper-postgres 794 1071 - fedora-img-dl 795 - - feed2lj 796 - - feed2twitter 797 1072 - feed-gipeda 798 1073 - feed-translator 1074 + - feed2lj 1075 + - feed2twitter 799 1076 - fei-base 800 1077 - fei-cocoapi 801 1078 - fei-dataiter ··· 805 1082 - fei-nn 806 1083 - feldspar-compiler 807 1084 - feldspar-language 808 - - FermatsLastMargin 809 1085 - festung 810 1086 - ffmpeg-tutorials 811 1087 - ficketed 812 1088 - fields 813 - - FieldTrip 814 1089 - filepath-crypto 1090 + - filepath-io-access 815 1091 - filepather 816 - - FilePather 817 - - filepath-io-access 818 1092 - filesystem-enumerator 819 - - Finance-Treasury 820 1093 - find-clumpiness 821 1094 - findhttp 822 - - FiniteMap 823 1095 - firstify 824 - - FirstOrderTheory 1096 + - fix-parser-simple 825 1097 - fixed-point-vector 826 1098 - fixed-point-vector-space 827 1099 - fixhs 828 - - fix-parser-simple 829 1100 - flac-picture 830 1101 - flashblast 831 1102 - flatbuffers 832 1103 - flexiwrap 833 1104 - flexiwrap-smallcheck 834 - - Flippi 835 1105 - flite 836 1106 - flowdock-api 837 1107 - flower ··· 843 1113 - fltkhs-themes 844 1114 - fluent-logger 845 1115 - fluent-logger-conduit 846 - - FM-SBLEX 847 1116 - foldl-transduce-attoparsec 848 1117 - follower 849 1118 - foo 850 - - Forestry 851 1119 - formal 852 - - FormalGrammars 853 1120 - format 854 1121 - format-status 855 1122 - forml ··· 859 1126 - fortran-src-extras 860 1127 - foscam-directory 861 1128 - foscam-sort 862 - - Foster 863 1129 - fp-ieee 864 1130 - fplll 865 1131 - fpnla-examples 866 1132 - frame-markdown 867 - - Frames-beam 868 - - Frames-dsv 869 - - Frank 870 - - freekick2 871 - - freelude 872 - - freer-converse 873 1133 - free-theorems-counterexamples 874 1134 - free-theorems-seq 875 1135 - free-theorems-seq-webui 876 1136 - free-theorems-webui 1137 + - freekick2 1138 + - freelude 1139 + - freer-converse 877 1140 - frpnow-gloss 878 1141 - frpnow-gtk 879 1142 - frpnow-gtk3 880 1143 - frpnow-vty 881 1144 - ftdi 882 1145 - ftp-client-conduit 883 - - FTPLine 884 1146 - ftree 885 1147 - ftshell 886 1148 - funbot ··· 888 1150 - funcons-lambda-cbv-mp 889 1151 - funcons-simple 890 1152 - funcons-tools 891 - - functional-arrow 892 1153 - function-combine 1154 + - functional-arrow 893 1155 - functor-combo 894 1156 - funflow-nix 895 1157 - funion ··· 903 1165 - g2q 904 1166 - gact 905 1167 - galois-fft 906 - - Gamgine 907 1168 - gargoyle-postgresql-connect 908 1169 - gbu 909 1170 - gdax 910 1171 - gdiff-ig 911 - - GeBoP 912 1172 - gedcom 913 1173 - geek 914 1174 - geek-server ··· 917 1177 - gelatin-gl 918 1178 - gelatin-sdl2 919 1179 - gelatin-shaders 920 - - Genbank 921 - - Gene-CluEDO 922 1180 - generics-mrsop-gdiff 923 1181 - genesis 924 1182 - genesis-test 925 - - GenI 926 - - geniconvert 927 1183 - geni-gui 928 - - geniserver 929 1184 - geni-util 930 - - GenSmsPdu 931 - - GenussFold 1185 + - geniconvert 1186 + - geniserver 932 1187 - geodetic 933 1188 - geolite-csv 934 1189 - getemx ··· 938 1193 - ghc-debug-stub 939 1194 - ghc-imported-from 940 1195 - ghc-instances 941 - - ghci-pretty 942 - - ghcjs-hplay 943 1196 - ghc-mod 944 1197 - ghc-tags-plugin 945 1198 - ghc-vis 1199 + - ghci-pretty 1200 + - ghcjs-hplay 946 1201 - ght 947 1202 - gi-cairo-again 948 1203 - gi-gsk ··· 950 1205 - gi-gtk_4_0_4 951 1206 - git-fmt 952 1207 - git-gpush 1208 + - git-object 1209 + - git-remote-ipfs 953 1210 - github-webhook-handler-snap 954 1211 - gitlib-cross 955 1212 - gitlib-s3 956 - - git-object 957 - - git-remote-ipfs 958 1213 - givegif 959 1214 - gladexml-accessor 960 1215 - glazier ··· 962 1217 - glazier-react 963 1218 - glazier-react-examples 964 1219 - glazier-react-widget 965 - - GLFW-OGL 966 - - GLFW-task 967 1220 - global 968 1221 - global-config 969 1222 - glome-hs 970 - - GlomeView 971 1223 - gloss-accelerate 972 1224 - gloss-devil 973 1225 - gloss-examples ··· 983 1235 - goal-probability 984 1236 - goal-simulation 985 1237 - goat 986 - - GoogleDirections 987 1238 - google-drive 988 1239 - google-mail-filters 989 1240 - google-maps-geocoding 1241 + - google-static-maps 990 1242 - googleplus 991 - - GoogleSB 992 - - google-static-maps 993 - - GoogleTranslate 994 1243 - gore-and-ash-actor 995 1244 - gore-and-ash-async 996 1245 - gore-and-ash-demo ··· 1000 1249 - gore-and-ash-network 1001 1250 - gore-and-ash-sdl 1002 1251 - gore-and-ash-sync 1003 - - GPipe-Collada 1004 - - GPipe-Examples 1005 - - GPipe-GLFW 1006 - - GPipe-GLFW4 1007 - - GPipe-TextureLoad 1008 1252 - gps 1009 1253 - gps2htmlReport 1010 - - GPX 1011 1254 - grab-form 1012 1255 - graflog 1013 1256 - grammar-combinators 1014 - - GrammarProducts 1015 1257 - grapefruit-examples 1016 1258 - grapefruit-records 1017 1259 - grapefruit-ui 1018 1260 - grapefruit-ui-gtk 1019 - - GraphHammer 1020 - - GraphHammer-examples 1021 - - graphicsFormats 1022 - - graphicstools 1023 - - graphql-client 1024 1261 - graph-rewriting-cl 1025 1262 - graph-rewriting-gl 1026 1263 - graph-rewriting-lambdascope ··· 1029 1266 - graph-rewriting-strategies 1030 1267 - graph-rewriting-trs 1031 1268 - graph-rewriting-ww 1269 + - graph-visit 1270 + - graphicsFormats 1271 + - graphicstools 1272 + - graphql-client 1032 1273 - graphtype 1033 - - graph-visit 1034 1274 - greencard-lib 1275 + - grid-proto 1035 1276 - gridbounds 1036 1277 - gridland 1037 - - grid-proto 1038 - - GrowlNotify 1039 1278 - grpc-etcd-client 1040 1279 - grpc-haskell 1041 1280 - grpc-haskell-core ··· 1046 1285 - gsmenu 1047 1286 - gstorable 1048 1287 - gtfs 1288 + - gtk-serialized-event 1049 1289 - gtk2hs-cast-glade 1050 1290 - gtk2hs-cast-gnomevfs 1051 1291 - gtk2hs-cast-gtkglext 1052 1292 - gtk2hs-cast-gtksourceview2 1053 - - Gtk2hsGenerics 1054 - - GtkGLTV 1055 1293 - gtkimageview 1056 1294 - gtkrsync 1057 - - gtk-serialized-event 1058 1295 - guarded-rewriting 1059 1296 - guess-combinator 1060 - - GuiHaskell 1061 - - GuiTV 1297 + - hArduino 1298 + - hOff-display 1299 + - hPDB 1300 + - hPDB-examples 1062 1301 - habit 1063 1302 - hablo 1064 1303 - hablog 1065 - - Hach 1066 - - hack2-handler-happstack-server 1067 - - hack2-handler-mongrel2-http 1068 - - hack2-handler-snap-server 1069 - - hackage2twitter 1070 - - hackage-server 1071 1304 - hack-contrib 1072 1305 - hack-contrib-press 1073 1306 - hack-handler-epoll ··· 1075 1308 - hack-handler-fastcgi 1076 1309 - hack-handler-hyena 1077 1310 - hack-handler-simpleserver 1078 - - hackmanager 1079 1311 - hack-middleware-cleanpath 1080 1312 - hack-middleware-clientsession 1081 1313 - hack-middleware-jsonp 1314 + - hack2-handler-happstack-server 1315 + - hack2-handler-mongrel2-http 1316 + - hack2-handler-snap-server 1317 + - hackage-server 1318 + - hackage2twitter 1319 + - hackmanager 1082 1320 - haddock 1083 1321 - haddock_2_23_1 1084 1322 - haddocset ··· 1093 1331 - halma-gui 1094 1332 - halma-telegram-bot 1095 1333 - ham 1096 - - HaMinitel 1097 1334 - hamusic 1098 1335 - hans-pcap 1099 1336 - happlets-lib-gtk 1100 - - HAppS-Data 1101 1337 - happs-hsp 1102 1338 - happs-hsp-template 1103 - - HAppS-IxSet 1104 - - HAppS-Server 1105 - - HAppS-State 1339 + - happs-tutorial 1106 1340 - happstack-auth 1107 1341 - happstack-authenticate 1108 1342 - happstack-contrib ··· 1117 1351 - happstack-state 1118 1352 - happstack-static-routing 1119 1353 - happstack-yui 1120 - - happs-tutorial 1121 1354 - happybara-webkit 1122 1355 - haquil 1123 - - hArduino 1124 1356 - hardware-edsl 1125 - - HaRe 1126 1357 - harg 1127 1358 - hark 1128 1359 - harmony 1129 - - HarmTrace 1130 1360 - haroonga-httpd 1361 + - has-th 1131 1362 - hascat 1132 1363 - hascat-lib 1133 1364 - hascat-setup 1134 1365 - hascat-system 1135 - - HasGP 1136 - - Hashell 1137 1366 - hashflare 1367 + - hask-home 1138 1368 - haskarrow 1139 1369 - haskdeep 1140 1370 - haskeem 1141 1371 - haskell-abci 1142 1372 - haskell-aliyun 1143 1373 - haskell-bitmex-client 1144 - - haskelldb-connect-hdbc 1145 - - haskelldb-connect-hdbc-catchio-mtl 1146 - - haskelldb-connect-hdbc-catchio-tf 1147 - - haskelldb-connect-hdbc-catchio-transformers 1148 - - haskelldb-connect-hdbc-lifted 1149 - - haskelldb-dynamic 1150 - - haskelldb-flat 1151 - - haskelldb-hdbc 1152 - - haskelldb-hdbc-mysql 1153 - - haskelldb-hdbc-odbc 1154 - - haskelldb-hdbc-postgresql 1155 - - haskelldb-hdbc-sqlite3 1156 - - haskelldb-hsql 1157 - - haskelldb-hsql-mysql 1158 - - haskelldb-hsql-odbc 1159 - - haskelldb-hsql-postgresql 1160 - - haskelldb-hsql-sqlite3 1161 - - haskelldb-th 1162 1374 - haskell-docs 1163 1375 - haskell-eigen-util 1164 1376 - haskell-ftp ··· 1182 1394 - haskell-tools-refactor 1183 1395 - haskell-tools-rewrite 1184 1396 - haskell-tor 1397 + - haskelldb-connect-hdbc 1398 + - haskelldb-connect-hdbc-catchio-mtl 1399 + - haskelldb-connect-hdbc-catchio-tf 1400 + - haskelldb-connect-hdbc-catchio-transformers 1401 + - haskelldb-connect-hdbc-lifted 1402 + - haskelldb-dynamic 1403 + - haskelldb-flat 1404 + - haskelldb-hdbc 1405 + - haskelldb-hdbc-mysql 1406 + - haskelldb-hdbc-odbc 1407 + - haskelldb-hdbc-postgresql 1408 + - haskelldb-hdbc-sqlite3 1409 + - haskelldb-hsql 1410 + - haskelldb-hsql-mysql 1411 + - haskelldb-hsql-odbc 1412 + - haskelldb-hsql-postgresql 1413 + - haskelldb-hsql-sqlite3 1414 + - haskelldb-th 1185 1415 - haskelm 1186 1416 - haskey-mtl 1187 1417 - haskgame 1188 - - hask-home 1189 1418 - haskoin-bitcoind 1190 1419 - haskoin-core 1191 1420 - haskoin-crypto ··· 1201 1430 - haskore-realtime 1202 1431 - haskore-supercollider 1203 1432 - haskore-synthesizer 1204 - - HaskRel 1205 1433 - hasktorch 1206 1434 - hasktorch-ffi-thc 1207 1435 - hasktorch-indef ··· 1222 1450 - haste-lib 1223 1451 - haste-markup 1224 1452 - haste-perch 1225 - - has-th 1226 - - Hate 1227 - - HaTeX-meta 1228 1453 - hatexmpp3 1229 - - HaTeX-qq 1230 - - HaVSA 1231 1454 - hawitter 1232 - - Hawk 1233 1455 - haxy 1234 - - Hayoo 1235 1456 - hback 1236 1457 - hbayes 1237 1458 - hbb ··· 1252 1473 - hdph 1253 1474 - heart-app 1254 1475 - heatitup 1476 + - heavy-log-shortcuts 1255 1477 - heavy-logger 1256 1478 - heavy-logger-amazon 1257 1479 - heavy-logger-instances 1258 - - heavy-log-shortcuts 1259 1480 - hecc 1260 1481 - hedgehog-checkers-lens 1261 1482 - hedgehog-fakedata 1262 1483 - hedgehog-gen-json 1263 - - Hedi 1264 1484 - hedis-pile 1265 1485 - heist-aeson 1266 1486 - helics ··· 1287 1507 - hfd 1288 1508 - hfiar 1289 1509 - hgalib 1290 - - HGamer3D-API 1291 - - HGamer3D-CAudio-Binding 1292 - - HGamer3D-OIS-Binding 1293 1510 - hgen 1294 1511 - hgeometry-svg 1295 1512 - hgithub 1296 1513 - hiccup 1297 1514 - hierarchical-spectral-clustering 1298 - - Hieroglyph 1299 - - HiggsSet 1300 1515 - highjson-swagger 1301 1516 - highjson-th 1302 1517 - himpy ··· 1307 1522 - hinvaders 1308 1523 - hinze-streams 1309 1524 - hipbot 1310 - - HipmunkPlayground 1311 - - Hipmunk-Utils 1312 1525 - hipsql-client 1313 1526 - hipsql-server 1314 1527 - hirt ··· 1319 1532 - hist-pl-lmf 1320 1533 - hit 1321 1534 - hit-graph 1322 - - HJScript 1323 1535 - hjsonschema 1324 1536 - hjugement-cli 1325 1537 - hlcm 1326 - - HLearn-algebra 1327 - - HLearn-approximation 1328 - - HLearn-classification 1329 - - HLearn-datastructures 1330 - - HLearn-distributions 1331 1538 - hledger-api 1332 1539 - hlrdb 1333 1540 - hls ··· 1339 1546 - hmm-lapack 1340 1547 - hmt 1341 1548 - hmt-diagrams 1342 - - HNM 1343 1549 - hnormalise 1344 1550 - hob 1345 - - Hoed 1346 - - hOff-display 1347 1551 - hogre 1348 1552 - hogre-examples 1349 - - Holumbus-Distribution 1350 - - Holumbus-MapReduce 1351 - - Holumbus-Searchengine 1352 - - Holumbus-Storage 1353 1553 - holy-project 1354 1554 - hommage 1355 - - HongoDB 1356 1555 - hood 1357 1556 - hoodie 1358 1557 - hoodle ··· 1371 1570 - hpage 1372 1571 - hpaste 1373 1572 - hpc-tracer 1374 - - hPDB 1375 - - hPDB-examples 1376 1573 - hplayground 1377 - - HPlot 1378 - - HPong 1379 1574 - hpqtypes-extras 1380 1575 - hprotoc-fork 1381 1576 - hps ··· 1383 1578 - hpython 1384 1579 - hquantlib 1385 1580 - hranker 1386 - - HRay 1387 1581 - hreader 1388 1582 - hreader-lens 1389 1583 - hreq-client 1390 1584 - hreq-conduit 1391 - - HROOT 1392 - - HROOT-core 1393 - - HROOT-graf 1394 - - HROOT-hist 1395 - - HROOT-io 1396 - - HROOT-math 1397 - - HROOT-tree 1585 + - hs-blake2 1586 + - hs-brotli 1587 + - hs-ffmpeg 1588 + - hs-gen-iface 1589 + - hs-pkpass 1590 + - hs-swisstable-hashtables-class 1398 1591 - hs2dot 1399 - - Hs2lib 1400 1592 - hsautogui 1401 1593 - hsbackup 1402 1594 - hsbencher-codespeed 1403 1595 - hsbencher-fusion 1404 - - hs-blake2 1405 - - hs-brotli 1406 1596 - hsc3-auditor 1407 1597 - hsc3-cairo 1408 1598 - hsc3-data ··· 1422 1612 - hscassandra 1423 1613 - hscope 1424 1614 - hsdev 1425 - - Hsed 1426 1615 - hset 1427 1616 - hsfacter 1428 - - hs-ffmpeg 1429 - - hs-gen-iface 1430 - - HSGEP 1431 - - HSHHelpers 1432 1617 - hslogstash 1433 1618 - hsnock 1434 - - HSoundFile 1435 - - HsParrot 1436 1619 - hspec-expectations-pretty 1437 1620 - hspec-pg-transact 1438 1621 - hspec-setup 1439 1622 - hspec-shouldbe 1440 1623 - hspec-test-sandbox 1441 1624 - hspecVariant 1442 - - hs-pkpass 1443 1625 - hsprocess 1444 1626 - hsql-mysql 1445 1627 - hsql-odbc ··· 1450 1632 - hsqml-morris 1451 1633 - hsreadability 1452 1634 - hssqlppp-th 1453 - - hs-swisstable-hashtables-class 1454 1635 - hstar 1455 1636 - hstox 1456 1637 - hstradeking 1457 - - HStringTemplateHelpers 1458 1638 - hstzaar 1459 1639 - hsubconvert 1460 - - HsWebots 1461 1640 - hswip 1462 1641 - hsx-jmacro 1463 1642 - hsx-xhtml 1464 - - HTab 1465 1643 - hts 1466 - - http2-client-exe 1467 - - http2-client-grpc 1468 1644 - http-client-auth 1469 1645 - http-enumerator 1470 1646 - http-io-streams 1647 + - http2-client-exe 1648 + - http2-client-grpc 1471 1649 - https-everywhere-rules 1472 1650 - https-everywhere-rules-raw 1473 1651 - httpspec ··· 1488 1666 - hw-json-simple-cursor 1489 1667 - hw-json-standard-cursor 1490 1668 - hw-kafka-avro 1669 + - hw-simd-cli 1670 + - hw-uri 1491 1671 - hworker-ses 1492 1672 - hwormhole 1493 1673 - hws 1494 - - hw-simd-cli 1495 1674 - hwsl2-bytevector 1496 1675 - hwsl2-reducers 1497 - - hw-uri 1498 - - HXMPP 1499 1676 - hxmppc 1500 1677 - hxournal 1501 1678 - hxt-binary ··· 1503 1680 - hxthelper 1504 1681 - hxweb 1505 1682 - hybrid 1506 - - Hydrogen 1507 1683 - hydrogen-cli 1508 1684 - hydrogen-cli-args 1509 1685 - hydrogen-data ··· 1517 1693 - hyloutils 1518 1694 - hyperpublic 1519 1695 - ice40-prim 1696 + - ide-backend 1697 + - ide-backend-common 1698 + - ide-backend-server 1520 1699 - ideas-math 1521 1700 - ideas-math-types 1522 1701 - ideas-statistics 1523 - - ide-backend 1524 - - ide-backend-common 1525 - - ide-backend-server 1526 1702 - ige-mac-integration 1703 + - ihaskell-inline-r 1527 1704 - ihaskell-rlangqq 1528 1705 - ihttp 1529 1706 - imap ··· 1539 1716 - importify 1540 1717 - imprevu-happstack 1541 1718 - improve 1542 - - INblobs 1543 1719 - inch 1544 1720 - incremental-computing 1545 1721 - incremental-maps ··· 1548 1724 - indentation-parsec 1549 1725 - indentation-trifecta 1550 1726 - indexation 1551 - - IndexedList 1552 1727 - indieweb-algorithms 1553 1728 - infernu 1554 - - InfixApplicative 1555 1729 - inline-java 1556 1730 - inspector-wrecker 1557 1731 - instant-aeson ··· 1566 1740 - intset 1567 1741 - invertible-hlist 1568 1742 - ion 1569 - - IORefCAS 1570 1743 - ipatch 1571 1744 - ipc 1572 1745 - ipld-cid ··· 1581 1754 - ismtp 1582 1755 - isobmff-builder 1583 1756 - isohunt 1757 + - iter-stats 1584 1758 - iteratee-compress 1585 1759 - iteratee-mtl 1586 1760 - iteratee-parsec 1587 1761 - iteratee-stm 1588 1762 - iterio-server 1589 - - iter-stats 1590 1763 - ivor 1591 1764 - ivory-avr-atmega328p-registers 1592 1765 - ivory-backend-c ··· 1604 1777 - jail 1605 1778 - java-bridge-extras 1606 1779 - java-character 1607 - - javaclass 1608 1780 - java-reflect 1781 + - javaclass 1609 1782 - javasf 1610 - - Javasf 1611 1783 - jmacro 1612 1784 - jmacro-rpc 1613 1785 - jmacro-rpc-happstack ··· 1616 1788 - jobs-ui 1617 1789 - join 1618 1790 - jot 1619 - - JsContracts 1620 1791 - jsmw 1621 - - json2-hdbc 1622 1792 - json-ast-json-encoder 1623 1793 - json-autotype 1624 1794 - json-b 1625 - - JSONb 1626 - - JSON-Combinator 1627 - - JSON-Combinator-Examples 1628 1795 - json-enumerator 1629 - - JsonGrammar 1630 1796 - json-incremental-decoder 1631 1797 - json-query 1632 - - jsons-to-schema 1633 1798 - json-togo 1634 1799 - json-tokens 1800 + - json2-hdbc 1801 + - jsons-to-schema 1635 1802 - jspath 1636 - - JunkDB-driver-gdbm 1637 - - JunkDB-driver-hashtables 1638 - - JuPyTer-notebook 1639 1803 - jvm 1640 1804 - jvm-batching 1641 1805 - jvm-streaming ··· 1662 1826 - keera-hails-reactive-fs 1663 1827 - keera-hails-reactive-gtk 1664 1828 - keera-hails-reactive-htmldom 1665 - - keera-hails-reactivelenses 1666 1829 - keera-hails-reactive-network 1667 1830 - keera-hails-reactive-polling 1668 1831 - keera-hails-reactive-wx 1669 1832 - keera-hails-reactive-yampa 1833 + - keera-hails-reactivelenses 1670 1834 - keera-posture 1671 1835 - kevin 1672 1836 - keysafe 1673 1837 - keyvaluehash 1674 1838 - keyword-args 1675 1839 - kicad-data 1676 - - KiCS 1677 - - KiCS-debugger 1678 - - KiCS-prophecy 1679 1840 - kif-parser 1680 1841 - kit 1681 1842 - kleene ··· 1694 1855 - labyrinth 1695 1856 - labyrinth-server 1696 1857 - laika 1697 - - lambdabot-zulip 1698 1858 - lambda-calculator 1859 + - lambda-devs 1860 + - lambda-options 1861 + - lambdaFeed 1862 + - lambdaLit 1863 + - lambdabot-zulip 1699 1864 - lambdacms-media 1700 1865 - lambdacube 1701 1866 - lambdacube-bullet ··· 1706 1871 - lambdacube-examples 1707 1872 - lambdacube-gl 1708 1873 - lambdacube-samples 1709 - - LambdaDesigner 1710 - - lambda-devs 1711 - - lambdaFeed 1712 - - LambdaINet 1713 - - lambdaLit 1714 - - lambda-options 1715 - - LambdaPrettyQuote 1716 - - LambdaShell 1717 1874 - lambdaya-bus 1718 1875 - lambdiff 1719 1876 - lang 1877 + - language-Modula2 1720 1878 - language-boogie 1721 1879 - language-eiffel 1722 1880 - language-kort 1723 - - language-Modula2 1724 1881 - language-ninja 1725 1882 - language-oberon 1726 1883 - language-python-colour ··· 1740 1897 - lazy-hash 1741 1898 - lazy-hash-cache 1742 1899 - ldapply 1743 - - LDAPv3 1744 1900 - leaky 1745 1901 - lean 1746 1902 - legion ··· 1776 1932 - linear-circuit 1777 1933 - linearmap-category 1778 1934 - linearscan-hoopl 1779 - - LinearSplit 1780 - - LinkChecker 1781 1935 - linkchk 1782 1936 - linkcore 1783 1937 - linux-ptrace ··· 1787 1941 - liquid-bytestring 1788 1942 - liquid-containers 1789 1943 - liquid-ghc-prim 1790 - - liquidhaskell-cabal-demo 1791 1944 - liquid-parallel 1792 1945 - liquid-platform 1793 1946 - liquid-prelude 1794 1947 - liquid-vector 1795 - - listenbrainz-client 1948 + - liquidhaskell-cabal-demo 1796 1949 - list-t-attoparsec 1797 1950 - list-t-html-parser 1798 1951 - list-witnesses 1952 + - listenbrainz-client 1799 1953 - live-sequencer 1800 1954 - llvm 1801 1955 - llvm-analysis ··· 1811 1965 - llvm-tf 1812 1966 - llvm-tools 1813 1967 - lmonad-yesod 1814 - - localize 1815 1968 - local-search 1969 + - localize 1816 1970 - locked-poll 1817 1971 - log 1818 - - logging-effect-extra 1819 - - logic-classes 1820 - - LogicGrowsOnTrees 1821 - - LogicGrowsOnTrees-MPI 1822 - - LogicGrowsOnTrees-network 1823 - - LogicGrowsOnTrees-processes 1824 1972 - log-postgres 1825 1973 - log-utils 1974 + - logging-effect-extra 1975 + - logic-classes 1826 1976 - lojban 1827 1977 - lojysamban 1828 1978 - lol-apps 1829 1979 - lol-benches 1830 1980 - lol-cpp 1831 - - loli 1832 1981 - lol-repa 1833 1982 - lol-tests 1834 1983 - lol-typing 1984 + - loli 1835 1985 - longshot 1836 1986 - loop-effin 1837 1987 - lorentz 1838 1988 - lostcities 1839 1989 - loup 1840 - - LslPlus 1841 1990 - ls-usb 1842 1991 - lsystem 1843 1992 - lti13 1844 1993 - luachunk 1845 1994 - lucid-colonnade 1846 1995 - lucienne 1847 - - Lucu 1848 1996 - luhn 1849 1997 - lui 1850 1998 - luminance-samples 1851 1999 - lvish 1852 - - Lykah 1853 2000 - lz4-conduit 1854 2001 - lzma-enumerator 2002 + - mDNSResponder-client 1855 2003 - macbeth-lib 1856 2004 - machines-amazonka 1857 2005 - macosx-make-standalone 2006 + - magic-wormhole 1858 2007 - magicbane 1859 2008 - magico 1860 - - magic-wormhole 1861 2009 - mahoro 1862 2010 - maid 1863 - - mailgun 1864 2011 - mail-pool 2012 + - mailgun 1865 2013 - majordomo 1866 2014 - majority 1867 2015 - manatee ··· 1881 2029 - manifold-random 1882 2030 - manifolds 1883 2031 - marionetta 1884 - - markdown2svg 1885 2032 - markdown-pap 2033 + - markdown2svg 1886 2034 - markov-processes 1887 2035 - marmalade-upload 1888 2036 - marquise 1889 2037 - marvin 1890 2038 - masakazu-bot 1891 2039 - matchers 2040 + - math-programming-glpk 2041 + - math-programming-tests 1892 2042 - mathblog 1893 2043 - mathlink 1894 - - math-programming-glpk 1895 - - math-programming-tests 1896 2044 - matsuri 1897 2045 - maxent 1898 2046 - maxent-learner-hw-gui 1899 2047 - maxsharing 1900 - - MaybeT-transformers 1901 - - MC-Fold-DP 1902 2048 - mcmc 1903 2049 - mcmc-samplers 1904 - - mDNSResponder-client 1905 2050 - mealy 1906 2051 - mediabus-fdk-aac 1907 2052 - mediabus-rtp ··· 1911 2056 - mergeful-persistent 1912 2057 - mergeless-persistent 1913 2058 - merkle-patricia-db 1914 - - MetaObject 1915 2059 - meta-par-accelerate 1916 2060 - metaplug 1917 2061 - metar 1918 2062 - metar-http 1919 - - Metrics 1920 2063 - metronome 1921 - - MFlow 1922 - - Mhailist 1923 - - Michelangelo 1924 - - microformats2-parser 2064 + - micro-gateway 1925 2065 - microformats2-types 1926 - - micro-gateway 1927 - - MicrosoftTranslator 1928 2066 - midimory 1929 2067 - mighttpd 1930 2068 - minecraft-data ··· 1934 2072 - minilight-lua 1935 2073 - minimung 1936 2074 - minioperational 1937 - - MIP-glpk 1938 2075 - miss 1939 - - MissingPy 2076 + - miss-porcelain 1940 2077 - missing-py2 1941 - - miss-porcelain 1942 2078 - mixed-strategies 1943 2079 - mkbndl 1944 2080 - mkcabal ··· 1949 2085 - moan 1950 2086 - modify-fasta 1951 2087 - modsplit 1952 - - modularity 1953 2088 - modular-prelude-classy 2089 + - modularity 1954 2090 - modulo 1955 2091 - mole 1956 - - MonadCatchIO-mtl 1957 - - MonadCatchIO-mtl-foreign 1958 - - MonadCatchIO-transformers-foreign 1959 2092 - monad-exception 1960 - - monadiccp-gecode 1961 - - MonadLab 1962 2093 - monad-state 1963 2094 - monad-stlike-stm 2095 + - monadiccp-gecode 1964 2096 - monarch 1965 - - Monaris 1966 - - Monatron-IO 1967 2097 - monetdb-mapi 1968 2098 - mongrel2-handler 1969 2099 - monky 1970 - - Monocle 1971 2100 - monte-carlo 1972 2101 - moo 1973 2102 - moo-nad ··· 1987 2116 - msgpack-idl 1988 2117 - msgpack-rpc 1989 2118 - msgpack-rpc-conduit 1990 - - MSQueue 1991 2119 - mtgoxapi 1992 - - MuCheck-Hspec 1993 - - MuCheck-HUnit 1994 - - MuCheck-QuickCheck 1995 - - MuCheck-SmallCheck 1996 2120 - mu-grpc-client 1997 2121 - mu-grpc-server 1998 - - multibase 2122 + - mu-tracing 1999 2123 - multi-cabal 2124 + - multibase 2000 2125 - multifocal 2001 2126 - multihash-serialise 2002 2127 - multilinear-io ··· 2006 2131 - multisetrewrite 2007 2132 - murder 2008 2133 - murmurhash3 2009 - - musicbrainz-email 2010 2134 - music-graphics 2011 2135 - music-parts 2012 2136 - music-pitch ··· 2014 2138 - music-score 2015 2139 - music-sibelius 2016 2140 - music-suite 2141 + - musicbrainz-email 2017 2142 - musicxml2 2018 2143 - mutable-iter 2019 - - MutationOrder 2020 2144 - mute-unmute 2021 - - mu-tracing 2022 - - mvclient 2023 2145 - mvc-updates 2146 + - mvclient 2024 2147 - mxnet-dataiter 2025 2148 - mxnet-examples 2026 2149 - mxnet-nn 2150 + - myTestlll 2027 2151 - mysnapsession-example 2028 2152 - mysql-haskell-openssl 2029 2153 - mysql-simple-typed 2030 - - myTestlll 2031 2154 - mywatch 2032 2155 - n2o-web 2033 2156 - nakadi-client 2034 2157 - nanovg-simple 2035 - - NaperianNetCDF 2036 2158 - nats-queue 2037 2159 - natural-number 2038 - - NearContextAlgebra 2039 2160 - nemesis-titan 2040 2161 - nerf 2041 2162 - nero-wai 2042 2163 - nero-warp 2043 2164 - nested-routes 2044 - - netcore 2045 - - netlines 2046 2165 - net-spider-cli 2047 2166 - net-spider-pangraph 2048 2167 - net-spider-rpl 2049 2168 - net-spider-rpl-cli 2169 + - netcore 2170 + - netlines 2050 2171 - netstring-enumerator 2051 2172 - nettle-frp 2052 2173 - nettle-netkit ··· 2071 2192 - ngrams-loader 2072 2193 - ngx-export-tools-extra 2073 2194 - nikepub 2074 - - Ninjas 2075 2195 - nirum 2076 2196 - nlp-scores-scripts 2077 - - Nomyx 2078 2197 - nomyx-api 2079 2198 - nomyx-core 2080 - - Nomyx-Core 2081 2199 - nomyx-language 2082 - - Nomyx-Language 2083 2200 - nomyx-library 2084 - - Nomyx-Rules 2085 2201 - nomyx-server 2086 - - Nomyx-Web 2087 - - NonEmptyList 2088 - - NoSlow 2089 2202 - notmuch-haskell 2090 2203 - notmuch-web 2091 - - numerical 2092 2204 - numeric-ode 2205 + - numerical 2093 2206 - numhask-hedgehog 2094 2207 - numhask-histogram 2095 2208 - numhask-range 2096 2209 - numhask-test 2097 - - Nussinov78 2098 - - NXT 2099 2210 - nymphaea 2100 2211 - obd 2101 2212 - obdd ··· 2115 2226 - one-liner_2_0 2116 2227 - online 2117 2228 - online-csv 2118 - - OnRmt 2119 2229 - open-adt-tutorial 2120 - - OpenAFP-Utils 2121 - - OpenGLCheck 2230 + - open-union 2122 2231 - openpgp-crypto-api 2123 - - OpenSCAD 2124 2232 - openssh-github-keys 2125 2233 - opentracing-jaeger 2126 2234 - opentracing-zipkin-v1 2127 - - open-union 2128 - - OpenVG 2129 2235 - optima-for-hasql 2130 2236 - optimal-blocks 2131 2237 - optimusprime ··· 2133 2239 - orchid-demo 2134 2240 - order-maintenance 2135 2241 - org-mode-lucid 2136 - - OSM 2137 2242 - osm-download 2138 2243 - otp-authenticator 2139 2244 - padKONTROL 2140 - - PageIO 2141 2245 - pairing 2142 2246 - panda 2143 2247 - pandoc-japanese-filters ··· 2148 2252 - papa-implement 2149 2253 - papa-semigroupoids 2150 2254 - paprika 2151 - - Paraiso 2152 - - Parallel-Arrows-Eden 2153 2255 - parco-attoparsec 2154 - - parconc-examples 2155 2256 - parco-parsec 2257 + - parconc-examples 2156 2258 - parquet-hs 2157 2259 - parse-help 2158 2260 - parsestar ··· 2165 2267 - pcapng 2166 2268 - pcf 2167 2269 - pcf-font-embed 2168 - - PCLT-DB 2169 2270 - pdf-slave 2170 2271 - peakachu 2171 2272 - pec ··· 2182 2283 - periodic-client-exe 2183 2284 - periodic-server 2184 2285 - perm 2185 - - PermuteEffects 2186 2286 - persistent-audit 2187 2287 - persistent-hssqlppp 2188 2288 - persistent-map ··· 2217 2317 - planet-mitchell 2218 2318 - plocketed 2219 2319 - ploterific 2220 - - Plot-ho-matic 2221 - - PlslTools 2222 2320 - png-file 2223 2321 - pngload 2224 2322 - pocket-dns 2323 + - point-octree 2225 2324 - pointless-lenses 2226 2325 - pointless-rewrite 2227 - - point-octree 2228 2326 - poke 2229 2327 - polh-lexicon 2230 2328 - polydata 2329 + - polysemy-RandomFu 2231 2330 - polysemy-chronos 2232 2331 - polysemy-conc 2233 2332 - polysemy-extra ··· 2244 2343 - polysemy-optics 2245 2344 - polysemy-path 2246 2345 - polysemy-plugin 2247 - - polysemy-RandomFu 2346 + - polysemy-readline 2248 2347 - polysemy-resume 2249 2348 - polysemy-test 2250 2349 - polysemy-time ··· 2277 2376 - powerqueue-sqs 2278 2377 - pqueue-mtl 2279 2378 - practice-room 2280 - - prednote-test 2281 2379 - pred-set 2282 2380 - pred-trie 2381 + - prednote-test 2283 2382 - presto-hdbc 2284 2383 - preview 2285 2384 - primula-board 2286 2385 - primula-bot 2287 - - Printf-TH 2288 - - ProbabilityMonads 2289 2386 - proc 2290 2387 - process-iterio 2291 2388 - process-progress ··· 2303 2400 - proplang 2304 2401 - prosidyc 2305 2402 - proteome 2403 + - proto-lens-descriptors 2306 2404 - proto3-suite 2307 2405 - protobuf-native 2308 2406 - protocol-buffers-descriptor-fork 2309 - - proto-lens-descriptors 2310 2407 - proton 2311 2408 - psc-ide 2312 2409 - puffytools 2313 - - Pugs 2314 2410 - pugs-compat 2315 2411 - pugs-hsregex 2316 2412 - punkt 2317 - - Pup-Events 2318 - - Pup-Events-Demo 2319 2413 - puppetresources 2320 2414 - pure-cdb 2321 2415 - pure-priority-queue-tests ··· 2332 2426 - qhs 2333 2427 - qr-repa 2334 2428 - quantum-random 2335 - - Quelea 2336 2429 - queryparser 2337 2430 - queryparser-demo 2338 2431 - queryparser-hive ··· 2376 2469 - random-effin 2377 2470 - random-hypergeometric 2378 2471 - range-space 2379 - - Ranka 2380 2472 - rasa 2381 2473 - rasa-example-config 2382 2474 - rasa-ext-bufs ··· 2409 2501 - record-aeson 2410 2502 - record-gl 2411 2503 - record-preprocessor 2412 - - records-th 2413 2504 - record-syntax 2414 - - reddit 2505 + - records-th 2415 2506 - redHandlers 2507 + - reddit 2416 2508 - reduce-equations 2417 2509 - refh 2418 2510 - reflex-animation ··· 2428 2520 - regex-genex 2429 2521 - regex-pcre-text 2430 2522 - regex-pderiv 2431 - - regexp-tries 2432 2523 - regex-xmlschema 2524 + - regexp-tries 2433 2525 - regional-pointers 2434 2526 - regions-monadsfd 2435 2527 - regions-monadstf ··· 2462 2554 - rest-client 2463 2555 - rest-core 2464 2556 - rest-example 2465 - - restful-snap 2466 2557 - rest-gen 2467 2558 - rest-happstack 2468 - - RESTng 2469 - - restricted-workers 2470 2559 - rest-snap 2471 2560 - rest-stringmap 2472 2561 - rest-types 2473 2562 - rest-wai 2563 + - restful-snap 2564 + - restricted-workers 2474 2565 - rethinkdb-model 2475 2566 - rewrite 2476 2567 - rewriting 2477 2568 - rezoom 2478 - - rfc 2479 2569 - rfc-env 2480 2570 - rfc-http-client 2481 2571 - rfc-psql ··· 2491 2581 - ripple 2492 2582 - risc-v 2493 2583 - rivet 2494 - - Rlang-QQ 2495 2584 - rlwe-challenges 2496 2585 - rmonad 2497 - - RMP 2498 - - RNAdesign 2499 - - RNAdraw 2500 - - RNAFold 2501 - - RNAFoldProgs 2502 - - RNAlien 2503 - - RNAwolf 2504 2586 - rncryptor 2505 2587 - rob 2506 2588 - robot ··· 2512 2594 - rollbar-cli 2513 2595 - rollbar-wai 2514 2596 - rollbar-yesod 2515 - - RollingDirectory 2516 2597 - ron-schema 2517 2598 - ron-storage 2518 2599 - rose-trie ··· 2531 2612 - ruler 2532 2613 - ruler-core 2533 2614 - runtime-arbitrary 2534 - - S3 2615 + - s-expression 2535 2616 - safer-file-handles 2536 2617 - safer-file-handles-bytestring 2537 2618 - safer-file-handles-text ··· 2549 2630 - samtools-iteratee 2550 2631 - sarsi 2551 2632 - sasl 2633 + - sat-micro-hs 2552 2634 - satchmo-backends 2553 2635 - satchmo-examples 2554 2636 - satchmo-funsat 2555 2637 - satchmo-minisat 2556 2638 - satchmo-toysat 2557 - - sat-micro-hs 2558 - - SBench 2559 - - sc2hs 2560 2639 - sc2-lowlevel 2561 2640 - sc2-support 2641 + - sc2hs 2562 2642 - sc3-rdu 2563 2643 - scalable-server 2564 - - SCalendar 2644 + - scalp-webhooks 2565 2645 - scalpel-search 2566 - - scalp-webhooks 2567 2646 - scan-vector-machine 2568 2647 - schema 2569 2648 - schematic 2570 2649 - scholdoc 2571 2650 - scholdoc-citeproc 2572 2651 - scholdoc-texmath 2573 - - SciFlow 2574 - - SciFlow-drmaa 2575 2652 - scion 2576 2653 - scion-browser 2577 2654 - scope ··· 2580 2657 - scp-streams 2581 2658 - scrabble-bot 2582 2659 - scrapbook 2583 - - SCRIPTWriter 2584 - - Scurry 2585 2660 - sde-solver 2586 2661 - seakale-postgresql 2587 2662 - seakale-tests 2588 2663 - secrm 2589 2664 - sednaDBXML 2590 2665 - seitz-symbol 2591 - - SelectSequencesFromMSA 2592 2666 - selenium-server 2593 2667 - self-extract 2594 2668 - semi-iso ··· 2603 2677 - sequor 2604 2678 - serpentine 2605 2679 - serv 2680 + - serv-wai 2606 2681 - servant-auth-token 2607 2682 - servant-auth-token-acid 2608 2683 - servant-auth-token-leveldb ··· 2631 2706 - servant-zeppelin-client 2632 2707 - servant-zeppelin-server 2633 2708 - servant-zeppelin-swagger 2634 - - serv-wai 2635 2709 - sessiontypes-distributed 2636 - - s-expression 2637 - - SFML-control 2638 - - SFont 2639 - - SGdemo 2640 2710 - sgf 2641 2711 - sgrep 2642 2712 - sha1 ··· 2645 2715 - shapefile 2646 2716 - shapely-data 2647 2717 - shelduck 2648 - - Shellac-compatline 2649 - - Shellac-editline 2650 - - Shellac-haskeline 2651 - - Shellac-readline 2652 2718 - shellmate-extras 2653 2719 - shine-varying 2654 - - ShortestPathProblems 2655 2720 - showdown 2656 - - Shpadoinkle-backend-pardiff 2657 - - Shpadoinkle-backend-static 2658 - - Shpadoinkle-developer-tools 2659 - - Shpadoinkle-disembodied 2660 - - Shpadoinkle-examples 2661 - - Shpadoinkle-html 2662 - - Shpadoinkle-router 2663 - - Shpadoinkle-template 2664 - - Shpadoinkle-widgets 2665 2721 - shpider 2666 2722 - shuffle 2667 - - sibe 2668 2723 - si-clock 2724 + - sibe 2669 2725 - sigma-ij 2670 2726 - signable 2671 2727 - signals ··· 2675 2731 - simgi 2676 2732 - simple-c-value 2677 2733 - simple-firewire 2678 - - SimpleGL 2679 - - simpleirc-lens 2680 - - SimpleLog 2681 2734 - simple-nix 2682 2735 - simple-pascal 2683 - - SimpleServer 2736 + - simpleirc-lens 2684 2737 - simseq 2685 2738 - singleton-nats_0_4_6 2686 2739 - singletons-base ··· 2697 2750 - smcdel 2698 2751 - smith-cli 2699 2752 - smith-client 2700 - - Smooth 2701 2753 - smtlib2-debug 2702 2754 - smtlib2-pipe 2703 2755 - smtlib2-quickcheck ··· 2706 2758 - snap-auth-cli 2707 2759 - snap-elm 2708 2760 - snap-extras 2761 + - snap-utils 2709 2762 - snaplet-actionlog 2710 2763 - snaplet-auth-acid 2711 2764 - snaplet-coffee ··· 2728 2781 - snaplet-tasks 2729 2782 - snaplet-wordpress 2730 2783 - snappy-iteratee 2731 - - snap-utils 2732 2784 - sndfile-enumerators 2733 2785 - sneathlane-haste 2734 2786 - snm 2735 2787 - snmp 2788 + - snow-white 2736 2789 - snowflake-core 2737 2790 - snowflake-server 2738 - - snow-white 2739 - - Snusmumrik 2740 - - SoccerFun 2741 - - SoccerFunGL 2742 2791 - sock2stream 2743 2792 - sockets 2744 2793 - solga-swagger ··· 2747 2796 - sounddelay 2748 2797 - soundgen 2749 2798 - source-code-server 2750 - - SourceGraph 2751 2799 - sparkle 2752 2800 - sparrow 2753 2801 - sparsebit ··· 2762 2810 - sphero 2763 2811 - sphinx-cli 2764 2812 - spice 2765 - - SpinCounter 2766 2813 - spline3 2767 2814 - splines 2768 - - Spock-auth 2769 - - Spock-lucid 2770 - - Spock-worker 2771 2815 - sprinkles 2772 2816 - sproxy 2773 - - sproxy2 2774 2817 - sproxy-web 2775 - - sqlite-simple-typed 2818 + - sproxy2 2776 2819 - sql-simple-mysql 2777 2820 - sql-simple-pool 2778 2821 - sql-simple-postgresql 2779 2822 - sql-simple-sqlite 2823 + - sqlite-simple-typed 2780 2824 - sr-extra 2781 2825 - sscgi 2782 2826 - sshd-lint 2783 2827 - sssp 2784 2828 - sstable 2785 2829 - stable-tree 2830 + - stack-hpc-coveralls 2831 + - stack-network 2832 + - stack-run-auto 2786 2833 - stackage 2787 - - stackage2nix 2788 2834 - stackage-build-plan 2789 2835 - stackage-cabal 2790 2836 - stackage-query 2791 2837 - stackage-sandbox 2792 2838 - stackage-setup 2793 2839 - stackage-upload 2794 - - stack-hpc-coveralls 2795 - - stack-network 2796 - - stack-run-auto 2840 + - stackage2nix 2797 2841 - starrover2 2798 2842 - stateful-mtl 2799 2843 - static-closure 2800 2844 - statsd-client 2801 2845 - statsdi 2802 - - STLinkUSB 2803 - - STM32-Zombie 2804 2846 - stmcontrol 2805 - - StockholmAlignment 2806 2847 - storablevector-streamfusion 2807 - - Strafunski-Sdf2Haskell 2808 2848 - stratux 2809 2849 - stratux-demo 2810 2850 - stratux-http ··· 2837 2877 - superconstraints 2838 2878 - sv 2839 2879 - sv-cassava 2880 + - sv-svfactor 2840 2881 - svg2q 2841 - - SVG2Q 2842 2882 - svgone 2843 - - sv-svfactor 2844 2883 - swapper 2845 2884 - swearjure 2846 2885 - sweet-egison 2847 2886 - switch 2848 2887 - sylvia 2888 + - sym-plot 2849 2889 - symantic-atom 2850 2890 - symantic-lib 2851 2891 - symbiote 2852 2892 - symmetry-operations-symbols 2853 - - sym-plot 2854 2893 - syncthing-hs 2855 2894 - syntax 2856 2895 - syntax-attoparsec 2857 2896 - syntax-example 2858 2897 - syntax-example-json 2859 - - SyntaxMacros 2860 - - syntaxnet-haskell 2861 2898 - syntax-pretty 2862 2899 - syntax-printer 2900 + - syntaxnet-haskell 2863 2901 - synthesizer-llvm 2864 2902 - systemstats 2865 2903 - t3-client 2866 2904 - ta 2905 + - tag-stream 2867 2906 - tagged-list 2868 2907 - tagged-th 2869 2908 - tagsoup-navigate 2870 2909 - tagstew 2871 - - tag-stream 2872 2910 - tal 2873 2911 - tamarin-prover 2874 2912 - tamarin-prover-term ··· 2883 2921 - tasty-laws 2884 2922 - tasty-lens 2885 2923 - tateti-tateti 2886 - - Taxonomy 2887 - - TaxonomyTools 2888 2924 - tbox 2889 2925 - tccli 2890 2926 - tdd-util 2891 2927 - tdlib 2892 2928 - tdlib-gen 2893 2929 - tdlib-types 2894 - - TeaHS 2895 2930 - techlab 2896 2931 - telegram-bot 2897 2932 - telegram-raw-api ··· 2901 2936 - tensorflow-ops 2902 2937 - terminal-text 2903 2938 - terrahs 2904 - - testbench 2905 2939 - test-framework-sandbox 2906 2940 - test-sandbox-compose 2907 2941 - test-sandbox-hunit 2908 2942 - test-sandbox-quickcheck 2909 2943 - test-simple 2910 - - TeX-my-math 2911 - - textmatetags 2944 + - testbench 2912 2945 - text-plus 2913 2946 - text-trie 2914 2947 - text-xml-generic 2948 + - textmatetags 2915 2949 - th-alpha 2916 2950 - th-context 2951 + - th-instances 2952 + - th-typegraph 2917 2953 - theatre 2918 2954 - theoremquest-client 2919 2955 - thimk 2920 - - th-instances 2921 - - th-typegraph 2922 2956 - thumbnail-polish 2957 + - tic-tac-toe 2923 2958 - tickle 2924 - - tic-tac-toe 2925 2959 - tidal-serial 2926 2960 - tighttp 2927 2961 - timberc 2928 2962 - time-exts 2929 2963 - time-http 2930 2964 - time-io-access 2931 - - timeprint 2932 2965 - time-warp 2966 + - timeprint 2933 2967 - timezone-unix 2934 2968 - tinyMesh 2935 2969 - tip-haskell-frontend ··· 2937 2971 - titan 2938 2972 - tls-extra 2939 2973 - tn 2974 + - to-string-instances 2940 2975 - toboggan 2941 2976 - todos 2942 2977 - toktok 2943 2978 - too-many-cells 2944 2979 - top 2945 2980 - topkata 2946 - - to-string-instances 2947 2981 - total-map 2948 2982 - toxcore 2949 2983 - toxcore-c ··· 2963 2997 - trasa-reflex 2964 2998 - trasa-server 2965 2999 - trasa-th 2966 - - TreeCounter 2967 3000 - treemap-html-tools 2968 3001 - treersec 2969 - - Treiber 2970 3002 - trek-app 2971 3003 - trek-db 2972 3004 - triangulation 2973 - - TrieMap 2974 3005 - tries 2975 3006 - trimpolya 2976 3007 - truelevel ··· 2997 3028 - type-assertions 2998 3029 - type-cache 2999 3030 - type-cereal 3000 - - TypeClass 3001 3031 - type-combinators-quote 3002 3032 - type-combinators-singletons 3003 - - typed-encoding-encoding 3004 3033 - type-digits 3005 - - typed-spreadsheet 3006 - - typed-streams 3007 - - TypeIlluminator 3008 - - typelevel 3009 - - typelevel-rewrite-rules 3010 3034 - type-ord 3011 3035 - type-ord-spine-cereal 3012 - - typescript-docs 3013 3036 - type-sets 3014 3037 - type-structure 3015 3038 - type-sub-th 3039 + - typed-encoding-encoding 3040 + - typed-spreadsheet 3041 + - typed-streams 3042 + - typelevel 3043 + - typelevel-rewrite-rules 3044 + - typescript-docs 3016 3045 - typson-beam 3017 3046 - typson-esqueleto 3018 3047 - typson-selda ··· 3021 3050 - ucam-webauth 3022 3051 - uhc-light 3023 3052 - uhc-util 3024 - - UMM 3025 3053 - unagi-bloomfilter 3026 3054 - unbound 3027 3055 - unfoldable-restricted 3028 - - unicode-normalization 3029 3056 - uni-events 3030 - - uniformBase 3031 - - uniform-io 3032 3057 - uni-graphs 3033 3058 - uni-htk 3034 3059 - uni-posixutil 3035 - - uniqueness-periods-vector-examples 3036 3060 - uni-reactor 3037 3061 - uni-uDrawGraph 3062 + - unicode-normalization 3063 + - uniform-io 3064 + - uniformBase 3065 + - uniqueness-periods-vector-examples 3038 3066 - universe-th 3039 3067 - unix-fcntl 3040 3068 - unix-simple ··· 3050 3078 - urembed 3051 3079 - uri-enumerator 3052 3080 - uri-enumerator-file 3053 - - UrlDisp 3054 - - URLT 3055 3081 - usb 3056 3082 - usb-enumerator 3057 3083 - usb-hid ··· 3087 3113 - vformat-aeson 3088 3114 - vformat-time 3089 3115 - vfr-waypoints 3090 - - ViennaRNA-extras 3091 3116 - vigilance 3092 3117 - vimeta 3093 3118 - vinyl-operational ··· 3101 3126 - vty-ui-extras 3102 3127 - waargonaut 3103 3128 - wahsp 3104 - - wai-cli 3105 3129 - wai-devel 3106 3130 - wai-dispatch 3107 3131 - wai-handler-snap ··· 3116 3140 - wai-thrift 3117 3141 - waldo 3118 3142 - warped 3119 - - WashNGo 3120 - - WAVE 3121 - - WaveFront 3122 3143 - wavesurfer 3123 3144 - wavy 3124 - - web3 3125 - - webapi 3126 - - WebBits-Html 3127 - - WebBits-multiplate 3128 - - WebCont 3129 - - webcrank-wai 3130 - - webdriver-w3c 3131 3145 - web-mongrel2 3132 3146 - web-page 3133 3147 - web-rep 3134 3148 - web-routes-regular 3135 3149 - web-routing 3150 + - web3 3151 + - webapi 3152 + - webcrank-wai 3153 + - webdriver-w3c 3136 3154 - webserver 3137 - - WEditorBrick 3138 - - WEditorHyphen 3139 3155 - weighted 3140 3156 - werewolf-slack 3141 3157 - what4 ··· 3146 3162 - wikipedia4epub 3147 3163 - windowslive 3148 3164 - winio 3149 - - WL500gPControl 3150 - - wlc-hs 3151 3165 - wl-pprint-ansiterm 3152 3166 - wl-pprint-terminfo 3167 + - wlc-hs 3153 3168 - wobsurv 3154 3169 - wolf 3155 - - WordAlignment 3156 3170 - workflow-extra 3157 3171 - workflow-pure 3158 3172 - workflow-types ··· 3163 3177 - writer-cps-full 3164 3178 - wss-client 3165 3179 - wtk-gtk 3180 + - wu-wei 3166 3181 - wumpus-basic 3167 3182 - wumpus-drawing 3168 3183 - wumpus-microprint 3169 3184 - wumpus-tree 3170 - - WURFL 3171 - - wu-wei 3172 3185 - wx 3173 3186 - wxAsteroids 3187 + - wxFruit 3188 + - wxSimpleCanvas 3174 3189 - wxc 3175 3190 - wxcore 3176 - - WXDiffCtrl 3177 - - wxFruit 3178 - - WxGeneric 3179 3191 - wxhnotepad 3180 - - wxSimpleCanvas 3181 3192 - wxturtle 3182 3193 - wyvern 3183 3194 - xdcc 3184 3195 - xhb-atom-cache 3185 3196 - xhb-ewmh 3186 - - XML 3187 - - xml2x 3188 3197 - xml-catalog 3189 3198 - xml-enumerator 3190 3199 - xml-enumerator-combinators ··· 3193 3202 - xml-push 3194 3203 - xml-query-xml-conduit 3195 3204 - xml-query-xml-types 3205 + - xml-tydom-conduit 3206 + - xml2x 3196 3207 - xmltv 3197 - - xml-tydom-conduit 3198 3208 - xmms2-client 3199 3209 - xmms2-client-glib 3200 3210 - xmonad-contrib-bluetilebranch 3201 3211 - xmpipe 3202 - - XMPP 3203 3212 - xournal-builder 3204 3213 - xournal-convert 3205 3214 - xournal-parser 3206 3215 - xournal-render 3207 - - XSaiga 3208 3216 - xtc 3209 - - Yablog 3210 - - YACPong 3211 3217 - yajl-enumerator 3212 3218 - yam 3213 3219 - yam-datasource 3214 3220 - yam-job 3215 3221 - yam-logger 3216 - - yaml-rpc-scotty 3217 - - yaml-rpc-snap 3218 - - yaml-unscrambler 3219 3222 - yam-redis 3220 3223 - yam-transaction 3221 3224 - yam-transaction-odbc 3222 3225 - yam-transaction-postgresql 3223 3226 - yam-web 3227 + - yaml-rpc-scotty 3228 + - yaml-rpc-snap 3229 + - yaml-unscrambler 3224 3230 - yarr-image-io 3225 3231 - yavie 3226 3232 - ycextra ··· 3243 3249 - yesod-session-redis 3244 3250 - yjftp 3245 3251 - yjftp-libs 3246 - - Yogurt 3247 - - Yogurt-Standalone 3248 3252 - yoko 3249 3253 - york-lava 3250 3254 - yql 3251 3255 - yu-launch 3252 3256 - yuuko 3253 3257 - zasni-gerna 3254 - - Z-Botan 3255 3258 - zephyr 3256 3259 - zerobin 3257 3260 - zeromq3-conduit ··· 3263 3266 - zifter-hindent 3264 3267 - zifter-hlint 3265 3268 - zifter-stack 3266 - - Z-IO 3267 3269 - zipper 3268 3270 - zippo 3269 3271 - ziptastic-client 3270 3272 - zlib-enum 3271 3273 - zmcat 3272 - - Z-MessagePack 3273 3274 - zoom-cache 3274 3275 - zoom-cache-pcm 3275 3276 - zoom-cache-sndfile 3276 3277 - zoovisitor 3277 3278 - zuramaru 3278 - - Z-YAML
+3 -1
pkgs/development/haskell-modules/generic-builder.nix
··· 44 44 , libraryFrameworkDepends ? [], executableFrameworkDepends ? [] 45 45 , homepage ? "https://hackage.haskell.org/package/${pname}" 46 46 , platforms ? with lib.platforms; all # GHC can cross-compile 47 + , badPlatforms ? lib.platforms.none 47 48 , hydraPlatforms ? null 48 49 , hyperlinkSource ? true 49 50 , isExecutable ? false, isLibrary ? !isExecutable ··· 289 290 assert allPkgconfigDepends != [] -> pkg-config != null; 290 291 291 292 stdenv.mkDerivation ({ 292 - name = "${pname}-${version}"; 293 + inherit pname version; 293 294 294 295 outputs = [ "out" ] 295 296 ++ (optional enableSeparateDataOutput "data") ··· 663 664 // optionalAttrs (args ? description) { inherit description; } 664 665 // optionalAttrs (args ? maintainers) { inherit maintainers; } 665 666 // optionalAttrs (args ? hydraPlatforms) { inherit hydraPlatforms; } 667 + // optionalAttrs (args ? badPlatforms) { inherit badPlatforms; } 666 668 // optionalAttrs (args ? changelog) { inherit changelog; } 667 669 ; 668 670
+742 -138
pkgs/development/haskell-modules/hackage-packages.nix
··· 7753 7753 ]; 7754 7754 description = "The Haskell/R mixed programming environment"; 7755 7755 license = lib.licenses.bsd3; 7756 + hydraPlatforms = lib.platforms.none; 7756 7757 }) {}; 7757 7758 7758 7759 "HABQT" = callPackage ··· 8818 8819 ({ mkDerivation, base, constraints, containers, data-default 8819 8820 , deepseq, directory, doctest-exitcode-stdio, doctest-lib 8820 8821 , exceptions, extra, hspec, monad-control, mono-traversable, mtl 8821 - , QuickCheck, regex-tdfa, syb, template-haskell, transformers-base 8822 - , unliftio 8822 + , QuickCheck, regex-tdfa, stm, syb, template-haskell 8823 + , transformers-base, unliftio 8823 8824 }: 8824 8825 mkDerivation { 8825 8826 pname = "HMock"; 8826 - version = "0.1.0.1"; 8827 - sha256 = "1viv8aggapxvk1akm1z3976h4b12wa8zwkr5qinfpvmsgvlkhhlz"; 8827 + version = "0.2.0.0"; 8828 + sha256 = "1i5b9fxb5fii3ib97dncr5pfsylj5bsppi45qx7wq1idmz0fq3rj"; 8828 8829 libraryHaskellDepends = [ 8829 8830 base constraints containers data-default exceptions extra 8830 - monad-control mono-traversable mtl regex-tdfa syb template-haskell 8831 - transformers-base unliftio 8831 + monad-control mono-traversable mtl regex-tdfa stm syb 8832 + template-haskell transformers-base unliftio 8832 8833 ]; 8833 8834 testHaskellDepends = [ 8834 8835 base containers data-default deepseq directory ··· 35089 35090 }: 35090 35091 mkDerivation { 35091 35092 pname = "attoparsec-data"; 35092 - version = "1.0.5.1"; 35093 - sha256 = "1fn28rg79w5kkv3lrmqjcff8fhn1kc2b84vnblr0xqbfdjdbzgp6"; 35093 + version = "1.0.5.2"; 35094 + sha256 = "05x7xij5jyfzcl0hyjjw4lxlzgkmi55q48s5vbgvba48a2crv0qj"; 35094 35095 libraryHaskellDepends = [ 35095 35096 attoparsec attoparsec-time base bytestring scientific text time 35096 35097 uuid ··· 35234 35235 }) {}; 35235 35236 35236 35237 "attoparsec-time" = callPackage 35237 - ({ mkDerivation, attoparsec, base, bytestring, scientific, text 35238 - , time 35239 - }: 35238 + ({ mkDerivation, attoparsec, base, bytestring, text, time }: 35240 35239 mkDerivation { 35241 35240 pname = "attoparsec-time"; 35242 - version = "1.0.1.1"; 35243 - sha256 = "1g3wfc499zdz79i06hgg4286ky9yv4mi3jgq1zf92ik1wcw23q6l"; 35244 - libraryHaskellDepends = [ 35245 - attoparsec base bytestring scientific text time 35246 - ]; 35241 + version = "1.0.1.2"; 35242 + sha256 = "1pc4dy4d6q11cfmgrg41h2nm34vgnnarah85gnwbd6x48cissrpp"; 35243 + libraryHaskellDepends = [ attoparsec base bytestring text time ]; 35247 35244 description = "Attoparsec parsers of time"; 35248 35245 license = lib.licenses.mit; 35249 35246 }) {}; ··· 38232 38229 pname = "base32"; 38233 38230 version = "0.2.1.0"; 38234 38231 sha256 = "1c1qzbri6m8b2m1cr68vrjbny6wlvfyrbfyzd61s83a3y3w39plp"; 38232 + revision = "1"; 38233 + editedCabalFile = "0apyphnlsnr16s5xb9b9g7d5aw3ny4qx8nz8y71zpglk63sy0cq0"; 38235 38234 libraryHaskellDepends = [ 38236 38235 base bytestring deepseq ghc-byteorder text text-short 38237 38236 ]; ··· 39495 39494 broken = true; 39496 39495 }) {}; 39497 39496 39497 + "bech32_1_1_1" = callPackage 39498 + ({ mkDerivation, array, base, base58-bytestring, bytestring 39499 + , containers, deepseq, extra, hspec, hspec-discover, memory 39500 + , optparse-applicative, process, QuickCheck, text, vector 39501 + }: 39502 + mkDerivation { 39503 + pname = "bech32"; 39504 + version = "1.1.1"; 39505 + sha256 = "0ibdibki3f51wpxby3cl6p0xzd32ddczlg2dcqxy7lgx7j3h9xgn"; 39506 + isLibrary = true; 39507 + isExecutable = true; 39508 + libraryHaskellDepends = [ 39509 + array base bytestring containers extra text 39510 + ]; 39511 + executableHaskellDepends = [ 39512 + base base58-bytestring bytestring extra memory optparse-applicative 39513 + text 39514 + ]; 39515 + testHaskellDepends = [ 39516 + base base58-bytestring bytestring containers deepseq extra hspec 39517 + memory process QuickCheck text vector 39518 + ]; 39519 + testToolDepends = [ hspec-discover ]; 39520 + description = "Implementation of the Bech32 cryptocurrency address format (BIP 0173)"; 39521 + license = lib.licenses.asl20; 39522 + hydraPlatforms = lib.platforms.none; 39523 + broken = true; 39524 + }) {}; 39525 + 39498 39526 "bech32-th" = callPackage 39499 39527 ({ mkDerivation, base, bech32, hspec, hspec-discover 39500 39528 , template-haskell, text ··· 39505 39533 sha256 = "0ypn8y4b0iw7jb167biy0zjs4hp9k9nlf8y4nsczfv5n4p4cadnq"; 39506 39534 revision = "1"; 39507 39535 editedCabalFile = "1b614lymjd3idcbzrkha7labfskv1m0kbljrnhwcz7sbymfcbdbk"; 39536 + libraryHaskellDepends = [ base bech32 template-haskell text ]; 39537 + testHaskellDepends = [ base bech32 hspec template-haskell ]; 39538 + testToolDepends = [ hspec-discover ]; 39539 + description = "Template Haskell extensions to the Bech32 library"; 39540 + license = lib.licenses.asl20; 39541 + hydraPlatforms = lib.platforms.none; 39542 + }) {}; 39543 + 39544 + "bech32-th_1_1_1" = callPackage 39545 + ({ mkDerivation, base, bech32, hspec, hspec-discover 39546 + , template-haskell, text 39547 + }: 39548 + mkDerivation { 39549 + pname = "bech32-th"; 39550 + version = "1.1.1"; 39551 + sha256 = "0548an9v6y14qalb1agl5bskcmpb9865lxyap162xzgskd9s4iik"; 39508 39552 libraryHaskellDepends = [ base bech32 template-haskell text ]; 39509 39553 testHaskellDepends = [ base bech32 hspec template-haskell ]; 39510 39554 testToolDepends = [ hspec-discover ]; ··· 44256 44300 }: 44257 44301 mkDerivation { 44258 44302 pname = "blucontrol"; 44259 - version = "0.5.1.1"; 44260 - sha256 = "0v3ifwxjbxm86ybn5daqqfdm4nmbfzlbkyc19d4nawnzjyf8v2p9"; 44303 + version = "0.6.0.0"; 44304 + sha256 = "1rywy6r5wachz3y9vw1iy5b46fvlxcv5s33lrriffimqprkglbcj"; 44261 44305 isLibrary = true; 44262 44306 isExecutable = true; 44263 44307 libraryHaskellDepends = [ ··· 47353 47397 }: 47354 47398 mkDerivation { 47355 47399 pname = "bytebuild"; 47356 - version = "0.3.7.0"; 47357 - sha256 = "1vckm98sarxzqh6ib89y5kzhbf1yxc9wgrbpwbsrh0dv5gi3pclj"; 47400 + version = "0.3.8.0"; 47401 + sha256 = "19gg4qjlj595j8zd0n6cz2kgz70g8z6w666c6wlf5lj32j8p6yh5"; 47358 47402 libraryHaskellDepends = [ 47359 47403 base byteslice bytestring integer-logarithms natural-arithmetic 47360 47404 primitive primitive-offset primitive-unlifted run-st text-short ··· 50184 50228 }: 50185 50229 mkDerivation { 50186 50230 pname = "calamity"; 50187 - version = "0.1.30.2"; 50188 - sha256 = "0i0v8cb0a3mbkrb3liw60gb7zflnps5w04a6nx5aynini7mpwanj"; 50231 + version = "0.1.30.3"; 50232 + sha256 = "0r6vrcdqqf6a8rihjgppmp625ws5vmsmq98i177xfg14hsal49pp"; 50189 50233 libraryHaskellDepends = [ 50190 50234 aeson async base bytestring calamity-commands colour 50191 50235 concurrent-extra connection containers data-default-class ··· 53125 53169 ]; 53126 53170 description = "A REST Web Api server template for building (micro)services"; 53127 53171 license = lib.licenses.mit; 53128 - hydraPlatforms = lib.platforms.none; 53129 53172 }) {}; 53130 53173 53131 53174 "chalk" = callPackage ··· 54638 54681 ]; 54639 54682 description = "Channel/Arrow based streaming computation library"; 54640 54683 license = lib.licenses.mit; 54684 + hydraPlatforms = lib.platforms.none; 54685 + broken = true; 54641 54686 }) {}; 54642 54687 54643 54688 "cielo" = callPackage ··· 58667 58712 license = lib.licenses.mit; 58668 58713 }) {}; 58669 58714 58715 + "colour_2_3_6" = callPackage 58716 + ({ mkDerivation, base, QuickCheck, random, test-framework 58717 + , test-framework-quickcheck2 58718 + }: 58719 + mkDerivation { 58720 + pname = "colour"; 58721 + version = "2.3.6"; 58722 + sha256 = "0wgqj64mh2y2zk77kv59k3xb3dk4wmgfp988y74sp9a4d76mvlrc"; 58723 + enableSeparateDataOutput = true; 58724 + libraryHaskellDepends = [ base ]; 58725 + testHaskellDepends = [ 58726 + base QuickCheck random test-framework test-framework-quickcheck2 58727 + ]; 58728 + description = "A model for human colour/color perception"; 58729 + license = lib.licenses.mit; 58730 + hydraPlatforms = lib.platforms.none; 58731 + }) {}; 58732 + 58670 58733 "colour-accelerate" = callPackage 58671 58734 ({ mkDerivation, accelerate, base }: 58672 58735 mkDerivation { ··· 67215 67278 }: 67216 67279 mkDerivation { 67217 67280 pname = "cuckoo"; 67218 - version = "0.2.1"; 67219 - sha256 = "1bv39vfg0yzancyya1cdbrcdc0gasp0djcc9ryiwrc3kf9y0nbzn"; 67281 + version = "0.2.2"; 67282 + sha256 = "1wm81a5fsq0wdvx3ayxfrljya7rm9c0vfmy5dhxa6h9zxnqrkvav"; 67220 67283 libraryHaskellDepends = [ base memory primitive random vector ]; 67221 67284 testHaskellDepends = [ 67222 67285 base bytestring cryptonite doctest hashable memory primitive ··· 69699 69762 license = lib.licenses.mit; 69700 69763 }) {}; 69701 69764 69765 + "data-lens-light_0_1_2_3" = callPackage 69766 + ({ mkDerivation, base, mtl, template-haskell }: 69767 + mkDerivation { 69768 + pname = "data-lens-light"; 69769 + version = "0.1.2.3"; 69770 + sha256 = "1xczbmgin315qh9wpl6v2vvnp6hv1irfbfqs7pk034qcpx61fwdl"; 69771 + libraryHaskellDepends = [ base mtl template-haskell ]; 69772 + description = "Simple lenses, minimum dependencies"; 69773 + license = lib.licenses.mit; 69774 + hydraPlatforms = lib.platforms.none; 69775 + }) {}; 69776 + 69702 69777 "data-lens-template" = callPackage 69703 69778 ({ mkDerivation, base, data-lens, template-haskell }: 69704 69779 mkDerivation { ··· 73854 73929 pname = "dhall-docs"; 73855 73930 version = "1.0.6"; 73856 73931 sha256 = "004n8kh8riw67aqwp6z9199jwv2c9r1dbkg92s71vd9zc04wxljv"; 73932 + revision = "1"; 73933 + editedCabalFile = "1m8ms4y4pxiays620k4zjf7hnfk103y990pnhnb6hr0h70n7i157"; 73857 73934 isLibrary = true; 73858 73935 isExecutable = true; 73859 73936 enableSeparateDataOutput = true; ··· 74537 74614 pname = "diagrams-graphviz"; 74538 74615 version = "1.4.1.1"; 74539 74616 sha256 = "0lscrxd682jvyrl5bj4dxp7593qwyis01sl0p4jm2jfn335wdq40"; 74617 + revision = "1"; 74618 + editedCabalFile = "1qx69541pxf71whfz2a913yzbhfcks2pyzfprkgrcmiiyv0a3i7b"; 74540 74619 libraryHaskellDepends = [ 74541 74620 base containers diagrams-lib fgl graphviz split 74542 74621 ]; ··· 75620 75699 }: 75621 75700 mkDerivation { 75622 75701 pname = "digraph"; 75623 - version = "0.2"; 75624 - sha256 = "0k6kr1vr25i2jvv2q1xby06b7xkpg2dr4sq2ffnv0lmznshjy8y5"; 75702 + version = "0.2.1"; 75703 + sha256 = "04x8y6snlfm8w22l0mn58sqbgdsc3av9l6qz2wqfdjmcp7h7s79r"; 75625 75704 libraryHaskellDepends = [ 75626 75705 base containers deepseq hashable massiv mwc-random streaming 75627 75706 transformers unordered-containers ··· 78678 78757 }: 78679 78758 mkDerivation { 78680 78759 pname = "domain"; 78681 - version = "0.1.1.1"; 78682 - sha256 = "1vy789dv1lpha2bxvr0x1vk2vvgb9z43abkqi1rbj2vvirqsbr1n"; 78760 + version = "0.1.1.2"; 78761 + sha256 = "0s4x7jhhcx94fzi8cg5bqfqn2vajdlv1yjrakfnfdqk187zbdc6r"; 78683 78762 libraryHaskellDepends = [ 78684 78763 attoparsec base bytestring domain-core foldl hashable 78685 78764 parser-combinators template-haskell template-haskell-compat-v0208 ··· 78687 78766 ]; 78688 78767 testHaskellDepends = [ 78689 78768 base domain-core QuickCheck quickcheck-instances rerebase tasty 78690 - tasty-hunit tasty-quickcheck template-haskell text th-orphans 78769 + tasty-hunit tasty-quickcheck template-haskell 78770 + template-haskell-compat-v0208 text th-orphans 78691 78771 ]; 78692 78772 description = "Codegen helping you define domain models"; 78693 78773 license = lib.licenses.mit; ··· 85429 85509 license = lib.licenses.bsd3; 85430 85510 }) {}; 85431 85511 85432 - "esqueleto_3_5_1_0" = callPackage 85512 + "esqueleto_3_5_2_0" = callPackage 85433 85513 ({ mkDerivation, aeson, attoparsec, base, blaze-html, bytestring 85434 85514 , conduit, containers, exceptions, hspec, hspec-core, monad-logger 85435 85515 , mtl, mysql, mysql-simple, persistent, persistent-mysql ··· 85439 85519 }: 85440 85520 mkDerivation { 85441 85521 pname = "esqueleto"; 85442 - version = "3.5.1.0"; 85443 - sha256 = "1r77lym11gh53059b3hg5wyzb4ymaynk5awrmzgnwfkmx041sqp8"; 85522 + version = "3.5.2.0"; 85523 + sha256 = "06z5n0nbyrdvzlfqmx3jvh76kkss3bis19k5ppqkifsfgwi07rzw"; 85444 85524 libraryHaskellDepends = [ 85445 85525 aeson attoparsec base blaze-html bytestring conduit containers 85446 85526 monad-logger persistent resourcet tagged text time transformers ··· 88678 88758 }: 88679 88759 mkDerivation { 88680 88760 pname = "fakedata-quickcheck"; 88681 - version = "0.1.0"; 88682 - sha256 = "0al5brin9bs0553rrw073za4jzw2whrf05yj6h34lmx4kxzciv6s"; 88761 + version = "0.2.0"; 88762 + sha256 = "0m70r66vbkgi1d016cpgahaas17hysabp44nigz4cda9l3x6qmh6"; 88683 88763 libraryHaskellDepends = [ base fakedata QuickCheck random ]; 88684 88764 testHaskellDepends = [ 88685 88765 base fakedata hspec hspec-core QuickCheck random regex-tdfa text ··· 96670 96750 }: 96671 96751 mkDerivation { 96672 96752 pname = "funcons-tools"; 96673 - version = "0.2.0.11"; 96674 - sha256 = "1gi7db5mjq25xwl27ihsrg0ya1jgw5zhki5c1431rizj72yx5ji9"; 96753 + version = "0.2.0.13"; 96754 + sha256 = "0favv5lfhhhsjasn0gfx2m9q18j8qjk3w92ih78nqaam8gfg59vm"; 96675 96755 isLibrary = true; 96676 96756 isExecutable = true; 96677 96757 libraryHaskellDepends = [ ··· 96693 96773 ({ mkDerivation, base, bv, containers, multiset, text, vector }: 96694 96774 mkDerivation { 96695 96775 pname = "funcons-values"; 96696 - version = "0.1.0.7"; 96697 - sha256 = "0jdgwv44gs4zr8z5pg6lzikrgn3dzna8z0vriq71anlifjyci8yq"; 96776 + version = "0.1.0.9"; 96777 + sha256 = "1817jhp9vpipkvxdqvn4yj88z7z3pyrxs22h4d51c3056ighq6wn"; 96698 96778 revision = "1"; 96699 - editedCabalFile = "1aam84wminmcy530vkv8g2qkag6gz45yyx5xks7gq1y7jifm1kkb"; 96779 + editedCabalFile = "1g807b4lpz0whz0v4xl7y0qj0682y9lvmng06rxxyabn2lcvx5sc"; 96700 96780 libraryHaskellDepends = [ 96701 96781 base bv containers multiset text vector 96702 96782 ]; ··· 97353 97433 pname = "futhark-data"; 97354 97434 version = "1.0.0.1"; 97355 97435 sha256 = "126b7igrk0aldj4kjwkyvvsy3v64g9iv6w9ladbbfnd4qw7svswm"; 97436 + revision = "1"; 97437 + editedCabalFile = "08p820dmdlg5x6ikgi69sddkywj71cnnjwz2fppnv901bbn55fav"; 97356 97438 libraryHaskellDepends = [ 97357 97439 base binary bytestring bytestring-to-vector containers megaparsec 97358 97440 mtl text vector vector-binary-instances ··· 104049 104131 libraryPkgconfigDepends = [ libwnck ]; 104050 104132 description = "Wnck bindings"; 104051 104133 license = lib.licenses.lgpl21Only; 104052 - hydraPlatforms = lib.platforms.none; 104053 - broken = true; 104134 + platforms = [ 104135 + "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux" 104136 + ]; 104054 104137 }) {inherit (pkgs) libwnck;}; 104055 104138 104056 104139 "gi-xlib" = callPackage ··· 104890 104973 license = lib.licenses.bsd3; 104891 104974 }) {}; 104892 104975 104976 + "githash_0_1_6_1" = callPackage 104977 + ({ mkDerivation, base, bytestring, directory, filepath, hspec 104978 + , process, template-haskell, temporary, th-compat, unliftio 104979 + }: 104980 + mkDerivation { 104981 + pname = "githash"; 104982 + version = "0.1.6.1"; 104983 + sha256 = "0g922g2l3xv795gvhri5ccrh751dnyckjs7mzv1d8pg2lffpj0bi"; 104984 + libraryHaskellDepends = [ 104985 + base bytestring directory filepath process template-haskell 104986 + th-compat 104987 + ]; 104988 + testHaskellDepends = [ 104989 + base bytestring directory filepath hspec process template-haskell 104990 + temporary th-compat unliftio 104991 + ]; 104992 + description = "Compile git revision info into Haskell projects"; 104993 + license = lib.licenses.bsd3; 104994 + hydraPlatforms = lib.platforms.none; 104995 + }) {}; 104996 + 104893 104997 "github" = callPackage 104894 104998 ({ mkDerivation, aeson, base, base-compat, base16-bytestring 104895 104999 , binary, binary-instances, bytestring, containers, cryptohash-sha1 ··· 105264 105368 testHaskellDepends = [ aeson base bytestring tasty tasty-hunit ]; 105265 105369 description = "A Haskell library for the GitLab web API"; 105266 105370 license = lib.licenses.bsd3; 105371 + }) {}; 105372 + 105373 + "gitlab-haskell_0_3_0" = callPackage 105374 + ({ mkDerivation, aeson, base, bytestring, connection, http-conduit 105375 + , http-types, tasty, tasty-hunit, temporary, text, time 105376 + , transformers, unix, unliftio, unliftio-core 105377 + }: 105378 + mkDerivation { 105379 + pname = "gitlab-haskell"; 105380 + version = "0.3.0"; 105381 + sha256 = "0krcan8i9lkickl77r9dyf93k96yxj5zp0asmzq86ds13m8f3s9i"; 105382 + enableSeparateDataOutput = true; 105383 + libraryHaskellDepends = [ 105384 + aeson base bytestring connection http-conduit http-types temporary 105385 + text time transformers unix unliftio unliftio-core 105386 + ]; 105387 + testHaskellDepends = [ aeson base bytestring tasty tasty-hunit ]; 105388 + description = "A Haskell library for the GitLab web API"; 105389 + license = lib.licenses.bsd3; 105390 + hydraPlatforms = lib.platforms.none; 105267 105391 }) {}; 105268 105392 105269 105393 "gitlib" = callPackage ··· 129646 129770 }: 129647 129771 mkDerivation { 129648 129772 "jira-wiki-markup" = callPackage 129649 - "jira-wiki-markup" = callPackage 129650 - "jira-wiki-markup" = callPackage 129773 + version = "0.14.4"; 129774 + sha256 = "1qvh5vgnk6vrhhr1kjqsycz13acxa7ynpqnd1bmchfl4q3aga9gw"; 129651 129775 isLibrary = true; 129652 129776 isExecutable = true; 129653 129777 libraryHaskellDepends = [ ··· 138853 138977 ]; 138854 138978 description = "SSH protocol implementation"; 138855 138979 license = lib.licenses.mit; 138980 + hydraPlatforms = lib.platforms.none; 138981 + broken = true; 138856 138982 }) {}; 138857 138983 138858 138984 "hsshellscript" = callPackage ··· 139686 139812 pname = "html-parse"; 139687 139813 version = "0.2.0.2"; 139688 139814 sha256 = "0dm771lrrqc87ygbr3dzyl1vsyi30jgr7l0isvsbqyah7s4zyg38"; 139689 - revision = "1"; 139690 - editedCabalFile = "1hr9bskwwx3svxqaxcyaz8v0brli1bb03xcvg7zpgbisf8x6r316"; 139815 + revision = "2"; 139816 + editedCabalFile = "1arck1sfcnqfczpi6zq4rja3svd3vcxxdi69dv9983v3sl01hk2g"; 139691 139817 libraryHaskellDepends = [ 139692 139818 attoparsec base containers deepseq text 139693 139819 ]; ··· 144402 144528 }: 144403 144529 mkDerivation { 144404 144530 pname = "hypertypes"; 144405 - version = "0.1.0.1"; 144406 - sha256 = "0b3cnjw07pryqslnx0k6lxdpwnihnk6pnhp6l9d09mqyxymd9nyx"; 144531 + version = "0.1.0.2"; 144532 + sha256 = "1zh10884a2fvj06ndh4hz2vk97x4nibr57b30kgq731x4q50zgfs"; 144407 144533 libraryHaskellDepends = [ 144408 144534 array base base-compat binary constraints containers deepseq 144409 144535 generic-constraints generic-data lattices lens monad-st mtl pretty ··· 145703 145829 ]; 145704 145830 description = "Embed R quasiquotes and plots in IHaskell notebooks"; 145705 145831 license = lib.licenses.bsd3; 145832 + hydraPlatforms = lib.platforms.none; 145706 145833 }) {}; 145707 145834 145708 145835 "ihaskell-juicypixels" = callPackage ··· 147694 147821 ]; 147695 147822 description = "Seamlessly call R from Haskell and vice versa. No FFI required."; 147696 147823 license = lib.licenses.bsd3; 147824 + hydraPlatforms = lib.platforms.none; 147825 + broken = true; 147697 147826 }) {inherit (pkgs) R;}; 147698 147827 147699 147828 "inliterate" = callPackage ··· 149399 149528 ({ mkDerivation, base, binary, bytestring, iproute }: 149400 149529 mkDerivation { 149401 149530 pname = "ip2location"; 149402 - version = "8.2.1"; 149403 - sha256 = "1ccr15yn2ska5wgwlcnfpi9w1xxkly0pwqibmdl9a1ggmwfsskv0"; 149531 + version = "8.3.1"; 149532 + sha256 = "01sdx0j0rm7rgylac51mk4ph5krdnzdd8532di5g5ik3p112dzg8"; 149404 149533 libraryHaskellDepends = [ base binary bytestring iproute ]; 149405 149534 description = "IP2Location Haskell package for IP geolocation"; 149406 149535 license = lib.licenses.mit; ··· 153778 153907 }: 153779 153908 mkDerivation { 153780 153909 pname = "jukebox"; 153781 - version = "0.5.3"; 153782 - sha256 = "00774gby970jxa69zw8baki40r6nw7vrprc670n8skmlp03p38j2"; 153910 + version = "0.5.4"; 153911 + sha256 = "10lmx9xwikk4sbc3ffpzqff9qxpphgp2q8w2rdm2iskaa7qi3skn"; 153783 153912 isLibrary = true; 153784 153913 isExecutable = true; 153785 153914 libraryHaskellDepends = [ ··· 156121 156250 }: 156122 156251 mkDerivation { 156123 156252 pname = "knit"; 156124 - version = "0.2.0.0"; 156125 - sha256 = "0a1swv5w9fxissxqr2x61qijqyhdxs71fv21fjz4r0kcqywnvy6x"; 156253 + version = "0.3.0.0"; 156254 + sha256 = "0wp16yrlibfl32b4akcwali074wxar96mvaykgh0xsf4pq1czx3q"; 156126 156255 libraryHaskellDepends = [ 156127 156256 base bytestring containers deepseq hashtables vector 156128 156257 ]; ··· 164941 165070 license = lib.licenses.mit; 164942 165071 }) {}; 164943 165072 165073 + "literatex_0_2_0_0" = callPackage 165074 + ({ mkDerivation, ansi-wl-pprint, base, bytestring, conduit 165075 + , filepath, optparse-applicative, tasty, tasty-hunit, text, ttc 165076 + , unliftio 165077 + }: 165078 + mkDerivation { 165079 + pname = "literatex"; 165080 + version = "0.2.0.0"; 165081 + sha256 = "1j5x1hfh71jpywgwpbyir74h58b6lzaj7gpk2f07xlcwqmm68syz"; 165082 + isLibrary = true; 165083 + isExecutable = true; 165084 + libraryHaskellDepends = [ 165085 + base bytestring conduit text ttc unliftio 165086 + ]; 165087 + executableHaskellDepends = [ 165088 + ansi-wl-pprint base optparse-applicative ttc 165089 + ]; 165090 + testHaskellDepends = [ 165091 + base bytestring filepath tasty tasty-hunit text ttc unliftio 165092 + ]; 165093 + description = "transform literate source code to Markdown"; 165094 + license = lib.licenses.mit; 165095 + hydraPlatforms = lib.platforms.none; 165096 + }) {}; 165097 + 164944 165098 "little-earley" = callPackage 164945 165099 ({ mkDerivation, base, containers, mtl, tasty, tasty-hunit }: 164946 165100 mkDerivation { ··· 166064 166218 }: 166065 166219 mkDerivation { 166066 166220 pname = "log-elasticsearch"; 166067 - version = "0.12.0.0"; 166068 - sha256 = "05cvk93s61k42bmsmj4997hdij4xk74a6jrd1qvdbkq13w20260m"; 166221 + version = "0.12.1.0"; 166222 + sha256 = "07z0p5jcd5gjhk4dyf9ny74l68ja58ffa80mbfsyaz66ff6k4y6s"; 166069 166223 libraryHaskellDepends = [ 166070 166224 aeson aeson-pretty base base64-bytestring bytestring deepseq 166071 166225 http-client http-client-tls http-types log-base network-uri ··· 171134 171288 broken = true; 171135 171289 }) {}; 171136 171290 171291 + "matrix-client" = callPackage 171292 + ({ mkDerivation, aeson, base, base64, bytestring, doctest 171293 + , exceptions, hashable, hspec, http-client, http-client-tls, retry 171294 + , SHA, text, time, unordered-containers 171295 + }: 171296 + mkDerivation { 171297 + pname = "matrix-client"; 171298 + version = "0.1.0.0"; 171299 + sha256 = "10w1q846b4jnyg9yb87d69ixfyhl205ryrib6a53pbk0bx6zn59w"; 171300 + libraryHaskellDepends = [ 171301 + aeson base base64 bytestring exceptions hashable http-client 171302 + http-client-tls retry SHA text time unordered-containers 171303 + ]; 171304 + testHaskellDepends = [ 171305 + aeson base base64 bytestring doctest exceptions hashable hspec 171306 + http-client http-client-tls retry SHA text time 171307 + unordered-containers 171308 + ]; 171309 + description = "A matrix client library"; 171310 + license = lib.licenses.asl20; 171311 + maintainers = with lib.maintainers; [ maralorn ]; 171312 + }) {}; 171313 + 171137 171314 "matrix-lens" = callPackage 171138 171315 ({ mkDerivation, base, hedgehog, lens, matrix, tasty 171139 171316 , tasty-discover, tasty-hedgehog, tasty-hspec, vector ··· 172903 173080 }) {}; 172904 173081 172905 173082 "merkle-log" = callPackage 172906 - ({ mkDerivation, base, bytestring, cereal, criterion, cryptonite 172907 - , deepseq, exceptions, hash-tree, memory, merkle-tree, mwc-random 172908 - , QuickCheck, random, random-bytestring, text 173083 + ({ mkDerivation, base, bytestring, criterion, cryptonite, deepseq 173084 + , exceptions, hash-tree, memory, mwc-random, QuickCheck, random 173085 + , random-bytestring, text 172909 173086 }: 172910 173087 mkDerivation { 172911 173088 pname = "merkle-log"; 172912 - version = "0.1.0.0"; 172913 - sha256 = "07q0ifgwq8agwm62k1k83sdrln4zbj6ln90nw9p9g3pgxnp3inia"; 172914 - revision = "1"; 172915 - editedCabalFile = "1vrzsflvmx0mrsdb7i7pbz4d74k6yjccrb7979yw0r91qhmzlcir"; 173089 + version = "0.1.1"; 173090 + sha256 = "17a6s9xbv460289avbwdnf8c4vhw9qzj5xddxvfmnjjwp58qxvj1"; 172916 173091 libraryHaskellDepends = [ 172917 173092 base bytestring cryptonite deepseq exceptions memory text 172918 173093 ]; ··· 172920 173095 base bytestring cryptonite deepseq exceptions memory QuickCheck 172921 173096 ]; 172922 173097 benchmarkHaskellDepends = [ 172923 - base bytestring cereal criterion cryptonite deepseq hash-tree 172924 - memory merkle-tree mwc-random QuickCheck random random-bytestring 173098 + base bytestring criterion cryptonite deepseq hash-tree memory 173099 + mwc-random QuickCheck random random-bytestring 172925 173100 ]; 172926 173101 description = "Merkle Tree Logs"; 172927 173102 license = lib.licenses.bsd3; ··· 173594 173769 }) {}; 173595 173770 173596 173771 "microformats2-parser" = callPackage 173597 - ({ mkDerivation, aeson, aeson-pretty, aeson-qq, attoparsec, base 173598 - , base-compat, blaze-html, blaze-markup, bytestring, containers 173599 - , data-default, either, errors, hspec 173600 - , hspec-expectations-pretty-diff, html-conduit, lens-aeson, mtl 173601 - , network, network-uri, options, pcre-heavy, raw-strings-qq, safe 173602 - , scotty, tagsoup, template-haskell, text, time, transformers 173603 - , unordered-containers, vector, wai-cli, wai-extra, xml-lens 173604 - , xss-sanitize 173772 + ({ mkDerivation, aeson, aeson-pretty, aeson-qq, attoparsec 173773 + , aws-lambda-haskell-runtime, aws-lambda-haskell-runtime-wai, base 173774 + , base-compat, blaze-html, blaze-markup, bytestring 173775 + , case-insensitive, containers, data-default, either, errors 173776 + , githash, hspec, hspec-expectations-pretty-diff, html-conduit 173777 + , lens, lens-aeson, mtl, network, network-uri, options, pcre-heavy 173778 + , raw-strings-qq, safe, scotty, tagsoup, template-haskell, text 173779 + , time, transformers, unordered-containers, vector, wai, wai-cli 173780 + , wai-extra, xml-lens, xss-sanitize 173605 173781 }: 173606 173782 mkDerivation { 173607 173783 pname = "microformats2-parser"; 173608 - version = "1.0.1.9"; 173609 - sha256 = "1lxbw825yg16nmflf93l1sy6mxa3dnd7a5mdalc034brsnf1vish"; 173784 + version = "1.0.2.0"; 173785 + sha256 = "1vrw60az8jb3m9kk2vsn1v5l68jmwxsfw3p7lfwl9a8d4gk5m1gp"; 173610 173786 isLibrary = true; 173611 173787 isExecutable = true; 173612 173788 libraryHaskellDepends = [ 173613 173789 aeson aeson-qq attoparsec base base-compat blaze-markup bytestring 173614 - containers data-default either errors html-conduit lens-aeson 173615 - network-uri pcre-heavy safe tagsoup text time transformers 173616 - unordered-containers vector xml-lens xss-sanitize 173790 + case-insensitive containers data-default either errors html-conduit 173791 + lens lens-aeson network-uri pcre-heavy safe tagsoup text time 173792 + transformers unordered-containers vector xml-lens xss-sanitize 173617 173793 ]; 173618 173794 executableHaskellDepends = [ 173619 - aeson aeson-pretty base base-compat blaze-html blaze-markup 173620 - data-default network network-uri options scotty text wai-cli 173621 - wai-extra 173795 + aeson aeson-pretty aws-lambda-haskell-runtime 173796 + aws-lambda-haskell-runtime-wai base base-compat blaze-html 173797 + blaze-markup data-default githash network network-uri options 173798 + scotty text wai wai-cli wai-extra 173622 173799 ]; 173623 173800 testHaskellDepends = [ 173624 173801 aeson-qq base base-compat bytestring data-default hspec ··· 173628 173805 description = "A Microformats 2 parser"; 173629 173806 license = lib.licenses.publicDomain; 173630 173807 hydraPlatforms = lib.platforms.none; 173808 + broken = true; 173631 173809 }) {}; 173632 173810 173633 173811 "microformats2-types" = callPackage ··· 189008 189186 pname = "nvim-hs"; 189009 189187 version = "2.1.0.4"; 189010 189188 sha256 = "0bg94adja6xvzlv1x849nrfpb0i5mjbp19f9cwhaa4iw1qs532rf"; 189011 - revision = "1"; 189012 - editedCabalFile = "0yzdq8nxf2n7n4ns6frgl5nhgb3vj3nkh7336mz994iydam17wcl"; 189189 + revision = "2"; 189190 + editedCabalFile = "0bd90ndkk4lll4rvr87b9vil2h8jlchkh1fag1nrhj90lnczgpnl"; 189013 189191 libraryHaskellDepends = [ 189014 189192 base bytestring cereal cereal-conduit conduit containers 189015 189193 data-default deepseq foreign-store hslogger megaparsec messagepack ··· 189031 189209 testToolDepends = [ hspec-discover ]; 189032 189210 description = "Haskell plugin backend for neovim"; 189033 189211 license = lib.licenses.asl20; 189212 + }) {}; 189213 + 189214 + "nvim-hs_2_1_0_5" = callPackage 189215 + ({ mkDerivation, base, bytestring, cereal, cereal-conduit, conduit 189216 + , containers, data-default, deepseq, foreign-store, hslogger, hspec 189217 + , hspec-discover, HUnit, megaparsec, messagepack, mtl, network 189218 + , optparse-applicative, path, path-io, prettyprinter 189219 + , prettyprinter-ansi-terminal, QuickCheck, resourcet, stm 189220 + , streaming-commons, template-haskell, text, time 189221 + , time-locale-compat, transformers, transformers-base 189222 + , typed-process, unliftio, unliftio-core, utf8-string, vector, void 189223 + }: 189224 + mkDerivation { 189225 + pname = "nvim-hs"; 189226 + version = "2.1.0.5"; 189227 + sha256 = "11ld5bgrica3ma54f7x37hcbcl0ms3x6gi0326by3jsnskxplz0z"; 189228 + libraryHaskellDepends = [ 189229 + base bytestring cereal cereal-conduit conduit containers 189230 + data-default deepseq foreign-store hslogger megaparsec messagepack 189231 + mtl network optparse-applicative path path-io prettyprinter 189232 + prettyprinter-ansi-terminal resourcet stm streaming-commons 189233 + template-haskell text time time-locale-compat transformers 189234 + transformers-base typed-process unliftio unliftio-core utf8-string 189235 + vector void 189236 + ]; 189237 + testHaskellDepends = [ 189238 + base bytestring cereal cereal-conduit conduit containers 189239 + data-default foreign-store hslogger hspec hspec-discover HUnit 189240 + megaparsec messagepack mtl network optparse-applicative path 189241 + path-io prettyprinter prettyprinter-ansi-terminal QuickCheck 189242 + resourcet stm streaming-commons template-haskell text time 189243 + time-locale-compat transformers transformers-base typed-process 189244 + unliftio unliftio-core utf8-string vector 189245 + ]; 189246 + testToolDepends = [ hspec-discover ]; 189247 + description = "Haskell plugin backend for neovim"; 189248 + license = lib.licenses.asl20; 189249 + hydraPlatforms = lib.platforms.none; 189034 189250 }) {}; 189035 189251 189036 189252 "nvim-hs-contrib" = callPackage ··· 192465 192681 }) {}; 192466 192682 192467 192683 "optparse-declarative" = callPackage 192468 - ({ mkDerivation, base, mtl }: 192684 + ({ mkDerivation, base, exceptions, mtl }: 192469 192685 mkDerivation { 192470 192686 pname = "optparse-declarative"; 192471 - version = "0.4.1"; 192472 - sha256 = "0paa7r64y0nb9yv3x387pdid68lnc1gn2m28kcli55dvh1x4wwxr"; 192473 - libraryHaskellDepends = [ base mtl ]; 192687 + version = "0.4.2"; 192688 + sha256 = "0a8b4aa5zvj36nj81kfylxcqfp9ahi5lnak61wvwv9bw68r2a2jn"; 192689 + libraryHaskellDepends = [ base exceptions mtl ]; 192474 192690 description = "Declarative command line option parser"; 192475 192691 license = lib.licenses.mit; 192476 192692 }) {}; ··· 192539 192755 testHaskellDepends = [ base bytestring directory ]; 192540 192756 description = "Simple interface to optparse-applicative"; 192541 192757 license = lib.licenses.bsd3; 192758 + }) {}; 192759 + 192760 + "optparse-simple_0_1_1_4" = callPackage 192761 + ({ mkDerivation, base, bytestring, directory, githash 192762 + , optparse-applicative, template-haskell, th-compat, transformers 192763 + }: 192764 + mkDerivation { 192765 + pname = "optparse-simple"; 192766 + version = "0.1.1.4"; 192767 + sha256 = "0y3qgab8csiwyv60cnpzpv65n3c0ikvdx5b5mfkfahkv8xfdh08x"; 192768 + isLibrary = true; 192769 + isExecutable = true; 192770 + libraryHaskellDepends = [ 192771 + base githash optparse-applicative template-haskell th-compat 192772 + transformers 192773 + ]; 192774 + testHaskellDepends = [ base bytestring directory ]; 192775 + description = "Simple interface to optparse-applicative"; 192776 + license = lib.licenses.bsd3; 192777 + hydraPlatforms = lib.platforms.none; 192542 192778 }) {}; 192543 192779 192544 192780 "optparse-text" = callPackage ··· 194186 194422 maintainers = with lib.maintainers; [ peti ]; 194187 194423 }) {}; 194188 194424 194425 + "pandoc_2_14_0_3" = callPackage 194426 + ({ mkDerivation, aeson, aeson-pretty, array, attoparsec, base 194427 + , base64-bytestring, binary, blaze-html, blaze-markup, bytestring 194428 + , case-insensitive, citeproc, commonmark, commonmark-extensions 194429 + , commonmark-pandoc, connection, containers, data-default, deepseq 194430 + , Diff, directory, doclayout, doctemplates, emojis, exceptions 194431 + , file-embed, filepath, Glob, haddock-library, hslua 194432 + , hslua-module-path, hslua-module-system, hslua-module-text, HsYAML 194433 + , HTTP, http-client, http-client-tls, http-types, ipynb 194434 + , jira-wiki-markup, JuicyPixels, mtl, network, network-uri 194435 + , pandoc-types, parsec, process, QuickCheck, random, safe 194436 + , scientific, SHA, skylighting, skylighting-core, split, syb 194437 + , tagsoup, tasty, tasty-bench, tasty-golden, tasty-hunit, tasty-lua 194438 + , tasty-quickcheck, temporary, texmath, text, text-conversions 194439 + , time, unicode-collation, unicode-transforms, unix 194440 + , unordered-containers, xml, xml-conduit, zip-archive, zlib 194441 + }: 194442 + mkDerivation { 194443 + pname = "pandoc"; 194444 + version = "2.14.0.3"; 194445 + sha256 = "1pgd6125mrvzj2faxbsfmackb7kchzcr6bjkrwqbyn9hzxdzbqw2"; 194446 + configureFlags = [ "-fhttps" "-f-trypandoc" ]; 194447 + isLibrary = true; 194448 + isExecutable = true; 194449 + enableSeparateDataOutput = true; 194450 + libraryHaskellDepends = [ 194451 + "jira-wiki-markup" = callPackage 194452 + blaze-html blaze-markup bytestring case-insensitive citeproc 194453 + commonmark commonmark-extensions commonmark-pandoc connection 194454 + containers data-default deepseq directory doclayout doctemplates 194455 + emojis exceptions file-embed filepath Glob haddock-library hslua 194456 + hslua-module-path hslua-module-system hslua-module-text HsYAML HTTP 194457 + http-client http-client-tls http-types ipynb jira-wiki-markup 194458 + JuicyPixels mtl network network-uri pandoc-types parsec process 194459 + random safe scientific SHA skylighting skylighting-core split syb 194460 + tagsoup temporary texmath text text-conversions time 194461 + unicode-collation unicode-transforms unix unordered-containers xml 194462 + xml-conduit zip-archive zlib 194463 + ]; 194464 + executableHaskellDepends = [ base ]; 194465 + testHaskellDepends = [ 194466 + base bytestring containers Diff directory doctemplates exceptions 194467 + filepath Glob hslua mtl pandoc-types process QuickCheck tasty 194468 + tasty-golden tasty-hunit tasty-lua tasty-quickcheck text time xml 194469 + zip-archive 194470 + ]; 194471 + benchmarkHaskellDepends = [ 194472 + base bytestring containers deepseq mtl tasty-bench text time 194473 + ]; 194474 + postInstall = '' 194475 + mkdir -p $out/share/man/man1 194476 + mv "man/"*.1 $out/share/man/man1/ 194477 + ''; 194478 + description = "Conversion between markup formats"; 194479 + license = lib.licenses.gpl2Plus; 194480 + hydraPlatforms = lib.platforms.none; 194481 + maintainers = with lib.maintainers; [ peti ]; 194482 + }) {}; 194483 + 194189 194484 "pandoc-citeproc" = callPackage 194190 194485 ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring 194191 194486 , Cabal, containers, data-default, directory, filepath, hs-bibutils ··· 196066 196361 ({ mkDerivation, base }: 196067 196362 mkDerivation { 196068 196363 pname = "parsec1"; 196069 - version = "1.0.0.7"; 196070 - sha256 = "1v9kq4g378v8pkj8ldpqwh9dwlng5idbxqqb8ywmzdjnglih34rf"; 196364 + version = "1.0.0.8"; 196365 + sha256 = "02zagbrn4w6gjl9awh4si5b6ia14p4rx22cssd03zx4ddb8kcwf7"; 196071 196366 libraryHaskellDepends = [ base ]; 196072 196367 description = "Portable monadic parser combinators"; 196073 196368 license = lib.licenses.bsd3; ··· 199002 199297 maintainers = with lib.maintainers; [ psibi ]; 199003 199298 }) {}; 199004 199299 199005 - "persistent_2_13_0_3" = callPackage 199300 + "persistent_2_13_0_4" = callPackage 199006 199301 ({ mkDerivation, aeson, attoparsec, base, base64-bytestring 199007 199302 , blaze-html, bytestring, conduit, containers, criterion, deepseq 199008 199303 , fast-logger, file-embed, hspec, http-api-data, lift-type ··· 199013 199308 }: 199014 199309 mkDerivation { 199015 199310 pname = "persistent"; 199016 - version = "2.13.0.3"; 199017 - sha256 = "0jlrkyy10cz6rq47r75q9l5ycyrdjwxs810x7v5ijrimdd9cv24d"; 199311 + version = "2.13.0.4"; 199312 + sha256 = "04q4x50p2jpsp7fzrb61rs225hnrl8n1khmdvf0z6inkwq462w6a"; 199018 199313 libraryHaskellDepends = [ 199019 199314 aeson attoparsec base base64-bytestring blaze-html bytestring 199020 199315 conduit containers fast-logger http-api-data lift-type monad-logger ··· 203390 203685 ]; 203391 203686 description = "run a subprocess, combining stdout and stderr"; 203392 203687 license = lib.licenses.mit; 203688 + hydraPlatforms = lib.platforms.none; 203689 + broken = true; 203393 203690 }) {}; 203394 203691 203395 203692 "plist" = callPackage ··· 203588 203885 }: 203589 203886 mkDerivation { 203590 203887 pname = "ploterific"; 203591 - version = "0.2.1.2"; 203592 - sha256 = "1ywg09amxngan23c5724c5s2s79yhynqha6c5xivg1ls58nc7yk5"; 203888 + version = "0.2.1.3"; 203889 + sha256 = "0ggi653hjg9s3v9zqsapm3ryb37hfdbw21pznhsvzhyy3n0fv7jv"; 203593 203890 isLibrary = true; 203594 203891 isExecutable = true; 203595 203892 libraryHaskellDepends = [ ··· 204883 205180 hydraPlatforms = lib.platforms.none; 204884 205181 }) {}; 204885 205182 205183 + "polysemy-readline" = callPackage 205184 + ({ mkDerivation, base, exceptions, haskeline, polysemy 205185 + , polysemy-plugin 205186 + }: 205187 + mkDerivation { 205188 + pname = "polysemy-readline"; 205189 + version = "0.1.0.0"; 205190 + sha256 = "19nic0n5k3r5qbmhnrzwrkncj61ba43qmg86mx0y190mvx540yz1"; 205191 + libraryHaskellDepends = [ 205192 + base exceptions haskeline polysemy polysemy-plugin 205193 + ]; 205194 + testHaskellDepends = [ 205195 + base exceptions haskeline polysemy polysemy-plugin 205196 + ]; 205197 + description = "Readline effect for polysemy"; 205198 + license = lib.licenses.bsd2; 205199 + hydraPlatforms = lib.platforms.none; 205200 + }) {}; 205201 + 204886 205202 "polysemy-resume" = callPackage 204887 205203 ({ mkDerivation, base, hedgehog, polysemy, polysemy-plugin 204888 205204 , polysemy-test, relude, tasty, tasty-hedgehog, text, transformers ··· 216627 216943 , filepath, hashable, html-entities, http-conduit, HUnit 216628 216944 , lifted-base, mmorph, mtl, network-uri, parsec, parsers 216629 216945 , QuickCheck, safe, selective, tasty, tasty-hunit, tasty-quickcheck 216630 - , text, unordered-containers, xeno 216946 + , template-haskell, temporary, text, unordered-containers, xeno 216631 216947 }: 216632 216948 mkDerivation { 216633 216949 pname = "rdf4h"; 216634 - version = "4.0.2"; 216635 - sha256 = "1gkz1i1v2509aa5c9jp2lgmsnnsr7d1314gq3xmcs21dfgf7xibw"; 216950 + version = "5.0.1"; 216951 + sha256 = "0i6sza600fzrk92pp9qc4ji361js5adg7ijf30hb9fdl854hjgk9"; 216636 216952 isLibrary = true; 216637 216953 isExecutable = true; 216638 216954 libraryHaskellDepends = [ 216639 216955 algebraic-graphs attoparsec base binary bytestring containers 216640 216956 deepseq exceptions filepath hashable html-entities http-conduit 216641 - lifted-base mmorph mtl network-uri parsec parsers selective text 216642 - unordered-containers xeno 216957 + lifted-base mmorph mtl network-uri parsec parsers selective 216958 + template-haskell text unordered-containers xeno 216643 216959 ]; 216644 216960 executableHaskellDepends = [ base containers text ]; 216645 216961 testHaskellDepends = [ 216646 - base containers directory filepath HUnit QuickCheck safe tasty 216647 - tasty-hunit tasty-quickcheck text 216962 + base bytestring containers directory filepath HUnit QuickCheck safe 216963 + tasty tasty-hunit tasty-quickcheck temporary text 216648 216964 ]; 216649 216965 benchmarkHaskellDepends = [ base criterion deepseq text ]; 216650 216966 description = "A library for RDF processing in Haskell"; ··· 222901 223217 description = "Robert Fischer's Common library"; 222902 223218 license = lib.licenses.bsd3; 222903 223219 hydraPlatforms = lib.platforms.none; 223220 + broken = true; 222904 223221 }) {}; 222905 223222 222906 223223 "rfc-env" = callPackage ··· 223672 223989 }: 223673 223990 mkDerivation { 223674 223991 pname = "rio-process-pool"; 223675 - version = "1.0.0"; 223676 - sha256 = "09v95wyrsa6yg5q5zaf9gqmn2xhh1i1q2mmxq52xhpc8pqwj93b9"; 223992 + version = "1.0.1"; 223993 + sha256 = "1r3w7p9yf2k2czdwm739y191x25ravbsn948wwgqxsqamsqs7l18"; 223677 223994 isLibrary = true; 223678 223995 isExecutable = true; 223679 223996 libraryHaskellDepends = [ ··· 231552 231869 testToolDepends = [ hspec-discover ]; 231553 231870 description = "A family of combinators for defining webservices APIs"; 231554 231871 license = lib.licenses.bsd3; 231872 + }) {}; 231873 + 231874 + "servant_0_18_3" = callPackage 231875 + ({ mkDerivation, aeson, attoparsec, base, base-compat, bifunctors 231876 + , bytestring, case-insensitive, deepseq, hspec, hspec-discover 231877 + , http-api-data, http-media, http-types, mmorph, mtl, network-uri 231878 + , QuickCheck, quickcheck-instances, singleton-bool, sop-core 231879 + , string-conversions, tagged, text, transformers, vault 231880 + }: 231881 + mkDerivation { 231882 + pname = "servant"; 231883 + version = "0.18.3"; 231884 + sha256 = "033ykm8l7a9bjcwb3v9d0ljglq1sxpjm1iss7nqakpyxljcg2sxp"; 231885 + libraryHaskellDepends = [ 231886 + aeson attoparsec base base-compat bifunctors bytestring 231887 + case-insensitive deepseq http-api-data http-media http-types mmorph 231888 + mtl network-uri QuickCheck singleton-bool sop-core 231889 + string-conversions tagged text transformers vault 231890 + ]; 231891 + testHaskellDepends = [ 231892 + aeson base base-compat bytestring hspec http-media mtl QuickCheck 231893 + quickcheck-instances string-conversions text transformers 231894 + ]; 231895 + testToolDepends = [ hspec-discover ]; 231896 + description = "A family of combinators for defining webservices APIs"; 231897 + license = lib.licenses.bsd3; 231898 + hydraPlatforms = lib.platforms.none; 231555 231899 }) {}; 231556 231900 231557 231901 "servant-JuicyPixels" = callPackage ··· 231560 231904 }: 231561 231905 mkDerivation { 231562 231906 pname = "servant-JuicyPixels"; 231563 - version = "0.3.0.6"; 231564 - sha256 = "16bdlgrz71h03lr2xcd2isclfzgr9h2xdl5lbnbs0v1czaxx7m6h"; 231907 + version = "0.3.1.0"; 231908 + sha256 = "1mi9b84myy3sg35xxrna5pwjwkn51v0xsd300ssvy8xaj4k96wjk"; 231565 231909 isLibrary = true; 231566 231910 isExecutable = true; 231567 231911 libraryHaskellDepends = [ ··· 231611 231955 pname = "servant-auth"; 231612 231956 version = "0.4.0.0"; 231613 231957 sha256 = "0v2g80kakjwpws92bk3anzy4k8vgxq99y7g3ib4amc5x6kxcmjh1"; 231614 - revision = "2"; 231615 - editedCabalFile = "0mbx44l1jnvfvppv6diiixqx5rdkb68djxl36m5sd12qz6rqmcx0"; 231958 + revision = "3"; 231959 + editedCabalFile = "1hq0mz4fm2f6v57jzyahk5wfip285v3yh20dawvmwdh7wq6104zr"; 231616 231960 libraryHaskellDepends = [ 231617 231961 aeson base jose lens servant text unordered-containers 231618 231962 ]; ··· 231631 231975 pname = "servant-auth-client"; 231632 231976 version = "0.4.1.0"; 231633 231977 sha256 = "16rmwdrx0qyqa821ipayczzl3gv8gvqgx8k9q8qaw19w87hwkh83"; 231634 - revision = "1"; 231635 - editedCabalFile = "0q7bazq4ilijclpz23fshpjcspnrfalh7jhqi5gg03m00wwibn4n"; 231978 + revision = "2"; 231979 + editedCabalFile = "0mq9nhrlh44jxkngj06pasrrjzv5193lj6d2szprnncgrk36zi31"; 231636 231980 libraryHaskellDepends = [ 231637 231981 base bytestring containers servant servant-auth servant-client-core 231638 231982 ]; ··· 231687 232031 pname = "servant-auth-docs"; 231688 232032 version = "0.2.10.0"; 231689 232033 sha256 = "0j1ynnrb6plrhpb2vzs2p7a9jb41llp0j1jwgap7hjhkwhyc7wxd"; 231690 - revision = "7"; 231691 - editedCabalFile = "10178ahxq36l9mik7dcn1c1f97fpp8b4r7xiqwiv21llp95s7cqp"; 232034 + revision = "8"; 232035 + editedCabalFile = "01mb003lajxs1x82k20dbnxzdvxdla51vi4dh4f0a1xycvyhfpyi"; 231692 232036 setupHaskellDepends = [ base Cabal cabal-doctest ]; 231693 232037 libraryHaskellDepends = [ 231694 232038 base lens servant servant-auth servant-docs text ··· 231753 232097 pname = "servant-auth-server"; 231754 232098 version = "0.4.6.0"; 231755 232099 sha256 = "0isl9pzzhfbs8pgh3qr2vbgfp0bh741dfa59sq7n3cmbkc6ndpkk"; 231756 - revision = "2"; 231757 - editedCabalFile = "1vf0mnbq0wmwha3aa2fn593dwibaw00l4agspgvchx7574jyr5wp"; 232100 + revision = "3"; 232101 + editedCabalFile = "0iasfns12wab45hf4qkwm5bx1z63ass9n5sh926wnn82g1v6qdyw"; 231758 232102 libraryHaskellDepends = [ 231759 232103 aeson base base64-bytestring blaze-builder bytestring 231760 232104 case-insensitive cookie data-default-class entropy http-types jose ··· 231779 232123 pname = "servant-auth-swagger"; 231780 232124 version = "0.2.10.1"; 231781 232125 sha256 = "029nvb4wxwl98ah26bgcq1b7izrnvssxwn1682liimvsh4a8bady"; 231782 - revision = "2"; 231783 - editedCabalFile = "0b8fawx2wv9zshn9i4abnwy4lgf3fkhbhm8bhfpgm9d867dx21y4"; 232126 + revision = "3"; 232127 + editedCabalFile = "1hkszdp7c7c34b2yp2gb7khzlzq8iw5ma066r30kq2nw5jj895k0"; 231784 232128 libraryHaskellDepends = [ 231785 232129 base lens servant servant-auth servant-swagger swagger2 text 231786 232130 ]; ··· 232110 232454 testToolDepends = [ hspec-discover markdown-unlit ]; 232111 232455 description = "Automatic derivation of querying functions for servant"; 232112 232456 license = lib.licenses.bsd3; 232457 + }) {}; 232458 + 232459 + "servant-client_0_18_3" = callPackage 232460 + ({ mkDerivation, aeson, base, base-compat, bytestring, containers 232461 + , deepseq, entropy, exceptions, hspec, hspec-discover 232462 + , http-api-data, http-client, http-media, http-types, HUnit 232463 + , kan-extensions, markdown-unlit, monad-control, mtl, network 232464 + , QuickCheck, semigroupoids, servant, servant-client-core 232465 + , servant-server, sop-core, stm, tdigest, text, time, transformers 232466 + , transformers-base, transformers-compat, wai, warp 232467 + }: 232468 + mkDerivation { 232469 + pname = "servant-client"; 232470 + version = "0.18.3"; 232471 + sha256 = "0ddn7x9z2znkkyn6l2x6a85vq673q4vppr0q9n56ibvl3k3saxj0"; 232472 + libraryHaskellDepends = [ 232473 + base base-compat bytestring containers deepseq exceptions 232474 + http-client http-media http-types kan-extensions monad-control mtl 232475 + semigroupoids servant servant-client-core stm text time 232476 + transformers transformers-base transformers-compat 232477 + ]; 232478 + testHaskellDepends = [ 232479 + aeson base base-compat bytestring entropy hspec http-api-data 232480 + http-client http-types HUnit kan-extensions markdown-unlit mtl 232481 + network QuickCheck servant servant-client-core servant-server 232482 + sop-core stm tdigest text transformers transformers-compat wai warp 232483 + ]; 232484 + testToolDepends = [ hspec-discover markdown-unlit ]; 232485 + description = "Automatic derivation of querying functions for servant"; 232486 + license = lib.licenses.bsd3; 232487 + hydraPlatforms = lib.platforms.none; 232113 232488 }) {}; 232114 232489 232115 232490 "servant-client-core" = callPackage ··· 232135 232510 license = lib.licenses.bsd3; 232136 232511 }) {}; 232137 232512 232513 + "servant-client-core_0_18_3" = callPackage 232514 + ({ mkDerivation, aeson, base, base-compat, base64-bytestring 232515 + , bytestring, containers, deepseq, exceptions, free, hspec 232516 + , hspec-discover, http-media, http-types, network-uri, QuickCheck 232517 + , safe, servant, sop-core, template-haskell, text, transformers 232518 + }: 232519 + mkDerivation { 232520 + pname = "servant-client-core"; 232521 + version = "0.18.3"; 232522 + sha256 = "1iln4axymmmk3ib0wxmpzjgq16lip8nz7xich3ysgzx6g2n15xsd"; 232523 + libraryHaskellDepends = [ 232524 + aeson base base-compat base64-bytestring bytestring containers 232525 + deepseq exceptions free http-media http-types network-uri safe 232526 + servant sop-core template-haskell text transformers 232527 + ]; 232528 + testHaskellDepends = [ base base-compat deepseq hspec QuickCheck ]; 232529 + testToolDepends = [ hspec-discover ]; 232530 + description = "Core functionality and class for client function generation for servant APIs"; 232531 + license = lib.licenses.bsd3; 232532 + hydraPlatforms = lib.platforms.none; 232533 + }) {}; 232534 + 232138 232535 "servant-client-js" = callPackage 232139 232536 ({ mkDerivation, base, binary, bytestring, case-insensitive 232140 232537 , containers, exceptions, http-media, http-types, jsaddle ··· 232187 232584 pname = "servant-conduit"; 232188 232585 version = "0.15.1"; 232189 232586 sha256 = "1vy3ihypb0zm2yd16rq120qw3898i3c0mahh2jysssv65g0avdwp"; 232587 + revision = "1"; 232588 + editedCabalFile = "0j7jrwyj6vnfr8wyyzjjm6gakx401aylrq8shc2y9ciy0mhf8lrv"; 232190 232589 libraryHaskellDepends = [ 232191 232590 base bytestring conduit mtl resourcet servant unliftio-core 232192 232591 ]; ··· 232308 232707 ]; 232309 232708 description = "generate API docs for your servant webservice"; 232310 232709 license = lib.licenses.bsd3; 232710 + }) {}; 232711 + 232712 + "servant-docs_0_11_9" = callPackage 232713 + ({ mkDerivation, aeson, aeson-pretty, base, base-compat, bytestring 232714 + , case-insensitive, hashable, http-media, http-types, lens, servant 232715 + , string-conversions, tasty, tasty-golden, tasty-hunit, text 232716 + , transformers, universe-base, unordered-containers 232717 + }: 232718 + mkDerivation { 232719 + pname = "servant-docs"; 232720 + version = "0.11.9"; 232721 + sha256 = "0ynjyyxlzb2j5d92rryqqa97rp16582mbmvnv7syczha5ziq24nk"; 232722 + isLibrary = true; 232723 + isExecutable = true; 232724 + libraryHaskellDepends = [ 232725 + aeson aeson-pretty base base-compat bytestring case-insensitive 232726 + hashable http-media http-types lens servant string-conversions text 232727 + universe-base unordered-containers 232728 + ]; 232729 + executableHaskellDepends = [ 232730 + aeson base lens servant string-conversions text 232731 + ]; 232732 + testHaskellDepends = [ 232733 + aeson base base-compat lens servant string-conversions tasty 232734 + tasty-golden tasty-hunit transformers 232735 + ]; 232736 + description = "generate API docs for your servant webservice"; 232737 + license = lib.licenses.bsd3; 232738 + hydraPlatforms = lib.platforms.none; 232311 232739 }) {}; 232312 232740 232313 232741 "servant-docs-simple" = callPackage ··· 232552 232980 license = lib.licenses.bsd3; 232553 232981 }) {}; 232554 232982 232983 + "servant-foreign_0_15_4" = callPackage 232984 + ({ mkDerivation, base, base-compat, hspec, hspec-discover 232985 + , http-types, lens, servant, text 232986 + }: 232987 + mkDerivation { 232988 + pname = "servant-foreign"; 232989 + version = "0.15.4"; 232990 + sha256 = "0bznb73rbgfgkg7n4pxghkqsfca0yw9vak73c6w8sqvc2mjnc7mz"; 232991 + libraryHaskellDepends = [ 232992 + base base-compat http-types lens servant text 232993 + ]; 232994 + testHaskellDepends = [ base hspec servant ]; 232995 + testToolDepends = [ hspec-discover ]; 232996 + description = "Helpers for generating clients for servant APIs in any programming language"; 232997 + license = lib.licenses.bsd3; 232998 + hydraPlatforms = lib.platforms.none; 232999 + }) {}; 233000 + 232555 233001 "servant-gdp" = callPackage 232556 233002 ({ mkDerivation, aeson, base, gdp, servant-server, text }: 232557 233003 mkDerivation { ··· 232737 233183 broken = true; 232738 233184 }) {}; 232739 233185 233186 + "servant-http-streams_0_18_3" = callPackage 233187 + ({ mkDerivation, aeson, base, base-compat, bytestring 233188 + , case-insensitive, containers, deepseq, entropy, exceptions, hspec 233189 + , hspec-discover, http-api-data, http-common, http-media 233190 + , http-streams, http-types, HUnit, io-streams, kan-extensions 233191 + , markdown-unlit, monad-control, mtl, network, QuickCheck 233192 + , semigroupoids, servant, servant-client-core, servant-server, stm 233193 + , tdigest, text, time, transformers, transformers-base 233194 + , transformers-compat, wai, warp 233195 + }: 233196 + mkDerivation { 233197 + pname = "servant-http-streams"; 233198 + version = "0.18.3"; 233199 + sha256 = "0cc4qmbzq4n1yp5yfg76w1skkksh13qlbza9i2pgsxa9sc39s5fa"; 233200 + libraryHaskellDepends = [ 233201 + base base-compat bytestring case-insensitive containers deepseq 233202 + exceptions http-common http-media http-streams http-types 233203 + io-streams kan-extensions monad-control mtl semigroupoids servant 233204 + servant-client-core text time transformers transformers-base 233205 + transformers-compat 233206 + ]; 233207 + testHaskellDepends = [ 233208 + aeson base base-compat bytestring deepseq entropy hspec 233209 + http-api-data http-streams http-types HUnit kan-extensions 233210 + markdown-unlit mtl network QuickCheck servant servant-client-core 233211 + servant-server stm tdigest text transformers transformers-compat 233212 + wai warp 233213 + ]; 233214 + testToolDepends = [ hspec-discover markdown-unlit ]; 233215 + description = "Automatic derivation of querying functions for servant"; 233216 + license = lib.licenses.bsd3; 233217 + hydraPlatforms = lib.platforms.none; 233218 + broken = true; 233219 + }) {}; 233220 + 232740 233221 "servant-http2-client" = callPackage 232741 233222 ({ mkDerivation, aeson, async, base, binary, bytestring 232742 233223 , case-insensitive, containers, data-default-class, exceptions ··· 232916 233397 pname = "servant-machines"; 232917 233398 version = "0.15.1"; 232918 233399 sha256 = "0k8abcc72s5bzcf2vmjkxxjnhk45rww6hr3l93msm2510hi6gda4"; 233400 + revision = "1"; 233401 + editedCabalFile = "0zplgs1kqfmnnx8yv8ay594misiamgmvy41b8w1h3mr7n4vrgk8j"; 232919 233402 libraryHaskellDepends = [ base bytestring machines mtl servant ]; 232920 233403 testHaskellDepends = [ 232921 233404 base base-compat bytestring http-client http-media machines servant ··· 233213 233696 license = lib.licenses.bsd3; 233214 233697 }) {}; 233215 233698 233699 + "servant-pipes_0_15_3" = callPackage 233700 + ({ mkDerivation, base, base-compat, bytestring, http-client 233701 + , http-media, monad-control, mtl, pipes, pipes-bytestring 233702 + , pipes-safe, servant, servant-client, servant-server, wai, warp 233703 + }: 233704 + mkDerivation { 233705 + pname = "servant-pipes"; 233706 + version = "0.15.3"; 233707 + sha256 = "1sd01f95rkraa0zdqqg2vwx91zsih0i0hqqkz55nnw9bsbsqhq1n"; 233708 + libraryHaskellDepends = [ 233709 + base bytestring monad-control mtl pipes pipes-safe servant 233710 + ]; 233711 + testHaskellDepends = [ 233712 + base base-compat bytestring http-client http-media pipes 233713 + pipes-bytestring pipes-safe servant servant-client servant-server 233714 + wai warp 233715 + ]; 233716 + description = "Servant Stream support for pipes"; 233717 + license = lib.licenses.bsd3; 233718 + hydraPlatforms = lib.platforms.none; 233719 + }) {}; 233720 + 233216 233721 "servant-polysemy" = callPackage 233217 233722 ({ mkDerivation, base, deepseq, http-client, http-client-tls, lens 233218 233723 , mtl, polysemy, polysemy-plugin, polysemy-zoo, servant ··· 233641 234146 license = lib.licenses.bsd3; 233642 234147 }) {}; 233643 234148 234149 + "servant-server_0_18_3" = callPackage 234150 + ({ mkDerivation, aeson, base, base-compat, base64-bytestring 234151 + , bytestring, containers, directory, exceptions, filepath, hspec 234152 + , hspec-discover, hspec-wai, http-api-data, http-media, http-types 234153 + , monad-control, mtl, network, network-uri, QuickCheck, resourcet 234154 + , safe, servant, should-not-typecheck, sop-core, string-conversions 234155 + , tagged, temporary, text, transformers, transformers-base 234156 + , transformers-compat, wai, wai-app-static, wai-extra, warp, word8 234157 + }: 234158 + mkDerivation { 234159 + pname = "servant-server"; 234160 + version = "0.18.3"; 234161 + sha256 = "1gng0in85as45aprwy19xaqlgmwfx0pkly150d2v96knhbcwsshk"; 234162 + isLibrary = true; 234163 + isExecutable = true; 234164 + libraryHaskellDepends = [ 234165 + base base-compat base64-bytestring bytestring containers exceptions 234166 + filepath http-api-data http-media http-types monad-control mtl 234167 + network network-uri resourcet servant sop-core string-conversions 234168 + tagged text transformers transformers-base wai wai-app-static word8 234169 + ]; 234170 + executableHaskellDepends = [ 234171 + aeson base base-compat servant text wai warp 234172 + ]; 234173 + testHaskellDepends = [ 234174 + aeson base base-compat base64-bytestring bytestring directory hspec 234175 + hspec-wai http-types mtl QuickCheck resourcet safe servant 234176 + should-not-typecheck sop-core string-conversions temporary text 234177 + transformers transformers-compat wai wai-extra 234178 + ]; 234179 + testToolDepends = [ hspec-discover ]; 234180 + description = "A family of combinators for defining webservices APIs and serving them"; 234181 + license = lib.licenses.bsd3; 234182 + hydraPlatforms = lib.platforms.none; 234183 + }) {}; 234184 + 233644 234185 "servant-server-namedargs" = callPackage 233645 234186 ({ mkDerivation, base, bytestring, http-api-data, http-types, named 233646 234187 , servant, servant-namedargs, servant-server, string-conversions ··· 248528 249069 license = lib.licenses.bsd3; 248529 249070 }) {}; 248530 249071 249072 + "streaming-bytestring_0_2_1" = callPackage 249073 + ({ mkDerivation, base, bytestring, deepseq, exceptions, ghc-prim 249074 + , mmorph, mtl, resourcet, smallcheck, streaming, tasty, tasty-hunit 249075 + , tasty-smallcheck, transformers, transformers-base 249076 + }: 249077 + mkDerivation { 249078 + pname = "streaming-bytestring"; 249079 + version = "0.2.1"; 249080 + sha256 = "1yri2g0wx2fila25ang04nsv4i12b4yhwqwcfkkpx1sz8fhzibxy"; 249081 + libraryHaskellDepends = [ 249082 + base bytestring deepseq exceptions ghc-prim mmorph mtl resourcet 249083 + streaming transformers transformers-base 249084 + ]; 249085 + testHaskellDepends = [ 249086 + base bytestring resourcet smallcheck streaming tasty tasty-hunit 249087 + tasty-smallcheck transformers 249088 + ]; 249089 + description = "Fast, effectful byte streams"; 249090 + license = lib.licenses.bsd3; 249091 + hydraPlatforms = lib.platforms.none; 249092 + }) {}; 249093 + 248531 249094 "streaming-cassava" = callPackage 248532 249095 ({ mkDerivation, base, bytestring, cassava, hspec, mtl, QuickCheck 248533 249096 , quickcheck-instances, streaming, streaming-bytestring, text ··· 250074 250637 }: 250075 250638 mkDerivation { 250076 250639 pname = "stripeapi"; 250077 - version = "0.1.0.2"; 250078 - sha256 = "1zls2k2bzrkwcqav8s416gjsc4rp6glb4rv0ljkjab55ym3fkbqq"; 250640 + version = "1.0.0.0"; 250641 + sha256 = "0wg3b08gvkcqinc5r9jcrcfrgw0c3mh57ca5hzcrknddwd23flbj"; 250079 250642 libraryHaskellDepends = [ 250080 250643 aeson base bytestring ghc-prim http-client http-conduit http-types 250081 250644 mtl scientific text time transformers unordered-containers vector ··· 251957 252520 }: 251958 252521 mkDerivation { 251959 252522 pname = "swiss-ephemeris"; 251960 - version = "1.2.1.1"; 251961 - sha256 = "1k584gv36xgj87qbrvcl5w9v8z2k7y4csmz737d5r2a8mvf8sf33"; 252523 + version = "1.3.0.1"; 252524 + sha256 = "1y30qx18ps412r28grlxpfxw3ikirbf3kkxmqwd75ydxp9apn52k"; 251962 252525 libraryHaskellDepends = [ base ]; 251963 252526 testHaskellDepends = [ base directory hspec QuickCheck ]; 251964 252527 testToolDepends = [ hspec-discover ]; 251965 252528 description = "Haskell bindings for the Swiss Ephemeris C library"; 251966 - license = lib.licenses.gpl2Only; 252529 + license = lib.licenses.agpl3Only; 251967 252530 hydraPlatforms = lib.platforms.none; 251968 252531 broken = true; 251969 252532 }) {}; ··· 255452 256015 license = lib.licenses.mit; 255453 256016 }) {}; 255454 256017 256018 + "tasty-bench_0_3" = callPackage 256019 + ({ mkDerivation, base, containers, deepseq, tasty }: 256020 + mkDerivation { 256021 + pname = "tasty-bench"; 256022 + version = "0.3"; 256023 + sha256 = "06c7n1dslxr1m15m8kf35zfn544jm36vk8s3yfrf6h047gd1bs2k"; 256024 + libraryHaskellDepends = [ base containers deepseq tasty ]; 256025 + description = "Featherlight benchmark framework"; 256026 + license = lib.licenses.mit; 256027 + hydraPlatforms = lib.platforms.none; 256028 + }) {}; 256029 + 255455 256030 "tasty-checklist" = callPackage 255456 256031 ({ mkDerivation, base, exceptions, parameterized-utils, tasty 255457 256032 , tasty-expected-failure, tasty-hunit, text ··· 255821 256396 pname = "tasty-json"; 255822 256397 version = "0.1.0.0"; 255823 256398 sha256 = "0k6zzi2w675pghxfv5y6m67n2cv8bb22dq9zgb5yfwycfj3va4bp"; 256399 + revision = "1"; 256400 + editedCabalFile = "0jk27ld4l435nnzc80wg6b46ibmc0cmbb0k3hpp58yxbyldr6xdr"; 255824 256401 libraryHaskellDepends = [ 255825 256402 base bytestring containers stm tagged tasty text 255826 256403 ]; ··· 256206 256783 pname = "tasty-wai"; 256207 256784 version = "0.1.1.1"; 256208 256785 sha256 = "1bnq2mbgv1ksn9sq33dq1q91pzndy7gn61mlnkybk89k0bsw5i7y"; 256209 - revision = "1"; 256210 - editedCabalFile = "033s0aap50r7y3sbxc1jf60lpv66nljwyypc8smyccgiv5l8khzr"; 256786 + revision = "2"; 256787 + editedCabalFile = "13f0rmdyfd8wx9w9d6vj40akskq763gjj89p7dzy6zyaiyllgk64"; 256211 256788 libraryHaskellDepends = [ 256212 256789 base bytestring http-types HUnit tasty wai wai-extra 256213 256790 ]; ··· 257031 257608 license = lib.licenses.mit; 257032 257609 }) {}; 257033 257610 257611 + "template-haskell-compat-v0208_0_1_6" = callPackage 257612 + ({ mkDerivation, base, template-haskell }: 257613 + mkDerivation { 257614 + pname = "template-haskell-compat-v0208"; 257615 + version = "0.1.6"; 257616 + sha256 = "1s2ba86y2r9n4r1dwfg734y3nfqxak560s8srd04kbn623hnrkw8"; 257617 + libraryHaskellDepends = [ base template-haskell ]; 257618 + description = "A backwards compatibility layer for Template Haskell newer than 2.8"; 257619 + license = lib.licenses.mit; 257620 + hydraPlatforms = lib.platforms.none; 257621 + }) {}; 257622 + 257034 257623 "template-haskell-optics" = callPackage 257035 257624 ({ mkDerivation, base, containers, optics-core, template-haskell }: 257036 257625 mkDerivation { ··· 258769 259358 pname = "texrunner"; 258770 259359 version = "0.0.1.2"; 258771 259360 sha256 = "1fxyxwgvn0rxhkl1fs2msr88jqwx5wwfnjsjlcankrwcn7gyk7jy"; 258772 - revision = "2"; 258773 - editedCabalFile = "0zv8xp8z2gx9zjqn1f81hri4hn0bws7cq39g5i2g2axrkm9nwj5q"; 259361 + revision = "3"; 259362 + editedCabalFile = "1l3cpi7yx8jm3653rf3v7midf19i7khc6in75m7zz66124c6i350"; 258774 259363 libraryHaskellDepends = [ 258775 259364 attoparsec base bytestring directory filepath io-streams mtl 258776 259365 process semigroups temporary ··· 266567 267156 license = lib.licenses.mit; 266568 267157 }) {}; 266569 267158 267159 + "ttc_1_1_0_1" = callPackage 267160 + ({ mkDerivation, base, bytestring, tasty, tasty-hunit 267161 + , template-haskell, text 267162 + }: 267163 + mkDerivation { 267164 + pname = "ttc"; 267165 + version = "1.1.0.1"; 267166 + sha256 = "0vngp6md5viz4r57q0qn3pf09ph6kpkzvdigsxmgqcic2ha1a4n1"; 267167 + libraryHaskellDepends = [ base bytestring template-haskell text ]; 267168 + testHaskellDepends = [ 267169 + base bytestring tasty tasty-hunit template-haskell text 267170 + ]; 267171 + description = "Textual Type Classes"; 267172 + license = lib.licenses.mit; 267173 + hydraPlatforms = lib.platforms.none; 267174 + }) {}; 267175 + 266570 267176 "ttl-hashtables" = callPackage 266571 267177 ({ mkDerivation, base, clock, containers, data-default, failable 266572 267178 , hashable, hashtables, hspec, mtl, transformers ··· 267088 267694 ]; 267089 267695 description = "An equational theorem prover"; 267090 267696 license = lib.licenses.bsd3; 267697 + hydraPlatforms = lib.platforms.none; 267698 + broken = true; 267091 267699 }) {}; 267092 267700 267093 267701 "twee-lib" = callPackage ··· 276926 277534 276927 277535 "wai-cli" = callPackage 276928 277536 ({ mkDerivation, ansi-terminal, base, http-types, iproute 276929 - , monads-tf, network, options, socket-activation, stm 276930 - , streaming-commons, unix, wai, wai-extra, warp, warp-tls 277537 + , monads-tf, network, options, stm, streaming-commons, transformers 277538 + , unix, wai, wai-extra, warp, warp-tls 276931 277539 }: 276932 277540 mkDerivation { 276933 277541 pname = "wai-cli"; 276934 - version = "0.2.1"; 276935 - sha256 = "1r4lxbjzb5qzn7y0kanlgm8s9a3j1j93cvs74s2bmcc82ysc3x9f"; 276936 - revision = "1"; 276937 - editedCabalFile = "1h0ip8r0zdm0xzaprfiyfdm40286apyvn6psqnx7pif8acfhpq8m"; 277542 + version = "0.2.3"; 277543 + sha256 = "0fflvxfc9ibkrrgqdsr89gl77b0b706a8g7ylydaqqz6z089qbi3"; 276938 277544 libraryHaskellDepends = [ 276939 - ansi-terminal base http-types iproute monads-tf network options 276940 - socket-activation stm streaming-commons unix wai wai-extra warp 276941 - warp-tls 277545 + ansi-terminal base http-types iproute monads-tf network options stm 277546 + streaming-commons transformers unix wai wai-extra warp warp-tls 276942 277547 ]; 276943 277548 description = "Command line runner for Wai apps (using Warp) with TLS, CGI, socket activation & graceful shutdown"; 276944 277549 license = lib.licenses.publicDomain; 276945 - hydraPlatforms = lib.platforms.none; 276946 277550 }) {}; 276947 277551 276948 277552 "wai-conduit" = callPackage ··· 286307 286911 }: 286308 286912 mkDerivation { 286309 286913 pname = "yaml-unscrambler"; 286310 - version = "0.1.0.2"; 286311 - sha256 = "03wvb5skx41kdmdc6zhydr7zddzyshy2cgk8zmwy26q70z3g01zf"; 286914 + version = "0.1.0.3"; 286915 + sha256 = "1n8q5dsvs6sh2gzs24m49cz5pg1pavn9sma4fk5jizrjrabik4sj"; 286312 286916 libraryHaskellDepends = [ 286313 286917 acc attoparsec attoparsec-data attoparsec-time base base64 286314 286918 bytestring conduit containers foldl hashable libyaml mtl scientific ··· 291303 291907 ({ mkDerivation, base, hspec, Z-Data, Z-IO, zookeeper_mt }: 291304 291908 mkDerivation { 291305 291909 pname = "zoovisitor"; 291306 - version = "0.1.1.1"; 291307 - sha256 = "1mg3wz3drddxdrbr1b0yw5wayzqi99zfdlgiwvgcc5pxb98i6wk3"; 291910 + version = "0.1.2.0"; 291911 + sha256 = "0s0svxa7y7a35jg4f0qq6zdg187c2g1s0f3payd26vpwa6rp8f8k"; 291308 291912 libraryHaskellDepends = [ base Z-Data Z-IO ]; 291309 291913 librarySystemDepends = [ zookeeper_mt ]; 291310 291914 testHaskellDepends = [ base hspec ];
+3 -3
pkgs/servers/monitoring/grafana/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "grafana"; 5 - version = "8.0.3"; 5 + version = "8.0.4"; 6 6 7 7 excludedPackages = [ "release_publisher" ]; 8 8 ··· 10 10 rev = "v${version}"; 11 11 owner = "grafana"; 12 12 repo = "grafana"; 13 - sha256 = "sha256-GGtmsz3c7Q6mEGCJ6cdz2CjOW0ovZZW8j6LMfFgrMZ4="; 13 + sha256 = "sha256-I4TUPni2WDdpsV19nltsaF1PugB5SOtQ9Jb0YzWUwFg="; 14 14 }; 15 15 16 16 srcStatic = fetchurl { 17 17 url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz"; 18 - sha256 = "sha256-2x0FhKinrXAFenJcUDh4Q3RJNBrqixKBNZT7BZNNOj8="; 18 + sha256 = "sha256-GUVnw2kKxVfztvfsNMwRLxPTqRYzbxXzoH2GkmZB2JE="; 19 19 }; 20 20 21 21 vendorSha256 = "sha256-x7sSVIim/TOhMTbnRK/fpgxiSRSO8KwGILTE2i1gU3U=";
+3 -3
pkgs/tools/security/gopass/default.nix
··· 13 13 14 14 buildGoModule rec { 15 15 pname = "gopass"; 16 - version = "1.12.6"; 16 + version = "1.12.7"; 17 17 18 18 nativeBuildInputs = [ installShellFiles makeWrapper ]; 19 19 ··· 21 21 owner = "gopasspw"; 22 22 repo = pname; 23 23 rev = "v${version}"; 24 - sha256 = "17y9indpgqqx261bqvckfqq1q2zciahssaalaa5c5hb6bnw5ls52"; 24 + sha256 = "08mzm03vhc8pqyl17y8dkrcpgy3ckmb84x84b6ap3cja3y8gmj5x"; 25 25 }; 26 26 27 - vendorSha256 = "106rn0bkvzf2fw21f6wpiya88ysj8sfc2zkkm47iqr23d2202i4b"; 27 + vendorSha256 = "0ym6f1h51bj3qlzxs936fz3p47l63nad4xckl16m13iy0k7z5flg"; 28 28 29 29 subPackages = [ "." ]; 30 30