diff --git a/doc/contributing/coding-conventions.chapter.md b/doc/contributing/coding-conventions.chapter.md new file mode 100644 index 00000000000..eccf4f7436e --- /dev/null +++ b/doc/contributing/coding-conventions.chapter.md @@ -0,0 +1,514 @@ +# Coding conventions {#chap-conventions} + +## Syntax {#sec-syntax} + +- Use 2 spaces of indentation per indentation level in Nix expressions, 4 spaces in shell scripts. + +- Do not use tab characters, i.e. configure your editor to use soft tabs. For instance, use `(setq-default indent-tabs-mode nil)` in Emacs. Everybody has different tab settings so it’s asking for trouble. + +- Use `lowerCamelCase` for variable names, not `UpperCamelCase`. Note, this rule does not apply to package attribute names, which instead follow the rules in . + +- Function calls with attribute set arguments are written as + + ```nix + foo { + arg = ...; + } + ``` + + not + + ```nix + foo + { + arg = ...; + } + ``` + + Also fine is + + ```nix + foo { arg = ...; } + ``` + + if it's a short call. + +- In attribute sets or lists that span multiple lines, the attribute names or list elements should be aligned: + + ```nix + # A long list. + list = [ + elem1 + elem2 + elem3 + ]; + + # A long attribute set. + attrs = { + attr1 = short_expr; + attr2 = + if true then big_expr else big_expr; + }; + + # Combined + listOfAttrs = [ + { + attr1 = 3; + attr2 = "fff"; + } + { + attr1 = 5; + attr2 = "ggg"; + } + ]; + ``` + +- Short lists or attribute sets can be written on one line: + + ```nix + # A short list. + list = [ elem1 elem2 elem3 ]; + + # A short set. + attrs = { x = 1280; y = 1024; }; + ``` + +- Breaking in the middle of a function argument can give hard-to-read code, like + + ```nix + someFunction { x = 1280; + y = 1024; } otherArg + yetAnotherArg + ``` + + (especially if the argument is very large, spanning multiple lines). + + Better: + + ```nix + someFunction + { x = 1280; y = 1024; } + otherArg + yetAnotherArg + ``` + + or + + ```nix + let res = { x = 1280; y = 1024; }; + in someFunction res otherArg yetAnotherArg + ``` + +- The bodies of functions, asserts, and withs are not indented to prevent a lot of superfluous indentation levels, i.e. + + ```nix + { arg1, arg2 }: + assert system == "i686-linux"; + stdenv.mkDerivation { ... + ``` + + not + + ```nix + { arg1, arg2 }: + assert system == "i686-linux"; + stdenv.mkDerivation { ... + ``` + +- Function formal arguments are written as: + + ```nix + { arg1, arg2, arg3 }: + ``` + + but if they don't fit on one line they're written as: + + ```nix + { arg1, arg2, arg3 + , arg4, ... + , # Some comment... + argN + }: + ``` + +- Functions should list their expected arguments as precisely as possible. That is, write + + ```nix + { stdenv, fetchurl, perl }: ... + ``` + + instead of + + ```nix + args: with args; ... + ``` + + or + + ```nix + { stdenv, fetchurl, perl, ... }: ... + ``` + + For functions that are truly generic in the number of arguments (such as wrappers around `mkDerivation`) that have some required arguments, you should write them using an `@`-pattern: + + ```nix + { stdenv, doCoverageAnalysis ? false, ... } @ args: + + stdenv.mkDerivation (args // { + ... if doCoverageAnalysis then "bla" else "" ... + }) + ``` + + instead of + + ```nix + args: + + args.stdenv.mkDerivation (args // { + ... if args ? doCoverageAnalysis && args.doCoverageAnalysis then "bla" else "" ... + }) + ``` + +- Arguments should be listed in the order they are used, with the exception of `lib`, which always goes first. + +- Prefer using the top-level `lib` over its alias `stdenv.lib`. `lib` is unrelated to `stdenv`, and so `stdenv.lib` should only be used as a convenience alias when developing to avoid having to modify the function inputs just to test something out. + +## Package naming {#sec-package-naming} + +The key words _must_, _must not_, _required_, _shall_, _shall not_, _should_, _should not_, _recommended_, _may_, and _optional_ in this section are to be interpreted as described in [RFC 2119](https://tools.ietf.org/html/rfc2119). Only _emphasized_ words are to be interpreted in this way. + +In Nixpkgs, there are generally three different names associated with a package: + +- The `name` attribute of the derivation (excluding the version part). This is what most users see, in particular when using `nix-env`. + +- The variable name used for the instantiated package in `all-packages.nix`, and when passing it as a dependency to other functions. Typically this is called the _package attribute name_. This is what Nix expression authors see. It can also be used when installing using `nix-env -iA`. + +- The filename for (the directory containing) the Nix expression. + +Most of the time, these are the same. For instance, the package `e2fsprogs` has a `name` attribute `"e2fsprogs-version"`, is bound to the variable name `e2fsprogs` in `all-packages.nix`, and the Nix expression is in `pkgs/os-specific/linux/e2fsprogs/default.nix`. + +There are a few naming guidelines: + +- The `name` attribute _should_ be identical to the upstream package name. + +- The `name` attribute _must not_ contain uppercase letters — e.g., `"mplayer-1.0rc2"` instead of `"MPlayer-1.0rc2"`. + +- The version part of the `name` attribute _must_ start with a digit (following a dash) — e.g., `"hello-0.3.1rc2"`. + +- If a package is not a release but a commit from a repository, then the version part of the name _must_ be the date of that (fetched) commit. The date _must_ be in `"YYYY-MM-DD"` format. Also append `"unstable"` to the name - e.g., `"pkgname-unstable-2014-09-23"`. + +- Dashes in the package name _should_ be preserved in new variable names, rather than converted to underscores or camel cased — e.g., `http-parser` instead of `http_parser` or `httpParser`. The hyphenated style is preferred in all three package names. + +- If there are multiple versions of a package, this _should_ be reflected in the variable names in `all-packages.nix`, e.g. `json-c-0-9` and `json-c-0-11`. If there is an obvious “default” version, make an attribute like `json-c = json-c-0-9;`. See also + +## File naming and organisation {#sec-organisation} + +Names of files and directories should be in lowercase, with dashes between words — not in camel case. For instance, it should be `all-packages.nix`, not `allPackages.nix` or `AllPackages.nix`. + +### Hierarchy {#sec-hierarchy} + +Each package should be stored in its own directory somewhere in the `pkgs/` tree, i.e. in `pkgs/category/subcategory/.../pkgname`. Below are some rules for picking the right category for a package. Many packages fall under several categories; what matters is the _primary_ purpose of a package. For example, the `libxml2` package builds both a library and some tools; but it’s a library foremost, so it goes under `pkgs/development/libraries`. + +When in doubt, consider refactoring the `pkgs/` tree, e.g. creating new categories or splitting up an existing category. + +**If it’s used to support _software development_:** + +- **If it’s a _library_ used by other packages:** + + - `development/libraries` (e.g. `libxml2`) + +- **If it’s a _compiler_:** + + - `development/compilers` (e.g. `gcc`) + +- **If it’s an _interpreter_:** + + - `development/interpreters` (e.g. `guile`) + +- **If it’s a (set of) development _tool(s)_:** + + - **If it’s a _parser generator_ (including lexers):** + + - `development/tools/parsing` (e.g. `bison`, `flex`) + + - **If it’s a _build manager_:** + + - `development/tools/build-managers` (e.g. `gnumake`) + + - **Else:** + + - `development/tools/misc` (e.g. `binutils`) + +- **Else:** + + - `development/misc` + +**If it’s a (set of) _tool(s)_:** + +(A tool is a relatively small program, especially one intended to be used non-interactively.) + +- **If it’s for _networking_:** + + - `tools/networking` (e.g. `wget`) + +- **If it’s for _text processing_:** + + - `tools/text` (e.g. `diffutils`) + +- **If it’s a _system utility_, i.e., something related or essential to the operation of a system:** + + - `tools/system` (e.g. `cron`) + +- **If it’s an _archiver_ (which may include a compression function):** + + - `tools/archivers` (e.g. `zip`, `tar`) + +- **If it’s a _compression_ program:** + + - `tools/compression` (e.g. `gzip`, `bzip2`) + +- **If it’s a _security_-related program:** + + - `tools/security` (e.g. `nmap`, `gnupg`) + +- **Else:** + + - `tools/misc` + +**If it’s a _shell_:** + +- `shells` (e.g. `bash`) + +**If it’s a _server_:** + +- **If it’s a web server:** + + - `servers/http` (e.g. `apache-httpd`) + +- **If it’s an implementation of the X Windowing System:** + + - `servers/x11` (e.g. `xorg` — this includes the client libraries and programs) + +- **Else:** + + - `servers/misc` + +**If it’s a _desktop environment_:** + +- `desktops` (e.g. `kde`, `gnome`, `enlightenment`) + +**If it’s a _window manager_:** + +- `applications/window-managers` (e.g. `awesome`, `stumpwm`) + +**If it’s an _application_:** + +A (typically large) program with a distinct user interface, primarily used interactively. + +- **If it’s a _version management system_:** + + - `applications/version-management` (e.g. `subversion`) + +- **If it’s a _terminal emulator_:** + + - `applications/terminal-emulators` (e.g. `alacritty` or `rxvt` or `termite`) + +- **If it’s for _video playback / editing_:** + + - `applications/video` (e.g. `vlc`) + +- **If it’s for _graphics viewing / editing_:** + + - `applications/graphics` (e.g. `gimp`) + +- **If it’s for _networking_:** + + - **If it’s a _mailreader_:** + + - `applications/networking/mailreaders` (e.g. `thunderbird`) + + - **If it’s a _newsreader_:** + + - `applications/networking/newsreaders` (e.g. `pan`) + + - **If it’s a _web browser_:** + + - `applications/networking/browsers` (e.g. `firefox`) + + - **Else:** + + - `applications/networking/misc` + +- **Else:** + + - `applications/misc` + +**If it’s _data_ (i.e., does not have a straight-forward executable semantics):** + +- **If it’s a _font_:** + + - `data/fonts` + +- **If it’s an _icon theme_:** + + - `data/icons` + +- **If it’s related to _SGML/XML processing_:** + + - **If it’s an _XML DTD_:** + + - `data/sgml+xml/schemas/xml-dtd` (e.g. `docbook`) + + - **If it’s an _XSLT stylesheet_:** + + (Okay, these are executable...) + + - `data/sgml+xml/stylesheets/xslt` (e.g. `docbook-xsl`) + +- **If it’s a _theme_ for a _desktop environment_, a _window manager_ or a _display manager_:** + + - `data/themes` + +**If it’s a _game_:** + +- `games` + +**Else:** + +- `misc` + +### Versioning {#sec-versioning} + +Because every version of a package in Nixpkgs creates a potential maintenance burden, old versions of a package should not be kept unless there is a good reason to do so. For instance, Nixpkgs contains several versions of GCC because other packages don’t build with the latest version of GCC. Other examples are having both the latest stable and latest pre-release version of a package, or to keep several major releases of an application that differ significantly in functionality. + +If there is only one version of a package, its Nix expression should be named `e2fsprogs/default.nix`. If there are multiple versions, this should be reflected in the filename, e.g. `e2fsprogs/1.41.8.nix` and `e2fsprogs/1.41.9.nix`. The version in the filename should leave out unnecessary detail. For instance, if we keep the latest Firefox 2.0.x and 3.5.x versions in Nixpkgs, they should be named `firefox/2.0.nix` and `firefox/3.5.nix`, respectively (which, at a given point, might contain versions `2.0.0.20` and `3.5.4`). If a version requires many auxiliary files, you can use a subdirectory for each version, e.g. `firefox/2.0/default.nix` and `firefox/3.5/default.nix`. + +All versions of a package _must_ be included in `all-packages.nix` to make sure that they evaluate correctly. + +## Fetching Sources {#sec-sources} + +There are multiple ways to fetch a package source in nixpkgs. The general guideline is that you should package reproducible sources with a high degree of availability. Right now there is only one fetcher which has mirroring support and that is `fetchurl`. Note that you should also prefer protocols which have a corresponding proxy environment variable. + +You can find many source fetch helpers in `pkgs/build-support/fetch*`. + +In the file `pkgs/top-level/all-packages.nix` you can find fetch helpers, these have names on the form `fetchFrom*`. The intention of these are to provide snapshot fetches but using the same api as some of the version controlled fetchers from `pkgs/build-support/`. As an example going from bad to good: + +- Bad: Uses `git://` which won't be proxied. + + ```nix + src = fetchgit { + url = "git://github.com/NixOS/nix.git"; + rev = "1f795f9f44607cc5bec70d1300150bfefcef2aae"; + sha256 = "1cw5fszffl5pkpa6s6wjnkiv6lm5k618s32sp60kvmvpy7a2v9kg"; + } + ``` + +- Better: This is ok, but an archive fetch will still be faster. + + ```nix + src = fetchgit { + url = "https://github.com/NixOS/nix.git"; + rev = "1f795f9f44607cc5bec70d1300150bfefcef2aae"; + sha256 = "1cw5fszffl5pkpa6s6wjnkiv6lm5k618s32sp60kvmvpy7a2v9kg"; + } + ``` + +- Best: Fetches a snapshot archive and you get the rev you want. + + ```nix + src = fetchFromGitHub { + owner = "NixOS"; + repo = "nix"; + rev = "1f795f9f44607cc5bec70d1300150bfefcef2aae"; + sha256 = "1i2yxndxb6yc9l6c99pypbd92lfq5aac4klq7y2v93c9qvx2cgpc"; + } + ``` + + Find the value to put as `sha256` by running `nix run -f '' nix-prefetch-github -c nix-prefetch-github --rev 1f795f9f44607cc5bec70d1300150bfefcef2aae NixOS nix` or `nix-prefetch-url --unpack https://github.com/NixOS/nix/archive/1f795f9f44607cc5bec70d1300150bfefcef2aae.tar.gz`. + +## Obtaining source hash {#sec-source-hashes} + +Preferred source hash type is sha256. There are several ways to get it. + +1. Prefetch URL (with `nix-prefetch-XXX URL`, where `XXX` is one of `url`, `git`, `hg`, `cvs`, `bzr`, `svn`). Hash is printed to stdout. + +2. Prefetch by package source (with `nix-prefetch-url '' -A PACKAGE.src`, where `PACKAGE` is package attribute name). Hash is printed to stdout. + + This works well when you've upgraded existing package version and want to find out new hash, but is useless if package can't be accessed by attribute or package has multiple sources (`.srcs`, architecture-dependent sources, etc). + +3. Upstream provided hash: use it when upstream provides `sha256` or `sha512` (when upstream provides `md5`, don't use it, compute `sha256` instead). + + A little nuance is that `nix-prefetch-*` tools produce hash encoded with `base32`, but upstream usually provides hexadecimal (`base16`) encoding. Fetchers understand both formats. Nixpkgs does not standardize on any one format. + + You can convert between formats with nix-hash, for example: + + ```ShellSession + $ nix-hash --type sha256 --to-base32 HASH + ``` + +4. Extracting hash from local source tarball can be done with `sha256sum`. Use `nix-prefetch-url file:///path/to/tarball` if you want base32 hash. + +5. Fake hash: set fake hash in package expression, perform build and extract correct hash from error Nix prints. + + For package updates it is enough to change one symbol to make hash fake. For new packages, you can use `lib.fakeSha256`, `lib.fakeSha512` or any other fake hash. + + This is last resort method when reconstructing source URL is non-trivial and `nix-prefetch-url -A` isn't applicable (for example, [one of `kodi` dependencies](https://github.com/NixOS/nixpkgs/blob/d2ab091dd308b99e4912b805a5eb088dd536adb9/pkgs/applications/video/kodi/default.nix#L73")). The easiest way then would be replace hash with a fake one and rebuild. Nix build will fail and error message will contain desired hash. + +::: warning +This method has security problems. Check below for details. +::: + +### Obtaining hashes securely {#sec-source-hashes-security} + +Let's say Man-in-the-Middle (MITM) sits close to your network. Then instead of fetching source you can fetch malware, and instead of source hash you get hash of malware. Here are security considerations for this scenario: + +- `http://` URLs are not secure to prefetch hash from; + +- hashes from upstream (in method 3) should be obtained via secure protocol; + +- `https://` URLs are secure in methods 1, 2, 3; + +- `https://` URLs are not secure in method 5. When obtaining hashes with fake hash method, TLS checks are disabled. So refetch source hash from several different networks to exclude MITM scenario. Alternatively, use fake hash method to make Nix error, but instead of extracting hash from error, extract `https://` URL and prefetch it with method 1. + +## Patches {#sec-patches} + +Patches available online should be retrieved using `fetchpatch`. + +```nix +patches = [ + (fetchpatch { + name = "fix-check-for-using-shared-freetype-lib.patch"; + url = "http://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=8f5d285"; + sha256 = "1f0k043rng7f0rfl9hhb89qzvvksqmkrikmm38p61yfx51l325xr"; + }) +]; +``` + +Otherwise, you can add a `.patch` file to the `nixpkgs` repository. In the interest of keeping our maintenance burden to a minimum, only patches that are unique to `nixpkgs` should be added in this way. + +```nix +patches = [ ./0001-changes.patch ]; +``` + +If you do need to do create this sort of patch file, one way to do so is with git: + +1. Move to the root directory of the source code you're patching. + + ```ShellSession + $ cd the/program/source + ``` + +2. If a git repository is not already present, create one and stage all of the source files. + + ```ShellSession + $ git init + $ git add . + ``` + +3. Edit some files to make whatever changes need to be included in the patch. + +4. Use git to create a diff, and pipe the output to a patch file: + + ```ShellSession + $ git diff > nixpkgs/pkgs/the/package/0001-changes.patch + ``` diff --git a/doc/contributing/coding-conventions.xml b/doc/contributing/coding-conventions.xml deleted file mode 100644 index 9f00942918c..00000000000 --- a/doc/contributing/coding-conventions.xml +++ /dev/null @@ -1,943 +0,0 @@ - - Coding conventions -
- Syntax - - - - - Use 2 spaces of indentation per indentation level in Nix expressions, 4 spaces in shell scripts. - - - - - Do not use tab characters, i.e. configure your editor to use soft tabs. For instance, use (setq-default indent-tabs-mode nil) in Emacs. Everybody has different tab settings so it’s asking for trouble. - - - - - Use lowerCamelCase for variable names, not UpperCamelCase. Note, this rule does not apply to package attribute names, which instead follow the rules in . - - - - - Function calls with attribute set arguments are written as - -foo { - arg = ...; -} - - not - -foo -{ - arg = ...; -} - - Also fine is - -foo { arg = ...; } - - if it's a short call. - - - - - In attribute sets or lists that span multiple lines, the attribute names or list elements should be aligned: - -# A long list. -list = [ - elem1 - elem2 - elem3 -]; - -# A long attribute set. -attrs = { - attr1 = short_expr; - attr2 = - if true then big_expr else big_expr; -}; - -# Combined -listOfAttrs = [ - { - attr1 = 3; - attr2 = "fff"; - } - { - attr1 = 5; - attr2 = "ggg"; - } -]; - - - - - - Short lists or attribute sets can be written on one line: - -# A short list. -list = [ elem1 elem2 elem3 ]; - -# A short set. -attrs = { x = 1280; y = 1024; }; - - - - - - Breaking in the middle of a function argument can give hard-to-read code, like - -someFunction { x = 1280; - y = 1024; } otherArg - yetAnotherArg - - (especially if the argument is very large, spanning multiple lines). - - - Better: - -someFunction - { x = 1280; y = 1024; } - otherArg - yetAnotherArg - - or - -let res = { x = 1280; y = 1024; }; -in someFunction res otherArg yetAnotherArg - - - - - - The bodies of functions, asserts, and withs are not indented to prevent a lot of superfluous indentation levels, i.e. - -{ arg1, arg2 }: -assert system == "i686-linux"; -stdenv.mkDerivation { ... - - not - -{ arg1, arg2 }: - assert system == "i686-linux"; - stdenv.mkDerivation { ... - - - - - - Function formal arguments are written as: - -{ arg1, arg2, arg3 }: - - but if they don't fit on one line they're written as: - -{ arg1, arg2, arg3 -, arg4, ... -, # Some comment... - argN -}: - - - - - - Functions should list their expected arguments as precisely as possible. That is, write - -{ stdenv, fetchurl, perl }: ... - - instead of - -args: with args; ... - - or - -{ stdenv, fetchurl, perl, ... }: ... - - - - For functions that are truly generic in the number of arguments (such as wrappers around mkDerivation) that have some required arguments, you should write them using an @-pattern: - -{ stdenv, doCoverageAnalysis ? false, ... } @ args: - -stdenv.mkDerivation (args // { - ... if doCoverageAnalysis then "bla" else "" ... -}) - - instead of - -args: - -args.stdenv.mkDerivation (args // { - ... if args ? doCoverageAnalysis && args.doCoverageAnalysis then "bla" else "" ... -}) - - - - - - Arguments should be listed in the order they are used, with the exception of lib, which always goes first. - - - - - Prefer using the top-level lib over its alias stdenv.lib. lib is unrelated to stdenv, and so stdenv.lib should only be used as a convenience alias when developing to avoid having to modify the function inputs just to test something out. - - - -
-
- Package naming - - - The key words must, must not, required, shall, shall not, should, should not, recommended, may, and optional in this section are to be interpreted as described in RFC 2119. Only emphasized words are to be interpreted in this way. - - - - In Nixpkgs, there are generally three different names associated with a package: - - - - The name attribute of the derivation (excluding the version part). This is what most users see, in particular when using nix-env. - - - - - The variable name used for the instantiated package in all-packages.nix, and when passing it as a dependency to other functions. Typically this is called the package attribute name. This is what Nix expression authors see. It can also be used when installing using nix-env -iA. - - - - - The filename for (the directory containing) the Nix expression. - - - - Most of the time, these are the same. For instance, the package e2fsprogs has a name attribute "e2fsprogs-version", is bound to the variable name e2fsprogs in all-packages.nix, and the Nix expression is in pkgs/os-specific/linux/e2fsprogs/default.nix. - - - - There are a few naming guidelines: - - - - The name attribute should be identical to the upstream package name. - - - - - The name attribute must not contain uppercase letters — e.g., "mplayer-1.0rc2" instead of "MPlayer-1.0rc2". - - - - - The version part of the name attribute must start with a digit (following a dash) — e.g., "hello-0.3.1rc2". - - - - - If a package is not a release but a commit from a repository, then the version part of the name must be the date of that (fetched) commit. The date must be in "YYYY-MM-DD" format. Also append "unstable" to the name - e.g., "pkgname-unstable-2014-09-23". - - - - - Dashes in the package name should be preserved in new variable names, rather than converted to underscores or camel cased — e.g., http-parser instead of http_parser or httpParser. The hyphenated style is preferred in all three package names. - - - - - If there are multiple versions of a package, this should be reflected in the variable names in all-packages.nix, e.g. json-c-0-9 and json-c-0-11. If there is an obvious “default” version, make an attribute like json-c = json-c-0-9;. See also - - - - -
-
- File naming and organisation - - - Names of files and directories should be in lowercase, with dashes between words — not in camel case. For instance, it should be all-packages.nix, not allPackages.nix or AllPackages.nix. - - -
- Hierarchy - - - Each package should be stored in its own directory somewhere in the pkgs/ tree, i.e. in pkgs/category/subcategory/.../pkgname. Below are some rules for picking the right category for a package. Many packages fall under several categories; what matters is the primary purpose of a package. For example, the libxml2 package builds both a library and some tools; but it’s a library foremost, so it goes under pkgs/development/libraries. - - - - When in doubt, consider refactoring the pkgs/ tree, e.g. creating new categories or splitting up an existing category. - - - - - - If it’s used to support software development: - - - - - - If it’s a library used by other packages: - - - - development/libraries (e.g. libxml2) - - - - - - If it’s a compiler: - - - - development/compilers (e.g. gcc) - - - - - - If it’s an interpreter: - - - - development/interpreters (e.g. guile) - - - - - - If it’s a (set of) development tool(s): - - - - - - If it’s a parser generator (including lexers): - - - - development/tools/parsing (e.g. bison, flex) - - - - - - If it’s a build manager: - - - - development/tools/build-managers (e.g. gnumake) - - - - - - Else: - - - - development/tools/misc (e.g. binutils) - - - - - - - - - Else: - - - - development/misc - - - - - - - - - If it’s a (set of) tool(s): - - - - (A tool is a relatively small program, especially one intended to be used non-interactively.) - - - - - If it’s for networking: - - - - tools/networking (e.g. wget) - - - - - - If it’s for text processing: - - - - tools/text (e.g. diffutils) - - - - - - If it’s a system utility, i.e., something related or essential to the operation of a system: - - - - tools/system (e.g. cron) - - - - - - If it’s an archiver (which may include a compression function): - - - - tools/archivers (e.g. zip, tar) - - - - - - If it’s a compression program: - - - - tools/compression (e.g. gzip, bzip2) - - - - - - If it’s a security-related program: - - - - tools/security (e.g. nmap, gnupg) - - - - - - Else: - - - - tools/misc - - - - - - - - - If it’s a shell: - - - - shells (e.g. bash) - - - - - - If it’s a server: - - - - - - If it’s a web server: - - - - servers/http (e.g. apache-httpd) - - - - - - If it’s an implementation of the X Windowing System: - - - - servers/x11 (e.g. xorg — this includes the client libraries and programs) - - - - - - Else: - - - - servers/misc - - - - - - - - - If it’s a desktop environment: - - - - desktops (e.g. kde, gnome, enlightenment) - - - - - - If it’s a window manager: - - - - applications/window-managers (e.g. awesome, stumpwm) - - - - - - If it’s an application: - - - - A (typically large) program with a distinct user interface, primarily used interactively. - - - - - If it’s a version management system: - - - - applications/version-management (e.g. subversion) - - - - - - If it’s a terminal emulator: - - - - applications/terminal-emulators (e.g. alacritty or rxvt or termite) - - - - - - If it’s for video playback / editing: - - - - applications/video (e.g. vlc) - - - - - - If it’s for graphics viewing / editing: - - - - applications/graphics (e.g. gimp) - - - - - - If it’s for networking: - - - - - - If it’s a mailreader: - - - - applications/networking/mailreaders (e.g. thunderbird) - - - - - - If it’s a newsreader: - - - - applications/networking/newsreaders (e.g. pan) - - - - - - If it’s a web browser: - - - - applications/networking/browsers (e.g. firefox) - - - - - - Else: - - - - applications/networking/misc - - - - - - - - - Else: - - - - applications/misc - - - - - - - - - If it’s data (i.e., does not have a straight-forward executable semantics): - - - - - - If it’s a font: - - - - data/fonts - - - - - - If it’s an icon theme: - - - - data/icons - - - - - - If it’s related to SGML/XML processing: - - - - - - If it’s an XML DTD: - - - - data/sgml+xml/schemas/xml-dtd (e.g. docbook) - - - - - - If it’s an XSLT stylesheet: - - - - (Okay, these are executable...) - - - data/sgml+xml/stylesheets/xslt (e.g. docbook-xsl) - - - - - - - - - If it’s a theme for a desktop environment, a window manager or a display manager: - - - - data/themes - - - - - - - - - If it’s a game: - - - - games - - - - - - Else: - - - - misc - - - - -
- -
- Versioning - - - Because every version of a package in Nixpkgs creates a potential maintenance burden, old versions of a package should not be kept unless there is a good reason to do so. For instance, Nixpkgs contains several versions of GCC because other packages don’t build with the latest version of GCC. Other examples are having both the latest stable and latest pre-release version of a package, or to keep several major releases of an application that differ significantly in functionality. - - - - If there is only one version of a package, its Nix expression should be named e2fsprogs/default.nix. If there are multiple versions, this should be reflected in the filename, e.g. e2fsprogs/1.41.8.nix and e2fsprogs/1.41.9.nix. The version in the filename should leave out unnecessary detail. For instance, if we keep the latest Firefox 2.0.x and 3.5.x versions in Nixpkgs, they should be named firefox/2.0.nix and firefox/3.5.nix, respectively (which, at a given point, might contain versions 2.0.0.20 and 3.5.4). If a version requires many auxiliary files, you can use a subdirectory for each version, e.g. firefox/2.0/default.nix and firefox/3.5/default.nix. - - - - All versions of a package must be included in all-packages.nix to make sure that they evaluate correctly. - -
-
-
- Fetching Sources - - - There are multiple ways to fetch a package source in nixpkgs. The general guideline is that you should package reproducible sources with a high degree of availability. Right now there is only one fetcher which has mirroring support and that is fetchurl. Note that you should also prefer protocols which have a corresponding proxy environment variable. - - - - You can find many source fetch helpers in pkgs/build-support/fetch*. - - - - In the file pkgs/top-level/all-packages.nix you can find fetch helpers, these have names on the form fetchFrom*. The intention of these are to provide snapshot fetches but using the same api as some of the version controlled fetchers from pkgs/build-support/. As an example going from bad to good: - - - - Bad: Uses git:// which won't be proxied. - -src = fetchgit { - url = "git://github.com/NixOS/nix.git"; - rev = "1f795f9f44607cc5bec70d1300150bfefcef2aae"; - sha256 = "1cw5fszffl5pkpa6s6wjnkiv6lm5k618s32sp60kvmvpy7a2v9kg"; -} - - - - - - Better: This is ok, but an archive fetch will still be faster. - -src = fetchgit { - url = "https://github.com/NixOS/nix.git"; - rev = "1f795f9f44607cc5bec70d1300150bfefcef2aae"; - sha256 = "1cw5fszffl5pkpa6s6wjnkiv6lm5k618s32sp60kvmvpy7a2v9kg"; -} - - - - - - Best: Fetches a snapshot archive and you get the rev you want. - -src = fetchFromGitHub { - owner = "NixOS"; - repo = "nix"; - rev = "1f795f9f44607cc5bec70d1300150bfefcef2aae"; - sha256 = "1i2yxndxb6yc9l6c99pypbd92lfq5aac4klq7y2v93c9qvx2cgpc"; -} - - Find the value to put as sha256 by running nix run -f '<nixpkgs>' nix-prefetch-github -c nix-prefetch-github --rev 1f795f9f44607cc5bec70d1300150bfefcef2aae NixOS nix or nix-prefetch-url --unpack https://github.com/NixOS/nix/archive/1f795f9f44607cc5bec70d1300150bfefcef2aae.tar.gz. - - - - -
-
- Obtaining source hash - - - Preferred source hash type is sha256. There are several ways to get it. - - - - - - Prefetch URL (with nix-prefetch-XXX URL, where XXX is one of url, git, hg, cvs, bzr, svn). Hash is printed to stdout. - - - - - Prefetch by package source (with nix-prefetch-url '<nixpkgs>' -A PACKAGE.src, where PACKAGE is package attribute name). Hash is printed to stdout. - - - This works well when you've upgraded existing package version and want to find out new hash, but is useless if package can't be accessed by attribute or package has multiple sources (.srcs, architecture-dependent sources, etc). - - - - - Upstream provided hash: use it when upstream provides sha256 or sha512 (when upstream provides md5, don't use it, compute sha256 instead). - - - A little nuance is that nix-prefetch-* tools produce hash encoded with base32, but upstream usually provides hexadecimal (base16) encoding. Fetchers understand both formats. Nixpkgs does not standardize on any one format. - - - You can convert between formats with nix-hash, for example: - -$ nix-hash --type sha256 --to-base32 HASH - - - - - - Extracting hash from local source tarball can be done with sha256sum. Use nix-prefetch-url file:///path/to/tarball if you want base32 hash. - - - - - Fake hash: set fake hash in package expression, perform build and extract correct hash from error Nix prints. - - - For package updates it is enough to change one symbol to make hash fake. For new packages, you can use lib.fakeSha256, lib.fakeSha512 or any other fake hash. - - - This is last resort method when reconstructing source URL is non-trivial and nix-prefetch-url -A isn't applicable (for example, one of kodi dependencies). The easiest way then would be replace hash with a fake one and rebuild. Nix build will fail and error message will contain desired hash. - - - - This method has security problems. Check below for details. - - - - - -
- Obtaining hashes securely - - - Let's say Man-in-the-Middle (MITM) sits close to your network. Then instead of fetching source you can fetch malware, and instead of source hash you get hash of malware. Here are security considerations for this scenario: - - - - - - http:// URLs are not secure to prefetch hash from; - - - - - hashes from upstream (in method 3) should be obtained via secure protocol; - - - - - https:// URLs are secure in methods 1, 2, 3; - - - - - https:// URLs are not secure in method 5. When obtaining hashes with fake hash method, TLS checks are disabled. So refetch source hash from several different networks to exclude MITM scenario. Alternatively, use fake hash method to make Nix error, but instead of extracting hash from error, extract https:// URL and prefetch it with method 1. - - - -
-
-
- Patches - - - Patches available online should be retrieved using fetchpatch. - - - - -patches = [ - (fetchpatch { - name = "fix-check-for-using-shared-freetype-lib.patch"; - url = "http://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=8f5d285"; - sha256 = "1f0k043rng7f0rfl9hhb89qzvvksqmkrikmm38p61yfx51l325xr"; - }) -]; - - - - - Otherwise, you can add a .patch file to the nixpkgs repository. In the interest of keeping our maintenance burden to a minimum, only patches that are unique to nixpkgs should be added in this way. - - - - -patches = [ ./0001-changes.patch ]; - - - - - If you do need to do create this sort of patch file, one way to do so is with git: - - - - Move to the root directory of the source code you're patching. - -$ cd the/program/source - - - - - If a git repository is not already present, create one and stage all of the source files. - -$ git init -$ git add . - - - - - Edit some files to make whatever changes need to be included in the patch. - - - - - Use git to create a diff, and pipe the output to a patch file: - -$ git diff > nixpkgs/pkgs/the/package/0001-changes.patch - - - - -
-
diff --git a/doc/contributing/contributing-to-documentation.chapter.md b/doc/contributing/contributing-to-documentation.chapter.md new file mode 100644 index 00000000000..642beba74d6 --- /dev/null +++ b/doc/contributing/contributing-to-documentation.chapter.md @@ -0,0 +1,24 @@ +# Contributing to this documentation {#chap-contributing} + +The DocBook sources of the Nixpkgs manual are in the [doc](https://github.com/NixOS/nixpkgs/tree/master/doc) subdirectory of the Nixpkgs repository. + +You can quickly check your edits with `make`: + +```ShellSession +$ cd /path/to/nixpkgs/doc +$ nix-shell +[nix-shell]$ make $makeFlags +``` + +If you experience problems, run `make debug` to help understand the docbook errors. + +After making modifications to the manual, it's important to build it before committing. You can do that as follows: + +```ShellSession +$ cd /path/to/nixpkgs/doc +$ nix-shell +[nix-shell]$ make clean +[nix-shell]$ nix-build . +``` + +If the build succeeds, the manual will be in `./result/share/doc/nixpkgs/manual.html`. diff --git a/doc/contributing/contributing-to-documentation.xml b/doc/contributing/contributing-to-documentation.xml deleted file mode 100644 index 132fa3816e3..00000000000 --- a/doc/contributing/contributing-to-documentation.xml +++ /dev/null @@ -1,30 +0,0 @@ - - Contributing to this documentation - - The DocBook sources of the Nixpkgs manual are in the doc subdirectory of the Nixpkgs repository. - - - You can quickly check your edits with make: - - -$ cd /path/to/nixpkgs/doc -$ nix-shell -[nix-shell]$ make $makeFlags - - - If you experience problems, run make debug to help understand the docbook errors. - - - After making modifications to the manual, it's important to build it before committing. You can do that as follows: - -$ cd /path/to/nixpkgs/doc -$ nix-shell -[nix-shell]$ make clean -[nix-shell]$ nix-build . - - If the build succeeds, the manual will be in ./result/share/doc/nixpkgs/manual.html. - - diff --git a/doc/contributing/quick-start.chapter.md b/doc/contributing/quick-start.chapter.md new file mode 100644 index 00000000000..85c3897221e --- /dev/null +++ b/doc/contributing/quick-start.chapter.md @@ -0,0 +1,77 @@ +# Quick Start to Adding a Package {#chap-quick-start} + +To add a package to Nixpkgs: + +1. Checkout the Nixpkgs source tree: + + ```ShellSession + $ git clone https://github.com/NixOS/nixpkgs + $ cd nixpkgs + ``` + +2. Find a good place in the Nixpkgs tree to add the Nix expression for your package. For instance, a library package typically goes into `pkgs/development/libraries/pkgname`, while a web browser goes into `pkgs/applications/networking/browsers/pkgname`. See for some hints on the tree organisation. Create a directory for your package, e.g. + + ```ShellSession + $ mkdir pkgs/development/libraries/libfoo + ``` + +3. In the package directory, create a Nix expression — a piece of code that describes how to build the package. In this case, it should be a _function_ that is called with the package dependencies as arguments, and returns a build of the package in the Nix store. The expression should usually be called `default.nix`. + + ```ShellSession + $ emacs pkgs/development/libraries/libfoo/default.nix + $ git add pkgs/development/libraries/libfoo/default.nix + ``` + + You can have a look at the existing Nix expressions under `pkgs/` to see how it’s done. Here are some good ones: + + - GNU Hello: [`pkgs/applications/misc/hello/default.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/misc/hello/default.nix). Trivial package, which specifies some `meta` attributes which is good practice. + + - GNU cpio: [`pkgs/tools/archivers/cpio/default.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/archivers/cpio/default.nix). Also a simple package. The generic builder in `stdenv` does everything for you. It has no dependencies beyond `stdenv`. + + - GNU Multiple Precision arithmetic library (GMP): [`pkgs/development/libraries/gmp/5.1.x.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/gmp/5.1.x.nix). Also done by the generic builder, but has a dependency on `m4`. + + - Pan, a GTK-based newsreader: [`pkgs/applications/networking/newsreaders/pan/default.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/newsreaders/pan/default.nix). Has an optional dependency on `gtkspell`, which is only built if `spellCheck` is `true`. + + - Apache HTTPD: [`pkgs/servers/http/apache-httpd/2.4.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/http/apache-httpd/2.4.nix). A bunch of optional features, variable substitutions in the configure flags, a post-install hook, and miscellaneous hackery. + + - Thunderbird: [`pkgs/applications/networking/mailreaders/thunderbird/default.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/mailreaders/thunderbird/default.nix). Lots of dependencies. + + - JDiskReport, a Java utility: [`pkgs/tools/misc/jdiskreport/default.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/misc/jdiskreport/default.nix). Nixpkgs doesn’t have a decent `stdenv` for Java yet so this is pretty ad-hoc. + + - XML::Simple, a Perl module: [`pkgs/top-level/perl-packages.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/perl-packages.nix) (search for the `XMLSimple` attribute). Most Perl modules are so simple to build that they are defined directly in `perl-packages.nix`; no need to make a separate file for them. + + - Adobe Reader: [`pkgs/applications/misc/adobe-reader/default.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/misc/adobe-reader/default.nix). Shows how binary-only packages can be supported. In particular the [builder](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/misc/adobe-reader/builder.sh) uses `patchelf` to set the RUNPATH and ELF interpreter of the executables so that the right libraries are found at runtime. + + Some notes: + + - All [`meta`](#chap-meta) attributes are optional, but it’s still a good idea to provide at least the `description`, `homepage` and [`license`](#sec-meta-license). + + - You can use `nix-prefetch-url url` to get the SHA-256 hash of source distributions. There are similar commands as `nix-prefetch-git` and `nix-prefetch-hg` available in `nix-prefetch-scripts` package. + + - A list of schemes for `mirror://` URLs can be found in [`pkgs/build-support/fetchurl/mirrors.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/fetchurl/mirrors.nix). + + The exact syntax and semantics of the Nix expression language, including the built-in function, are described in the Nix manual in the [chapter on writing Nix expressions](https://hydra.nixos.org/job/nix/trunk/tarball/latest/download-by-type/doc/manual/#chap-writing-nix-expressions). + +4. Add a call to the function defined in the previous step to [`pkgs/top-level/all-packages.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/all-packages.nix) with some descriptive name for the variable, e.g. `libfoo`. + + ```ShellSession + $ emacs pkgs/top-level/all-packages.nix + ``` + + The attributes in that file are sorted by category (like “Development / Libraries”) that more-or-less correspond to the directory structure of Nixpkgs, and then by attribute name. + +5. To test whether the package builds, run the following command from the root of the nixpkgs source tree: + + ```ShellSession + $ nix-build -A libfoo + ``` + + where `libfoo` should be the variable name defined in the previous step. You may want to add the flag `-K` to keep the temporary build directory in case something fails. If the build succeeds, a symlink `./result` to the package in the Nix store is created. + +6. If you want to install the package into your profile (optional), do + + ```ShellSession + $ nix-env -f . -iA libfoo + ``` + +7. Optionally commit the new package and open a pull request [to nixpkgs](https://github.com/NixOS/nixpkgs/pulls), or use [the Patches category](https://discourse.nixos.org/t/about-the-patches-category/477) on Discourse for sending a patch without a GitHub account. diff --git a/doc/contributing/quick-start.xml b/doc/contributing/quick-start.xml deleted file mode 100644 index 09d60834ec2..00000000000 --- a/doc/contributing/quick-start.xml +++ /dev/null @@ -1,152 +0,0 @@ - - Quick Start to Adding a Package - - To add a package to Nixpkgs: - - - - Checkout the Nixpkgs source tree: - -$ git clone https://github.com/NixOS/nixpkgs -$ cd nixpkgs - - - - - Find a good place in the Nixpkgs tree to add the Nix expression for your package. For instance, a library package typically goes into pkgs/development/libraries/pkgname, while a web browser goes into pkgs/applications/networking/browsers/pkgname. See for some hints on the tree organisation. Create a directory for your package, e.g. - -$ mkdir pkgs/development/libraries/libfoo - - - - - In the package directory, create a Nix expression — a piece of code that describes how to build the package. In this case, it should be a function that is called with the package dependencies as arguments, and returns a build of the package in the Nix store. The expression should usually be called default.nix. - -$ emacs pkgs/development/libraries/libfoo/default.nix -$ git add pkgs/development/libraries/libfoo/default.nix - - - You can have a look at the existing Nix expressions under pkgs/ to see how it’s done. Here are some good ones: - - - - GNU Hello: pkgs/applications/misc/hello/default.nix. Trivial package, which specifies some meta attributes which is good practice. - - - - - GNU cpio: pkgs/tools/archivers/cpio/default.nix. Also a simple package. The generic builder in stdenv does everything for you. It has no dependencies beyond stdenv. - - - - - GNU Multiple Precision arithmetic library (GMP): pkgs/development/libraries/gmp/5.1.x.nix. Also done by the generic builder, but has a dependency on m4. - - - - - Pan, a GTK-based newsreader: pkgs/applications/networking/newsreaders/pan/default.nix. Has an optional dependency on gtkspell, which is only built if spellCheck is true. - - - - - Apache HTTPD: pkgs/servers/http/apache-httpd/2.4.nix. A bunch of optional features, variable substitutions in the configure flags, a post-install hook, and miscellaneous hackery. - - - - - Thunderbird: pkgs/applications/networking/mailreaders/thunderbird/default.nix. Lots of dependencies. - - - - - JDiskReport, a Java utility: pkgs/tools/misc/jdiskreport/default.nix. Nixpkgs doesn’t have a decent stdenv for Java yet so this is pretty ad-hoc. - - - - - XML::Simple, a Perl module: pkgs/top-level/perl-packages.nix (search for the XMLSimple attribute). Most Perl modules are so simple to build that they are defined directly in perl-packages.nix; no need to make a separate file for them. - - - - - Adobe Reader: pkgs/applications/misc/adobe-reader/default.nix. Shows how binary-only packages can be supported. In particular the builder uses patchelf to set the RUNPATH and ELF interpreter of the executables so that the right libraries are found at runtime. - - - - - - Some notes: - - - - All meta attributes are optional, but it’s still a good idea to provide at least the description, homepage and license. - - - - - You can use nix-prefetch-url url to get the SHA-256 hash of source distributions. There are similar commands as nix-prefetch-git and nix-prefetch-hg available in nix-prefetch-scripts package. - - - - - A list of schemes for mirror:// URLs can be found in pkgs/build-support/fetchurl/mirrors.nix. - - - - - - The exact syntax and semantics of the Nix expression language, including the built-in function, are described in the Nix manual in the chapter on writing Nix expressions. - - - - - Add a call to the function defined in the previous step to pkgs/top-level/all-packages.nix with some descriptive name for the variable, e.g. libfoo. - -$ emacs pkgs/top-level/all-packages.nix - - - The attributes in that file are sorted by category (like “Development / Libraries”) that more-or-less correspond to the directory structure of Nixpkgs, and then by attribute name. - - - - - To test whether the package builds, run the following command from the root of the nixpkgs source tree: - -$ nix-build -A libfoo - where libfoo should be the variable name defined in the previous step. You may want to add the flag to keep the temporary build directory in case something fails. If the build succeeds, a symlink ./result to the package in the Nix store is created. - - - - - If you want to install the package into your profile (optional), do - -$ nix-env -f . -iA libfoo - - - - - Optionally commit the new package and open a pull request to nixpkgs, or use the Patches category on Discourse for sending a patch without a GitHub account. - - - - - diff --git a/doc/contributing/reviewing-contributions.chapter.md b/doc/contributing/reviewing-contributions.chapter.md new file mode 100644 index 00000000000..0dfe22199c6 --- /dev/null +++ b/doc/contributing/reviewing-contributions.chapter.md @@ -0,0 +1,204 @@ +# Reviewing contributions {#chap-reviewing-contributions} + +::: warning +The following section is a draft, and the policy for reviewing is still being discussed in issues such as [#11166](https://github.com/NixOS/nixpkgs/issues/11166) and [#20836](https://github.com/NixOS/nixpkgs/issues/20836). +::: + +The Nixpkgs project receives a fairly high number of contributions via GitHub pull requests. Reviewing and approving these is an important task and a way to contribute to the project. + +The high change rate of Nixpkgs makes any pull request that remains open for too long subject to conflicts that will require extra work from the submitter or the merger. Reviewing pull requests in a timely manner and being responsive to the comments is the key to avoid this issue. GitHub provides sort filters that can be used to see the [most recently](https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-desc) and the [least recently](https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-asc) updated pull requests. We highly encourage looking at [this list of ready to merge, unreviewed pull requests](https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+is%3Aopen+review%3Anone+status%3Asuccess+-label%3A%222.status%3A+work-in-progress%22+no%3Aproject+no%3Aassignee+no%3Amilestone). + +When reviewing a pull request, please always be nice and polite. Controversial changes can lead to controversial opinions, but it is important to respect every community member and their work. + +GitHub provides reactions as a simple and quick way to provide feedback to pull requests or any comments. The thumb-down reaction should be used with care and if possible accompanied with some explanation so the submitter has directions to improve their contribution. + +pull request reviews should include a list of what has been reviewed in a comment, so other reviewers and mergers can know the state of the review. + +All the review template samples provided in this section are generic and meant as examples. Their usage is optional and the reviewer is free to adapt them to their liking. + +## Package updates {#reviewing-contributions-package-updates} + +A package update is the most trivial and common type of pull request. These pull requests mainly consist of updating the version part of the package name and the source hash. + +It can happen that non-trivial updates include patches or more complex changes. + +Reviewing process: + +- Ensure that the package versioning fits the guidelines. +- Ensure that the commit text fits the guidelines. +- Ensure that the package maintainers are notified. + - [CODEOWNERS](https://help.github.com/articles/about-codeowners) will make GitHub notify users based on the submitted changes, but it can happen that it misses some of the package maintainers. +- Ensure that the meta field information is correct. + - License can change with version updates, so it should be checked to match the upstream license. + - If the package has no maintainer, a maintainer must be set. This can be the update submitter or a community member that accepts to take maintainership of the package. +- Ensure that the code contains no typos. +- Building the package locally. + - pull requests are often targeted to the master or staging branch, and building the pull request locally when it is submitted can trigger many source builds. + - It is possible to rebase the changes on nixos-unstable or nixpkgs-unstable for easier review by running the following commands from a nixpkgs clone. + ```ShellSession + $ git fetch origin nixos-unstable + $ git fetch origin pull/PRNUMBER/head + $ git rebase --onto nixos-unstable BASEBRANCH FETCH_HEAD + ``` + - The first command fetches the nixos-unstable branch. + - The second command fetches the pull request changes, `PRNUMBER` is the number at the end of the pull request title and `BASEBRANCH` the base branch of the pull request. + - The third command rebases the pull request changes to the nixos-unstable branch. + - The [nixpkgs-review](https://github.com/Mic92/nixpkgs-review) tool can be used to review a pull request content in a single command. `PRNUMBER` should be replaced by the number at the end of the pull request title. You can also provide the full github pull request url. + ```ShellSession + $ nix-shell -p nixpkgs-review --run "nixpkgs-review pr PRNUMBER" + ``` +- Running every binary. + +Sample template for a package update review is provided below. + +```markdown +##### Reviewed points + +- [ ] package name fits guidelines +- [ ] package version fits guidelines +- [ ] package build on ARCHITECTURE +- [ ] executables tested on ARCHITECTURE +- [ ] all depending packages build + +##### Possible improvements + +##### Comments +``` + +## New packages {#reviewing-contributions-new-packages} + +New packages are a common type of pull requests. These pull requests consists in adding a new nix-expression for a package. + +Review process: + +- Ensure that the package versioning fits the guidelines. +- Ensure that the commit name fits the guidelines. +- Ensure that the meta fields contain correct information. + - License must match the upstream license. + - Platforms should be set (or the package will not get binary substitutes). + - Maintainers must be set. This can be the package submitter or a community member that accepts taking up maintainership of the package. +- Report detected typos. +- Ensure the package source: + - Uses mirror URLs when available. + - Uses the most appropriate functions (e.g. packages from GitHub should use `fetchFromGitHub`). +- Building the package locally. +- Running every binary. + +Sample template for a new package review is provided below. + +```markdown +##### Reviewed points + +- [ ] package path fits guidelines +- [ ] package name fits guidelines +- [ ] package version fits guidelines +- [ ] package build on ARCHITECTURE +- [ ] executables tested on ARCHITECTURE +- [ ] `meta.description` is set and fits guidelines +- [ ] `meta.license` fits upstream license +- [ ] `meta.platforms` is set +- [ ] `meta.maintainers` is set +- [ ] build time only dependencies are declared in `nativeBuildInputs` +- [ ] source is fetched using the appropriate function +- [ ] phases are respected +- [ ] patches that are remotely available are fetched with `fetchpatch` + +##### Possible improvements + +##### Comments +``` + +## Module updates {#reviewing-contributions-module-updates} + +Module updates are submissions changing modules in some ways. These often contains changes to the options or introduce new options. + +Reviewing process: + +- Ensure that the module maintainers are notified. + - [CODEOWNERS](https://help.github.com/articles/about-codeowners/) will make GitHub notify users based on the submitted changes, but it can happen that it misses some of the package maintainers. +- Ensure that the module tests, if any, are succeeding. +- Ensure that the introduced options are correct. + - Type should be appropriate (string related types differs in their merging capabilities, `optionSet` and `string` types are deprecated). + - Description, default and example should be provided. +- Ensure that option changes are backward compatible. + - `mkRenamedOptionModule` and `mkAliasOptionModule` functions provide way to make option changes backward compatible. +- Ensure that removed options are declared with `mkRemovedOptionModule` +- Ensure that changes that are not backward compatible are mentioned in release notes. +- Ensure that documentations affected by the change is updated. + +Sample template for a module update review is provided below. + +```markdown +##### Reviewed points + +- [ ] changes are backward compatible +- [ ] removed options are declared with `mkRemovedOptionModule` +- [ ] changes that are not backward compatible are documented in release notes +- [ ] module tests succeed on ARCHITECTURE +- [ ] options types are appropriate +- [ ] options description is set +- [ ] options example is provided +- [ ] documentation affected by the changes is updated + +##### Possible improvements + +##### Comments +``` + +## New modules {#reviewing-contributions-new-modules} + +New modules submissions introduce a new module to NixOS. + +Reviewing process: + +- Ensure that the module tests, if any, are succeeding. +- Ensure that the introduced options are correct. + - Type should be appropriate (string related types differs in their merging capabilities, `optionSet` and `string` types are deprecated). + - Description, default and example should be provided. +- Ensure that module `meta` field is present + - Maintainers should be declared in `meta.maintainers`. + - Module documentation should be declared with `meta.doc`. +- Ensure that the module respect other modules functionality. + - For example, enabling a module should not open firewall ports by default. + +Sample template for a new module review is provided below. + +```markdown +##### Reviewed points + +- [ ] module path fits the guidelines +- [ ] module tests succeed on ARCHITECTURE +- [ ] options have appropriate types +- [ ] options have default +- [ ] options have example +- [ ] options have descriptions +- [ ] No unneeded package is added to environment.systemPackages +- [ ] meta.maintainers is set +- [ ] module documentation is declared in meta.doc + +##### Possible improvements + +##### Comments +``` + +## Other submissions {#reviewing-contributions-other-submissions} + +Other type of submissions requires different reviewing steps. + +If you consider having enough knowledge and experience in a topic and would like to be a long-term reviewer for related submissions, please contact the current reviewers for that topic. They will give you information about the reviewing process. The main reviewers for a topic can be hard to find as there is no list, but checking past pull requests to see who reviewed or git-blaming the code to see who committed to that topic can give some hints. + +Container system, boot system and library changes are some examples of the pull requests fitting this category. + +## Merging pull requests {#reviewing-contributions--merging-pull-requests} + +It is possible for community members that have enough knowledge and experience on a special topic to contribute by merging pull requests. + + + +Please see the discussion in [GitHub nixpkgs issue #50105](https://github.com/NixOS/nixpkgs/issues/50105) for information on how to proceed to be granted this level of access. + +In a case a contributor definitively leaves the Nix community, they should create an issue or post on [Discourse](https://discourse.nixos.org) with references of packages and modules they maintain so the maintainership can be taken over by other contributors. diff --git a/doc/contributing/reviewing-contributions.xml b/doc/contributing/reviewing-contributions.xml deleted file mode 100644 index 7f83834bd8e..00000000000 --- a/doc/contributing/reviewing-contributions.xml +++ /dev/null @@ -1,488 +0,0 @@ - - Reviewing contributions - - - The following section is a draft, and the policy for reviewing is still being discussed in issues such as #11166 and #20836 . - - - - The Nixpkgs project receives a fairly high number of contributions via GitHub pull requests. Reviewing and approving these is an important task and a way to contribute to the project. - - - The high change rate of Nixpkgs makes any pull request that remains open for too long subject to conflicts that will require extra work from the submitter or the merger. Reviewing pull requests in a timely manner and being responsive to the comments is the key to avoid this issue. GitHub provides sort filters that can be used to see the most recently and the least recently updated pull requests. We highly encourage looking at this list of ready to merge, unreviewed pull requests. - - - When reviewing a pull request, please always be nice and polite. Controversial changes can lead to controversial opinions, but it is important to respect every community member and their work. - - - GitHub provides reactions as a simple and quick way to provide feedback to pull requests or any comments. The thumb-down reaction should be used with care and if possible accompanied with some explanation so the submitter has directions to improve their contribution. - - - pull request reviews should include a list of what has been reviewed in a comment, so other reviewers and mergers can know the state of the review. - - - All the review template samples provided in this section are generic and meant as examples. Their usage is optional and the reviewer is free to adapt them to their liking. - -
- Package updates - - - A package update is the most trivial and common type of pull request. These pull requests mainly consist of updating the version part of the package name and the source hash. - - - - It can happen that non-trivial updates include patches or more complex changes. - - - - Reviewing process: - - - - - - Ensure that the package versioning fits the guidelines. - - - - - Ensure that the commit text fits the guidelines. - - - - - Ensure that the package maintainers are notified. - - - - - CODEOWNERS will make GitHub notify users based on the submitted changes, but it can happen that it misses some of the package maintainers. - - - - - - - Ensure that the meta field information is correct. - - - - - License can change with version updates, so it should be checked to match the upstream license. - - - - - If the package has no maintainer, a maintainer must be set. This can be the update submitter or a community member that accepts to take maintainership of the package. - - - - - - - Ensure that the code contains no typos. - - - - - Building the package locally. - - - - - pull requests are often targeted to the master or staging branch, and building the pull request locally when it is submitted can trigger many source builds. - - - It is possible to rebase the changes on nixos-unstable or nixpkgs-unstable for easier review by running the following commands from a nixpkgs clone. - -$ git fetch origin nixos-unstable -$ git fetch origin pull/PRNUMBER/head -$ git rebase --onto nixos-unstable BASEBRANCH FETCH_HEAD - - - - - Fetching the nixos-unstable branch. - - - - - Fetching the pull request changes, PRNUMBER is the number at the end of the pull request title and BASEBRANCH the base branch of the pull request. - - - - - Rebasing the pull request changes to the nixos-unstable branch. - - - - - - - - The nixpkgs-review tool can be used to review a pull request content in a single command. PRNUMBER should be replaced by the number at the end of the pull request title. You can also provide the full github pull request url. - - -$ nix-shell -p nixpkgs-review --run "nixpkgs-review pr PRNUMBER" - - - - - - - Running every binary. - - - - - - Sample template for a package update review - -##### Reviewed points - -- [ ] package name fits guidelines -- [ ] package version fits guidelines -- [ ] package build on ARCHITECTURE -- [ ] executables tested on ARCHITECTURE -- [ ] all depending packages build - -##### Possible improvements - -##### Comments - - - -
-
- New packages - - - New packages are a common type of pull requests. These pull requests consists in adding a new nix-expression for a package. - - - - Review process: - - - - - - Ensure that the package versioning fits the guidelines. - - - - - Ensure that the commit name fits the guidelines. - - - - - Ensure that the meta fields contain correct information. - - - - - License must match the upstream license. - - - - - Platforms should be set (or the package will not get binary substitutes). - - - - - Maintainers must be set. This can be the package submitter or a community member that accepts taking up maintainership of the package. - - - - - - - Report detected typos. - - - - - Ensure the package source: - - - - - Uses mirror URLs when available. - - - - - Uses the most appropriate functions (e.g. packages from GitHub should use fetchFromGitHub). - - - - - - - Building the package locally. - - - - - Running every binary. - - - - - - Sample template for a new package review - -##### Reviewed points - -- [ ] package path fits guidelines -- [ ] package name fits guidelines -- [ ] package version fits guidelines -- [ ] package build on ARCHITECTURE -- [ ] executables tested on ARCHITECTURE -- [ ] `meta.description` is set and fits guidelines -- [ ] `meta.license` fits upstream license -- [ ] `meta.platforms` is set -- [ ] `meta.maintainers` is set -- [ ] build time only dependencies are declared in `nativeBuildInputs` -- [ ] source is fetched using the appropriate function -- [ ] phases are respected -- [ ] patches that are remotely available are fetched with `fetchpatch` - -##### Possible improvements - -##### Comments - - - -
-
- Module updates - - - Module updates are submissions changing modules in some ways. These often contains changes to the options or introduce new options. - - - - Reviewing process - - - - - - Ensure that the module maintainers are notified. - - - - - CODEOWNERS will make GitHub notify users based on the submitted changes, but it can happen that it misses some of the package maintainers. - - - - - - - Ensure that the module tests, if any, are succeeding. - - - - - Ensure that the introduced options are correct. - - - - - Type should be appropriate (string related types differs in their merging capabilities, optionSet and string types are deprecated). - - - - - Description, default and example should be provided. - - - - - - - Ensure that option changes are backward compatible. - - - - - mkRenamedOptionModule and mkAliasOptionModule functions provide way to make option changes backward compatible. - - - - - - - Ensure that removed options are declared with mkRemovedOptionModule - - - - - Ensure that changes that are not backward compatible are mentioned in release notes. - - - - - Ensure that documentations affected by the change is updated. - - - - - - Sample template for a module update review - -##### Reviewed points - -- [ ] changes are backward compatible -- [ ] removed options are declared with `mkRemovedOptionModule` -- [ ] changes that are not backward compatible are documented in release notes -- [ ] module tests succeed on ARCHITECTURE -- [ ] options types are appropriate -- [ ] options description is set -- [ ] options example is provided -- [ ] documentation affected by the changes is updated - -##### Possible improvements - -##### Comments - - - -
-
- New modules - - - New modules submissions introduce a new module to NixOS. - - - - - - Ensure that the module tests, if any, are succeeding. - - - - - Ensure that the introduced options are correct. - - - - - Type should be appropriate (string related types differs in their merging capabilities, optionSet and string types are deprecated). - - - - - Description, default and example should be provided. - - - - - - - Ensure that module meta field is present - - - - - Maintainers should be declared in meta.maintainers. - - - - - Module documentation should be declared with meta.doc. - - - - - - - Ensure that the module respect other modules functionality. - - - - - For example, enabling a module should not open firewall ports by default. - - - - - - - - Sample template for a new module review - -##### Reviewed points - -- [ ] module path fits the guidelines -- [ ] module tests succeed on ARCHITECTURE -- [ ] options have appropriate types -- [ ] options have default -- [ ] options have example -- [ ] options have descriptions -- [ ] No unneeded package is added to environment.systemPackages -- [ ] meta.maintainers is set -- [ ] module documentation is declared in meta.doc - -##### Possible improvements - -##### Comments - - - -
-
- Other submissions - - - Other type of submissions requires different reviewing steps. - - - - If you consider having enough knowledge and experience in a topic and would like to be a long-term reviewer for related submissions, please contact the current reviewers for that topic. They will give you information about the reviewing process. The main reviewers for a topic can be hard to find as there is no list, but checking past pull requests to see who reviewed or git-blaming the code to see who committed to that topic can give some hints. - - - - Container system, boot system and library changes are some examples of the pull requests fitting this category. - -
-
- Merging pull requests - - - It is possible for community members that have enough knowledge and experience on a special topic to contribute by merging pull requests. - - - - - - Please see the discussion in GitHub nixpkgs issue #50105 for information on how to proceed to be granted this level of access. - - - - In a case a contributor definitively leaves the Nix community, they should create an issue or post on Discourse with references of packages and modules they maintain so the maintainership can be taken over by other contributors. - -
-
diff --git a/doc/manual.xml b/doc/manual.xml index 1c5a7bbcaa9..6ea4addc361 100644 --- a/doc/manual.xml +++ b/doc/manual.xml @@ -32,11 +32,11 @@ Contributing to Nixpkgs - - + + - - + + diff --git a/lib/systems/doubles.nix b/lib/systems/doubles.nix index 8220bca249f..7ad40c8c62c 100644 --- a/lib/systems/doubles.nix +++ b/lib/systems/doubles.nix @@ -6,43 +6,51 @@ let inherit (lib.attrsets) matchAttrs; all = [ - "aarch64-linux" - "armv5tel-linux" "armv6l-linux" "armv7a-linux" "armv7l-linux" - - "mipsel-linux" - - "i686-cygwin" "i686-freebsd" "i686-linux" "i686-netbsd" "i686-openbsd" - - "x86_64-cygwin" "x86_64-freebsd" "x86_64-linux" - "x86_64-netbsd" "x86_64-openbsd" "x86_64-solaris" + # Cygwin + "i686-cygwin" "x86_64-cygwin" + # Darwin "x86_64-darwin" "i686-darwin" "aarch64-darwin" "armv7a-darwin" - "x86_64-windows" "i686-windows" + # FreeBSD + "i686-freebsd" "x86_64-freebsd" - "wasm64-wasi" "wasm32-wasi" + # Genode + "aarch64-genode" "i686-genode" "x86_64-genode" - "x86_64-redox" - - "powerpc64-linux" - "powerpc64le-linux" - - "riscv32-linux" "riscv64-linux" - - "arm-none" "armv6l-none" "aarch64-none" - "avr-none" - "i686-none" "x86_64-none" - "powerpc-none" - "msp430-none" - "riscv64-none" "riscv32-none" - "vc4-none" - "or1k-none" - - "mmix-mmixware" + # illumos + "x86_64-solaris" + # JS "js-ghcjs" - "aarch64-genode" "i686-genode" "x86_64-genode" + # Linux + "aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7a-linux" + "armv7l-linux" "i686-linux" "mipsel-linux" "powerpc64-linux" + "powerpc64le-linux" "riscv32-linux" "riscv64-linux" "x86_64-linux" + + # MMIXware + "mmix-mmixware" + + # NetBSD + "i686-netbsd" "x86_64-netbsd" + + # none + "aarch64-none" "arm-none" "armv6l-none" "avr-none" "i686-none" "msp430-none" + "or1k-none" "powerpc-none" "riscv32-none" "riscv64-none" "vc4-none" + "x86_64-none" + + # OpenBSD + "i686-openbsd" "x86_64-openbsd" + + # Redox + "x86_64-redox" + + # WASI + "wasm64-wasi" "wasm32-wasi" + + # Windows + "x86_64-windows" "i686-windows" ]; allParsed = map parse.mkSystemFromString all; diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index b8de823c9af..8962995a357 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -3008,13 +3008,13 @@ name = "John Ericson"; }; erictapen = { - email = "justin.humm@posteo.de"; + email = "kerstin@erictapen.name"; github = "erictapen"; githubId = 11532355; - name = "Justin Humm"; + name = "Kerstin Humm"; keys = [{ - longkeyid = "rsa4096/0x438871E000AA178E"; - fingerprint = "984E 4BAD 9127 4D0E AE47 FF03 4388 71E0 00AA 178E"; + longkeyid = "rsa4096/0x40293358C7B9326B"; + fingerprint = "F178 B4B4 6165 6D1B 7C15 B55D 4029 3358 C7B9 326B"; }]; }; erikryb = { @@ -7955,6 +7955,12 @@ githubId = 18549627; name = "Proglodyte"; }; + progval = { + email = "progval+nix@progval.net"; + github = "ProgVal"; + githubId = 406946; + name = "Valentin Lorentz"; + }; protoben = { email = "protob3n@gmail.com"; github = "protoben"; diff --git a/nixos/doc/manual/development/writing-nixos-tests.xml b/nixos/doc/manual/development/writing-nixos-tests.xml index 5f70f74d5d9..5a95436915f 100644 --- a/nixos/doc/manual/development/writing-nixos-tests.xml +++ b/nixos/doc/manual/development/writing-nixos-tests.xml @@ -186,6 +186,25 @@ start_all() + + + get_screen_text_variants + + + + Return a list of different interpretations of what is currently visible + on the machine's screen using optical character recognition. The number + and order of the interpretations is not specified and is subject to + change, but if no exception is raised at least one will be returned. + + + + This requires passing to the test attribute + set. + + + + get_screen_text @@ -350,7 +369,8 @@ start_all() Wait until the supplied regular expressions matches the textual contents of the screen by using optical character recognition (see - get_screen_text). + get_screen_text and + get_screen_text_variants). diff --git a/nixos/lib/test-driver/test-driver.py b/nixos/lib/test-driver/test-driver.py index 96b75a49928..7800a49e410 100644 --- a/nixos/lib/test-driver/test-driver.py +++ b/nixos/lib/test-driver/test-driver.py @@ -1,7 +1,7 @@ #! /somewhere/python3 from contextlib import contextmanager, _GeneratorContextManager from queue import Queue, Empty -from typing import Tuple, Any, Callable, Dict, Iterator, Optional, List +from typing import Tuple, Any, Callable, Dict, Iterator, Optional, List, Iterable from xml.sax.saxutils import XMLGenerator import queue import io @@ -205,6 +205,37 @@ class Logger: self.xml.endElement("nest") +def _perform_ocr_on_screenshot( + screenshot_path: str, model_ids: Iterable[int] +) -> List[str]: + if shutil.which("tesseract") is None: + raise Exception("OCR requested but enableOCR is false") + + magick_args = ( + "-filter Catrom -density 72 -resample 300 " + + "-contrast -normalize -despeckle -type grayscale " + + "-sharpen 1 -posterize 3 -negate -gamma 100 " + + "-blur 1x65535" + ) + + tess_args = f"-c debug_file=/dev/null --psm 11" + + cmd = f"convert {magick_args} {screenshot_path} tiff:{screenshot_path}.tiff" + ret = subprocess.run(cmd, shell=True, capture_output=True) + if ret.returncode != 0: + raise Exception(f"TIFF conversion failed with exit code {ret.returncode}") + + model_results = [] + for model_id in model_ids: + cmd = f"tesseract {screenshot_path}.tiff - {tess_args} --oem {model_id}" + ret = subprocess.run(cmd, shell=True, capture_output=True) + if ret.returncode != 0: + raise Exception(f"OCR failed with exit code {ret.returncode}") + model_results.append(ret.stdout.decode("utf-8")) + + return model_results + + class Machine: def __init__(self, args: Dict[str, Any]) -> None: if "name" in args: @@ -637,43 +668,29 @@ class Machine: """Debugging: Dump the contents of the TTY""" self.execute("fold -w 80 /dev/vcs{} | systemd-cat".format(tty)) + def _get_screen_text_variants(self, model_ids: Iterable[int]) -> List[str]: + with tempfile.TemporaryDirectory() as tmpdir: + screenshot_path = os.path.join(tmpdir, "ppm") + self.send_monitor_command(f"screendump {screenshot_path}") + return _perform_ocr_on_screenshot(screenshot_path, model_ids) + + def get_screen_text_variants(self) -> List[str]: + return self._get_screen_text_variants([0, 1, 2]) + def get_screen_text(self) -> str: - if shutil.which("tesseract") is None: - raise Exception("get_screen_text used but enableOCR is false") - - magick_args = ( - "-filter Catrom -density 72 -resample 300 " - + "-contrast -normalize -despeckle -type grayscale " - + "-sharpen 1 -posterize 3 -negate -gamma 100 " - + "-blur 1x65535" - ) - - tess_args = "-c debug_file=/dev/null --psm 11 --oem 2" - - with self.nested("performing optical character recognition"): - with tempfile.NamedTemporaryFile() as tmpin: - self.send_monitor_command("screendump {}".format(tmpin.name)) - - cmd = "convert {} {} tiff:- | tesseract - - {}".format( - magick_args, tmpin.name, tess_args - ) - ret = subprocess.run(cmd, shell=True, capture_output=True) - if ret.returncode != 0: - raise Exception( - "OCR failed with exit code {}".format(ret.returncode) - ) - - return ret.stdout.decode("utf-8") + return self._get_screen_text_variants([2])[0] def wait_for_text(self, regex: str) -> None: def screen_matches(last: bool) -> bool: - text = self.get_screen_text() - matches = re.search(regex, text) is not None + variants = self.get_screen_text_variants() + for text in variants: + if re.search(regex, text) is not None: + return True - if last and not matches: - self.log("Last OCR attempt failed. Text was: {}".format(text)) + if last: + self.log("Last OCR attempt failed. Text was: {}".format(variants)) - return matches + return False with self.nested("waiting for {} to appear on screen".format(regex)): retry(screen_matches) diff --git a/nixos/modules/services/monitoring/vnstat.nix b/nixos/modules/services/monitoring/vnstat.nix index e9bedb704a4..5e19c399568 100644 --- a/nixos/modules/services/monitoring/vnstat.nix +++ b/nixos/modules/services/monitoring/vnstat.nix @@ -6,21 +6,21 @@ let cfg = config.services.vnstat; in { options.services.vnstat = { - enable = mkOption { - type = types.bool; - default = false; - description = '' - Whether to enable update of network usage statistics via vnstatd. - ''; - }; + enable = mkEnableOption "update of network usage statistics via vnstatd"; }; config = mkIf cfg.enable { - users.users.vnstatd = { - isSystemUser = true; - description = "vnstat daemon user"; - home = "/var/lib/vnstat"; - createHome = true; + + environment.systemPackages = [ pkgs.vnstat ]; + + users = { + groups.vnstatd = {}; + + users.vnstatd = { + isSystemUser = true; + group = "vnstatd"; + description = "vnstat daemon user"; + }; }; systemd.services.vnstat = { @@ -33,7 +33,6 @@ in { "man:vnstat(1)" "man:vnstat.conf(5)" ]; - preStart = "chmod 755 /var/lib/vnstat"; serviceConfig = { ExecStart = "${pkgs.vnstat}/bin/vnstatd -n"; ExecReload = "${pkgs.procps}/bin/kill -HUP $MAINPID"; @@ -52,7 +51,10 @@ in { RestrictNamespaces = true; User = "vnstatd"; + Group = "vnstatd"; }; }; }; + + meta.maintainers = [ maintainers.evils ]; } diff --git a/nixos/modules/services/network-filesystems/ipfs.nix b/nixos/modules/services/network-filesystems/ipfs.nix index 88d355ff32c..6d8dfcce933 100644 --- a/nixos/modules/services/network-filesystems/ipfs.nix +++ b/nixos/modules/services/network-filesystems/ipfs.nix @@ -216,14 +216,11 @@ in { systemd.packages = [ cfg.package ]; - systemd.services.ipfs-init = { - description = "IPFS Initializer"; - + systemd.services.ipfs = { + path = [ "/run/wrappers" cfg.package ]; environment.IPFS_PATH = cfg.dataDir; - path = [ cfg.package ]; - - script = '' + preStart = '' if [[ ! -f ${cfg.dataDir}/config ]]; then ipfs init ${optionalString cfg.emptyRepo "-e"} \ ${optionalString (! cfg.localDiscovery) "--profile=server"} @@ -233,26 +230,7 @@ in { else "ipfs config profile apply server" } fi - ''; - - wantedBy = [ "default.target" ]; - - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - User = cfg.user; - Group = cfg.group; - }; - }; - - systemd.services.ipfs = { - path = [ "/run/wrappers" cfg.package ]; - environment.IPFS_PATH = cfg.dataDir; - - wants = [ "ipfs-init.service" ]; - after = [ "ipfs-init.service" ]; - - preStart = optionalString cfg.autoMount '' + '' + optionalString cfg.autoMount '' ipfs --local config Mounts.FuseAllowOther --json true ipfs --local config Mounts.IPFS ${cfg.ipfsMountDir} ipfs --local config Mounts.IPNS ${cfg.ipnsMountDir} diff --git a/nixos/modules/services/security/sshguard.nix b/nixos/modules/services/security/sshguard.nix index 033ff5ef4b5..53bd9efa5ac 100644 --- a/nixos/modules/services/security/sshguard.nix +++ b/nixos/modules/services/security/sshguard.nix @@ -5,6 +5,21 @@ with lib; let cfg = config.services.sshguard; + configFile = let + args = lib.concatStringsSep " " ([ + "-afb" + "-p info" + "-o cat" + "-n1" + ] ++ (map (name: "-t ${escapeShellArg name}") cfg.services)); + backend = if config.networking.nftables.enable + then "sshg-fw-nft-sets" + else "sshg-fw-ipset"; + in pkgs.writeText "sshguard.conf" '' + BACKEND="${pkgs.sshguard}/libexec/${backend}" + LOGREADER="LANG=C ${pkgs.systemd}/bin/journalctl ${args}" + ''; + in { ###### interface @@ -85,20 +100,7 @@ in { config = mkIf cfg.enable { - environment.etc."sshguard.conf".text = let - args = lib.concatStringsSep " " ([ - "-afb" - "-p info" - "-o cat" - "-n1" - ] ++ (map (name: "-t ${escapeShellArg name}") cfg.services)); - backend = if config.networking.nftables.enable - then "sshg-fw-nft-sets" - else "sshg-fw-ipset"; - in '' - BACKEND="${pkgs.sshguard}/libexec/${backend}" - LOGREADER="LANG=C ${pkgs.systemd}/bin/journalctl ${args}" - ''; + environment.etc."sshguard.conf".source = configFile; systemd.services.sshguard = { description = "SSHGuard brute-force attacks protection system"; @@ -107,6 +109,8 @@ in { after = [ "network.target" ]; partOf = optional config.networking.firewall.enable "firewall.service"; + restartTriggers = [ configFile ]; + path = with pkgs; if config.networking.nftables.enable then [ nftables iproute2 systemd ] else [ iptables ipset iproute2 systemd ]; diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix index 58e8e5a0a8b..545deaa905f 100644 --- a/nixos/modules/services/web-apps/nextcloud.nix +++ b/nixos/modules/services/web-apps/nextcloud.nix @@ -10,7 +10,7 @@ let extensions = { enabled, all }: (with all; enabled - ++ optional (!cfg.disableImagemagick) imagick + ++ optional cfg.enableImagemagick imagick # Optionally enabled depending on caching settings ++ optional cfg.caching.apcu apcu ++ optional cfg.caching.redis redis @@ -63,6 +63,9 @@ in { Further details about this can be found in the `Nextcloud`-section of the NixOS-manual (which can be openend e.g. by running `nixos-help`). '') + (mkRemovedOptionModule [ "services" "nextcloud" "disableImagemagick" ] '' + Use services.nextcloud.nginx.enableImagemagick instead. + '') ]; options.services.nextcloud = { @@ -303,16 +306,14 @@ in { }; }; - disableImagemagick = mkOption { - type = types.bool; - default = false; - description = '' - Whether to not load the ImageMagick module into PHP. + enableImagemagick = mkEnableOption '' + Whether to load the ImageMagick module into PHP. This is used by the theming app and for generating previews of certain images (e.g. SVG and HEIF). You may want to disable it for increased security. In that case, previews will still be available for some images (e.g. JPEG and PNG). See https://github.com/nextcloud/server/issues/13099 - ''; + '' // { + default = true; }; caching = { diff --git a/nixos/tests/nextcloud/basic.nix b/nixos/tests/nextcloud/basic.nix index 5074b6cdafe..76f7f68dc96 100644 --- a/nixos/tests/nextcloud/basic.nix +++ b/nixos/tests/nextcloud/basic.nix @@ -51,7 +51,7 @@ in { nextcloudWithoutMagick = args@{ config, pkgs, lib, ... }: lib.mkMerge [ (nextcloud args) - { services.nextcloud.disableImagemagick = true; } ]; + { services.nextcloud.enableImagemagick = false; } ]; }; testScript = { nodes, ... }: let diff --git a/pkgs/applications/audio/mympd/default.nix b/pkgs/applications/audio/mympd/default.nix index bd00a692b7f..03d0556326a 100644 --- a/pkgs/applications/audio/mympd/default.nix +++ b/pkgs/applications/audio/mympd/default.nix @@ -8,18 +8,18 @@ , lua5_3 , libid3tag , flac -, mongoose +, pcre }: stdenv.mkDerivation rec { pname = "mympd"; - version = "6.10.0"; + version = "7.0.2"; src = fetchFromGitHub { owner = "jcorporation"; repo = "myMPD"; rev = "v${version}"; - sha256 = "sha256-QGJti1tKKJlumLgABPmROplF0UVGMWMnyRXLb2cEieQ="; + sha256 = "sha256-2V3LbgnJfTIO71quZ+hfLnw/lNLYxXt19jw2Od6BVvM="; }; nativeBuildInputs = [ pkg-config cmake ]; @@ -29,6 +29,7 @@ stdenv.mkDerivation rec { lua5_3 libid3tag flac + pcre ]; cmakeFlags = [ diff --git a/pkgs/applications/graphics/ImageMagick/6.x.nix b/pkgs/applications/graphics/ImageMagick/6.x.nix index de96650167f..c77e60950c9 100644 --- a/pkgs/applications/graphics/ImageMagick/6.x.nix +++ b/pkgs/applications/graphics/ImageMagick/6.x.nix @@ -16,13 +16,13 @@ in stdenv.mkDerivation rec { pname = "imagemagick"; - version = "6.9.12-3"; + version = "6.9.12-8"; src = fetchFromGitHub { owner = "ImageMagick"; repo = "ImageMagick6"; rev = version; - sha256 = "sha256-h9c0N9AcFVpNYpKl+95q1RVJWuacN4N4kbAJIKJp8Jc="; + sha256 = "sha256-ZFCmoZOdZ3jbM5S90zBNiMGJKFylMLO0r3DB25wu3MM="; }; outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big diff --git a/pkgs/applications/graphics/ImageMagick/7.0.nix b/pkgs/applications/graphics/ImageMagick/7.0.nix index 8cf7966703f..b2c665258cd 100644 --- a/pkgs/applications/graphics/ImageMagick/7.0.nix +++ b/pkgs/applications/graphics/ImageMagick/7.0.nix @@ -16,13 +16,13 @@ in stdenv.mkDerivation rec { pname = "imagemagick"; - version = "7.0.11-6"; + version = "7.0.11-8"; src = fetchFromGitHub { owner = "ImageMagick"; repo = "ImageMagick"; rev = version; - sha256 = "sha256-QClOS58l17KHeQXya+IKNx6nIkd6jCKp8uupRH7Fwnk="; + sha256 = "sha256-h9hoFXnxuLVQRVtEh83P7efz2KFLLqOXKD6nVJEhqiM="; }; outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big diff --git a/pkgs/applications/misc/safeeyes/default.nix b/pkgs/applications/misc/safeeyes/default.nix index f6bb7133d99..d866b643ef2 100644 --- a/pkgs/applications/misc/safeeyes/default.nix +++ b/pkgs/applications/misc/safeeyes/default.nix @@ -1,16 +1,16 @@ { lib, python3Packages, gobject-introspection, libappindicator-gtk3, libnotify, gtk3, gnome3, xprintidle-ng, wrapGAppsHook, gdk-pixbuf, shared-mime-info, librsvg }: -let inherit (python3Packages) python buildPythonApplication fetchPypi; +let inherit (python3Packages) python buildPythonApplication fetchPypi croniter; in buildPythonApplication rec { pname = "safeeyes"; - version = "2.0.9"; + version = "2.1.3"; namePrefix = ""; src = fetchPypi { inherit pname version; - sha256 = "13q06jv8hm0dynmr3g5pf1m4j3w9iabrpz1nhpl02f7x0d90whg2"; + sha256 = "1b5w887hivmdrkm1ydbar4nmnks6grpbbpvxgf9j9s46msj03c9x"; }; buildInputs = [ @@ -30,6 +30,7 @@ in buildPythonApplication rec { xlib pygobject3 dbus-python + croniter libappindicator-gtk3 libnotify diff --git a/pkgs/applications/misc/xplr/default.nix b/pkgs/applications/misc/xplr/default.nix index 1e1d5cda9ce..ddbd837a6df 100644 --- a/pkgs/applications/misc/xplr/default.nix +++ b/pkgs/applications/misc/xplr/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { name = "xplr"; - version = "0.5.5"; + version = "0.5.6"; src = fetchFromGitHub { owner = "sayanarijit"; repo = name; rev = "v${version}"; - sha256 = "06n1f4ccvy3bpw0js164rjclp0qy72mwdqm5hmvnpws6ixv78biw"; + sha256 = "070jyii2p7qk6gij47n5i9a8bal5iijgn8cv79mrija3pgddniaz"; }; - cargoSha256 = "0n9sgvqb194s5bzacr7dqw9cy4z9d63wzcxr19pv9pxpafjwlh0z"; + cargoSha256 = "113f0hbgy8c9gxl70b6frr0klfc8rm5klgwls7fgbb643rdh03b9"; meta = with lib; { description = "A hackable, minimal, fast TUI file explorer"; diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index 6a83dcd91c8..31e7d4b2fdd 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -7,7 +7,7 @@ , xdg-utils, yasm, nasm, minizip, libwebp , libusb1, pciutils, nss, re2 -, python2Packages, perl, pkg-config +, python2Packages, python3Packages, perl, pkg-config , nspr, systemd, libkrb5 , util-linux, alsaLib , bison, gperf @@ -42,6 +42,16 @@ with lib; let jre = jre8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731 + # TODO: Python 3 support is incomplete and "python3 ../../build/util/python2_action.py" + # currently doesn't work due to mixed Python 2/3 dependencies: + pythonPackages = if chromiumVersionAtLeast "93" + then python3Packages + else python2Packages; + forcePython3Patch = (githubPatch + # Reland #8 of "Force Python 3 to be used in build."": + "a2d3c362802d9e6b62f895fcda75a3695b77b1b8" + "1r9spr2wmjk9x9l3m1gzn6692mlvbxdz0r5hlr5rfwiwr900rxi2" + ); # The additional attributes for creating derivations based on the chromium # source tree. @@ -127,9 +137,9 @@ let nativeBuildInputs = [ llvmPackages.lldClang.bintools - ninja which python2Packages.python perl pkg-config - python2Packages.ply python2Packages.jinja2 nodejs - gnutar python2Packages.setuptools + ninja which pythonPackages.python perl pkg-config + pythonPackages.ply pythonPackages.jinja2 nodejs + gnutar pythonPackages.setuptools ]; buildInputs = defaultDependencies ++ [ @@ -169,6 +179,8 @@ let postPatch = lib.optionalString (chromiumVersionAtLeast "91") '' # Required for patchShebangs (unsupported): chmod -x third_party/webgpu-cts/src/tools/deno + '' + optionalString (chromiumVersionAtLeast "92") '' + patch -p1 --reverse < ${forcePython3Patch} '' + '' # remove unused third-party for lib in ${toString gnSystemLibraries}; do diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json index b438ab54294..65bddbda87d 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.json +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json @@ -31,9 +31,9 @@ } }, "dev": { - "version": "91.0.4472.19", - "sha256": "0p51cxz0dm9ss9k7b91c0nd560mgi2x4qdcpg12vdf8x24agai5x", - "sha256bin64": "1x1901f5782c6aj6sbj8i4hhj545vjl4pplf35i4bjbcaxq3ckli", + "version": "92.0.4484.7", + "sha256": "1111b1vj4zqcz57c65pjbxjilvv2ps8cjz2smxxz0vjd432q2fdf", + "sha256bin64": "0qb5bngp3vwn7py38bn80k43safm395qda760nd5kzfal6c98fi1", "deps": { "gn": { "version": "2021-04-06", diff --git a/pkgs/applications/networking/instant-messengers/nheko/default.nix b/pkgs/applications/networking/instant-messengers/nheko/default.nix index 927f89c9493..b097864af43 100644 --- a/pkgs/applications/networking/instant-messengers/nheko/default.nix +++ b/pkgs/applications/networking/instant-messengers/nheko/default.nix @@ -7,7 +7,6 @@ , lmdb , lmdbxx , libsecret -, tweeny , mkDerivation , qtbase , qtkeychain @@ -30,13 +29,13 @@ mkDerivation rec { pname = "nheko"; - version = "0.8.1"; + version = "0.8.2"; src = fetchFromGitHub { owner = "Nheko-Reborn"; repo = "nheko"; rev = "v${version}"; - sha256 = "1v7k3ifzi05fdr06hmws1wkfl1bmhrnam3dbwahp086vkj0r8524"; + sha256 = "sha256-w4l91/W6F1FL+Q37qWSjYRHv4vad/10fxdKwfNeEwgw="; }; nativeBuildInputs = [ @@ -47,7 +46,6 @@ mkDerivation rec { buildInputs = [ nlohmann_json - tweeny mtxclient olm boost17x diff --git a/pkgs/applications/networking/instant-messengers/signald/default.nix b/pkgs/applications/networking/instant-messengers/signald/default.nix new file mode 100644 index 00000000000..593e63d32f5 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/signald/default.nix @@ -0,0 +1,87 @@ +{ lib, stdenv, fetchurl, fetchgit, jre, coreutils, gradle_6, git, perl +, makeWrapper }: + +let + pname = "signald"; + + version = "0.13.1"; + + # This package uses the .git directory + src = fetchgit { + url = "https://gitlab.com/signald/signald"; + rev = version; + sha256 = "1ilmg0i1kw2yc7m3hxw1bqdpl3i9wwbj8623qmz9cxhhavbcd5i7"; + leaveDotGit = true; + }; + + buildConfigJar = fetchurl { + url = "https://dl.bintray.com/mfuerstenau/maven/gradle/plugin/de/fuerstenau/BuildConfigPlugin/1.1.8/BuildConfigPlugin-1.1.8.jar"; + sha256 = "0y1f42y7ilm3ykgnm6s3ks54d71n8lsy5649xgd9ahv28lj05x9f"; + }; + + patches = [ ./git-describe-always.patch ./gradle-plugin.patch ]; + + postPatch = '' + patchShebangs gradlew + sed -i -e 's|BuildConfig.jar|${buildConfigJar}|' build.gradle + ''; + + # fake build to pre-download deps into fixed-output derivation + deps = stdenv.mkDerivation { + name = "${pname}-deps"; + inherit src version postPatch patches; + nativeBuildInputs = [ gradle_6 perl ]; + buildPhase = '' + export GRADLE_USER_HOME=$(mktemp -d) + gradle --no-daemon build + ''; + # perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar) + installPhase = '' + find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \ + | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/''${\($5 =~ s/-jvm//r)}" #e' \ + | sh + ''; + # Don't move info to share/ + forceShare = [ "dummy" ]; + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + outputHash = "0w8ixp1l0ch1jc2dqzxdx3ljlh17hpgns2ba7qvj43nr4prl71l7"; + }; + +in stdenv.mkDerivation rec { + inherit pname src version postPatch patches; + + buildPhase = '' + export GRADLE_USER_HOME=$(mktemp -d) + + # Use the local packages from -deps + sed -i -e 's|mavenCentral()|mavenLocal(); maven { url uri("${deps}") }|' build.gradle + + gradle --offline --no-daemon distTar + ''; + + installPhase = '' + mkdir -p $out + tar xvf ./build/distributions/signald.tar --strip-components=1 --directory $out/ + wrapProgram $out/bin/signald \ + --prefix PATH : ${lib.makeBinPath [ coreutils ]} \ + --set JAVA_HOME "${jre}" + ''; + + nativeBuildInputs = [ git gradle_6 makeWrapper ]; + + doCheck = true; + + meta = with lib; { + description = "Unofficial daemon for interacting with Signal"; + longDescription = '' + Signald is a daemon that facilitates communication over Signal. It is + unofficial, unapproved, and not nearly as secure as the real Signal + clients. + ''; + homepage = "https://signald.org"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ expipiplus1 ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/networking/instant-messengers/signald/git-describe-always.patch b/pkgs/applications/networking/instant-messengers/signald/git-describe-always.patch new file mode 100644 index 00000000000..2f4830e27dd --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/signald/git-describe-always.patch @@ -0,0 +1,9 @@ +diff --git a/version.sh b/version.sh +index 7aeeb3c..060cba3 100755 +--- a/version.sh ++++ b/version.sh +@@ -1,3 +1,3 @@ + #!/bin/sh +-VERSION=$(git describe --exact-match 2> /dev/null) || VERSION=$(git describe --abbrev=0)+git$(date +%Y-%m-%d)r$(git rev-parse --short=8 HEAD).$(git rev-list $(git describe --abbrev=0)..HEAD --count) ++VERSION=$(git describe --exact-match 2> /dev/null) || VERSION=$(git describe --always --abbrev=0)+git$(date +%Y-%m-%d)r$(git rev-parse --short=8 HEAD).$(git rev-list $(git describe --always --abbrev=0)..HEAD --count) + echo $VERSION diff --git a/pkgs/applications/networking/instant-messengers/signald/gradle-plugin.patch b/pkgs/applications/networking/instant-messengers/signald/gradle-plugin.patch new file mode 100644 index 00000000000..6952654758d --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/signald/gradle-plugin.patch @@ -0,0 +1,26 @@ +diff --git a/build.gradle b/build.gradle +index 11d7a99..66805bb 100644 +--- a/build.gradle ++++ b/build.gradle +@@ -3,9 +3,12 @@ import org.gradle.nativeplatform.platform.internal.OperatingSystemInternal + import org.gradle.nativeplatform.platform.internal.DefaultNativePlatform + import org.xml.sax.SAXParseException + +-plugins { +- id 'de.fuerstenau.buildconfig' version '1.1.8' ++buildscript { ++ dependencies { ++ classpath files ("BuildConfig.jar") ++ } + } ++apply plugin: 'de.fuerstenau.buildconfig' + + apply plugin: 'java' + apply plugin: 'application' +@@ -185,4 +188,4 @@ task integrationTest(type: Test) { + testClassesDirs = sourceSets.integrationTest.output.classesDirs + classpath = sourceSets.integrationTest.runtimeClasspath + outputs.upToDateWhen { false } +-} +\ No newline at end of file ++} diff --git a/pkgs/applications/office/libreoffice/wrapper.sh b/pkgs/applications/office/libreoffice/wrapper.sh index 806dd0806ad..9ab3a907a98 100644 --- a/pkgs/applications/office/libreoffice/wrapper.sh +++ b/pkgs/applications/office/libreoffice/wrapper.sh @@ -2,7 +2,7 @@ export JAVA_HOME="${JAVA_HOME:-@jdk@}" #export SAL_USE_VCLPLUGIN="${SAL_USE_VCLPLUGIN:-gen}" -if uname | grep Linux > /dev/null && +if uname | grep Linux > /dev/null && ! ( test -n "$DBUS_SESSION_BUS_ADDRESS" ); then dbus_tmp_dir="/run/user/$(id -u)/libreoffice-dbus" if ! test -d "$dbus_tmp_dir" && test -d "/run"; then @@ -14,6 +14,7 @@ if uname | grep Linux > /dev/null && fi dbus_socket_dir="$(mktemp -d -p "$dbus_tmp_dir")" "@dbus@"/bin/dbus-daemon --nopidfile --nofork --config-file "@dbus@"/share/dbus-1/session.conf --address "unix:path=$dbus_socket_dir/session" &> /dev/null & + dbus_pid=$! export DBUS_SESSION_BUS_ADDRESS="unix:path=$dbus_socket_dir/session" fi @@ -27,5 +28,5 @@ done "@libreoffice@/bin/$(basename "$0")" "$@" code="$?" -test -n "$dbus_socket_dir" && rm -rf "$dbus_socket_dir" +test -n "$dbus_socket_dir" && { rm -rf "$dbus_socket_dir"; kill $dbus_pid; } exit "$code" diff --git a/pkgs/applications/office/trilium/default.nix b/pkgs/applications/office/trilium/default.nix index 32c9dc79d67..dab4367b3ae 100644 --- a/pkgs/applications/office/trilium/default.nix +++ b/pkgs/applications/office/trilium/default.nix @@ -19,16 +19,16 @@ let maintainers = with maintainers; [ fliegendewurst ]; }; - version = "0.46.7"; + version = "0.46.9"; desktopSource = { url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz"; - sha256 = "0saqj32jcb9ga418bpdxy93hf1z8nmwzf76rfgnnac7286ciyinr"; + sha256 = "1qpk5z8w4wbkxs1lpnz3g8w30zygj4wxxlwj6gp1pip09xgiksm9"; }; serverSource = { url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz"; - sha256 = "0b9bbm1iyaa5wf758085m6kfbq4li1iimj11ryf9xv9fzrbc4gvs"; + sha256 = "1n8g7l6hiw9bhzylvzlfcn2pk4i8pqkqp9lj3lcxwwqb8va52phg"; }; in { diff --git a/pkgs/applications/science/logic/potassco/clingo.nix b/pkgs/applications/science/logic/potassco/clingo.nix index f473c4f5366..091b098fa3f 100644 --- a/pkgs/applications/science/logic/potassco/clingo.nix +++ b/pkgs/applications/science/logic/potassco/clingo.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "clingo"; - version = "5.4.1"; + version = "5.5.0"; src = fetchzip { url = "https://github.com/potassco/clingo/archive/v${version}.tar.gz"; - sha256 = "1f0q5f71s696ywxcjlfz7z134m1h7i39j9sfdv8hlw2w3g5nppc3"; + sha256 = "sha256-6xKtNi5IprjaFNadfk8kKjKzuPRanUjycLWCytnk0mU="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/data/documentation/scheme-manpages/default.nix b/pkgs/data/documentation/scheme-manpages/default.nix index e9fa1b7e4f4..900f28edc8d 100644 --- a/pkgs/data/documentation/scheme-manpages/default.nix +++ b/pkgs/data/documentation/scheme-manpages/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "scheme-manpages-unstable"; - version = "2021-01-17"; + version = "2021-03-11"; src = fetchFromGitHub { owner = "schemedoc"; repo = "manpages"; - rev = "817798ccca81424e797fda0e218d53a95f50ded7"; - sha256 = "1amc0dmliz2a37pivlkx88jbc08ypfiwv3z477znx8khhc538glk"; + rev = "d0163a4e29d29b2f0beb762be4095775134f5ef9"; + sha256 = "0a8f7rq458c7985chwn1qb9yxcwyr0hl39r9vlvm5j687hy3igs2"; }; dontBuild = true; diff --git a/pkgs/development/compilers/mrustc/bootstrap.nix b/pkgs/development/compilers/mrustc/bootstrap.nix new file mode 100644 index 00000000000..35e7daaf210 --- /dev/null +++ b/pkgs/development/compilers/mrustc/bootstrap.nix @@ -0,0 +1,153 @@ +{ lib, stdenv +, fetchurl +, mrustc +, mrustc-minicargo +, rust +, llvm_7 +, llvmPackages_7 +, libffi +, cmake +, python3 +, zlib +, libxml2 +, openssl +, pkg-config +, curl +, which +, time +}: + +let + rustcVersion = "1.29.0"; + rustcSrc = fetchurl { + url = "https://static.rust-lang.org/dist/rustc-${rustcVersion}-src.tar.gz"; + sha256 = "1sb15znckj8pc8q3g7cq03pijnida6cg64yqmgiayxkzskzk9sx4"; + }; + rustcDir = "rustc-${rustcVersion}-src"; +in + +stdenv.mkDerivation rec { + pname = "mrustc-bootstrap"; + version = "${mrustc.version}_${rustcVersion}"; + + inherit (mrustc) src; + postUnpack = "tar -xf ${rustcSrc} -C source/"; + + # the rust build system complains that nix alters the checksums + dontFixLibtool = true; + + patches = [ + ./patches/0001-use-shared-llvm.patch + ./patches/0002-dont-build-llvm.patch + ./patches/0003-echo-newlines.patch + ./patches/0004-increase-parallelism.patch + ]; + + postPatch = '' + echo "applying patch ./rustc-${rustcVersion}-src.patch" + patch -p0 -d ${rustcDir}/ < rustc-${rustcVersion}-src.patch + + for p in ${lib.concatStringsSep " " llvmPackages_7.compiler-rt.patches}; do + echo "applying patch $p" + patch -p1 -d ${rustcDir}/src/libcompiler_builtins/compiler-rt < $p + done + ''; + + # rustc unfortunately needs cmake to compile llvm-rt but doesn't + # use it for the normal build. This disables cmake in Nix. + dontUseCmakeConfigure = true; + + strictDeps = true; + nativeBuildInputs = [ + cmake + mrustc + mrustc-minicargo + pkg-config + python3 + time + which + ]; + buildInputs = [ + # for rustc + llvm_7 libffi zlib libxml2 + # for cargo + openssl curl + ]; + + makeFlags = [ + # Use shared mrustc/minicargo/llvm instead of rebuilding them + "MRUSTC=${mrustc}/bin/mrustc" + "MINICARGO=${mrustc-minicargo}/bin/minicargo" + "LLVM_CONFIG=${llvm_7}/bin/llvm-config" + "RUSTC_TARGET=${rust.toRustTarget stdenv.targetPlatform}" + ]; + + buildPhase = '' + runHook preBuild + + local flagsArray=( + PARLEVEL=$NIX_BUILD_CORES + ${toString makeFlags} + ) + + echo minicargo.mk: libs + make -f minicargo.mk "''${flagsArray[@]}" LIBS + + echo minicargo.mk: deps + mkdir -p output/cargo-build + # minicargo has concurrency issues when running these; let's build them + # without parallelism + for crate in regex regex-0.2.11 curl-sys + do + echo "building $crate" + minicargo ${rustcDir}/src/vendor/$crate \ + --vendor-dir ${rustcDir}/src/vendor \ + --output-dir output/cargo-build -L output/ + done + + echo minicargo.mk: rustc + make -f minicargo.mk "''${flagsArray[@]}" output/rustc + + echo minicargo.mk: cargo + make -f minicargo.mk "''${flagsArray[@]}" output/cargo + + echo run_rustc + make -C run_rustc "''${flagsArray[@]}" + + unset flagsArray + + runHook postBuild + ''; + + doCheck = true; + checkPhase = '' + runHook preCheck + run_rustc/output/prefix/bin/hello_world | grep "hello, world" + runHook postCheck + ''; + + installPhase = '' + runHook preInstall + mkdir -p $out/bin/ $out/lib/ + cp run_rustc/output/prefix/bin/cargo $out/bin/cargo + cp run_rustc/output/prefix/bin/rustc_binary $out/bin/rustc + + cp -r run_rustc/output/prefix/lib/* $out/lib/ + cp $out/lib/rustlib/${rust.toRustTarget stdenv.targetPlatform}/lib/*.so $out/lib/ + runHook postInstall + ''; + + meta = with lib; { + inherit (src.meta) homepage; + description = "A minimal build of Rust"; + longDescription = '' + A minimal build of Rust, built from source using mrustc. + This is useful for bootstrapping the main Rust compiler without + an initial binary toolchain download. + ''; + maintainers = with maintainers; [ progval r-burns ]; + license = with licenses; [ mit asl20 ]; + platforms = [ "x86_64-linux" ]; + }; +} + diff --git a/pkgs/development/compilers/mrustc/default.nix b/pkgs/development/compilers/mrustc/default.nix new file mode 100644 index 00000000000..4c813d88b76 --- /dev/null +++ b/pkgs/development/compilers/mrustc/default.nix @@ -0,0 +1,53 @@ +{ lib, stdenv +, fetchFromGitHub +, zlib +}: + +let + version = "0.9"; + tag = "v${version}"; + rev = "15773561e40ca5c8cffe0a618c544b6cfdc5ad7e"; +in + +stdenv.mkDerivation rec { + pname = "mrustc"; + inherit version; + + # Always update minicargo.nix and bootstrap.nix in lockstep with this + src = fetchFromGitHub { + owner = "thepowersgang"; + repo = "mrustc"; + rev = tag; + sha256 = "194ny7vsks5ygiw7d8yxjmp1qwigd71ilchis6xjl6bb2sj97rd2"; + }; + + postPatch = '' + sed -i 's/\$(shell git show --pretty=%H -s)/${rev}/' Makefile + sed -i 's/\$(shell git symbolic-ref -q --short HEAD || git describe --tags --exact-match)/${tag}/' Makefile + sed -i 's/\$(shell git diff-index --quiet HEAD; echo $$?)/0/' Makefile + ''; + + strictDeps = true; + buildInputs = [ zlib ]; + enableParallelBuilding = true; + + installPhase = '' + runHook preInstall + mkdir -p $out/bin + cp bin/mrustc $out/bin + runHook postInstall + ''; + + meta = with lib; { + description = "Mutabah's Rust Compiler"; + longDescription = '' + In-progress alternative rust compiler, written in C++. + Capable of building a fully-working copy of rustc, + but not yet suitable for everyday use. + ''; + inherit (src.meta) homepage; + license = licenses.mit; + maintainers = with maintainers; [ progval r-burns ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/development/compilers/mrustc/minicargo.nix b/pkgs/development/compilers/mrustc/minicargo.nix new file mode 100644 index 00000000000..8505e5b8d7c --- /dev/null +++ b/pkgs/development/compilers/mrustc/minicargo.nix @@ -0,0 +1,39 @@ +{ lib, stdenv +, makeWrapper +, mrustc +}: + +stdenv.mkDerivation rec { + pname = "mrustc-minicargo"; + inherit (mrustc) src version; + + strictDeps = true; + nativeBuildInputs = [ makeWrapper ]; + + enableParallelBuilding = true; + makefile = "minicargo.mk"; + makeFlags = [ "tools/bin/minicargo" ]; + + installPhase = '' + runHook preInstall + mkdir -p $out/bin + cp tools/bin/minicargo $out/bin + + # without it, minicargo defaults to "/../../bin/mrustc" + wrapProgram "$out/bin/minicargo" --set MRUSTC_PATH ${mrustc}/bin/mrustc + runHook postInstall + ''; + + meta = with lib; { + description = "A minimalist builder for Rust"; + longDescription = '' + A minimalist builder for Rust, similar to Cargo but written in C++. + Designed to work with mrustc to build Rust projects + (like the Rust compiler itself). + ''; + inherit (src.meta) homepage; + license = licenses.mit; + maintainers = with maintainers; [ progval r-burns ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/development/compilers/mrustc/patches/0001-use-shared-llvm.patch b/pkgs/development/compilers/mrustc/patches/0001-use-shared-llvm.patch new file mode 100644 index 00000000000..e8c57ae2541 --- /dev/null +++ b/pkgs/development/compilers/mrustc/patches/0001-use-shared-llvm.patch @@ -0,0 +1,12 @@ +--- a/rustc-1.29.0-src/src/librustc_llvm/lib.rs +--- b/rustc-1.29.0-src/src/librustc_llvm/lib.rs +@@ -23,6 +23,9 @@ + #![feature(link_args)] + #![feature(static_nobundle)] + ++// https://github.com/rust-lang/rust/issues/34486 ++#[link(name = "ffi")] extern {} ++ + // See librustc_cratesio_shim/Cargo.toml for a comment explaining this. + #[allow(unused_extern_crates)] + extern crate rustc_cratesio_shim; diff --git a/pkgs/development/compilers/mrustc/patches/0002-dont-build-llvm.patch b/pkgs/development/compilers/mrustc/patches/0002-dont-build-llvm.patch new file mode 100644 index 00000000000..7ae8d191d87 --- /dev/null +++ b/pkgs/development/compilers/mrustc/patches/0002-dont-build-llvm.patch @@ -0,0 +1,14 @@ +--- a/minicargo.mk ++++ b/minicargo.mk +@@ -116,11 +116,6 @@ + LLVM_CMAKE_OPTS += CMAKE_BUILD_TYPE=RelWithDebInfo + + +-$(LLVM_CONFIG): $(RUSTCSRC)build/Makefile +- $Vcd $(RUSTCSRC)build && $(MAKE) +-$(RUSTCSRC)build/Makefile: $(RUSTCSRC)src/llvm/CMakeLists.txt +- @mkdir -p $(RUSTCSRC)build +- $Vcd $(RUSTCSRC)build && cmake $(addprefix -D , $(LLVM_CMAKE_OPTS)) ../src/llvm + + + # diff --git a/pkgs/development/compilers/mrustc/patches/0003-echo-newlines.patch b/pkgs/development/compilers/mrustc/patches/0003-echo-newlines.patch new file mode 100644 index 00000000000..f4a4acca857 --- /dev/null +++ b/pkgs/development/compilers/mrustc/patches/0003-echo-newlines.patch @@ -0,0 +1,13 @@ +--- a/run_rustc/Makefile ++++ b/run_rustc/Makefile +@@ -103,7 +103,9 @@ + else + cp $(OUTDIR)build-rustc/release/rustc_binary $(BINDIR)rustc_binary + endif +- echo '#!/bin/sh\nd=$$(dirname $$0)\nLD_LIBRARY_PATH="$(abspath $(LIBDIR))" $$d/rustc_binary $$@' >$@ ++ echo '#!$(shell which bash)' > $@ ++ echo 'd=$$(dirname $$0)' >> $@ ++ echo 'LD_LIBRARY_PATH="$(abspath $(LIBDIR))" $$d/rustc_binary $$@' >> $@ + chmod +x $@ + + $(BINDIR)hello_world: $(RUST_SRC)test/run-pass/hello.rs $(LIBDIR)libstd.rlib $(BINDIR)rustc diff --git a/pkgs/development/compilers/mrustc/patches/0004-increase-parallelism.patch b/pkgs/development/compilers/mrustc/patches/0004-increase-parallelism.patch new file mode 100644 index 00000000000..ce1fec57262 --- /dev/null +++ b/pkgs/development/compilers/mrustc/patches/0004-increase-parallelism.patch @@ -0,0 +1,28 @@ +--- a/run_rustc/Makefile ++++ b/run_rustc/Makefile +@@ -79,14 +79,14 @@ + @mkdir -p $(OUTDIR)build-std + @mkdir -p $(LIBDIR) + @echo [CARGO] $(RUST_SRC)libstd/Cargo.toml +- $VCARGO_TARGET_DIR=$(OUTDIR)build-std RUSTC=$(BINDIR_S)rustc $(CARGO_ENV) $(BINDIR)cargo build --manifest-path $(RUST_SRC)libstd/Cargo.toml -j 1 --release --features panic-unwind ++ $VCARGO_TARGET_DIR=$(OUTDIR)build-std RUSTC=$(BINDIR_S)rustc $(CARGO_ENV) $(BINDIR)cargo build --manifest-path $(RUST_SRC)libstd/Cargo.toml -j $(NIX_BUILD_CORES) --release --features panic-unwind + $Vcp --remove-destination $(OUTDIR)build-std/release/deps/*.rlib $(LIBDIR) + $Vcp --remove-destination $(OUTDIR)build-std/release/deps/*.so $(LIBDIR) + # libtest + $(LIBDIR)libtest.rlib: $(BINDIR)rustc_m $(LIBDIR)libstd.rlib $(CARGO_HOME)config + @mkdir -p $(OUTDIR)build-test + @echo [CARGO] $(RUST_SRC)libtest/Cargo.toml +- $VCARGO_TARGET_DIR=$(OUTDIR)build-test RUSTC=$(BINDIR)rustc_m $(CARGO_ENV) $(BINDIR)cargo build --manifest-path $(RUST_SRC)libtest/Cargo.toml -j 1 --release ++ $VCARGO_TARGET_DIR=$(OUTDIR)build-test RUSTC=$(BINDIR)rustc_m $(CARGO_ENV) $(BINDIR)cargo build --manifest-path $(RUST_SRC)libtest/Cargo.toml -j $(NIX_BUILD_CORES) --release + @mkdir -p $(LIBDIR) + $Vcp --remove-destination $(OUTDIR)build-test/release/deps/*.rlib $(LIBDIR) + $Vcp --remove-destination $(OUTDIR)build-test/release/deps/*.so $(LIBDIR) +@@ -95,7 +95,7 @@ + $(BINDIR)rustc: $(BINDIR)rustc_m $(BINDIR)cargo $(CARGO_HOME)config $(LIBDIR)libtest.rlib + @mkdir -p $(PREFIX)tmp + @echo [CARGO] $(RUST_SRC)rustc/Cargo.toml +- $V$(RUSTC_ENV_VARS) TMPDIR=$(abspath $(PREFIX)tmp) CARGO_TARGET_DIR=$(OUTDIR)build-rustc RUSTC=$(BINDIR)rustc_m RUSTC_ERROR_METADATA_DST=$(abspath $(PREFIX)) $(CARGO_ENV) $(BINDIR)cargo build --manifest-path $(RUST_SRC)rustc/Cargo.toml --release -j 1 ++ $V$(RUSTC_ENV_VARS) TMPDIR=$(abspath $(PREFIX)tmp) CARGO_TARGET_DIR=$(OUTDIR)build-rustc RUSTC=$(BINDIR)rustc_m RUSTC_ERROR_METADATA_DST=$(abspath $(PREFIX)) $(CARGO_ENV) $(BINDIR)cargo build --manifest-path $(RUST_SRC)rustc/Cargo.toml --release -j $(NIX_BUILD_CORES) + cp $(OUTDIR)build-rustc/release/deps/*.so $(LIBDIR) + cp $(OUTDIR)build-rustc/release/deps/*.rlib $(LIBDIR) + ifeq ($(RUSTC_VERSION),1.19.0) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index f313d65508d..552e35b9c36 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -85,7 +85,6 @@ self: super: { kademlia = dontCheck super.kademlia; # Tests require older versions of tasty. - cborg = (doJailbreak super.cborg).override { base16-bytestring = self.base16-bytestring_0_1_1_7; }; hzk = dontCheck super.hzk; resolv = doJailbreak super.resolv; tdigest = doJailbreak super.tdigest; @@ -326,6 +325,7 @@ self: super: { optional = dontCheck super.optional; orgmode-parse = dontCheck super.orgmode-parse; os-release = dontCheck super.os-release; + parameterized = dontCheck super.parameterized; # https://github.com/louispan/parameterized/issues/2 persistent-redis = dontCheck super.persistent-redis; pipes-extra = dontCheck super.pipes-extra; pipes-websockets = dontCheck super.pipes-websockets; @@ -1529,7 +1529,7 @@ self: super: { # 2020-12-05: http-client is fixed on too old version essence-of-live-coding-warp = doJailbreak (super.essence-of-live-coding-warp.override { - http-client = self.http-client_0_7_7; + http-client = self.http-client_0_7_8; }); # 2020-12-06: Restrictive upper bounds w.r.t. pandoc-types (https://github.com/owickstrom/pandoc-include-code/issues/27) @@ -1780,4 +1780,11 @@ self: super: { # https://github.com/hasufell/lzma-static/issues/1 lzma-static = doJailbreak super.lzma-static; + # Fix haddock errors: https://github.com/koalaman/shellcheck/issues/2216 + ShellCheck = appendPatch super.ShellCheck (pkgs.fetchpatch { + url = "https://github.com/koalaman/shellcheck/commit/9e60b3ea841bcaf48780bfcfc2e44aa6563a62de.patch"; + sha256 = "1vmg8mmmnph34x7y0mhkcd5nzky8f1rh10pird750xbkp9zlk099"; + excludes = ["test/buildtest"]; + }); + } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml index f1b953553b8..3bf834c16da 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml @@ -101,7 +101,7 @@ default-package-overrides: - gi-secret < 0.0.13 - gi-vte < 2.91.28 - # Stackage Nightly 2021-04-06 + # Stackage Nightly 2021-04-15 - abstract-deque ==0.3 - abstract-par ==0.3.3 - AC-Angle ==1.0 @@ -139,7 +139,7 @@ default-package-overrides: - alex-meta ==0.3.0.13 - alg ==0.2.13.1 - algebraic-graphs ==0.5 - - Allure ==0.9.5.0 + - Allure ==0.10.2.0 - almost-fix ==0.0.2 - alsa-core ==0.5.0.1 - alsa-mixer ==0.3.0 @@ -327,7 +327,7 @@ default-package-overrides: - bazel-runfiles ==0.12 - bbdb ==0.8 - bcp47 ==0.2.0.3 - - bcp47-orphans ==0.1.0.2 + - bcp47-orphans ==0.1.0.3 - bcrypt ==0.0.11 - bech32 ==1.1.0 - bech32-th ==1.0.2 @@ -391,7 +391,7 @@ default-package-overrides: - boundingboxes ==0.2.3 - bower-json ==1.0.0.1 - boxes ==0.1.5 - - brick ==0.60.2 + - brick ==0.61 - broadcast-chan ==0.2.1.1 - bsb-http-chunked ==0.0.0.4 - bson ==0.4.0.1 @@ -451,8 +451,8 @@ default-package-overrides: - cassava-megaparsec ==2.0.2 - cast ==0.1.0.2 - category ==0.2.5.0 - - cayley-client ==0.4.14 - - cborg ==0.2.4.0 + - cayley-client ==0.4.15 + - cborg ==0.2.5.0 - cborg-json ==0.2.2.0 - cereal ==0.5.8.1 - cereal-conduit ==0.8.0 @@ -528,13 +528,13 @@ default-package-overrides: - compiler-warnings ==0.1.0 - composable-associations ==0.1.0.0 - composable-associations-aeson ==0.1.0.1 - - composite-aeson ==0.7.4.0 - - composite-aeson-path ==0.7.4.0 - - composite-aeson-refined ==0.7.4.0 - - composite-base ==0.7.4.0 - - composite-binary ==0.7.4.0 - - composite-ekg ==0.7.4.0 - - composite-hashable ==0.7.4.0 + - composite-aeson ==0.7.5.0 + - composite-aeson-path ==0.7.5.0 + - composite-aeson-refined ==0.7.5.0 + - composite-base ==0.7.5.0 + - composite-binary ==0.7.5.0 + - composite-ekg ==0.7.5.0 + - composite-hashable ==0.7.5.0 - composite-tuple ==0.1.2.0 - composite-xstep ==0.1.0.0 - composition ==1.0.2.2 @@ -681,7 +681,7 @@ default-package-overrides: - deferred-folds ==0.9.17 - dejafu ==2.4.0.2 - dense-linear-algebra ==0.1.0.0 - - depq ==0.4.1.0 + - depq ==0.4.2 - deque ==0.4.3 - deriveJsonNoPrefix ==0.1.0.1 - derive-topdown ==0.0.2.2 @@ -710,7 +710,7 @@ default-package-overrides: - distributed-closure ==0.4.2.0 - distribution-opensuse ==1.1.1 - distributive ==0.6.2.1 - - dl-fedora ==0.7.7 + - dl-fedora ==0.8 - dlist ==0.8.0.8 - dlist-instances ==0.1.1.1 - dlist-nonempty ==0.1.1 @@ -800,10 +800,10 @@ default-package-overrides: - errors-ext ==0.4.2 - ersatz ==0.4.9 - esqueleto ==3.4.1.1 - - essence-of-live-coding ==0.2.4 - - essence-of-live-coding-gloss ==0.2.4 - - essence-of-live-coding-pulse ==0.2.4 - - essence-of-live-coding-quickcheck ==0.2.4 + - essence-of-live-coding ==0.2.5 + - essence-of-live-coding-gloss ==0.2.5 + - essence-of-live-coding-pulse ==0.2.5 + - essence-of-live-coding-quickcheck ==0.2.5 - etc ==0.4.1.0 - eve ==0.1.9.0 - eventful-core ==0.2.0 @@ -825,7 +825,7 @@ default-package-overrides: - expiring-cache-map ==0.0.6.1 - explicit-exception ==0.1.10 - exp-pairs ==0.2.1.0 - - express ==0.1.3 + - express ==0.1.4 - extended-reals ==0.2.4.0 - extensible-effects ==5.0.0.1 - extensible-exceptions ==0.1.1.4 @@ -869,7 +869,7 @@ default-package-overrides: - first-class-patterns ==0.3.2.5 - fitspec ==0.4.8 - fixed ==0.3 - - fixed-length ==0.2.2 + - fixed-length ==0.2.2.1 - fixed-vector ==1.2.0.0 - fixed-vector-hetero ==0.6.1.0 - fix-whitespace ==0.0.5 @@ -936,10 +936,10 @@ default-package-overrides: - generic-data-surgery ==0.3.0.0 - generic-deriving ==1.13.1 - generic-functor ==0.2.0.0 - - generic-lens ==2.0.0.0 - - generic-lens-core ==2.0.0.0 + - generic-lens ==2.1.0.0 + - generic-lens-core ==2.1.0.0 - generic-monoid ==0.1.0.1 - - generic-optics ==2.0.0.0 + - generic-optics ==2.1.0.0 - GenericPretty ==1.2.2 - generic-random ==1.3.0.1 - generics-eot ==0.4.0.1 @@ -978,7 +978,7 @@ default-package-overrides: - geojson ==4.0.2 - getopt-generics ==0.13.0.4 - ghc-byteorder ==4.11.0.0.10 - - ghc-check ==0.5.0.3 + - ghc-check ==0.5.0.4 - ghc-core ==0.5.6 - ghc-events ==0.16.0 - ghc-exactprint ==0.6.4 @@ -1028,7 +1028,7 @@ default-package-overrides: - gitrev ==1.3.1 - gi-xlib ==2.0.9 - gl ==0.9 - - glabrous ==2.0.2 + - glabrous ==2.0.3 - GLFW-b ==3.3.0.0 - Glob ==0.10.1 - gloss ==1.13.2.1 @@ -1130,7 +1130,7 @@ default-package-overrides: - hgrev ==0.2.6 - hidapi ==0.1.7 - hie-bios ==0.7.5 - - hi-file-parser ==0.1.1.0 + - hi-file-parser ==0.1.2.0 - higher-leveldb ==0.6.0.0 - highlighting-kate ==0.6.4 - hinfo ==0.0.3.0 @@ -1187,7 +1187,7 @@ default-package-overrides: - hslua-module-path ==0.1.0.1 - hslua-module-system ==0.2.2.1 - hslua-module-text ==0.3.0.1 - - HsOpenSSL ==0.11.6.1 + - HsOpenSSL ==0.11.6.2 - HsOpenSSL-x509-system ==0.1.0.4 - hsp ==0.10.0 - hspec ==2.7.9 @@ -1197,13 +1197,13 @@ default-package-overrides: - hspec-core ==2.7.9 - hspec-discover ==2.7.9 - hspec-expectations ==0.8.2 - - hspec-expectations-json ==1.0.0.2 + - hspec-expectations-json ==1.0.0.3 - hspec-expectations-lifted ==0.10.0 - hspec-expectations-pretty-diff ==0.7.2.5 - hspec-golden ==0.1.0.3 - hspec-golden-aeson ==0.7.0.0 - hspec-hedgehog ==0.0.1.2 - - hspec-junit-formatter ==1.0.0.1 + - hspec-junit-formatter ==1.0.0.2 - hspec-leancheck ==0.0.4 - hspec-megaparsec ==2.2.0 - hspec-meta ==2.7.8 @@ -1316,7 +1316,7 @@ default-package-overrides: - indexed ==0.1.3 - indexed-containers ==0.1.0.2 - indexed-list-literals ==0.2.1.3 - - indexed-profunctors ==0.1 + - indexed-profunctors ==0.1.1 - indexed-traversable ==0.1.1 - indexed-traversable-instances ==0.1 - infer-license ==0.2.0 @@ -1332,6 +1332,7 @@ default-package-overrides: - insert-ordered-containers ==0.2.4 - inspection-testing ==0.4.3.0 - instance-control ==0.1.2.0 + - int-cast ==0.2.0.0 - integer-logarithms ==1.0.3.1 - integer-roots ==1.0 - integration ==0.2.1 @@ -1356,7 +1357,7 @@ default-package-overrides: - io-streams-haproxy ==1.0.1.0 - ip6addr ==1.0.2 - iproute ==1.7.11 - - IPv6Addr ==2.0.1 + - IPv6Addr ==2.0.2 - ipynb ==0.1.0.1 - ipython-kernel ==0.10.2.1 - irc ==0.6.1.0 @@ -1369,13 +1370,12 @@ default-package-overrides: - iso639 ==0.1.0.3 - iso8601-time ==0.1.5 - iterable ==3.0 - - it-has ==0.2.0.0 - ixset-typed ==0.5 - ixset-typed-binary-instance ==0.1.0.2 - ixset-typed-conversions ==0.1.2.0 - ixset-typed-hashable-instance ==0.1.0.2 - ix-shapable ==0.1.0 - - jack ==0.7.1.4 + - jack ==0.7.2 - jalaali ==1.0.0.0 - jira-wiki-markup ==1.3.4 - jose ==0.8.4 @@ -1416,13 +1416,13 @@ default-package-overrides: - l10n ==0.1.0.1 - labels ==0.3.3 - lackey ==1.0.14 - - LambdaHack ==0.9.5.0 + - LambdaHack ==0.10.2.0 - lame ==0.2.0 - language-avro ==0.1.3.1 - language-bash ==0.9.2 - language-c ==0.8.3 - language-c-quote ==0.12.2.1 - - language-docker ==9.1.3 + - language-docker ==9.2.0 - language-java ==0.2.9 - language-javascript ==0.7.1.0 - language-protobuf ==1.0.1 @@ -1591,7 +1591,7 @@ default-package-overrides: - mnist-idx ==0.1.2.8 - mockery ==0.3.5 - mock-time ==0.1.0 - - mod ==0.1.2.1 + - mod ==0.1.2.2 - model ==0.5 - modern-uri ==0.3.4.1 - modular ==0.1.0.8 @@ -1617,7 +1617,7 @@ default-package-overrides: - monad-primitive ==0.1 - monad-products ==4.0.1 - MonadPrompt ==1.0.0.5 - - MonadRandom ==0.5.2 + - MonadRandom ==0.5.3 - monad-resumption ==0.1.4.0 - monad-skeleton ==0.1.5 - monad-st ==0.2.4.1 @@ -1707,7 +1707,7 @@ default-package-overrides: - nonemptymap ==0.0.6.0 - non-empty-sequence ==0.2.0.4 - nonempty-vector ==0.2.1.0 - - nonempty-zipper ==1.0.0.1 + - nonempty-zipper ==1.0.0.2 - non-negative ==0.1.2 - not-gloss ==0.7.7.0 - no-value ==1.0.0.0 @@ -1715,7 +1715,7 @@ default-package-overrides: - nqe ==0.6.3 - nri-env-parser ==0.1.0.6 - nri-observability ==0.1.0.1 - - nri-prelude ==0.5.0.2 + - nri-prelude ==0.5.0.3 - nsis ==0.3.3 - numbers ==3000.2.0.2 - numeric-extras ==0.1 @@ -1961,8 +1961,8 @@ default-package-overrides: - QuickCheck ==2.14.2 - quickcheck-arbitrary-adt ==0.3.1.0 - quickcheck-assertions ==0.3.0 - - quickcheck-classes ==0.6.4.0 - - quickcheck-classes-base ==0.6.1.0 + - quickcheck-classes ==0.6.5.0 + - quickcheck-classes-base ==0.6.2.0 - quickcheck-higherorder ==0.1.0.0 - quickcheck-instances ==0.3.25.2 - quickcheck-io ==0.2.0 @@ -2013,7 +2013,7 @@ default-package-overrides: - rebase ==1.6.1 - record-dot-preprocessor ==0.2.10 - record-hasfield ==1.0 - - records-sop ==0.1.0.3 + - records-sop ==0.1.1.0 - record-wrangler ==0.1.1.0 - recursion-schemes ==5.2.2.1 - reducers ==3.12.3 @@ -2038,7 +2038,7 @@ default-package-overrides: - regex-posix ==0.96.0.0 - regex-tdfa ==1.3.1.0 - regex-with-pcre ==1.1.0.0 - - registry ==0.2.0.2 + - registry ==0.2.0.3 - reinterpret-cast ==0.1.0 - relapse ==1.0.0.0 - relational-query ==0.12.2.3 @@ -2087,7 +2087,7 @@ default-package-overrides: - rvar ==0.2.0.6 - safe ==0.3.19 - safe-coloured-text ==0.0.0.0 - - safecopy ==0.10.4.1 + - safecopy ==0.10.4.2 - safe-decimal ==0.2.0.0 - safe-exceptions ==0.1.7.1 - safe-foldable ==0.1.0.0 @@ -2248,9 +2248,9 @@ default-package-overrides: - sparse-tensor ==0.2.1.5 - spatial-math ==0.5.0.1 - special-values ==0.1.0.0 - - speculate ==0.4.2 + - speculate ==0.4.4 - speedy-slice ==0.3.2 - - Spintax ==0.3.5 + - Spintax ==0.3.6 - splice ==0.6.1.1 - splint ==1.0.1.4 - split ==0.2.3.4 @@ -2419,7 +2419,7 @@ default-package-overrides: - text-metrics ==0.3.0 - text-postgresql ==0.0.3.1 - text-printer ==0.5.0.1 - - text-regex-replace ==0.1.1.3 + - text-regex-replace ==0.1.1.4 - text-region ==0.3.1.0 - text-short ==0.1.3 - text-show ==3.9 @@ -2457,9 +2457,9 @@ default-package-overrides: - throwable-exceptions ==0.1.0.9 - th-strict-compat ==0.1.0.1 - th-test-utils ==1.1.0 - - th-utilities ==0.2.4.2 + - th-utilities ==0.2.4.3 - thyme ==0.3.5.5 - - tidal ==1.7.2 + - tidal ==1.7.3 - tile ==0.3.0.0 - time-compat ==1.9.5 - timeit ==2.0 @@ -2604,9 +2604,9 @@ default-package-overrides: - valor ==0.1.0.0 - vault ==0.3.1.5 - vec ==0.4 - - vector ==0.12.2.0 + - vector ==0.12.3.0 - vector-algorithms ==0.8.0.4 - - vector-binary-instances ==0.2.5.1 + - vector-binary-instances ==0.2.5.2 - vector-buffer ==0.4.1 - vector-builder ==0.3.8.1 - vector-bytes-instances ==0.1.1 @@ -2729,15 +2729,15 @@ default-package-overrides: - yesod ==1.6.1.0 - yesod-auth ==1.6.10.2 - yesod-auth-hashdb ==1.7.1.5 - - yesod-auth-oauth2 ==0.6.2.3 + - yesod-auth-oauth2 ==0.6.3.0 - yesod-bin ==1.6.1 - - yesod-core ==1.6.18.8 + - yesod-core ==1.6.19.0 - yesod-fb ==0.6.1 - yesod-form ==1.6.7 - yesod-gitrev ==0.2.1 - yesod-markdown ==0.12.6.8 - yesod-newsfeed ==1.7.0.0 - - yesod-page-cursor ==2.0.0.5 + - yesod-page-cursor ==2.0.0.6 - yesod-paginator ==1.1.1.0 - yesod-persistent ==1.6.0.6 - yesod-sitemap ==1.6.0 @@ -5951,7 +5951,6 @@ broken-packages: - gw - gyah-bin - gym-http-api - - H - h-booru - h-gpgme - h-reversi @@ -6838,6 +6837,7 @@ broken-packages: - hsdip - hsdns-cache - Hsed + - hsendxmpp - hsenv - HSet - hset @@ -7193,7 +7193,6 @@ broken-packages: - inject-function - inline-asm - inline-java - - inline-r - inserts - inspector-wrecker - instana-haskell-trace-sdk @@ -8693,6 +8692,8 @@ broken-packages: - opentelemetry-http-client - opentheory-char - opentok + - opentracing-jaeger + - opentracing-zipkin-v1 - opentype - OpenVG - OpenVGRaw @@ -8813,7 +8814,6 @@ broken-packages: - Paraiso - Parallel-Arrows-Eden - parallel-tasks - - parameterized - parameterized-utils - paranoia - parco @@ -9818,6 +9818,7 @@ broken-packages: - safe-globals - safe-lazy-io - safe-length + - safe-numeric - safe-plugins - safe-printf - safecopy-migrate @@ -10004,11 +10005,11 @@ broken-packages: - servant-db - servant-db-postgresql - servant-dhall - - servant-docs - servant-docs-simple - servant-ede - servant-ekg - servant-elm + - servant-event-stream - servant-examples - servant-fiat-content - servant-generate @@ -10769,6 +10770,7 @@ broken-packages: - TaskMonad - tasty-auto - tasty-bdd + - tasty-checklist - tasty-fail-fast - tasty-grading-system - tasty-groundhog-converters @@ -11574,6 +11576,7 @@ broken-packages: - whois - why3 - wide-word + - wide-word-instances - WikimediaParser - wikipedia4epub - wild-bind-indicator @@ -11637,7 +11640,6 @@ broken-packages: - wshterm - wsjtx-udp - wss-client - - wstunnel - wtk - wtk-gtk - wu-wei diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index 066830814fd..ba00d200073 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -661,20 +661,26 @@ self: super: builtins.intersectAttrs super { # fine with newer versions. spagoWithOverrides = doJailbreak super.spago; - # This defines the version of the purescript-docs-search release we are using. - # This is defined in the src/Spago/Prelude.hs file in the spago source. - docsSearchVersion = "v0.0.10"; - - docsSearchAppJsFile = pkgs.fetchurl { - url = "https://github.com/spacchetti/purescript-docs-search/releases/download/${docsSearchVersion}/docs-search-app.js"; + docsSearchApp_0_0_10 = pkgs.fetchurl { + url = "https://github.com/purescript/purescript-docs-search/releases/download/v0.0.10/docs-search-app.js"; sha256 = "0m5ah29x290r0zk19hx2wix2djy7bs4plh9kvjz6bs9r45x25pa5"; }; - purescriptDocsSearchFile = pkgs.fetchurl { - url = "https://github.com/spacchetti/purescript-docs-search/releases/download/${docsSearchVersion}/purescript-docs-search"; + docsSearchApp_0_0_11 = pkgs.fetchurl { + url = "https://github.com/purescript/purescript-docs-search/releases/download/v0.0.11/docs-search-app.js"; + sha256 = "17qngsdxfg96cka1cgrl3zdrpal8ll6vyhhnazqm4hwj16ywjm02"; + }; + + purescriptDocsSearch_0_0_10 = pkgs.fetchurl { + url = "https://github.com/purescript/purescript-docs-search/releases/download/v0.0.10/purescript-docs-search"; sha256 = "0wc1zyhli4m2yykc6i0crm048gyizxh7b81n8xc4yb7ibjqwhyj3"; }; + purescriptDocsSearch_0_0_11 = pkgs.fetchurl { + url = "https://github.com/purescript/purescript-docs-search/releases/download/v0.0.11/purescript-docs-search"; + sha256 = "1hjdprm990vyxz86fgq14ajn0lkams7i00h8k2i2g1a0hjdwppq6"; + }; + spagoFixHpack = overrideCabal spagoWithOverrides (drv: { postUnpack = (drv.postUnpack or "") + '' # The source for spago is pulled directly from GitHub. It uses a @@ -695,13 +701,19 @@ self: super: builtins.intersectAttrs super { # However, they are not actually available in the spago source, so they # need to fetched with nix and put in the correct place. # https://github.com/spacchetti/spago/issues/510 - cp ${docsSearchAppJsFile} "$sourceRoot/templates/docs-search-app.js" - cp ${purescriptDocsSearchFile} "$sourceRoot/templates/purescript-docs-search" + cp ${docsSearchApp_0_0_10} "$sourceRoot/templates/docs-search-app-0.0.10.js" + cp ${docsSearchApp_0_0_11} "$sourceRoot/templates/docs-search-app-0.0.11.js" + cp ${purescriptDocsSearch_0_0_10} "$sourceRoot/templates/purescript-docs-search-0.0.10" + cp ${purescriptDocsSearch_0_0_11} "$sourceRoot/templates/purescript-docs-search-0.0.11" # For some weird reason, on Darwin, the open(2) call to embed these files # requires write permissions. The easiest resolution is just to permit that # (doesn't cause any harm on other systems). - chmod u+w "$sourceRoot/templates/docs-search-app.js" "$sourceRoot/templates/purescript-docs-search" + chmod u+w \ + "$sourceRoot/templates/docs-search-app-0.0.10.js" \ + "$sourceRoot/templates/purescript-docs-search-0.0.10" \ + "$sourceRoot/templates/docs-search-app-0.0.11.js" \ + "$sourceRoot/templates/purescript-docs-search-0.0.11" ''; }); diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index a4581a2a570..7869388c544 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -946,35 +946,6 @@ self: { }) {}; "Allure" = callPackage - ({ mkDerivation, async, base, enummapset, filepath, ghc-compact - , LambdaHack, optparse-applicative, primitive, random - , template-haskell, text, transformers - }: - mkDerivation { - pname = "Allure"; - version = "0.9.5.0"; - sha256 = "0cl1r3rcbkj8q290l3q5xva7lkh444s49xz8bm8sbgrk0q3zx041"; - isLibrary = true; - isExecutable = true; - enableSeparateDataOutput = true; - libraryHaskellDepends = [ - async base enummapset filepath ghc-compact LambdaHack - optparse-applicative primitive random template-haskell text - transformers - ]; - executableHaskellDepends = [ - async base filepath LambdaHack optparse-applicative - ]; - testHaskellDepends = [ - async base filepath LambdaHack optparse-applicative - ]; - description = "Near-future Sci-Fi roguelike and tactical squad combat game"; - license = lib.licenses.agpl3Plus; - hydraPlatforms = lib.platforms.none; - broken = true; - }) {}; - - "Allure_0_10_2_0" = callPackage ({ mkDerivation, async, base, containers, enummapset, file-embed , filepath, ghc-compact, hsini, LambdaHack, optparse-applicative , primitive, splitmix, tasty, tasty-hunit, template-haskell, text @@ -7856,8 +7827,6 @@ self: { ]; description = "The Haskell/R mixed programming environment"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; - broken = true; }) {}; "HABQT" = callPackage @@ -10886,8 +10855,8 @@ self: { ({ mkDerivation, base, bytestring, Cabal, network, openssl, time }: mkDerivation { pname = "HsOpenSSL"; - version = "0.11.6.1"; - sha256 = "0jmnmrhvm7rbspv0vw482i8wpmkzhnnwxswqwx75455w0mvdg62l"; + version = "0.11.6.2"; + sha256 = "160fpl2lcardzf4gy5dimhad69gvkkvnpp5nqbf8fcxzm4vgg76y"; setupHaskellDepends = [ base Cabal ]; libraryHaskellDepends = [ base bytestring network time ]; librarySystemDepends = [ openssl ]; @@ -10896,12 +10865,12 @@ self: { license = lib.licenses.publicDomain; }) {inherit (pkgs) openssl;}; - "HsOpenSSL_0_11_6_2" = callPackage + "HsOpenSSL_0_11_7" = callPackage ({ mkDerivation, base, bytestring, Cabal, network, openssl, time }: mkDerivation { pname = "HsOpenSSL"; - version = "0.11.6.2"; - sha256 = "160fpl2lcardzf4gy5dimhad69gvkkvnpp5nqbf8fcxzm4vgg76y"; + version = "0.11.7"; + sha256 = "0kji758bi8agcjvpbb3hpppv55qm9g2r02mamiv568zwmlkkxsm3"; setupHaskellDepends = [ base Cabal ]; libraryHaskellDepends = [ base bytestring network time ]; librarySystemDepends = [ openssl ]; @@ -11287,24 +11256,6 @@ self: { }) {}; "IPv6Addr" = callPackage - ({ mkDerivation, aeson, attoparsec, base, HUnit, iproute, network - , network-info, random, test-framework, test-framework-hunit, text - }: - mkDerivation { - pname = "IPv6Addr"; - version = "2.0.1"; - sha256 = "0gkk20ngbfrr64w5szjhvlwlmali4xcx36iqa714cbxy6lpqy5cl"; - libraryHaskellDepends = [ - aeson attoparsec base iproute network network-info random text - ]; - testHaskellDepends = [ - base HUnit test-framework test-framework-hunit text - ]; - description = "Library to deal with IPv6 address text representations"; - license = lib.licenses.bsd3; - }) {}; - - "IPv6Addr_2_0_2" = callPackage ({ mkDerivation, aeson, attoparsec, base, HUnit, iproute, network , network-info, random, test-framework, test-framework-hunit, text }: @@ -11320,7 +11271,6 @@ self: { ]; description = "Library to deal with IPv6 address text representations"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "IPv6DB" = callPackage @@ -12443,40 +12393,6 @@ self: { }) {}; "LambdaHack" = callPackage - ({ mkDerivation, assert-failure, async, base, base-compat, binary - , bytestring, containers, deepseq, directory, enummapset, filepath - , ghc-compact, ghc-prim, hashable, hsini, keys, miniutter - , optparse-applicative, pretty-show, primitive, random, sdl2 - , sdl2-ttf, stm, template-haskell, text, time, transformers - , unordered-containers, vector, vector-binary-instances, zlib - }: - mkDerivation { - pname = "LambdaHack"; - version = "0.9.5.0"; - sha256 = "1y5345cmwl40p0risziyqlxfa8jv1rm9x6ivv85xhznrsmr0406h"; - revision = "1"; - editedCabalFile = "0qaqfyg7a50yibshq63718iyi4z1v017fzp7kbwrnwqmkmdqfa5a"; - isLibrary = true; - isExecutable = true; - enableSeparateDataOutput = true; - libraryHaskellDepends = [ - assert-failure async base base-compat binary bytestring containers - deepseq directory enummapset filepath ghc-compact ghc-prim hashable - hsini keys miniutter optparse-applicative pretty-show primitive - random sdl2 sdl2-ttf stm template-haskell text time transformers - unordered-containers vector vector-binary-instances zlib - ]; - executableHaskellDepends = [ - async base filepath optparse-applicative - ]; - testHaskellDepends = [ async base filepath optparse-applicative ]; - description = "A game engine library for tactical squad ASCII roguelike dungeon crawlers"; - license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; - broken = true; - }) {}; - - "LambdaHack_0_10_2_0" = callPackage ({ mkDerivation, assert-failure, async, base, base-compat, binary , bytestring, containers, deepseq, directory, enummapset , file-embed, filepath, ghc-compact, ghc-prim, hashable, hsini @@ -13932,21 +13848,6 @@ self: { }) {}; "MonadRandom" = callPackage - ({ mkDerivation, base, mtl, primitive, random, transformers - , transformers-compat - }: - mkDerivation { - pname = "MonadRandom"; - version = "0.5.2"; - sha256 = "1rjihspfdg2b9bwvbgj36ql595nbza8ddh1bmgz924xmddshcf30"; - libraryHaskellDepends = [ - base mtl primitive random transformers transformers-compat - ]; - description = "Random-number generation monad"; - license = lib.licenses.bsd3; - }) {}; - - "MonadRandom_0_5_3" = callPackage ({ mkDerivation, base, mtl, primitive, random, transformers , transformers-compat }: @@ -13959,7 +13860,6 @@ self: { ]; description = "Random-number generation monad"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "MonadRandomLazy" = callPackage @@ -14588,8 +14488,8 @@ self: { }: mkDerivation { pname = "Network-NineP"; - version = "0.4.7"; - sha256 = "08r15aacvdx739w1nn1bmr0n8ygfjhqnj12zk6zchw1d50x65mi2"; + version = "0.4.7.1"; + sha256 = "0gjscwrm4qjz662819g3l7i989ykxg3cka82kp23j5d2fy2sn2mc"; libraryHaskellDepends = [ async base binary bytestring containers convertible exceptions hslogger monad-loops monad-peel mstate mtl network network-bsd @@ -18405,8 +18305,8 @@ self: { }: mkDerivation { pname = "ShellCheck"; - version = "0.7.1"; - sha256 = "06m4wh891nah3y0br4wh3adpsb16zawkb2ijgf1vcz61fznj6ps1"; + version = "0.7.2"; + sha256 = "0wl43njaq95l35y5mvipwp1db9vr551nz9wl0xy83j1x1kc38xgz"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -19221,19 +19121,6 @@ self: { }) {}; "Spintax" = callPackage - ({ mkDerivation, attoparsec, base, extra, mtl, mwc-random, text }: - mkDerivation { - pname = "Spintax"; - version = "0.3.5"; - sha256 = "1z5sv03h07bf8z6pzxsia9hgf879cmiqdajvx212dk47lysfnm8v"; - libraryHaskellDepends = [ - attoparsec base extra mtl mwc-random text - ]; - description = "Random text generation based on spintax"; - license = lib.licenses.bsd3; - }) {}; - - "Spintax_0_3_6" = callPackage ({ mkDerivation, attoparsec, base, extra, mtl, mwc-random, text }: mkDerivation { pname = "Spintax"; @@ -19244,7 +19131,6 @@ self: { ]; description = "Random text generation based on spintax"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "Spock" = callPackage @@ -22182,8 +22068,8 @@ self: { }: mkDerivation { pname = "Z-Data"; - version = "0.7.4.0"; - sha256 = "1v0n0f96d5g1j6xw7d8w225r9qk9snjdfz7snq8pnmpjcna374jf"; + version = "0.8.1.0"; + sha256 = "19w5g5flsjnhjpvnmw7s8b5jg5nlpg0md99zgp3by8gjyigappc7"; setupHaskellDepends = [ base Cabal ]; libraryHaskellDepends = [ base bytestring case-insensitive containers deepseq ghc-prim @@ -39358,27 +39244,6 @@ self: { }) {}; "bcp47-orphans" = callPackage - ({ mkDerivation, base, bcp47, cassava, errors, esqueleto, hashable - , hspec, http-api-data, path-pieces, persistent, QuickCheck, text - }: - mkDerivation { - pname = "bcp47-orphans"; - version = "0.1.0.2"; - sha256 = "0rgr1p8dn54j432hfwg361dhsd4ngwvy3h8wx094m0kb6vjix9l6"; - libraryHaskellDepends = [ - base bcp47 cassava errors esqueleto hashable http-api-data - path-pieces persistent text - ]; - testHaskellDepends = [ - base bcp47 cassava hspec path-pieces persistent QuickCheck - ]; - description = "BCP47 orphan instances"; - license = lib.licenses.mit; - hydraPlatforms = lib.platforms.none; - broken = true; - }) {}; - - "bcp47-orphans_0_1_0_3" = callPackage ({ mkDerivation, base, bcp47, cassava, errors, esqueleto, hashable , hspec, http-api-data, path-pieces, persistent, QuickCheck, text }: @@ -40260,8 +40125,8 @@ self: { }: mkDerivation { pname = "betris"; - version = "0.2.0.0"; - sha256 = "0d8qiiabcca7l57lkmmz5pn11y0jbksv08bzisfab588sbxd9vqr"; + version = "0.2.1.0"; + sha256 = "1vpj20hvr2nf3i8a2ijlxmfa1zqv3xwfp8krz4zjznhgjrb1nfpj"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -44628,8 +44493,8 @@ self: { }: mkDerivation { pname = "blucontrol"; - version = "0.2.1.1"; - sha256 = "087bk9fxjgavrprba7ffyb91jv7ms8k7mlq9s5963lkpdf5636n7"; + version = "0.3.0.0"; + sha256 = "0xh1qxfmrfjdsprl5m748j5z9w0qmww8gkj8lhghfskdzxhy0qic"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -44825,6 +44690,21 @@ self: { license = "GPL"; }) {}; + "boardgame" = callPackage + ({ mkDerivation, base, containers }: + mkDerivation { + pname = "boardgame"; + version = "0.0.0.1"; + sha256 = "0azbr123zykvjya60s8q3vdpsg2xvy5wn9py0dsi4ih039s7jg64"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ base containers ]; + executableHaskellDepends = [ base containers ]; + testHaskellDepends = [ base ]; + description = "Modeling boardgames"; + license = lib.licenses.mit; + }) {}; + "bogocopy" = callPackage ({ mkDerivation, base, directory, filemanip, filepath , optparse-applicative, shelly, text, transformers, unix @@ -46026,34 +45906,6 @@ self: { }) {}; "brick" = callPackage - ({ mkDerivation, base, bytestring, config-ini, containers - , contravariant, data-clist, deepseq, directory, dlist, exceptions - , filepath, microlens, microlens-mtl, microlens-th, QuickCheck, stm - , template-haskell, text, text-zipper, transformers, unix, vector - , vty, word-wrap - }: - mkDerivation { - pname = "brick"; - version = "0.60.2"; - sha256 = "1fcpbm58fikqv94cl97p6bzhyq07kkp3zppylqwpil2qzfhvzb3i"; - revision = "1"; - editedCabalFile = "0jm3f0f9hyl6pn92d74shm33v93pyjj20x2axp5y9jgkf1ynnbc8"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ - base bytestring config-ini containers contravariant data-clist - deepseq directory dlist exceptions filepath microlens microlens-mtl - microlens-th stm template-haskell text text-zipper transformers - unix vector vty word-wrap - ]; - testHaskellDepends = [ - base containers microlens QuickCheck vector - ]; - description = "A declarative terminal user interface library"; - license = lib.licenses.bsd3; - }) {}; - - "brick_0_61" = callPackage ({ mkDerivation, base, bytestring, config-ini, containers , contravariant, data-clist, deepseq, directory, dlist, exceptions , filepath, microlens, microlens-mtl, microlens-th, QuickCheck, stm @@ -46077,7 +45929,6 @@ self: { ]; description = "A declarative terminal user interface library"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "brick-dropdownmenu" = callPackage @@ -50565,8 +50416,8 @@ self: { }: mkDerivation { pname = "calamity"; - version = "0.1.28.3"; - sha256 = "0w7jcq6jplr31ljdvj9cqimg1xxz9pjnsdqkncdsiywa10ngww10"; + version = "0.1.28.4"; + sha256 = "07ibhr3xngpwl7pq9ykbf6pxzlp8yx49d0qrlhyn7hj5xbswkv3f"; libraryHaskellDepends = [ aeson async base bytestring colour concurrent-extra connection containers data-default-class data-flags deepseq deque df1 di-core @@ -52599,27 +52450,6 @@ self: { }) {}; "cayley-client" = callPackage - ({ mkDerivation, aeson, attoparsec, base, binary, bytestring - , exceptions, hspec, http-client, http-conduit, lens, lens-aeson - , mtl, text, transformers, unordered-containers, vector - }: - mkDerivation { - pname = "cayley-client"; - version = "0.4.14"; - sha256 = "1hczhvqqpx8kqg90h5qb2vjindn4crxmq6lwbj8ix45fnkijv4xg"; - libraryHaskellDepends = [ - aeson attoparsec base binary bytestring exceptions http-client - http-conduit lens lens-aeson mtl text transformers - unordered-containers vector - ]; - testHaskellDepends = [ aeson base hspec unordered-containers ]; - description = "A Haskell client for the Cayley graph database"; - license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; - broken = true; - }) {}; - - "cayley-client_0_4_15" = callPackage ({ mkDerivation, aeson, attoparsec, base, binary, bytestring , exceptions, hspec, http-client, http-conduit, lens, lens-aeson , mtl, text, transformers, unordered-containers, vector @@ -52697,30 +52527,6 @@ self: { }) {}; "cborg" = callPackage - ({ mkDerivation, aeson, array, base, base-orphans - , base16-bytestring, base64-bytestring, bytestring, containers - , deepseq, ghc-prim, half, integer-gmp, primitive, QuickCheck - , random, scientific, tasty, tasty-hunit, tasty-quickcheck, text - , vector - }: - mkDerivation { - pname = "cborg"; - version = "0.2.4.0"; - sha256 = "0zrn75jx3lprdagl99r88jfhccalw783fn9jjk9zhy50zypkibil"; - libraryHaskellDepends = [ - array base bytestring containers deepseq ghc-prim half integer-gmp - primitive text - ]; - testHaskellDepends = [ - aeson array base base-orphans base16-bytestring base64-bytestring - bytestring deepseq half QuickCheck random scientific tasty - tasty-hunit tasty-quickcheck text vector - ]; - description = "Concise Binary Object Representation (CBOR)"; - license = lib.licenses.bsd3; - }) {}; - - "cborg_0_2_5_0" = callPackage ({ mkDerivation, aeson, array, base, base-orphans , base16-bytestring, base64-bytestring, bytestring, containers , deepseq, ghc-prim, half, integer-gmp, primitive, QuickCheck @@ -52742,7 +52548,6 @@ self: { ]; description = "Concise Binary Object Representation (CBOR)"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "cborg-json" = callPackage @@ -57282,8 +57087,8 @@ self: { }: mkDerivation { pname = "closed-intervals"; - version = "0.1.0.0"; - sha256 = "1k8kbqh6w7cj7qkmzvh47v9zrpf5y465lj6fzq7vk71bq0dy59vm"; + version = "0.1.0.1"; + sha256 = "19vmiwwzv9g4nl1mzkqc7r9bw67n9y7kk3v0jc2vc8yjzrmqgy7v"; libraryHaskellDepends = [ base containers time ]; testHaskellDepends = [ base containers doctest-exitcode-stdio doctest-lib QuickCheck time @@ -58501,8 +58306,8 @@ self: { pname = "codeworld-api"; version = "0.7.0"; sha256 = "1l1w4mrw4b2njz4kmfvd94mlwn776vryy1y9x9cb3r69fw5qy2f3"; - revision = "3"; - editedCabalFile = "0whbjs6j4fy4jk3bc1djx1bkxpsdyms3r3rf5167x0dhxnahwcgi"; + revision = "4"; + editedCabalFile = "06qa2djbzfdwlvgbr2k8667fipyrkdvp8a1vac75fla99pdwp7yi"; libraryHaskellDepends = [ aeson base base64-bytestring blank-canvas bytestring cereal cereal-text containers deepseq dependent-sum ghc-prim hashable @@ -60462,33 +60267,6 @@ self: { }) {}; "composite-aeson" = callPackage - ({ mkDerivation, aeson, aeson-better-errors, aeson-qq, base - , composite-base, containers, contravariant, generic-deriving - , hashable, hspec, lens, mmorph, mtl, profunctors, QuickCheck - , scientific, tagged, template-haskell, text, time - , unordered-containers, vector, vinyl - }: - mkDerivation { - pname = "composite-aeson"; - version = "0.7.4.0"; - sha256 = "1k8m89cff8b3yc1af0l9vd13pav2hjy51gcadahn07zpwv1bszfj"; - libraryHaskellDepends = [ - aeson aeson-better-errors base composite-base containers - contravariant generic-deriving hashable lens mmorph mtl profunctors - scientific tagged template-haskell text time unordered-containers - vector vinyl - ]; - testHaskellDepends = [ - aeson aeson-better-errors aeson-qq base composite-base containers - contravariant generic-deriving hashable hspec lens mmorph mtl - profunctors QuickCheck scientific tagged template-haskell text time - unordered-containers vector vinyl - ]; - description = "JSON for Vinyl records"; - license = lib.licenses.bsd3; - }) {}; - - "composite-aeson_0_7_5_0" = callPackage ({ mkDerivation, aeson, aeson-better-errors, aeson-qq, base , composite-base, containers, contravariant, generic-deriving , hashable, hspec, lens, mmorph, mtl, profunctors, QuickCheck @@ -60513,7 +60291,6 @@ self: { ]; description = "JSON for Vinyl records"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "composite-aeson-cofree-list" = callPackage @@ -60532,17 +60309,6 @@ self: { }) {}; "composite-aeson-path" = callPackage - ({ mkDerivation, base, composite-aeson, path }: - mkDerivation { - pname = "composite-aeson-path"; - version = "0.7.4.0"; - sha256 = "08p988iq7y76px61dlj5jq35drmnrf4khi27wpqgh3pg9d96yihx"; - libraryHaskellDepends = [ base composite-aeson path ]; - description = "Formatting data for the path library"; - license = lib.licenses.bsd3; - }) {}; - - "composite-aeson-path_0_7_5_0" = callPackage ({ mkDerivation, base, composite-aeson, path }: mkDerivation { pname = "composite-aeson-path"; @@ -60551,25 +60317,9 @@ self: { libraryHaskellDepends = [ base composite-aeson path ]; description = "Formatting data for the path library"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "composite-aeson-refined" = callPackage - ({ mkDerivation, aeson-better-errors, base, composite-aeson, mtl - , refined - }: - mkDerivation { - pname = "composite-aeson-refined"; - version = "0.7.4.0"; - sha256 = "049lrm5iip5y3c9m9x4sjangaigdprj1553sw2vrcvnvn8xfq57s"; - libraryHaskellDepends = [ - aeson-better-errors base composite-aeson mtl refined - ]; - description = "composite-aeson support for Refined from the refined package"; - license = lib.licenses.bsd3; - }) {}; - - "composite-aeson-refined_0_7_5_0" = callPackage ({ mkDerivation, aeson-better-errors, base, composite-aeson, mtl , refined }: @@ -60582,7 +60332,6 @@ self: { ]; description = "composite-aeson support for Refined from the refined package"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "composite-aeson-throw" = callPackage @@ -60615,29 +60364,6 @@ self: { }) {}; "composite-base" = callPackage - ({ mkDerivation, base, deepseq, exceptions, hspec, lens - , monad-control, mtl, profunctors, QuickCheck, template-haskell - , text, transformers, transformers-base, unliftio-core, vinyl - }: - mkDerivation { - pname = "composite-base"; - version = "0.7.4.0"; - sha256 = "1ml1y1zh8znvaqydwcnv8n69rzmx7zy2bpzr65gy79xbczz3dxwz"; - libraryHaskellDepends = [ - base deepseq exceptions lens monad-control mtl profunctors - template-haskell text transformers transformers-base unliftio-core - vinyl - ]; - testHaskellDepends = [ - base deepseq exceptions hspec lens monad-control mtl profunctors - QuickCheck template-haskell text transformers transformers-base - unliftio-core vinyl - ]; - description = "Shared utilities for composite-* packages"; - license = lib.licenses.bsd3; - }) {}; - - "composite-base_0_7_5_0" = callPackage ({ mkDerivation, base, deepseq, exceptions, hspec, lens , monad-control, mtl, profunctors, QuickCheck, template-haskell , text, transformers, transformers-base, unliftio-core, vinyl @@ -60658,21 +60384,9 @@ self: { ]; description = "Shared utilities for composite-* packages"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "composite-binary" = callPackage - ({ mkDerivation, base, binary, composite-base }: - mkDerivation { - pname = "composite-binary"; - version = "0.7.4.0"; - sha256 = "07d88krkpplprnw57j4bqi71p8bmj0wz28yw41wgl2p5g2h7zccp"; - libraryHaskellDepends = [ base binary composite-base ]; - description = "Orphan binary instances"; - license = lib.licenses.bsd3; - }) {}; - - "composite-binary_0_7_5_0" = callPackage ({ mkDerivation, base, binary, composite-base }: mkDerivation { pname = "composite-binary"; @@ -60681,24 +60395,9 @@ self: { libraryHaskellDepends = [ base binary composite-base ]; description = "Orphan binary instances"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "composite-ekg" = callPackage - ({ mkDerivation, base, composite-base, ekg-core, lens, text, vinyl - }: - mkDerivation { - pname = "composite-ekg"; - version = "0.7.4.0"; - sha256 = "0y8wnp6n1fvqfrkm1lqv8pdfq7a4k7gaxl3i9dh6xfzyamlghg82"; - libraryHaskellDepends = [ - base composite-base ekg-core lens text vinyl - ]; - description = "EKG Metrics for Vinyl records"; - license = lib.licenses.bsd3; - }) {}; - - "composite-ekg_0_7_5_0" = callPackage ({ mkDerivation, base, composite-base, ekg-core, lens, text, vinyl }: mkDerivation { @@ -60710,21 +60409,9 @@ self: { ]; description = "EKG Metrics for Vinyl records"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "composite-hashable" = callPackage - ({ mkDerivation, base, composite-base, hashable }: - mkDerivation { - pname = "composite-hashable"; - version = "0.7.4.0"; - sha256 = "0zwv6m9nzz0g3ngmfznxh6wmprhcgdbfxrsgylnr6990ppk0bmg1"; - libraryHaskellDepends = [ base composite-base hashable ]; - description = "Orphan hashable instances"; - license = lib.licenses.bsd3; - }) {}; - - "composite-hashable_0_7_5_0" = callPackage ({ mkDerivation, base, composite-base, hashable }: mkDerivation { pname = "composite-hashable"; @@ -60733,7 +60420,6 @@ self: { libraryHaskellDepends = [ base composite-base hashable ]; description = "Orphan hashable instances"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "composite-opaleye" = callPackage @@ -73631,22 +73317,6 @@ self: { }) {}; "depq" = callPackage - ({ mkDerivation, base, containers, deepseq, hspec, psqueues - , QuickCheck - }: - mkDerivation { - pname = "depq"; - version = "0.4.1.0"; - sha256 = "1rlbz9x34209zn44pn1xr9hnjv8ig47yq0p940wkblg55fy4lxcy"; - libraryHaskellDepends = [ - base containers deepseq psqueues QuickCheck - ]; - testHaskellDepends = [ base containers hspec QuickCheck ]; - description = "Double-ended priority queues"; - license = lib.licenses.bsd3; - }) {}; - - "depq_0_4_2" = callPackage ({ mkDerivation, base, containers, deepseq, hspec, psqueues , QuickCheck }: @@ -73660,7 +73330,6 @@ self: { testHaskellDepends = [ base containers hspec QuickCheck ]; description = "Double-ended priority queues"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "deptrack-core" = callPackage @@ -78247,8 +77916,8 @@ self: { }: mkDerivation { pname = "dl-fedora"; - version = "0.7.7"; - sha256 = "0m4rf0h2hzsd00cgn14w1n8pyrqrikwnf9d232lzwx6qx3nf2nqp"; + version = "0.8"; + sha256 = "1pd0cslszd9srr9bpcxzrm84cnk5r78xs79ig32528z0anc5ghcr"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -78263,21 +77932,22 @@ self: { broken = true; }) {}; - "dl-fedora_0_8" = callPackage + "dl-fedora_0_9" = callPackage ({ mkDerivation, base, bytestring, directory, extra, filepath - , http-directory, http-types, optparse-applicative, regex-posix - , simple-cmd, simple-cmd-args, text, time, unix, xdg-userdirs + , http-client, http-client-tls, http-directory, http-types + , optparse-applicative, regex-posix, simple-cmd, simple-cmd-args + , text, time, unix, xdg-userdirs }: mkDerivation { pname = "dl-fedora"; - version = "0.8"; - sha256 = "1pd0cslszd9srr9bpcxzrm84cnk5r78xs79ig32528z0anc5ghcr"; + version = "0.9"; + sha256 = "17khlv65irp1bdr7j0njlh1sgvr1nhi5xfvdiklhjr7vm6vhmipd"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ - base bytestring directory extra filepath http-directory http-types - optparse-applicative regex-posix simple-cmd simple-cmd-args text - time unix xdg-userdirs + base bytestring directory extra filepath http-client + http-client-tls http-directory http-types optparse-applicative + regex-posix simple-cmd simple-cmd-args text time unix xdg-userdirs ]; testHaskellDepends = [ base simple-cmd ]; description = "Fedora image download tool"; @@ -78805,8 +78475,8 @@ self: { }: mkDerivation { pname = "docker"; - version = "0.6.0.4"; - sha256 = "07j1c526gazy0kw98iklac767jhslhx9mcnzjazmwqsgyj8n217f"; + version = "0.6.0.5"; + sha256 = "1y7vs9s17gwls8f223b4vkwvwflyxr7spslccr9izlf4cblj216d"; libraryHaskellDepends = [ aeson base blaze-builder bytestring conduit conduit-combinators conduit-extra containers data-default-class directory exceptions @@ -80869,6 +80539,8 @@ self: { pname = "duckling"; version = "0.2.0.0"; sha256 = "0hr3dwfksi04is2wqykfx04da40sa85147fnfnmazw5czd20xwya"; + revision = "1"; + editedCabalFile = "19ml7s7p79y822b7bk9hlxg3c3p6gsklamzysv6pcdpf917cvgl4"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -85671,15 +85343,19 @@ self: { }) {}; "errata" = callPackage - ({ mkDerivation, base, containers, text }: + ({ mkDerivation, base, containers, hspec, hspec-discover + , hspec-golden, text + }: mkDerivation { pname = "errata"; - version = "0.2.0.0"; - sha256 = "14yg0zh7lawjdqpzw7qiwi0c41zqhbvijxxxba319mij5skmmr4k"; + version = "0.3.0.0"; + sha256 = "1m83lp3h2lxqkx0d17kplmwp0ngh3yn79k7yza4jkny0c4xv0ijy"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base containers text ]; executableHaskellDepends = [ base containers text ]; + testHaskellDepends = [ base containers hspec hspec-golden text ]; + testToolDepends = [ hspec-discover ]; description = "Source code error pretty printing"; license = lib.licenses.mit; }) {}; @@ -86218,30 +85894,6 @@ self: { }) {}; "essence-of-live-coding" = callPackage - ({ mkDerivation, base, containers, foreign-store, mtl, QuickCheck - , syb, test-framework, test-framework-quickcheck2, time - , transformers, vector-sized - }: - mkDerivation { - pname = "essence-of-live-coding"; - version = "0.2.4"; - sha256 = "04rbbq58ska6qldah0d7s8kdn5hkxka7bap7ca1wksbwbkph6qj1"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ - base containers foreign-store syb time transformers vector-sized - ]; - executableHaskellDepends = [ base transformers ]; - testHaskellDepends = [ - base containers mtl QuickCheck syb test-framework - test-framework-quickcheck2 transformers - ]; - description = "General purpose live coding framework"; - license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [ turion ]; - }) {}; - - "essence-of-live-coding_0_2_5" = callPackage ({ mkDerivation, base, containers, foreign-store, mtl, QuickCheck , syb, test-framework, test-framework-quickcheck2, time , transformers, vector-sized @@ -86262,27 +85914,10 @@ self: { ]; description = "General purpose live coding framework"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; maintainers = with lib.maintainers; [ turion ]; }) {}; "essence-of-live-coding-gloss" = callPackage - ({ mkDerivation, base, essence-of-live-coding, foreign-store, gloss - , syb, transformers - }: - mkDerivation { - pname = "essence-of-live-coding-gloss"; - version = "0.2.4"; - sha256 = "11hnzax39g7yaqwaaxi3niipamd65mcrdi431fxrspkhgcm1nx2y"; - libraryHaskellDepends = [ - base essence-of-live-coding foreign-store gloss syb transformers - ]; - description = "General purpose live coding framework - Gloss backend"; - license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [ turion ]; - }) {}; - - "essence-of-live-coding-gloss_0_2_5" = callPackage ({ mkDerivation, base, essence-of-live-coding, foreign-store, gloss , syb, transformers }: @@ -86295,7 +85930,6 @@ self: { ]; description = "General purpose live coding framework - Gloss backend"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; maintainers = with lib.maintainers; [ turion ]; }) {}; @@ -86318,22 +85952,6 @@ self: { }) {}; "essence-of-live-coding-pulse" = callPackage - ({ mkDerivation, base, essence-of-live-coding, foreign-store - , pulse-simple, transformers - }: - mkDerivation { - pname = "essence-of-live-coding-pulse"; - version = "0.2.4"; - sha256 = "0lhnq85bi22mwnw4fcg9hzr18mdifxlr833pwsc7ch401y2mf1kz"; - libraryHaskellDepends = [ - base essence-of-live-coding foreign-store pulse-simple transformers - ]; - description = "General purpose live coding framework - pulse backend"; - license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [ turion ]; - }) {}; - - "essence-of-live-coding-pulse_0_2_5" = callPackage ({ mkDerivation, base, essence-of-live-coding, foreign-store , pulse-simple, transformers }: @@ -86346,7 +85964,6 @@ self: { ]; description = "General purpose live coding framework - pulse backend"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; maintainers = with lib.maintainers; [ turion ]; }) {}; @@ -86369,23 +85986,6 @@ self: { }) {}; "essence-of-live-coding-quickcheck" = callPackage - ({ mkDerivation, base, boltzmann-samplers, essence-of-live-coding - , QuickCheck, syb, transformers - }: - mkDerivation { - pname = "essence-of-live-coding-quickcheck"; - version = "0.2.4"; - sha256 = "1ic2wvk4fc7jb6dkfy6fypmyw7hfbn79m51gn4z4c35ddhsfpngd"; - libraryHaskellDepends = [ - base boltzmann-samplers essence-of-live-coding QuickCheck syb - transformers - ]; - description = "General purpose live coding framework - QuickCheck integration"; - license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [ turion ]; - }) {}; - - "essence-of-live-coding-quickcheck_0_2_5" = callPackage ({ mkDerivation, base, boltzmann-samplers, essence-of-live-coding , QuickCheck, syb, transformers }: @@ -86399,7 +85999,6 @@ self: { ]; description = "General purpose live coding framework - QuickCheck integration"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; maintainers = with lib.maintainers; [ turion ]; }) {}; @@ -88567,8 +88166,8 @@ self: { ({ mkDerivation, base, containers, fgl, mtl, transformers }: mkDerivation { pname = "exploring-interpreters"; - version = "0.3.0.0"; - sha256 = "0h39si80s4q4n6599qj95z19jy3yc0101pphm4apvalm6wmppgpz"; + version = "0.3.1.0"; + sha256 = "0765nfr65lphp768j3snzpqpz6f4nrmkvsb6ishflhnxnp99xgyz"; libraryHaskellDepends = [ base containers fgl mtl transformers ]; description = "A generic exploring interpreter for exploratory programming"; license = lib.licenses.bsd3; @@ -88597,19 +88196,6 @@ self: { }) {}; "express" = callPackage - ({ mkDerivation, base, leancheck, template-haskell }: - mkDerivation { - pname = "express"; - version = "0.1.3"; - sha256 = "09g7i6x553gv5jkhbn5ffsrxznx8g4b3fcn1gibwyh380pbss8x1"; - libraryHaskellDepends = [ base template-haskell ]; - testHaskellDepends = [ base leancheck ]; - benchmarkHaskellDepends = [ base leancheck ]; - description = "Dynamically-typed expressions involving applications and variables"; - license = lib.licenses.bsd3; - }) {}; - - "express_0_1_4" = callPackage ({ mkDerivation, base, leancheck, template-haskell }: mkDerivation { pname = "express"; @@ -88620,7 +88206,6 @@ self: { benchmarkHaskellDepends = [ base leancheck ]; description = "Dynamically-typed expressions involving applications and variables"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "expression-parser" = callPackage @@ -88774,12 +88359,12 @@ self: { }) {}; "extended-containers" = callPackage - ({ mkDerivation, base, hspec, QuickCheck, transformers, vector }: + ({ mkDerivation, base, deepseq, hspec, primitive, QuickCheck }: mkDerivation { pname = "extended-containers"; - version = "0.1.0.0"; - sha256 = "04m3i90iljx36yc528yz6dcgcrfvzkvjvghqjp741mqvmixdjsip"; - libraryHaskellDepends = [ base transformers vector ]; + version = "0.1.1.0"; + sha256 = "1fiwhfnwr8m0fnivfx4vmpdzmmglk82xc0x7djavz48mfsz1x459"; + libraryHaskellDepends = [ base deepseq primitive ]; testHaskellDepends = [ base hspec QuickCheck ]; description = "Heap and Vector container types"; license = lib.licenses.bsd3; @@ -92425,6 +92010,23 @@ self: { license = lib.licenses.bsd3; }) {}; + "finite-fields" = callPackage + ({ mkDerivation, base, Cabal, containers, directory, filepath + , QuickCheck, random, tasty, tasty-quickcheck, vector + }: + mkDerivation { + pname = "finite-fields"; + version = "0.2"; + sha256 = "158qc6q8ppisjxhipcvfjha8iklg0x6jpf0cb8wgsz2456wzm2s8"; + setupHaskellDepends = [ base Cabal directory filepath ]; + libraryHaskellDepends = [ base containers random vector ]; + testHaskellDepends = [ + base containers QuickCheck random tasty tasty-quickcheck + ]; + description = "Arithmetic in finite fields"; + license = lib.licenses.bsd3; + }) {}; + "finite-typelits" = callPackage ({ mkDerivation, base, deepseq }: mkDerivation { @@ -92777,20 +92379,6 @@ self: { }) {}; "fixed-length" = callPackage - ({ mkDerivation, base, non-empty, storable-record, tfp, utility-ht - }: - mkDerivation { - pname = "fixed-length"; - version = "0.2.2"; - sha256 = "1bx46n11k9dpr5hhfhxiwdd5npaqf9xwvqvjd0nlbylfmsmgd14y"; - libraryHaskellDepends = [ - base non-empty storable-record tfp utility-ht - ]; - description = "Lists with statically known length based on non-empty package"; - license = lib.licenses.bsd3; - }) {}; - - "fixed-length_0_2_2_1" = callPackage ({ mkDerivation, base, non-empty, storable-record, tfp, utility-ht }: mkDerivation { @@ -92802,7 +92390,6 @@ self: { ]; description = "Lists with statically known length based on non-empty package"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "fixed-list" = callPackage @@ -95072,8 +94659,8 @@ self: { }: mkDerivation { pname = "forex2ledger"; - version = "1.0.0.0"; - sha256 = "0rsaw9l3653kfp3hfszdyq7xqfmr38xwvlwk7mdr7sqhqs2xxbaq"; + version = "1.0.0.1"; + sha256 = "0v6adrl9c9vjpf4gm8x729qxq7yl84bfbiawmdpks2jzdckxvgdb"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -100039,24 +99626,6 @@ self: { }) {}; "generic-lens" = callPackage - ({ mkDerivation, base, doctest, generic-lens-core, HUnit - , inspection-testing, lens, profunctors, text - }: - mkDerivation { - pname = "generic-lens"; - version = "2.0.0.0"; - sha256 = "0fh9095qiqlym0s6w0zkmybn7hyywgy964fhg95x0vprpmfya5mq"; - libraryHaskellDepends = [ - base generic-lens-core profunctors text - ]; - testHaskellDepends = [ - base doctest HUnit inspection-testing lens profunctors - ]; - description = "Generically derive traversals, lenses and prisms"; - license = lib.licenses.bsd3; - }) {}; - - "generic-lens_2_1_0_0" = callPackage ({ mkDerivation, base, doctest, generic-lens-core, HUnit , inspection-testing, lens, profunctors, text }: @@ -100072,21 +99641,9 @@ self: { ]; description = "Generically derive traversals, lenses and prisms"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "generic-lens-core" = callPackage - ({ mkDerivation, base, indexed-profunctors, text }: - mkDerivation { - pname = "generic-lens-core"; - version = "2.0.0.0"; - sha256 = "0h7fjh3zk8lkkmdj3w3wg72gbmnr8wz9wfm58ryvx0036l284qji"; - libraryHaskellDepends = [ base indexed-profunctors text ]; - description = "Generically derive traversals, lenses and prisms"; - license = lib.licenses.bsd3; - }) {}; - - "generic-lens-core_2_1_0_0" = callPackage ({ mkDerivation, base, indexed-profunctors, text }: mkDerivation { pname = "generic-lens-core"; @@ -100095,7 +99652,6 @@ self: { libraryHaskellDepends = [ base indexed-profunctors text ]; description = "Generically derive traversals, lenses and prisms"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "generic-lens-labels" = callPackage @@ -100184,24 +99740,6 @@ self: { }) {}; "generic-optics" = callPackage - ({ mkDerivation, base, doctest, generic-lens-core, HUnit - , inspection-testing, optics-core, text - }: - mkDerivation { - pname = "generic-optics"; - version = "2.0.0.0"; - sha256 = "17m72q0cjvagq1khiq8m495jhkpn2rqd6y1h9bxngp6l0k355nmw"; - libraryHaskellDepends = [ - base generic-lens-core optics-core text - ]; - testHaskellDepends = [ - base doctest HUnit inspection-testing optics-core - ]; - description = "Generically derive traversals, lenses and prisms"; - license = lib.licenses.bsd3; - }) {}; - - "generic-optics_2_1_0_0" = callPackage ({ mkDerivation, base, doctest, generic-lens-core, HUnit , inspection-testing, optics-core, text }: @@ -100217,7 +99755,6 @@ self: { ]; description = "Generically derive traversals, lenses and prisms"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "generic-optics-lite" = callPackage @@ -101796,23 +101333,6 @@ self: { }) {}; "ghc-check" = callPackage - ({ mkDerivation, base, containers, directory, filepath, ghc - , ghc-paths, process, safe-exceptions, template-haskell - , transformers - }: - mkDerivation { - pname = "ghc-check"; - version = "0.5.0.3"; - sha256 = "0crhlqs296zsz7bhy3zqaqhglxg45i6z7d1iqj9v7nr9crimxyjn"; - libraryHaskellDepends = [ - base containers directory filepath ghc ghc-paths process - safe-exceptions template-haskell transformers - ]; - description = "detect mismatches between compile-time and run-time versions of the ghc api"; - license = lib.licenses.bsd3; - }) {}; - - "ghc-check_0_5_0_4" = callPackage ({ mkDerivation, base, containers, directory, filepath, ghc , ghc-paths, process, safe-exceptions, template-haskell, th-compat , transformers @@ -101827,7 +101347,6 @@ self: { ]; description = "detect mismatches between compile-time and run-time versions of the ghc api"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "ghc-clippy-plugin" = callPackage @@ -105324,6 +104843,25 @@ self: { hydraPlatforms = lib.platforms.none; }) {inherit (pkgs) libsoup;}; + "gi-vips" = callPackage + ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib + , gi-gobject, haskell-gi, haskell-gi-base, haskell-gi-overloading + , text, transformers, vips + }: + mkDerivation { + pname = "gi-vips"; + version = "8.0.1"; + sha256 = "1iq30mbyw638srpna9db1l039iz30zglxxfjysh0gmkrij4ky7kv"; + setupHaskellDepends = [ base Cabal gi-glib gi-gobject haskell-gi ]; + libraryHaskellDepends = [ + base bytestring containers gi-glib gi-gobject haskell-gi + haskell-gi-base haskell-gi-overloading text transformers + ]; + libraryPkgconfigDepends = [ vips ]; + description = "libvips GObject bindings"; + license = lib.licenses.lgpl21Only; + }) {inherit (pkgs) vips;}; + "gi-vte" = callPackage ({ mkDerivation, base, bytestring, Cabal, containers, gi-atk , gi-gdk, gi-gio, gi-glib, gi-gobject, gi-gtk, gi-pango, haskell-gi @@ -107038,26 +106576,6 @@ self: { }) {}; "glabrous" = callPackage - ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring - , cereal, cereal-text, directory, either, hspec, text - , unordered-containers - }: - mkDerivation { - pname = "glabrous"; - version = "2.0.2"; - sha256 = "10aaa3aggn48imhqxkwyp0i0mar7fan29rwr6qkwli63v3m7fvgr"; - libraryHaskellDepends = [ - aeson aeson-pretty attoparsec base bytestring cereal cereal-text - either text unordered-containers - ]; - testHaskellDepends = [ - base directory either hspec text unordered-containers - ]; - description = "A template DSL library"; - license = lib.licenses.bsd3; - }) {}; - - "glabrous_2_0_3" = callPackage ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring , cereal, cereal-text, directory, either, hspec, text , unordered-containers @@ -107075,7 +106593,6 @@ self: { ]; description = "A template DSL library"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "glade" = callPackage @@ -107771,6 +107288,32 @@ self: { broken = true; }) {inherit (pkgs) glpk;}; + "glsl" = callPackage + ({ mkDerivation, attoparsec, base, binary, bytestring, containers + , directory, fgl, graphviz, hspec, hspec-discover, lens, linear + , QuickCheck, scientific, text, time, transformers, vector + }: + mkDerivation { + pname = "glsl"; + version = "0.0.1.0"; + sha256 = "1zq1dy6jzd41qz08xhwvbgy2g6zj90akb2145kh2h2906fyzr2wf"; + isLibrary = true; + isExecutable = true; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ + attoparsec base binary containers fgl graphviz lens linear + scientific text transformers + ]; + executableHaskellDepends = [ base text time ]; + testHaskellDepends = [ + attoparsec base binary bytestring directory hspec QuickCheck text + vector + ]; + testToolDepends = [ hspec-discover ]; + description = "Parser and optimizer for a small subset of GLSL"; + license = lib.licenses.bsd3; + }) {}; + "gltf-codec" = callPackage ({ mkDerivation, aeson, base, base64-bytestring, binary, bytestring , directory, filepath, scientific, shower, text @@ -112340,6 +111883,8 @@ self: { pname = "graphula-core"; version = "2.0.0.1"; sha256 = "0yl1x5dw70rds9fk7ijsyrksharjm2fhvbihybjbjpj89s1n1zir"; + revision = "1"; + editedCabalFile = "0wpbz938vqw60lzgw98pf83i2c09c5633kkh3xhn42zpbnw76ylj"; libraryHaskellDepends = [ base containers directory generics-eot HUnit mtl persistent QuickCheck random semigroups temporary text transformers unliftio @@ -113270,8 +112815,8 @@ self: { }: mkDerivation { pname = "grpc-haskell"; - version = "0.0.1.0"; - sha256 = "1cl12g88wvml3s5jazcb4gi4zwf6fp28hc9jp1fj25qpbr14il5c"; + version = "0.1.0"; + sha256 = "1qqa4qn6ql8zvacaikd1a154ib7bah2h96fjfvd3hz6j79bbfqw4"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -116036,8 +115581,8 @@ self: { }: mkDerivation { pname = "hadolint"; - version = "2.1.0"; - sha256 = "0hvn6kq6pasyh9mvnxn4crhg4fxmw7xrcfxa77wkxni8q1a94xxs"; + version = "2.3.0"; + sha256 = "03cz3inkkqbdnwwvsf7dhclp9svi8c0lpjmcp81ff9vxr1v6x73x"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -119941,6 +119486,8 @@ self: { pname = "haskell-awk"; version = "1.2"; sha256 = "14jfw5s3xw7amwasw37mxfinzwvxd6pr64iypmy65z7bkx3l01cj"; + revision = "1"; + editedCabalFile = "1d6smaalvf66h0d9d1vq9q8ldxcvg11m05wg70cbsq3s2vh6iz4p"; isLibrary = true; isExecutable = true; setupHaskellDepends = [ base Cabal cabal-doctest ]; @@ -127394,16 +126941,16 @@ self: { , inline-c-cpp, katip, lens, lens-aeson, lifted-async, lifted-base , monad-control, mtl, network, network-uri, nix , optparse-applicative, process, process-extras, protolude - , safe-exceptions, servant, servant-auth-client, servant-client - , servant-client-core, stm, temporary, text, time, tomland - , transformers, transformers-base, unbounded-delays, unix, unliftio - , unliftio-core, unordered-containers, uuid, vector, websockets - , wuss + , safe-exceptions, scientific, servant, servant-auth-client + , servant-client, servant-client-core, stm, temporary, text, time + , tomland, transformers, transformers-base, unbounded-delays, unix + , unliftio, unliftio-core, unordered-containers, uuid, vector + , websockets, wuss }: mkDerivation { pname = "hercules-ci-agent"; - version = "0.8.0"; - sha256 = "1nwdi442ccm1x2isxdlh3rpcw627wjccdb4y40w2qna6dchx7v9z"; + version = "0.8.1"; + sha256 = "0f18mz2chwipjac7dc918hn54frrxqk6bvyjvzqq25agi5zh8h12"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -127423,7 +126970,7 @@ self: { hostname http-client http-client-tls http-conduit inline-c inline-c-cpp katip lens lens-aeson lifted-async lifted-base monad-control mtl network network-uri optparse-applicative process - process-extras protolude safe-exceptions servant + process-extras protolude safe-exceptions scientific servant servant-auth-client servant-client servant-client-core stm temporary text time tomland transformers transformers-base unix unliftio unliftio-core unordered-containers uuid vector websockets @@ -127452,8 +126999,8 @@ self: { }: mkDerivation { pname = "hercules-ci-api"; - version = "0.6.0.0"; - sha256 = "11ha3jvwg501n9all4v5r057qr9m9qbmbrkiv5l04mrsi5pvhpw7"; + version = "0.6.0.1"; + sha256 = "1c9dvj9vv4rm0ndmgfm9s4qfpjbs2ly98r06bl0xv550anik7kqj"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -127484,8 +127031,8 @@ self: { }: mkDerivation { pname = "hercules-ci-api-agent"; - version = "0.3.0.0"; - sha256 = "161ghlz5n6na4sviwyxxq78hj37yk89kri0367xx9dbsllgfc7g6"; + version = "0.3.1.0"; + sha256 = "0p1xlzwhaz6ycjzmadnlmr7fvz9iar9b7qzz867xxvix6p8w2nj6"; libraryHaskellDepends = [ aeson base base64-bytestring-type bytestring containers cookie deepseq exceptions hashable hercules-ci-api-core http-api-data @@ -127540,8 +127087,8 @@ self: { }: mkDerivation { pname = "hercules-ci-cli"; - version = "0.1.0"; - sha256 = "1fcg1fd2jd0334nhwsipyf468a4kkdhbibyhhjyspqagswaanm9q"; + version = "0.2.0"; + sha256 = "0fxsx31b6m9hxcpymixmfpvj1k569kzbxd2jvm8kzda073hljsbm"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -127593,8 +127140,8 @@ self: { }: mkDerivation { pname = "hercules-ci-cnix-store"; - version = "0.1.0.0"; - sha256 = "1ni83x2453ii2xgq4ihhr41jbjhgga5dq5q8560f555fwrw10brz"; + version = "0.1.1.0"; + sha256 = "1lvlilhfkyx3i4fp0azjx4gm2iwm6hkjrg6kc5faifw7knfivinj"; libraryHaskellDepends = [ base bytestring conduit containers inline-c inline-c-cpp protolude unliftio-core @@ -129244,20 +128791,6 @@ self: { }) {}; "hi-file-parser" = callPackage - ({ mkDerivation, base, binary, bytestring, hspec, rio, vector }: - mkDerivation { - pname = "hi-file-parser"; - version = "0.1.1.0"; - sha256 = "1wb79m6vx7dz4hrvyk2h1iv6q36g9hhywls5ygam7pmw9c4rs3sq"; - revision = "2"; - editedCabalFile = "1495j6ky44r660yr5szy2ln96rdhakh0fhnw749g2yyx5l0gwcrs"; - libraryHaskellDepends = [ base binary bytestring rio vector ]; - testHaskellDepends = [ base binary bytestring hspec rio vector ]; - description = "Parser for GHC's hi files"; - license = lib.licenses.bsd3; - }) {}; - - "hi-file-parser_0_1_2_0" = callPackage ({ mkDerivation, base, binary, bytestring, hspec, mtl, rio, vector }: mkDerivation { @@ -129270,7 +128803,6 @@ self: { ]; description = "Parser for GHC's hi files"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "hi3status" = callPackage @@ -129570,6 +129102,28 @@ self: { broken = true; }) {}; + "hierarchical-env" = callPackage + ({ mkDerivation, base, hspec, hspec-discover, method, microlens + , microlens-mtl, microlens-th, rio, template-haskell + , th-abstraction + }: + mkDerivation { + pname = "hierarchical-env"; + version = "0.1.0.0"; + sha256 = "0syx9i9z9j75wbqsrwl8nqhr025df6vmgb4p767sdb7dncpqkph9"; + libraryHaskellDepends = [ + base method microlens microlens-mtl microlens-th rio + template-haskell th-abstraction + ]; + testHaskellDepends = [ + base hspec method microlens microlens-mtl microlens-th rio + template-haskell th-abstraction + ]; + testToolDepends = [ hspec-discover ]; + description = "hierarchical environments for dependency injection"; + license = lib.licenses.bsd3; + }) {}; + "hierarchical-exceptions" = callPackage ({ mkDerivation, base, template-haskell }: mkDerivation { @@ -131855,6 +131409,8 @@ self: { pname = "hlrdb"; version = "0.3.2.0"; sha256 = "1k4dsd4h3fv1ag753gwxvirfrj53ra4ik948pyacq31c16mz1l2p"; + revision = "1"; + editedCabalFile = "1ypb0197v5x6a5zkj7qqrr7lam3sxvvi3wbgk5imvdppq2rj7hqz"; libraryHaskellDepends = [ base base64-bytestring bytestring cryptonite hashable hedis hlrdb-core memory random store time unordered-containers zstd @@ -131871,10 +131427,10 @@ self: { }: mkDerivation { pname = "hlrdb-core"; - version = "0.1.6.0"; - sha256 = "13hb0657y5cqhbl2m27v28b6zl9mgcq17r983rds3l3bccn67ayv"; + version = "0.1.6.1"; + sha256 = "0sy87qz7v1x4rmqclfz2q8bnca2k7zyc7cgk67s80xhp4jsab90x"; revision = "1"; - editedCabalFile = "163scamdjq98zk039qv3r4xqz7hmixa136gfkifx757fy4nigdiy"; + editedCabalFile = "1nyvgbpvr7l0b9cvnlavmc88aszvxfrdcj57grrs6dcd1d4lv7ss"; libraryHaskellDepends = [ base bytestring hashable hedis lens mtl profunctors random time unordered-containers @@ -136127,15 +135683,15 @@ self: { }: mkDerivation { pname = "hs-conllu"; - version = "0.1.2"; - sha256 = "1dvayafvf14gbir7cafhzlscqlffaws5ajilm5h520ji449jh2aa"; + version = "0.1.5"; + sha256 = "1azh4g5kdng8v729ldgblkmrdqrc501rgm9wwqx6gkqwwzn8w3r4"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base containers directory filepath megaparsec void ]; executableHaskellDepends = [ - base containers directory filepath megaparsec + base containers directory filepath megaparsec void ]; description = "Conllu validating parser and utils"; license = lib.licenses.lgpl3Only; @@ -138094,20 +137650,22 @@ self: { "hsendxmpp" = callPackage ({ mkDerivation, base, hslogger, pontarius-xmpp - , pontarius-xmpp-extras, string-class + , pontarius-xmpp-extras, string-class, text }: mkDerivation { pname = "hsendxmpp"; - version = "0.1.2.4"; - sha256 = "17dhhjbynr7afjibv6fys45m2al422b6q3z7ncfycpwp6541qifm"; + version = "0.1.2.5"; + sha256 = "0wyfcsc0vjyx87r5dv51frfligf4d7v0n1m7967vg4d6jkw2zxd9"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ base hslogger pontarius-xmpp pontarius-xmpp-extras string-class + text ]; description = "sendxmpp clone, sending XMPP messages via CLI"; - license = "unknown"; + license = lib.licenses.agpl3Only; hydraPlatforms = lib.platforms.none; + broken = true; }) {}; "hsenv" = callPackage @@ -138406,8 +137964,8 @@ self: { }: mkDerivation { pname = "hsinspect"; - version = "0.0.17"; - sha256 = "1ib8vxjsrg03i4fmcgwfkxwbr4dwyvk6xvhb0y6xydwjckfs0ldd"; + version = "0.0.18"; + sha256 = "1xqrmkr1r3ssv51aqikxhw39rgajswrvl3z0gb0xq2p3shynxi53"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -139327,25 +138885,6 @@ self: { }) {}; "hspec-expectations-json" = callPackage - ({ mkDerivation, aeson, aeson-pretty, aeson-qq, base, Diff, hspec - , HUnit, scientific, text, unordered-containers, vector - }: - mkDerivation { - pname = "hspec-expectations-json"; - version = "1.0.0.2"; - sha256 = "1jv0mi0hdbxx75yygd3184kqpi50ysjp82vyr1di7dcz0ffyxhmb"; - libraryHaskellDepends = [ - aeson aeson-pretty base Diff HUnit scientific text - unordered-containers vector - ]; - testHaskellDepends = [ aeson-qq base hspec ]; - description = "Hspec expectations for JSON Values"; - license = lib.licenses.mit; - hydraPlatforms = lib.platforms.none; - broken = true; - }) {}; - - "hspec-expectations-json_1_0_0_3" = callPackage ({ mkDerivation, aeson, aeson-pretty, aeson-qq, base, Diff, hspec , HUnit, scientific, text, unordered-containers, vector }: @@ -139566,23 +139105,6 @@ self: { }) {}; "hspec-junit-formatter" = callPackage - ({ mkDerivation, base, conduit, directory, exceptions, hashable - , hspec, hspec-core, resourcet, temporary, text, xml-conduit - , xml-types - }: - mkDerivation { - pname = "hspec-junit-formatter"; - version = "1.0.0.1"; - sha256 = "146y4y3q047a5g8dif1vdjsn8jz6kafq0yzd7x5wpg7daccbxami"; - libraryHaskellDepends = [ - base conduit directory exceptions hashable hspec hspec-core - resourcet temporary text xml-conduit xml-types - ]; - description = "A JUnit XML runner/formatter for hspec"; - license = lib.licenses.mit; - }) {}; - - "hspec-junit-formatter_1_0_0_2" = callPackage ({ mkDerivation, base, conduit, directory, exceptions, hashable , hspec, hspec-core, resourcet, temporary, text, xml-conduit , xml-types @@ -139597,7 +139119,6 @@ self: { ]; description = "A JUnit XML runner/formatter for hspec"; license = lib.licenses.mit; - hydraPlatforms = lib.platforms.none; }) {}; "hspec-laws" = callPackage @@ -141695,7 +141216,7 @@ self: { license = lib.licenses.mit; }) {}; - "http-client_0_7_7" = callPackage + "http-client_0_7_8" = callPackage ({ mkDerivation, array, async, base, base64-bytestring , blaze-builder, bytestring, case-insensitive, containers, cookie , deepseq, directory, exceptions, filepath, ghc-prim, hspec @@ -141705,8 +141226,8 @@ self: { }: mkDerivation { pname = "http-client"; - version = "0.7.7"; - sha256 = "0sbjfxfnj5b594klc7h7zmw27gssrbcsacld9lw9p0bpmgx73lvn"; + version = "0.7.8"; + sha256 = "043ydfakl02cghmphzz9hj08hrfszqw96vjrb4cal7c7801szz0q"; libraryHaskellDepends = [ array base base64-bytestring blaze-builder bytestring case-insensitive containers cookie deepseq exceptions filepath @@ -142326,8 +141847,8 @@ self: { pname = "http-media"; version = "0.8.0.0"; sha256 = "0lww5cxrc9jlvzsysjv99lca33i4rb7cll66p3c0rdpmvz8pk0ir"; - revision = "4"; - editedCabalFile = "0qg6x92i3w2q7zarr08kmicychkwskfi04xaxkqkg0cw6jnpnhhh"; + revision = "5"; + editedCabalFile = "0wf39pdag8a81ksk5xrgjzzzhav62vw2s77p43y7n3zkz5vynw7n"; libraryHaskellDepends = [ base bytestring case-insensitive containers utf8-string ]; @@ -142458,19 +141979,23 @@ self: { ({ mkDerivation, async, base, blaze-builder, bytestring , bytestring-lexing, case-insensitive, conduit, conduit-extra , connection, hspec, http-client, http-conduit, http-types, mtl - , network, QuickCheck, random, resourcet, streaming-commons, text - , tls, transformers, vault, wai, wai-conduit, warp, warp-tls + , network, network-uri, QuickCheck, random, resourcet + , streaming-commons, text, tls, transformers, vault, wai + , wai-conduit, warp, warp-tls }: mkDerivation { pname = "http-proxy"; - version = "0.1.1.0"; - sha256 = "1nzihn2qxm066avzgill1nxa0174ggv54bacsn871a0ai7n03079"; + version = "0.1.2.0"; + sha256 = "17yn15hd0kn3r495awy5qmrxq8mgrby8h5b9q7vzm583yppi9dmn"; + isLibrary = true; + isExecutable = true; libraryHaskellDepends = [ - async base blaze-builder bytestring bytestring-lexing - case-insensitive conduit conduit-extra http-client http-conduit - http-types mtl network resourcet streaming-commons text tls - transformers wai wai-conduit warp warp-tls + async base bytestring bytestring-lexing case-insensitive conduit + conduit-extra http-client http-conduit http-types mtl network + resourcet streaming-commons text tls transformers wai wai-conduit + warp warp-tls ]; + executableHaskellDepends = [ base bytestring network-uri wai ]; testHaskellDepends = [ async base blaze-builder bytestring bytestring-lexing case-insensitive conduit conduit-extra connection hspec http-client @@ -142746,7 +142271,7 @@ self: { license = lib.licenses.bsd3; }) {}; - "http2_3_0_0" = callPackage + "http2_3_0_1" = callPackage ({ mkDerivation, aeson, aeson-pretty, array, async, base , base16-bytestring, bytestring, case-insensitive, containers , cryptonite, directory, filepath, gauge, Glob, heaps, hspec @@ -142757,8 +142282,8 @@ self: { }: mkDerivation { pname = "http2"; - version = "3.0.0"; - sha256 = "17j4p2apyiiznkwdn9a8pdb43vcwbnpzyff2wqlzpbf9habb8idf"; + version = "3.0.1"; + sha256 = "1c1vhb2x23rlw7ciayz0rx6lpifjwrvpg88nspwa9w5nbjij2258"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -145516,8 +145041,8 @@ self: { ({ mkDerivation, base, containers, HUnit, random }: mkDerivation { pname = "hyahtzee"; - version = "0.2"; - sha256 = "0zv9ycgf9sii59q86s04m6krjyjgmrqaxz4lyvwa58b7a886wcmv"; + version = "0.5"; + sha256 = "0g9y155w072zdwfx241zs7wwi338kyabv6kdk5j180s85ya8ryxp"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ base containers HUnit random ]; @@ -148762,17 +148287,6 @@ self: { }) {}; "indexed-profunctors" = callPackage - ({ mkDerivation, base }: - mkDerivation { - pname = "indexed-profunctors"; - version = "0.1"; - sha256 = "0rdvj62rapkkj5zv5jyx2ynfwn2iszx1w2q08j9ik17zklqv9pri"; - libraryHaskellDepends = [ base ]; - description = "Utilities for indexed profunctors"; - license = lib.licenses.bsd3; - }) {}; - - "indexed-profunctors_0_1_1" = callPackage ({ mkDerivation, base }: mkDerivation { pname = "indexed-profunctors"; @@ -148781,7 +148295,6 @@ self: { libraryHaskellDepends = [ base ]; description = "Utilities for indexed profunctors"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "indexed-traversable" = callPackage @@ -149417,8 +148930,6 @@ self: { ]; description = "Seamlessly call R from Haskell and vice versa. No FFI required."; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; - broken = true; }) {inherit (pkgs) R;}; "inliterate" = callPackage @@ -149542,6 +149053,23 @@ self: { license = lib.licenses.mit; }) {}; + "inspection-testing_0_4_4_0" = callPackage + ({ mkDerivation, base, containers, ghc, mtl, template-haskell + , transformers + }: + mkDerivation { + pname = "inspection-testing"; + version = "0.4.4.0"; + sha256 = "1zr7c7xpmnfwn2p84rqw69n1g91rdkh7d20awvj0s56nbdikgiyh"; + libraryHaskellDepends = [ + base containers ghc mtl template-haskell transformers + ]; + testHaskellDepends = [ base ]; + description = "GHC plugin to do inspection testing"; + license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + }) {}; + "inspector-wrecker" = callPackage ({ mkDerivation, aeson, base, bytestring, case-insensitive , connection, data-default, http-client, http-client-tls @@ -150429,12 +149957,12 @@ self: { }) {}; "interval-algebra" = callPackage - ({ mkDerivation, base, hspec, QuickCheck, time }: + ({ mkDerivation, base, hspec, QuickCheck, time, witherable }: mkDerivation { pname = "interval-algebra"; - version = "0.1.2"; - sha256 = "1nhpcrp7r6ba9mqwrfkx0zk7awdw24kh75ggq1wcif6mpir2khkx"; - libraryHaskellDepends = [ base time ]; + version = "0.3.3"; + sha256 = "0njlirr5ymsdw27snixxf3c4dgj8grffqv94a1hz97k801a3axkh"; + libraryHaskellDepends = [ base QuickCheck time witherable ]; testHaskellDepends = [ base hspec QuickCheck time ]; description = "An implementation of Allen's interval algebra for temporal logic"; license = lib.licenses.bsd3; @@ -152934,26 +152462,6 @@ self: { }) {}; "jack" = callPackage - ({ mkDerivation, array, base, bytestring, enumset, event-list - , explicit-exception, libjack2, midi, non-negative, semigroups - , transformers - }: - mkDerivation { - pname = "jack"; - version = "0.7.1.4"; - sha256 = "018lsa5mgl7vb0hrd4jswa40d6w7alfq082brax8p832zf0v5bj2"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ - array base bytestring enumset event-list explicit-exception midi - non-negative semigroups transformers - ]; - libraryPkgconfigDepends = [ libjack2 ]; - description = "Bindings for the JACK Audio Connection Kit"; - license = "GPL"; - }) {inherit (pkgs) libjack2;}; - - "jack_0_7_2" = callPackage ({ mkDerivation, array, base, bytestring, enumset, event-list , explicit-exception, libjack2, midi, non-negative, semigroups , transformers @@ -152971,7 +152479,6 @@ self: { libraryPkgconfigDepends = [ libjack2 ]; description = "Bindings for the JACK Audio Connection Kit"; license = lib.licenses.gpl2Only; - hydraPlatforms = lib.platforms.none; }) {inherit (pkgs) libjack2;}; "jack-bindings" = callPackage @@ -158528,6 +158035,26 @@ self: { broken = true; }) {}; + "kvitable" = callPackage + ({ mkDerivation, base, containers, html-parse, lucid, microlens + , pretty-show, prettyprinter, tasty, tasty-hunit, template-haskell + , text + }: + mkDerivation { + pname = "kvitable"; + version = "1.0.0.0"; + sha256 = "1p8myw0f32gb1cxzp63l4i7m6gz1l423pl40yp2jl7vfdp4kzjwz"; + libraryHaskellDepends = [ + base containers lucid microlens prettyprinter text + ]; + testHaskellDepends = [ + base html-parse microlens pretty-show tasty tasty-hunit + template-haskell text + ]; + description = "Key/Value Indexed Table container and formatting library"; + license = lib.licenses.isc; + }) {}; + "kyotocabinet" = callPackage ({ mkDerivation, base, bytestring, cereal, kyotocabinet }: mkDerivation { @@ -160041,8 +159568,8 @@ self: { }: mkDerivation { pname = "language-docker"; - version = "9.1.3"; - sha256 = "00nr8fb981rkjzy2xhppvg9avsi377ww28d50rldm5wh7ax9s3w2"; + version = "9.2.0"; + sha256 = "08nq78091w7dii823fy7bvp2gxn1j1fp1fj151z37hvf423w19ds"; libraryHaskellDepends = [ base bytestring containers data-default-class megaparsec prettyprinter split text time @@ -160055,15 +159582,15 @@ self: { license = lib.licenses.gpl3Only; }) {}; - "language-docker_9_2_0" = callPackage + "language-docker_9_3_0" = callPackage ({ mkDerivation, base, bytestring, containers, data-default-class , hspec, HUnit, megaparsec, prettyprinter, QuickCheck, split, text , time }: mkDerivation { pname = "language-docker"; - version = "9.2.0"; - sha256 = "08nq78091w7dii823fy7bvp2gxn1j1fp1fj151z37hvf423w19ds"; + version = "9.3.0"; + sha256 = "1n9v0b6lwr528b6919y11a8d27mhsp0mm870rx0rjg9l5j4mnbvn"; libraryHaskellDepends = [ base bytestring containers data-default-class megaparsec prettyprinter split text time @@ -162089,6 +161616,19 @@ self: { license = lib.licenses.bsd3; }) {}; + "leancheck_0_9_4" = callPackage + ({ mkDerivation, base, template-haskell }: + mkDerivation { + pname = "leancheck"; + version = "0.9.4"; + sha256 = "0w17ymj7k4sr9jwp9yrgh3l94l3kgjyxxnpxwj2sdqk8fvmjpkny"; + libraryHaskellDepends = [ base template-haskell ]; + testHaskellDepends = [ base ]; + description = "Enumerative property-based testing"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + }) {}; + "leancheck-enum-instances" = callPackage ({ mkDerivation, base, enum-types, leancheck }: mkDerivation { @@ -164667,6 +164207,19 @@ self: { license = lib.licenses.bsd3; }) {}; + "lift-type" = callPackage + ({ mkDerivation, base, template-haskell }: + mkDerivation { + pname = "lift-type"; + version = "0.1.0.0"; + sha256 = "0832xn7bfv1kwg02mmh6my11inljb066mci01b7p0xkcip1kmrhy"; + revision = "1"; + editedCabalFile = "1m89kzw7zrys8jjg7sbdpfq3bsqdvqr8bcszsnwvx0nmj1c6hciw"; + libraryHaskellDepends = [ base template-haskell ]; + testHaskellDepends = [ base template-haskell ]; + license = lib.licenses.bsd3; + }) {}; + "lifted-async" = callPackage ({ mkDerivation, async, base, constraints, deepseq, HUnit , lifted-base, monad-control, mtl, tasty, tasty-bench @@ -171926,6 +171479,27 @@ self: { broken = true; }) {}; + "mangrove" = callPackage + ({ mkDerivation, aeson, base, bytestring, containers, filepath + , HUnit, text, transformers, unordered-containers, utility-ht + , vector, willow + }: + mkDerivation { + pname = "mangrove"; + version = "0.1.0.0"; + sha256 = "0r9gpi79h676zal5r6x6kq8aszi83y035g32j55y0lkqsiww86ah"; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ + aeson base bytestring containers filepath text transformers + unordered-containers utility-ht vector willow + ]; + testHaskellDepends = [ + base bytestring filepath HUnit text utility-ht + ]; + description = "A parser for web documents according to the HTML5 specification"; + license = lib.licenses.mpl20; + }) {}; + "manifold-random" = callPackage ({ mkDerivation, base, constrained-categories, linearmap-category , manifolds, random-fu, semigroups, vector-space @@ -178031,29 +177605,6 @@ self: { }) {}; "mod" = callPackage - ({ mkDerivation, base, deepseq, integer-gmp, primitive - , quickcheck-classes, quickcheck-classes-base, semirings, tasty - , tasty-quickcheck, time, vector - }: - mkDerivation { - pname = "mod"; - version = "0.1.2.1"; - sha256 = "0fjcjk9jxwc2d1fm3kzamh9gi3lwnl2g6kz3z2hd43dszkay1mn1"; - revision = "2"; - editedCabalFile = "0h4dff2r9q5619pfahdm4bb6xmsqvv5b6d0na1i2sg7zq58ac2bq"; - libraryHaskellDepends = [ - base deepseq integer-gmp primitive semirings vector - ]; - testHaskellDepends = [ - base primitive quickcheck-classes quickcheck-classes-base semirings - tasty tasty-quickcheck vector - ]; - benchmarkHaskellDepends = [ base time ]; - description = "Fast type-safe modular arithmetic"; - license = lib.licenses.mit; - }) {}; - - "mod_0_1_2_2" = callPackage ({ mkDerivation, base, deepseq, integer-gmp, primitive , quickcheck-classes, quickcheck-classes-base, semirings, tasty , tasty-bench, tasty-quickcheck, vector @@ -178072,7 +177623,6 @@ self: { benchmarkHaskellDepends = [ base tasty-bench ]; description = "Fast type-safe modular arithmetic"; license = lib.licenses.mit; - hydraPlatforms = lib.platforms.none; }) {}; "modbus-tcp" = callPackage @@ -180442,8 +179992,8 @@ self: { pname = "monoidal-containers"; version = "0.6.0.1"; sha256 = "1j5mfs0ysvwk3jsmq4hlj4l3kasfc28lk1b3xaymf9dw48ac5j82"; - revision = "2"; - editedCabalFile = "1b98zf8c2mz7qrp24pyq6wqx5ljlckc7hyk62kiyj23svq7sxpzz"; + revision = "4"; + editedCabalFile = "1vi30clh5j3zzirbl4wch40vjds4p6sdmf1q1qadm4zzj7zahvpm"; libraryHaskellDepends = [ aeson base containers deepseq hashable lens newtype semialign semigroups these unordered-containers @@ -189765,18 +189315,6 @@ self: { }) {}; "nonempty-zipper" = callPackage - ({ mkDerivation, base, comonad, deepseq, doctest, Glob, safe }: - mkDerivation { - pname = "nonempty-zipper"; - version = "1.0.0.1"; - sha256 = "17h070rciwbdk36n68dbin1yv2ybrb2vak9azimfv51z6b6a7b4w"; - libraryHaskellDepends = [ base comonad deepseq safe ]; - testHaskellDepends = [ base comonad deepseq doctest Glob safe ]; - description = "A non-empty comonadic list zipper"; - license = lib.licenses.mit; - }) {}; - - "nonempty-zipper_1_0_0_2" = callPackage ({ mkDerivation, base, comonad, deepseq, doctest, Glob, safe }: mkDerivation { pname = "nonempty-zipper"; @@ -189786,7 +189324,6 @@ self: { testHaskellDepends = [ base comonad deepseq doctest Glob safe ]; description = "A non-empty comonadic list zipper"; license = lib.licenses.mit; - hydraPlatforms = lib.platforms.none; }) {}; "nonemptymap" = callPackage @@ -190356,8 +189893,8 @@ self: { }: mkDerivation { pname = "nri-prelude"; - version = "0.5.0.2"; - sha256 = "1g96nf1nslynqywkqzb4x0k17v0fcw37jidrp7yzkmz16yhqxh1n"; + version = "0.5.0.3"; + sha256 = "0k4mhgyazjc74hwf2xgznhhkryqhdmsc2pv1v9d32706qkr796wn"; libraryHaskellDepends = [ aeson aeson-pretty async auto-update base bytestring containers directory exceptions filepath ghc hedgehog junit-xml pretty-diff @@ -193049,6 +192586,43 @@ self: { broken = true; }) {}; + "openapi3_3_1_0" = callPackage + ({ mkDerivation, aeson, aeson-pretty, base, base-compat-batteries + , bytestring, Cabal, cabal-doctest, containers, cookie, doctest + , generics-sop, Glob, hashable, hspec, hspec-discover, http-media + , HUnit, insert-ordered-containers, lens, mtl, network, optics-core + , optics-th, QuickCheck, quickcheck-instances, scientific + , template-haskell, text, time, transformers, unordered-containers + , utf8-string, uuid-types, vector + }: + mkDerivation { + pname = "openapi3"; + version = "3.1.0"; + sha256 = "011754qyxxw5mn06hdmxalvsiff7a4x4k2yb2r6ylzr6zhyz818z"; + isLibrary = true; + isExecutable = true; + setupHaskellDepends = [ base Cabal cabal-doctest ]; + libraryHaskellDepends = [ + aeson aeson-pretty base base-compat-batteries bytestring containers + cookie generics-sop hashable http-media insert-ordered-containers + lens mtl network optics-core optics-th QuickCheck scientific + template-haskell text time transformers unordered-containers + uuid-types vector + ]; + executableHaskellDepends = [ aeson base lens text ]; + testHaskellDepends = [ + aeson base base-compat-batteries bytestring containers doctest Glob + hashable hspec HUnit insert-ordered-containers lens mtl QuickCheck + quickcheck-instances template-haskell text time + unordered-containers utf8-string vector + ]; + testToolDepends = [ hspec-discover ]; + description = "OpenAPI 3.0 data model"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + broken = true; + }) {}; + "openapi3-code-generator" = callPackage ({ mkDerivation, aeson, base, bytestring, containers, directory , filepath, genvalidity, genvalidity-hspec, genvalidity-text @@ -193888,6 +193462,120 @@ self: { broken = true; }) {}; + "opentracing" = callPackage + ({ mkDerivation, aeson, async, base, base64-bytestring, bytestring + , case-insensitive, clock, containers, http-types, iproute, lens + , mtl, mwc-random, network, safe-exceptions, semigroups, stm, text + , time, transformers, unordered-containers, uri-bytestring, vinyl + }: + mkDerivation { + pname = "opentracing"; + version = "0.1.0.0"; + sha256 = "0j791hv525mcskqmji3f9n8v803pailm8jrl336pxzdh3iacqvsl"; + libraryHaskellDepends = [ + aeson async base base64-bytestring bytestring case-insensitive + clock containers http-types iproute lens mtl mwc-random network + safe-exceptions semigroups stm text time transformers + unordered-containers uri-bytestring vinyl + ]; + description = "OpenTracing for Haskell"; + license = lib.licenses.asl20; + }) {}; + + "opentracing-http-client" = callPackage + ({ mkDerivation, base, http-client, lens, mtl, opentracing, text }: + mkDerivation { + pname = "opentracing-http-client"; + version = "0.1.0.0"; + sha256 = "1jzdnlk2cacmymjkcfx4n569n6gqy6kwzh9dxrgjnagwh3jqk7q3"; + libraryHaskellDepends = [ + base http-client lens mtl opentracing text + ]; + description = "OpenTracing instrumentation of http-client"; + license = lib.licenses.asl20; + }) {}; + + "opentracing-jaeger" = callPackage + ({ mkDerivation, base, bytestring, exceptions, hashable + , http-client, http-types, lens, mtl, network, opentracing + , QuickCheck, safe-exceptions, text, thrift, unordered-containers + , vector + }: + mkDerivation { + pname = "opentracing-jaeger"; + version = "0.1.0.0"; + sha256 = "1yr9vhbpqq12hj9blv3v1wc26n9qsp0g7pjngxh0k1zcv759s1k0"; + libraryHaskellDepends = [ + base bytestring exceptions hashable http-client http-types lens mtl + network opentracing QuickCheck safe-exceptions text thrift + unordered-containers vector + ]; + description = "Jaeger backend for OpenTracing"; + license = lib.licenses.asl20; + hydraPlatforms = lib.platforms.none; + broken = true; + }) {}; + + "opentracing-wai" = callPackage + ({ mkDerivation, base, lens, opentracing, text, wai }: + mkDerivation { + pname = "opentracing-wai"; + version = "0.1.0.0"; + sha256 = "1m68l4gxpyl81yhkd209kdgzydzyg632x8gl2jh3l4k83ysdg545"; + libraryHaskellDepends = [ base lens opentracing text wai ]; + description = "Middleware adding OpenTracing tracing for WAI applications"; + license = lib.licenses.asl20; + }) {}; + + "opentracing-zipkin-common" = callPackage + ({ mkDerivation, aeson, base, opentracing, text }: + mkDerivation { + pname = "opentracing-zipkin-common"; + version = "0.1.0.0"; + sha256 = "00pg2k0v685gc4fmrcb464fapvpz8lw0249n6gmi2zkhpw8frnm0"; + libraryHaskellDepends = [ aeson base opentracing text ]; + description = "Zipkin OpenTracing Backend Commons"; + license = lib.licenses.asl20; + }) {}; + + "opentracing-zipkin-v1" = callPackage + ({ mkDerivation, base, bytestring, exceptions, hashable + , http-client, http-types, iproute, lens, opentracing + , opentracing-zipkin-common, QuickCheck, text, thrift + , unordered-containers, vector + }: + mkDerivation { + pname = "opentracing-zipkin-v1"; + version = "0.1.0.0"; + sha256 = "0mw6x9jqh42ymn1a3maq47mw1mbzki5lv1axapqkhkx0w13824pp"; + libraryHaskellDepends = [ + base bytestring exceptions hashable http-client http-types iproute + lens opentracing opentracing-zipkin-common QuickCheck text thrift + unordered-containers vector + ]; + description = "Zipkin V1 backend for OpenTracing"; + license = lib.licenses.asl20; + hydraPlatforms = lib.platforms.none; + broken = true; + }) {}; + + "opentracing-zipkin-v2" = callPackage + ({ mkDerivation, aeson, base, base64-bytestring, bytestring + , exceptions, http-client, http-types, lens, opentracing + , opentracing-zipkin-common, text + }: + mkDerivation { + pname = "opentracing-zipkin-v2"; + version = "0.1.0.0"; + sha256 = "0rmrlx2g228p4ys95d4zqc0l56a62avsawq320g4n9i2g0hrl5n4"; + libraryHaskellDepends = [ + aeson base base64-bytestring bytestring exceptions http-client + http-types lens opentracing opentracing-zipkin-common text + ]; + description = "Zipkin V2 backend for OpenTracing"; + license = lib.licenses.asl20; + }) {}; + "opentype" = callPackage ({ mkDerivation, base, binary, bytestring, containers, ghc , microlens, microlens-th, mtl, pretty-hex, time @@ -196737,8 +196425,8 @@ self: { ({ mkDerivation }: mkDerivation { pname = "pandora"; - version = "0.3.9"; - sha256 = "1wl6jxpx181sx5w311c2h5kjpl5hjagbwfn68s6dbsbyp4p9sxjv"; + version = "0.4.0"; + sha256 = "0jy41qiqn6xj6ib20klv85jyr8vn633xqhxbx38zxs5dsq885laq"; description = "A box of patterns and paradigms"; license = lib.licenses.mit; }) {}; @@ -197566,8 +197254,6 @@ self: { testHaskellDepends = [ base data-diverse hspec transformers ]; description = "Parameterized/indexed monoids and monads using only a single parameter type variable"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; - broken = true; }) {}; "parameterized-data" = callPackage @@ -198835,10 +198521,8 @@ self: { }: mkDerivation { pname = "patch"; - version = "0.0.3.2"; - sha256 = "1b819d1iramxb0sf0zm4ry8mrd74y35iffbb6qys3a2xq1d382xa"; - revision = "2"; - editedCabalFile = "09v23qakrdjscwvzjarkssikkp7xmq9jbpp5hh1y857l02r3fz5c"; + version = "0.0.4.0"; + sha256 = "02hdhgk7wwcnq7aahbaqx5zzlha6mq6lj0mw57phj3ykmca0zggc"; libraryHaskellDepends = [ base constraints-extras containers dependent-map dependent-sum lens monoidal-containers semialign semigroupoids these transformers @@ -200943,7 +200627,7 @@ self: { maintainers = with lib.maintainers; [ psibi ]; }) {}; - "persistent_2_12_1_0" = callPackage + "persistent_2_12_1_1" = callPackage ({ mkDerivation, aeson, attoparsec, base, base64-bytestring , blaze-html, bytestring, conduit, containers, criterion, deepseq , deepseq-generics, fast-logger, file-embed, hspec, http-api-data @@ -200954,8 +200638,8 @@ self: { }: mkDerivation { pname = "persistent"; - version = "2.12.1.0"; - sha256 = "06cqrvavjzp2iyvi69j6ga0pqy6265dwsg44h93k4qffhknlms1a"; + version = "2.12.1.1"; + sha256 = "00n463mvfnjpi7dz4i3lz379cf4gprsiv57j4jb7wh5a8xr2vfhz"; libraryHaskellDepends = [ aeson attoparsec base base64-bytestring blaze-html bytestring conduit containers fast-logger http-api-data monad-logger mtl @@ -201403,19 +201087,20 @@ self: { license = lib.licenses.mit; }) {}; - "persistent-postgresql_2_12_1_0" = callPackage + "persistent-postgresql_2_12_1_1" = callPackage ({ mkDerivation, aeson, attoparsec, base, blaze-builder, bytestring , conduit, containers, fast-logger, hspec, hspec-expectations - , HUnit, monad-logger, mtl, persistent, persistent-qq - , persistent-test, postgresql-libpq, postgresql-simple, QuickCheck - , quickcheck-instances, resource-pool, resourcet - , string-conversions, text, time, transformers, unliftio - , unliftio-core, unordered-containers, vector + , hspec-expectations-lifted, HUnit, monad-logger, mtl, persistent + , persistent-qq, persistent-test, postgresql-libpq + , postgresql-simple, QuickCheck, quickcheck-instances + , resource-pool, resourcet, string-conversions, text, time + , transformers, unliftio, unliftio-core, unordered-containers + , vector }: mkDerivation { pname = "persistent-postgresql"; - version = "2.12.1.0"; - sha256 = "18b4069x4jb7qxmrv0hck7r7v8192bkn4nmhl3wfidwn1vvsa9da"; + version = "2.12.1.1"; + sha256 = "1zyh40490r3vjr5qyr8hp2ih1pjqjwbmwm1ashdm1b1n9y5ary53"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -201426,9 +201111,10 @@ self: { ]; testHaskellDepends = [ aeson base bytestring containers fast-logger hspec - hspec-expectations HUnit monad-logger persistent persistent-qq - persistent-test QuickCheck quickcheck-instances resourcet text time - transformers unliftio unliftio-core unordered-containers vector + hspec-expectations hspec-expectations-lifted HUnit monad-logger + persistent persistent-qq persistent-test QuickCheck + quickcheck-instances resourcet text time transformers unliftio + unliftio-core unordered-containers vector ]; description = "Backend for the persistent library using postgresql"; license = lib.licenses.mit; @@ -202569,6 +202255,17 @@ self: { license = lib.licenses.mit; }) {}; + "phonetic-languages-phonetics-basics" = callPackage + ({ mkDerivation, base, mmsyn2-array, mmsyn5 }: + mkDerivation { + pname = "phonetic-languages-phonetics-basics"; + version = "0.3.2.0"; + sha256 = "0r4f69ky1y45h6fys1821z45ccg30h61yc68x16cf839awfri92l"; + libraryHaskellDepends = [ base mmsyn2-array mmsyn5 ]; + description = "A library for working with generalized phonetic languages usage"; + license = lib.licenses.mit; + }) {}; + "phonetic-languages-plus" = callPackage ({ mkDerivation, base, bytestring, lists-flines, parallel , uniqueness-periods-vector-stats @@ -202661,8 +202358,8 @@ self: { }: mkDerivation { pname = "phonetic-languages-simplified-examples-array"; - version = "0.4.0.0"; - sha256 = "03vin7gng1sqifyy0s83igmd41bxxwrp7ck9j7bxhnqq0qmg5d7n"; + version = "0.4.1.0"; + sha256 = "02z7c3ngcj4dz473j0ha05qh5wviiy4qp1mk3p4gidxrhkgbxhyc"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -205041,6 +204738,28 @@ self: { broken = true; }) {}; + "pkgtreediff_0_4_1" = callPackage + ({ mkDerivation, async, base, directory, extra, filepath, Glob + , http-client, http-client-tls, http-directory, koji, simple-cmd + , simple-cmd-args, text + }: + mkDerivation { + pname = "pkgtreediff"; + version = "0.4.1"; + sha256 = "0yj0wpwpryavy09264xh82kxi52gc5ipyrgwpxh3m9gv1264gip0"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ base text ]; + executableHaskellDepends = [ + async base directory extra filepath Glob http-client + http-client-tls http-directory koji simple-cmd simple-cmd-args text + ]; + description = "Package tree diff tool"; + license = lib.licenses.gpl3Only; + hydraPlatforms = lib.platforms.none; + broken = true; + }) {}; + "pktree" = callPackage ({ mkDerivation, base, containers }: mkDerivation { @@ -206907,8 +206626,9 @@ self: { }: mkDerivation { pname = "polysemy-test"; - version = "0.3.1.1"; - sha256 = "0xlhw9kf55fn26v068pxwajpl8dw7xcmrlkxk8ci55jans0blx9w"; + version = "0.3.1.2"; + sha256 = "1gzngz8mspq0n6hwhvqah8szjrhf65wigadrh3l863j2iswsxq2r"; + enableSeparateDataOutput = true; libraryHaskellDepends = [ base containers either hedgehog path path-io polysemy polysemy-plugin relude string-interpolate tasty tasty-hedgehog @@ -212859,8 +212579,8 @@ self: { }: mkDerivation { pname = "proto3-suite"; - version = "0.4.0.2"; - sha256 = "0mk1yhpq2q6jv7z3ipdq5dw5sij39y7lv5gaslzxkbvs2kan7d4m"; + version = "0.4.1"; + sha256 = "1zzw3kgxa875g0bpqi1zblw3q8h7lw53gcz4c8qjgkr2v1cr5nf3"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -212915,6 +212635,31 @@ self: { broken = true; }) {}; + "proto3-wire_1_2_1" = callPackage + ({ mkDerivation, base, bytestring, cereal, containers, deepseq + , doctest, ghc-prim, hashable, parameterized, primitive, QuickCheck + , safe, tasty, tasty-hunit, tasty-quickcheck, text, transformers + , unordered-containers, vector + }: + mkDerivation { + pname = "proto3-wire"; + version = "1.2.1"; + sha256 = "0i706y9j5iq5zyi86vkiybznp3b4h2x0flvq3jmr8mgpgahvh94r"; + libraryHaskellDepends = [ + base bytestring cereal containers deepseq ghc-prim hashable + parameterized primitive QuickCheck safe text transformers + unordered-containers vector + ]; + testHaskellDepends = [ + base bytestring cereal doctest QuickCheck tasty tasty-hunit + tasty-quickcheck text transformers vector + ]; + description = "A low-level implementation of the Protocol Buffers (version 3) wire format"; + license = lib.licenses.asl20; + hydraPlatforms = lib.platforms.none; + broken = true; + }) {}; + "protobuf" = callPackage ({ mkDerivation, base, base-orphans, bytestring, cereal, containers , data-binary-ieee754, deepseq, hex, HUnit, mtl, QuickCheck, tagged @@ -214096,13 +213841,14 @@ self: { , ansi-terminal, ansi-wl-pprint, array, base, base-compat , blaze-html, bower-json, boxes, bytestring, Cabal, cborg , cheapskate, clock, containers, cryptonite, data-ordlist, deepseq - , directory, edit-distance, file-embed, filepath, fsnotify, gitrev - , Glob, happy, haskeline, hspec, hspec-discover, http-types, HUnit - , language-javascript, lifted-async, lifted-base, memory - , microlens-platform, monad-control, monad-logger, mtl, network - , optparse-applicative, parallel, parsec, pattern-arrows, process - , protolude, purescript-ast, purescript-cst, regex-base, regex-tdfa - , safe, semialign, semigroups, serialise, sourcemap, split, stm + , directory, dlist, edit-distance, exceptions, file-embed, filepath + , fsnotify, gitrev, Glob, happy, haskeline, hspec, hspec-discover + , http-types, HUnit, language-javascript, lifted-async, lifted-base + , memory, microlens, microlens-platform, monad-control + , monad-logger, mtl, network, optparse-applicative, parallel + , parsec, pattern-arrows, process, protolude, purescript-ast + , purescript-cst, regex-base, regex-tdfa, safe, scientific + , semialign, semigroups, serialise, sourcemap, split, stm , stringsearch, syb, tasty, tasty-golden, tasty-hspec , tasty-quickcheck, text, these, time, transformers , transformers-base, transformers-compat, unordered-containers @@ -214110,34 +213856,36 @@ self: { }: mkDerivation { pname = "purescript"; - version = "0.14.0"; - sha256 = "1bv68y91l6fyjidfp71djiv2lijn5d55j4szlg77yvsw164s6vk0"; + version = "0.14.1"; + sha256 = "0cqrasq0my2nsslpvy1mfhc2nqj2bfcilv8acd600bn9f6qgn4yv"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ aeson aeson-better-errors aeson-pretty ansi-terminal array base base-compat blaze-html bower-json boxes bytestring Cabal cborg cheapskate clock containers cryptonite data-ordlist deepseq - directory edit-distance file-embed filepath fsnotify Glob haskeline - language-javascript lifted-async lifted-base memory - microlens-platform monad-control monad-logger mtl parallel parsec - pattern-arrows process protolude purescript-ast purescript-cst - regex-tdfa safe semialign semigroups serialise sourcemap split stm - stringsearch syb text these time transformers transformers-base - transformers-compat unordered-containers utf8-string vector + directory dlist edit-distance file-embed filepath fsnotify Glob + haskeline language-javascript lifted-async lifted-base memory + microlens microlens-platform monad-control monad-logger mtl + parallel parsec pattern-arrows process protolude purescript-ast + purescript-cst regex-tdfa safe scientific semialign semigroups + serialise sourcemap split stm stringsearch syb text these time + transformers transformers-base transformers-compat + unordered-containers utf8-string vector ]; libraryToolDepends = [ happy ]; executableHaskellDepends = [ aeson aeson-better-errors aeson-pretty ansi-terminal ansi-wl-pprint array base base-compat blaze-html bower-json boxes bytestring Cabal cborg cheapskate clock containers cryptonite data-ordlist deepseq - directory edit-distance file-embed filepath fsnotify gitrev Glob - haskeline http-types language-javascript lifted-async lifted-base - memory microlens-platform monad-control monad-logger mtl network - optparse-applicative parallel parsec pattern-arrows process - protolude purescript-ast purescript-cst regex-tdfa safe semialign - semigroups serialise sourcemap split stm stringsearch syb text - these time transformers transformers-base transformers-compat + directory dlist edit-distance exceptions file-embed filepath + fsnotify gitrev Glob haskeline http-types language-javascript + lifted-async lifted-base memory microlens microlens-platform + monad-control monad-logger mtl network optparse-applicative + parallel parsec pattern-arrows process protolude purescript-ast + purescript-cst regex-tdfa safe scientific semialign semigroups + serialise sourcemap split stm stringsearch syb text these time + transformers transformers-base transformers-compat unordered-containers utf8-string vector wai wai-websockets warp websockets ]; @@ -214146,15 +213894,15 @@ self: { aeson aeson-better-errors aeson-pretty ansi-terminal array base base-compat blaze-html bower-json boxes bytestring Cabal cborg cheapskate clock containers cryptonite data-ordlist deepseq - directory edit-distance file-embed filepath fsnotify Glob haskeline - hspec hspec-discover HUnit language-javascript lifted-async - lifted-base memory microlens-platform monad-control monad-logger - mtl parallel parsec pattern-arrows process protolude purescript-ast - purescript-cst regex-base regex-tdfa safe semialign semigroups - serialise sourcemap split stm stringsearch syb tasty tasty-golden - tasty-hspec tasty-quickcheck text these time transformers - transformers-base transformers-compat unordered-containers - utf8-string vector + directory dlist edit-distance file-embed filepath fsnotify Glob + haskeline hspec HUnit language-javascript lifted-async lifted-base + memory microlens microlens-platform monad-control monad-logger mtl + parallel parsec pattern-arrows process protolude purescript-ast + purescript-cst regex-base regex-tdfa safe scientific semialign + semigroups serialise sourcemap split stm stringsearch syb tasty + tasty-golden tasty-hspec tasty-quickcheck text these time + transformers transformers-base transformers-compat + unordered-containers utf8-string vector ]; testToolDepends = [ happy hspec-discover ]; doCheck = false; @@ -214171,8 +213919,8 @@ self: { }: mkDerivation { pname = "purescript-ast"; - version = "0.1.0.0"; - sha256 = "1zwwbdkc5mb3ckc2g15b18j9vp9bksyc1nrlg73w7w0fzqwnqb4g"; + version = "0.1.1.0"; + sha256 = "12zkkbpv1xxvx4d3rybng1kxvw6z5gjr45mfy9bpkmb3jqzl1xd2"; libraryHaskellDepends = [ aeson base base-compat bytestring containers deepseq filepath microlens mtl protolude scientific serialise text vector @@ -214227,8 +213975,8 @@ self: { }: mkDerivation { pname = "purescript-cst"; - version = "0.1.0.0"; - sha256 = "1h4na5k0lz91i1f49axsgs7zqz6dqdxds5dg0g00wd4wmyd619cc"; + version = "0.1.1.0"; + sha256 = "05jqf9c0pakbjvr2zvybaxg9rfi87dadsx4srjlrw294r2sz969r"; libraryHaskellDepends = [ array base containers dlist purescript-ast scientific semigroups text @@ -215790,29 +215538,6 @@ self: { }) {}; "quickcheck-classes" = callPackage - ({ mkDerivation, aeson, base, base-orphans, bifunctors, containers - , contravariant, fail, primitive, primitive-addr, QuickCheck - , quickcheck-classes-base, semigroupoids, semigroups, semirings - , tagged, tasty, tasty-quickcheck, transformers, vector - }: - mkDerivation { - pname = "quickcheck-classes"; - version = "0.6.4.0"; - sha256 = "0qcxmkf9ig6jnfpd5slx2imzwmvvyqgvlif2940yzwam63m6anwg"; - libraryHaskellDepends = [ - aeson base base-orphans bifunctors containers contravariant fail - primitive primitive-addr QuickCheck quickcheck-classes-base - semigroupoids semigroups semirings tagged transformers vector - ]; - testHaskellDepends = [ - aeson base base-orphans containers primitive QuickCheck - semigroupoids tagged tasty tasty-quickcheck transformers vector - ]; - description = "QuickCheck common typeclasses"; - license = lib.licenses.bsd3; - }) {}; - - "quickcheck-classes_0_6_5_0" = callPackage ({ mkDerivation, aeson, base, base-orphans, containers, primitive , primitive-addr, QuickCheck, quickcheck-classes-base , semigroupoids, semirings, tagged, tasty, tasty-quickcheck @@ -215832,26 +215557,9 @@ self: { ]; description = "QuickCheck common typeclasses"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "quickcheck-classes-base" = callPackage - ({ mkDerivation, base, base-orphans, bifunctors, containers - , contravariant, fail, QuickCheck, tagged, transformers - }: - mkDerivation { - pname = "quickcheck-classes-base"; - version = "0.6.1.0"; - sha256 = "0yzljsy74njmbav90hgraxhjx0l86zggakfw0j3k7maz9376jvax"; - libraryHaskellDepends = [ - base base-orphans bifunctors containers contravariant fail - QuickCheck tagged transformers - ]; - description = "QuickCheck common typeclasses from `base`"; - license = lib.licenses.bsd3; - }) {}; - - "quickcheck-classes-base_0_6_2_0" = callPackage ({ mkDerivation, base, containers, QuickCheck, transformers }: mkDerivation { pname = "quickcheck-classes-base"; @@ -215862,7 +215570,6 @@ self: { ]; description = "QuickCheck common typeclasses from `base`"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "quickcheck-combinators" = callPackage @@ -220023,24 +219730,6 @@ self: { }) {}; "records-sop" = callPackage - ({ mkDerivation, base, deepseq, generics-sop, ghc-prim, hspec - , should-not-typecheck - }: - mkDerivation { - pname = "records-sop"; - version = "0.1.0.3"; - sha256 = "120kb6z4si5wqkahbqxqhm3qb8xpc9ivwg293ymz8a4ri1hdr0a5"; - revision = "1"; - editedCabalFile = "0492a3cabdl5ccncc7lk7bvh55in4hzm345fl3xpidp9jx6mv1x4"; - libraryHaskellDepends = [ base deepseq generics-sop ghc-prim ]; - testHaskellDepends = [ - base deepseq generics-sop hspec should-not-typecheck - ]; - description = "Record subtyping and record utilities with generics-sop"; - license = lib.licenses.bsd3; - }) {}; - - "records-sop_0_1_1_0" = callPackage ({ mkDerivation, base, deepseq, generics-sop, ghc-prim, hspec , should-not-typecheck }: @@ -220054,7 +219743,6 @@ self: { ]; description = "Record subtyping and record utilities with generics-sop"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "records-th" = callPackage @@ -222139,6 +221827,8 @@ self: { pname = "regex-tdfa-rc"; version = "1.1.8.3"; sha256 = "1vi11i23gkkjg6193ak90g55akj69bhahy542frkwb68haky4pp3"; + revision = "2"; + editedCabalFile = "04w0jdavczf8gilx6cr1cgpqydvrmiksrzc8j30ijwn9hsa149mh"; libraryHaskellDepends = [ array base bytestring containers ghc-prim mtl parsec regex-base ]; @@ -222473,35 +222163,6 @@ self: { }) {}; "registry" = callPackage - ({ mkDerivation, async, base, bytestring, containers, directory - , exceptions, generic-lens, hashable, hedgehog, io-memoize, mmorph - , MonadRandom, mtl, multimap, protolude, random, resourcet - , semigroupoids, semigroups, tasty, tasty-discover, tasty-hedgehog - , tasty-th, template-haskell, text, transformers-base, universum - }: - mkDerivation { - pname = "registry"; - version = "0.2.0.2"; - sha256 = "1lq8r382xm1m5b7i0jfjaj3f1jr98rdvjpn0h77i4i0i1wy529c1"; - libraryHaskellDepends = [ - base containers exceptions hashable mmorph mtl protolude resourcet - semigroupoids semigroups template-haskell text transformers-base - ]; - testHaskellDepends = [ - async base bytestring containers directory exceptions generic-lens - hashable hedgehog io-memoize mmorph MonadRandom mtl multimap - protolude random resourcet semigroupoids semigroups tasty - tasty-discover tasty-hedgehog tasty-th template-haskell text - transformers-base universum - ]; - testToolDepends = [ tasty-discover ]; - description = "data structure for assembling components"; - license = lib.licenses.mit; - hydraPlatforms = lib.platforms.none; - broken = true; - }) {}; - - "registry_0_2_0_3" = callPackage ({ mkDerivation, async, base, bytestring, containers, directory , exceptions, generic-lens, hashable, hedgehog, io-memoize, mmorph , MonadRandom, mtl, multimap, protolude, random, resourcet @@ -224067,6 +223728,21 @@ self: { broken = true; }) {}; + "request" = callPackage + ({ mkDerivation, base, bytestring, case-insensitive, http-client + , http-client-tls, http-types + }: + mkDerivation { + pname = "request"; + version = "0.1.3.0"; + sha256 = "07ypsdmf227m6j8gkl29621z7grbsgr0pmk3dglx9zlrmq0zbn8j"; + libraryHaskellDepends = [ + base bytestring case-insensitive http-client http-client-tls + http-types + ]; + license = lib.licenses.bsd3; + }) {}; + "request-monad" = callPackage ({ mkDerivation, base, free, mtl, transformers }: mkDerivation { @@ -228692,6 +228368,20 @@ self: { license = lib.licenses.bsd3; }) {}; + "safe-numeric" = callPackage + ({ mkDerivation, base, containers, doctest, safe, wide-word }: + mkDerivation { + pname = "safe-numeric"; + version = "0.1"; + sha256 = "11y9p20cgfsg676a8jm5w7z2qc2y3hznwhniw054qcdnnf7dalwi"; + libraryHaskellDepends = [ base safe wide-word ]; + testHaskellDepends = [ base containers doctest ]; + description = "Safe arithmetic operations"; + license = lib.licenses.asl20; + hydraPlatforms = lib.platforms.none; + broken = true; + }) {}; + "safe-plugins" = callPackage ({ mkDerivation, base, directory, filepath, haskell-src-exts , plugins, Unixutils @@ -228746,29 +228436,6 @@ self: { }) {}; "safecopy" = callPackage - ({ mkDerivation, array, base, bytestring, cereal, containers - , generic-data, HUnit, lens, lens-action, old-time, QuickCheck - , quickcheck-instances, tasty, tasty-quickcheck, template-haskell - , text, time, transformers, vector - }: - mkDerivation { - pname = "safecopy"; - version = "0.10.4.1"; - sha256 = "1p8kbf9js67zl2wr6y0605acy54xlpsih1zqkdy21cywz1kannbp"; - libraryHaskellDepends = [ - array base bytestring cereal containers generic-data old-time - template-haskell text time transformers vector - ]; - testHaskellDepends = [ - array base bytestring cereal containers HUnit lens lens-action - QuickCheck quickcheck-instances tasty tasty-quickcheck - template-haskell time vector - ]; - description = "Binary serialization with version control"; - license = lib.licenses.publicDomain; - }) {}; - - "safecopy_0_10_4_2" = callPackage ({ mkDerivation, array, base, bytestring, cereal, containers , generic-data, HUnit, lens, lens-action, old-time, QuickCheck , quickcheck-instances, tasty, tasty-quickcheck, template-haskell @@ -228789,7 +228456,6 @@ self: { ]; description = "Binary serialization with version control"; license = lib.licenses.publicDomain; - hydraPlatforms = lib.platforms.none; }) {}; "safecopy-migrate" = callPackage @@ -230321,17 +229987,18 @@ self: { }) {}; "scenegraph" = callPackage - ({ mkDerivation, array, base, containers, fgl, GLUT, haskell98 - , hmatrix, mtl, old-time, OpenGL, process + ({ mkDerivation, base, data-default, fgl, graphviz, hspec + , hspec-discover, lens, linear, mtl, QuickCheck, text }: mkDerivation { pname = "scenegraph"; - version = "0.1.0.2"; - sha256 = "1l946h6sggg2n8ldx34v2sx4dyjqxd7i34wrsllz88iiy4qd90yw"; + version = "0.2.0.0"; + sha256 = "0nwaf1wpr8pqwwkxx0zpbkmvn4ww6v3xcv5w7krk02f985ajaq50"; libraryHaskellDepends = [ - array base containers fgl GLUT haskell98 hmatrix mtl old-time - OpenGL process + base data-default fgl graphviz lens linear mtl text ]; + testHaskellDepends = [ base hspec lens linear QuickCheck ]; + testToolDepends = [ hspec-discover ]; description = "Scene Graph"; license = lib.licenses.bsd3; hydraPlatforms = lib.platforms.none; @@ -234470,8 +234137,6 @@ self: { ]; description = "generate API docs for your servant webservice"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; - broken = true; }) {}; "servant-docs-simple" = callPackage @@ -234598,6 +234263,28 @@ self: { license = lib.licenses.mit; }) {}; + "servant-event-stream" = callPackage + ({ mkDerivation, base, binary, http-media, lens, pipes + , servant-foreign, servant-js, servant-pipes, servant-server, text + , wai-extra + }: + mkDerivation { + pname = "servant-event-stream"; + version = "0.2.1.0"; + sha256 = "1bs4gjw7xaai5hxcv0dy7fmvx26ysmcqnaly5vriwkz45k1rhlj9"; + revision = "2"; + editedCabalFile = "1s6si9php8im45yh0r9slgw7sz8c0jk2i4c93a5qbjr0mzz9k2va"; + libraryHaskellDepends = [ + base binary http-media lens pipes servant-foreign servant-js + servant-pipes servant-server text wai-extra + ]; + testHaskellDepends = [ base ]; + description = "Servant support for Server-Sent events"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + broken = true; + }) {}; + "servant-examples" = callPackage ({ mkDerivation, aeson, base, bytestring, directory, either , http-types, js-jquery, lucid, random, servant, servant-client @@ -235225,8 +234912,38 @@ self: { pname = "servant-openapi3"; version = "2.0.1.1"; sha256 = "1cyzyljmdfr3gigdszcpj1i7l698fnxpc9hr83mzspm6qcmbqmgf"; - revision = "1"; - editedCabalFile = "0j2b3zv5qk5xfi17jwwn456pqpf27aqgy6fmbyqvn8df83rcij5j"; + revision = "2"; + editedCabalFile = "0y214pgkfkysvdll15inf44psyqj7dmzcwp2vjynwdlywy2j0y16"; + setupHaskellDepends = [ base Cabal cabal-doctest ]; + libraryHaskellDepends = [ + aeson aeson-pretty base base-compat bytestring hspec http-media + insert-ordered-containers lens openapi3 QuickCheck servant + singleton-bool text unordered-containers + ]; + testHaskellDepends = [ + aeson base base-compat directory doctest filepath hspec lens + lens-aeson openapi3 QuickCheck servant template-haskell text time + utf8-string vector + ]; + testToolDepends = [ hspec-discover ]; + description = "Generate a Swagger/OpenAPI/OAS 3.0 specification for your servant API."; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + broken = true; + }) {}; + + "servant-openapi3_2_0_1_2" = callPackage + ({ mkDerivation, aeson, aeson-pretty, base, base-compat, bytestring + , Cabal, cabal-doctest, directory, doctest, filepath, hspec + , hspec-discover, http-media, insert-ordered-containers, lens + , lens-aeson, openapi3, QuickCheck, servant, singleton-bool + , template-haskell, text, time, unordered-containers, utf8-string + , vector + }: + mkDerivation { + pname = "servant-openapi3"; + version = "2.0.1.2"; + sha256 = "1lqvycbv49x0i3adbsdlcl49n65wxfjzhiz9pj11hg4k0j952q5p"; setupHaskellDepends = [ base Cabal cabal-doctest ]; libraryHaskellDepends = [ aeson aeson-pretty base base-compat bytestring hspec http-media @@ -236064,6 +235781,23 @@ self: { license = lib.licenses.bsd3; }) {}; + "servant-swagger-ui_0_3_5_3_47_1" = callPackage + ({ mkDerivation, aeson, base, bytestring, file-embed-lzma, servant + , servant-server, servant-swagger-ui-core, text + }: + mkDerivation { + pname = "servant-swagger-ui"; + version = "0.3.5.3.47.1"; + sha256 = "00bmkj87rnd9zmg54h3z8k9zgs5d17lcdn9gp006xixa6g494cms"; + libraryHaskellDepends = [ + aeson base bytestring file-embed-lzma servant servant-server + servant-swagger-ui-core text + ]; + description = "Servant swagger ui"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + }) {}; + "servant-swagger-ui-core" = callPackage ({ mkDerivation, base, blaze-markup, bytestring, http-media , servant, servant-blaze, servant-server, swagger2, text @@ -236082,37 +235816,51 @@ self: { license = lib.licenses.bsd3; }) {}; + "servant-swagger-ui-core_0_3_5" = callPackage + ({ mkDerivation, aeson, base, blaze-markup, bytestring, http-media + , servant, servant-blaze, servant-server, text, transformers + , transformers-compat, wai-app-static + }: + mkDerivation { + pname = "servant-swagger-ui-core"; + version = "0.3.5"; + sha256 = "0ckvrwrb3x39hfl2hixcj3fhibh0vqsh6y7n1lsm25yvzfrg02zd"; + libraryHaskellDepends = [ + aeson base blaze-markup bytestring http-media servant servant-blaze + servant-server text transformers transformers-compat wai-app-static + ]; + description = "Servant swagger ui core components"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + }) {}; + "servant-swagger-ui-jensoleg" = callPackage - ({ mkDerivation, base, bytestring, file-embed-lzma, servant - , servant-server, servant-swagger-ui-core, swagger2, text + ({ mkDerivation, aeson, base, bytestring, file-embed-lzma, servant + , servant-server, servant-swagger-ui-core, text }: mkDerivation { pname = "servant-swagger-ui-jensoleg"; - version = "0.3.3"; - sha256 = "02zwymqxq54xwc8wmzhbcfgx9plvk0n4kp1907sbl98mhh2frwrw"; - revision = "4"; - editedCabalFile = "19h7n1g847ly7addv03vzy5915n48xa0y7l88dzamy6ly1jrmdg2"; + version = "0.3.4"; + sha256 = "04s4syfmnjwa52xqm29x2sfi1ka6p7fpjff0pxry099rh0d59hkm"; libraryHaskellDepends = [ - base bytestring file-embed-lzma servant servant-server - servant-swagger-ui-core swagger2 text + aeson base bytestring file-embed-lzma servant servant-server + servant-swagger-ui-core text ]; description = "Servant swagger ui: Jens-Ole Graulund theme"; license = lib.licenses.bsd3; }) {}; "servant-swagger-ui-redoc" = callPackage - ({ mkDerivation, base, bytestring, file-embed-lzma, servant - , servant-server, servant-swagger-ui-core, swagger2, text + ({ mkDerivation, aeson, base, bytestring, file-embed-lzma, servant + , servant-server, servant-swagger-ui-core, text }: mkDerivation { pname = "servant-swagger-ui-redoc"; - version = "0.3.3.1.22.3"; - sha256 = "0bzkrh1hf29vfa1r1sgifb9j2zcg6i43fal4abbx4lcqvf155pzv"; - revision = "3"; - editedCabalFile = "1csz8gzmrrjbjvr6kx4vmyp419i5vbzk84a01vh5zr6ncrpx5nf3"; + version = "0.3.4.1.22.3"; + sha256 = "0ln2sz7ffhddk4dqvczpxb5g8f6bic7sandn5zifpz2jg7lgzy0f"; libraryHaskellDepends = [ - base bytestring file-embed-lzma servant servant-server - servant-swagger-ui-core swagger2 text + aeson base bytestring file-embed-lzma servant servant-server + servant-swagger-ui-core text ]; description = "Servant swagger ui: ReDoc theme"; license = lib.licenses.bsd3; @@ -245870,21 +245618,6 @@ self: { }) {}; "speculate" = callPackage - ({ mkDerivation, base, cmdargs, containers, express, leancheck }: - mkDerivation { - pname = "speculate"; - version = "0.4.2"; - sha256 = "01ahb1g7f19qxf8lz9afxbf2inywrsqkawx784gx3af1wlzj61d9"; - libraryHaskellDepends = [ - base cmdargs containers express leancheck - ]; - testHaskellDepends = [ base express leancheck ]; - benchmarkHaskellDepends = [ base express leancheck ]; - description = "discovery of properties about Haskell functions"; - license = lib.licenses.bsd3; - }) {}; - - "speculate_0_4_4" = callPackage ({ mkDerivation, base, cmdargs, containers, express, leancheck }: mkDerivation { pname = "speculate"; @@ -245897,7 +245630,6 @@ self: { benchmarkHaskellDepends = [ base express leancheck ]; description = "discovery of properties about Haskell functions"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "speculation" = callPackage @@ -247184,6 +246916,8 @@ self: { pname = "ssh-known-hosts"; version = "0.2.0.0"; sha256 = "1zhhqam6y5ckh6i145mr0irm17dmlam2k730rpqiyw4mwgmcp4qa"; + revision = "1"; + editedCabalFile = "09158vd54ybigqxqcimfnmmv256p4ypazwfly7a5q2pxqgzs6nj0"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -250146,6 +249880,55 @@ self: { license = lib.licenses.mit; }) {}; + "store_0_7_11" = callPackage + ({ mkDerivation, array, async, base, base-orphans + , base64-bytestring, bifunctors, bytestring, cereal, cereal-vector + , clock, containers, contravariant, criterion, cryptohash, deepseq + , directory, filepath, free, ghc-prim, hashable, hspec + , hspec-smallcheck, integer-gmp, lifted-base, monad-control + , mono-traversable, nats, network, primitive, resourcet, safe + , smallcheck, store-core, syb, template-haskell, text, th-lift + , th-lift-instances, th-orphans, th-reify-many, th-utilities, time + , transformers, unordered-containers, vector + , vector-binary-instances, void, weigh + }: + mkDerivation { + pname = "store"; + version = "0.7.11"; + sha256 = "03i9gd18xqbfmj5kmiv4k4sw44gn6mn4faj71r2723abm3qwklwr"; + libraryHaskellDepends = [ + array async base base-orphans base64-bytestring bifunctors + bytestring containers contravariant cryptohash deepseq directory + filepath free ghc-prim hashable hspec hspec-smallcheck integer-gmp + lifted-base monad-control mono-traversable nats network primitive + resourcet safe smallcheck store-core syb template-haskell text + th-lift th-lift-instances th-orphans th-reify-many th-utilities + time transformers unordered-containers vector void + ]; + testHaskellDepends = [ + array async base base-orphans base64-bytestring bifunctors + bytestring clock containers contravariant cryptohash deepseq + directory filepath free ghc-prim hashable hspec hspec-smallcheck + integer-gmp lifted-base monad-control mono-traversable nats network + primitive resourcet safe smallcheck store-core syb template-haskell + text th-lift th-lift-instances th-orphans th-reify-many + th-utilities time transformers unordered-containers vector void + ]; + benchmarkHaskellDepends = [ + array async base base-orphans base64-bytestring bifunctors + bytestring cereal cereal-vector containers contravariant criterion + cryptohash deepseq directory filepath free ghc-prim hashable hspec + hspec-smallcheck integer-gmp lifted-base monad-control + mono-traversable nats network primitive resourcet safe smallcheck + store-core syb template-haskell text th-lift th-lift-instances + th-orphans th-reify-many th-utilities time transformers + unordered-containers vector vector-binary-instances void weigh + ]; + description = "Fast binary serialization"; + license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + }) {}; + "store-core" = callPackage ({ mkDerivation, base, bytestring, ghc-prim, primitive, text , transformers @@ -251304,6 +251087,60 @@ self: { license = lib.licenses.bsd3; }) {}; + "strict-containers" = callPackage + ({ mkDerivation, array, base, base-orphans, binary, ChasingBottoms + , containers, deepseq, hashable, HUnit, indexed-traversable + , primitive, QuickCheck, random, strict, tasty, tasty-hunit + , tasty-quickcheck, template-haskell, test-framework + , test-framework-hunit, test-framework-quickcheck2, transformers + , unordered-containers, vector, vector-binary-instances + }: + mkDerivation { + pname = "strict-containers"; + version = "0.1"; + sha256 = "0rb5mhz1f1g79c7c85q6pnars7qs3qzyl2gsc48p9sd2739q5nzs"; + libraryHaskellDepends = [ + array base binary containers deepseq hashable indexed-traversable + primitive strict unordered-containers vector + vector-binary-instances + ]; + testHaskellDepends = [ + array base base-orphans ChasingBottoms containers deepseq hashable + HUnit primitive QuickCheck random tasty tasty-hunit + tasty-quickcheck template-haskell test-framework + test-framework-hunit test-framework-quickcheck2 transformers + unordered-containers vector + ]; + description = "Strict containers"; + license = lib.licenses.bsd3; + }) {}; + + "strict-containers-lens" = callPackage + ({ mkDerivation, base, hashable, lens, strict-containers }: + mkDerivation { + pname = "strict-containers-lens"; + version = "0.1"; + sha256 = "0162vqkwm9z1pyizvs76fbraw6z43w8j1k7ag25l9lv67gydl4c1"; + libraryHaskellDepends = [ base hashable lens strict-containers ]; + description = "Strict containers - Lens instances"; + license = lib.licenses.bsd3; + }) {}; + + "strict-containers-serialise" = callPackage + ({ mkDerivation, base, cborg, hashable, serialise + , strict-containers + }: + mkDerivation { + pname = "strict-containers-serialise"; + version = "0.1"; + sha256 = "17hsb90awsrgp83nkzjyr51wz7z5v4fii862arqfjkjqm6scb4d3"; + libraryHaskellDepends = [ + base cborg hashable serialise strict-containers + ]; + description = "Strict containers - Serialise instances"; + license = lib.licenses.bsd3; + }) {}; + "strict-data" = callPackage ({ mkDerivation, aeson, base, containers, deepseq, doctest , exceptions, fail, hashable, HTF, monad-control, mtl, pretty @@ -254057,8 +253894,8 @@ self: { }: mkDerivation { pname = "sws"; - version = "0.5.0.0"; - sha256 = "04x8jvac8aaifsyll63gwjg2j6y2ap24a92k2dxn8mdbx2i3zjyq"; + version = "0.5.0.1"; + sha256 = "1xgyv7mwrf9imx1ja2vwdhj6rv59pz50sf9ijlp5pjckqpacm40p"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -256130,6 +255967,8 @@ self: { pname = "tagged"; version = "0.8.6.1"; sha256 = "00kcc6lmj7v3xm2r3wzw5jja27m4alcw1wi8yiismd0bbzwzrq7m"; + revision = "1"; + editedCabalFile = "1rzqfw2pafxbnfpl1lizf9zldpxyy28g92x4jzq49miw9hr1xpsx"; libraryHaskellDepends = [ base deepseq template-haskell transformers ]; @@ -257186,6 +257025,27 @@ self: { license = lib.licenses.mit; }) {}; + "tasty-checklist" = callPackage + ({ mkDerivation, base, exceptions, parameterized-utils, tasty + , tasty-expected-failure, tasty-hunit, text + }: + mkDerivation { + pname = "tasty-checklist"; + version = "1.0.0.0"; + sha256 = "1ahy4nmkbqpfw38ny6w85q5whsidk3xyy8m6v6ndik2i8jjh8qr4"; + libraryHaskellDepends = [ + base exceptions parameterized-utils text + ]; + testHaskellDepends = [ + base parameterized-utils tasty tasty-expected-failure tasty-hunit + text + ]; + description = "Check multiple items during a tasty test"; + license = lib.licenses.isc; + hydraPlatforms = lib.platforms.none; + broken = true; + }) {}; + "tasty-dejafu" = callPackage ({ mkDerivation, base, dejafu, random, tagged, tasty }: mkDerivation { @@ -257769,20 +257629,21 @@ self: { "tasty-sugar" = callPackage ({ mkDerivation, base, directory, filemanip, filepath, hedgehog - , logict, optparse-applicative, pretty-show, prettyprinter - , raw-strings-qq, tagged, tasty, tasty-hedgehog, tasty-hunit + , kvitable, logict, microlens, optparse-applicative, pretty-show + , prettyprinter, raw-strings-qq, tagged, tasty, tasty-hedgehog + , tasty-hunit, text }: mkDerivation { pname = "tasty-sugar"; - version = "1.1.0.0"; - sha256 = "1v1ikl4jy02c0jlvm4di8ndm7fbyr8235ydppp953d7qb8yilsyp"; + version = "1.1.1.0"; + sha256 = "1x06s47k2rw7a78djzf0i2zxplbazah5c5mjmnmd9nr5yafw0fqv"; libraryHaskellDepends = [ - base directory filemanip filepath logict optparse-applicative - prettyprinter tagged tasty + base directory filemanip filepath kvitable logict microlens + optparse-applicative prettyprinter tagged tasty text ]; testHaskellDepends = [ base filepath hedgehog logict pretty-show prettyprinter - raw-strings-qq tasty tasty-hedgehog tasty-hunit + raw-strings-qq tasty tasty-hedgehog tasty-hunit text ]; doHaddock = false; description = "Tests defined by Search Using Golden Answer References"; @@ -260021,8 +259882,8 @@ self: { }: mkDerivation { pname = "test-lib"; - version = "0.2.2"; - sha256 = "0bxrh7j10fadarg1kyrf8f0nmrmdfrgivxvv51xl9ykksrswhx2z"; + version = "0.3"; + sha256 = "15b3gsy03z3hqc0d2b7hjk3l79ykkcdhb5mrz453p8s4bgd8l6av"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -260546,6 +260407,8 @@ self: { pname = "text-ansi"; version = "0.1.1"; sha256 = "1vcrsg7v8n6znh1pd9kbm20bc6dg3zijd3xjdjljadf15vfkd5f6"; + revision = "1"; + editedCabalFile = "09s363h3lw4p8f73m7vw0d1cqnwmap9ndrfxd4qbzbra5xf58q38"; libraryHaskellDepends = [ base text ]; description = "Text styling for ANSI terminals"; license = lib.licenses.bsd3; @@ -261061,22 +260924,6 @@ self: { }) {}; "text-regex-replace" = callPackage - ({ mkDerivation, attoparsec, base, hspec, QuickCheck, smallcheck - , text, text-icu - }: - mkDerivation { - pname = "text-regex-replace"; - version = "0.1.1.3"; - sha256 = "0i0ifjxd24kfiljk3l0slxc8345d0rdb92ixxdzn04brs2fs5h53"; - libraryHaskellDepends = [ attoparsec base text text-icu ]; - testHaskellDepends = [ - base hspec QuickCheck smallcheck text text-icu - ]; - description = "Easy replacement when using text-icu regexes"; - license = lib.licenses.asl20; - }) {}; - - "text-regex-replace_0_1_1_4" = callPackage ({ mkDerivation, attoparsec, base, hspec, QuickCheck, smallcheck , text, text-icu }: @@ -261090,7 +260937,6 @@ self: { ]; description = "Easy replacement when using text-icu regexes"; license = lib.licenses.asl20; - hydraPlatforms = lib.platforms.none; }) {}; "text-region" = callPackage @@ -262214,29 +262060,6 @@ self: { }) {}; "th-utilities" = callPackage - ({ mkDerivation, base, bytestring, containers, directory, filepath - , hspec, primitive, syb, template-haskell, text, th-abstraction - , th-orphans, vector - }: - mkDerivation { - pname = "th-utilities"; - version = "0.2.4.2"; - sha256 = "09rbs878gjhyg8n789p2c67lzxr4h1pg0zar47a7j8sg6ff5wcx2"; - revision = "1"; - editedCabalFile = "177hbrwcyalm6gbqq96b5xz974bxzch9g2mvffvksi1205z6v7dr"; - libraryHaskellDepends = [ - base bytestring containers directory filepath primitive syb - template-haskell text th-abstraction th-orphans - ]; - testHaskellDepends = [ - base bytestring containers directory filepath hspec primitive syb - template-haskell text th-abstraction th-orphans vector - ]; - description = "Collection of useful functions for use with Template Haskell"; - license = lib.licenses.mit; - }) {}; - - "th-utilities_0_2_4_3" = callPackage ({ mkDerivation, base, bytestring, containers, directory, filepath , hspec, primitive, syb, template-haskell, text, th-abstraction , th-orphans, vector @@ -262255,7 +262078,6 @@ self: { ]; description = "Collection of useful functions for use with Template Haskell"; license = lib.licenses.mit; - hydraPlatforms = lib.platforms.none; }) {}; "thank-you-stars" = callPackage @@ -263154,16 +262976,16 @@ self: { "tidal" = callPackage ({ mkDerivation, base, bifunctors, bytestring, clock, colour , containers, criterion, deepseq, hosc, microspec, network, parsec - , primitive, random, text, transformers, vector, weigh + , primitive, random, text, transformers, weigh }: mkDerivation { pname = "tidal"; - version = "1.7.2"; - sha256 = "15shxaazxik1bawgak16xhlvk708kv9al6i3518b3m3iap9sbw9p"; + version = "1.7.3"; + sha256 = "0z0brlicisn7xpwag20vdrq6ympczxcyd886pm6am5phmifkmfif"; enableSeparateDataOutput = true; libraryHaskellDepends = [ base bifunctors bytestring clock colour containers deepseq hosc - network parsec primitive random text transformers vector + network parsec primitive random text transformers ]; testHaskellDepends = [ base containers deepseq hosc microspec parsec @@ -263173,15 +262995,15 @@ self: { license = lib.licenses.gpl3Only; }) {}; - "tidal_1_7_3" = callPackage + "tidal_1_7_4" = callPackage ({ mkDerivation, base, bifunctors, bytestring, clock, colour , containers, criterion, deepseq, hosc, microspec, network, parsec , primitive, random, text, transformers, weigh }: mkDerivation { pname = "tidal"; - version = "1.7.3"; - sha256 = "0z0brlicisn7xpwag20vdrq6ympczxcyd886pm6am5phmifkmfif"; + version = "1.7.4"; + sha256 = "080zncw6gp0dzwm9vd82c789v1x00nfzz8r1ldb4hl67v04jf8hi"; enableSeparateDataOutput = true; libraryHaskellDepends = [ base bifunctors bytestring clock colour containers deepseq hosc @@ -264023,6 +263845,8 @@ self: { pname = "timer-wheel"; version = "0.3.0"; sha256 = "16v663mcsj0h17x4jriq50dps3m3f8wqcsm19kl48vrs7f4mp07s"; + revision = "1"; + editedCabalFile = "03wprm88wl6smfcq6dfr62l4igi8lfg6wkk65rsmyzxxkjzhc6f1"; libraryHaskellDepends = [ atomic-primops base psqueues vector ]; testHaskellDepends = [ base ]; description = "A timer wheel"; @@ -272011,6 +271835,30 @@ self: { license = lib.licenses.bsd3; }) {}; + "unicode-collation" = callPackage + ({ mkDerivation, base, binary, bytestring, bytestring-lexing + , containers, filepath, parsec, QuickCheck, quickcheck-instances + , tasty, tasty-bench, tasty-hunit, template-haskell, text, text-icu + , th-lift-instances, unicode-transforms + }: + mkDerivation { + pname = "unicode-collation"; + version = "0.1.2"; + sha256 = "1q77rd3d2c1r5d35f0z1mhismc3rf8bg1dwfg32wvdd9hpszc52v"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base binary bytestring bytestring-lexing containers filepath parsec + template-haskell text th-lift-instances unicode-transforms + ]; + testHaskellDepends = [ base bytestring tasty tasty-hunit text ]; + benchmarkHaskellDepends = [ + base QuickCheck quickcheck-instances tasty-bench text text-icu + ]; + description = "Haskell implementation of the Unicode Collation Algorithm"; + license = lib.licenses.bsd2; + }) {}; + "unicode-general-category" = callPackage ({ mkDerivation, array, base, binary, bytestring, containers , file-embed, hspec, QuickCheck, text @@ -272116,6 +271964,8 @@ self: { pname = "unicode-transforms"; version = "0.3.7.1"; sha256 = "1010sahi4mjzqmxqlj3w73rlymbl2370x5vizjqbx7mb86kxzx4f"; + revision = "1"; + editedCabalFile = "01kf1hanqcwc7vpkwq2rw5v2mn4nxx58l3v5hpk166jalmwqijaz"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base bytestring ghc-prim text ]; @@ -273142,6 +272992,19 @@ self: { license = "GPL"; }) {}; + "unlift" = callPackage + ({ mkDerivation, base, stm, transformers, transformers-base }: + mkDerivation { + pname = "unlift"; + version = "0.0.0.0"; + sha256 = "0xqn4252ncygmapfciwf6g2nzbavp8dmh4vds985nc0lq78wi7nj"; + libraryHaskellDepends = [ + base stm transformers transformers-base + ]; + description = "Typeclass for monads that can be unlifted to arbitrary base monads"; + license = lib.licenses.mpl20; + }) {}; + "unlift-stm" = callPackage ({ mkDerivation, base, stm, transformers, unliftio, unliftio-core }: @@ -276323,24 +276186,6 @@ self: { }) {}; "vector" = callPackage - ({ mkDerivation, base, base-orphans, deepseq, ghc-prim, HUnit - , primitive, QuickCheck, random, tasty, tasty-hunit - , tasty-quickcheck, template-haskell, transformers - }: - mkDerivation { - pname = "vector"; - version = "0.12.2.0"; - sha256 = "0l3bs8zvw1da9gzqkmavj9vrcxv8hdv9zfw1yqzk6nbqr220paqp"; - libraryHaskellDepends = [ base deepseq ghc-prim primitive ]; - testHaskellDepends = [ - base base-orphans HUnit primitive QuickCheck random tasty - tasty-hunit tasty-quickcheck template-haskell transformers - ]; - description = "Efficient Arrays"; - license = lib.licenses.bsd3; - }) {}; - - "vector_0_12_3_0" = callPackage ({ mkDerivation, base, base-orphans, deepseq, ghc-prim, HUnit , primitive, QuickCheck, random, tasty, tasty-hunit , tasty-quickcheck, template-haskell, transformers @@ -276356,7 +276201,6 @@ self: { ]; description = "Efficient Arrays"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "vector-algorithms" = callPackage @@ -276390,25 +276234,6 @@ self: { }) {}; "vector-binary-instances" = callPackage - ({ mkDerivation, base, binary, bytestring, deepseq, gauge, tasty - , tasty-quickcheck, vector - }: - mkDerivation { - pname = "vector-binary-instances"; - version = "0.2.5.1"; - sha256 = "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"; - revision = "2"; - editedCabalFile = "0ia9i7q7jrk3ab3nq2368glr69vl6fwvh42zlwvdmxn4xd861qfx"; - libraryHaskellDepends = [ base binary vector ]; - testHaskellDepends = [ base binary tasty tasty-quickcheck vector ]; - benchmarkHaskellDepends = [ - base binary bytestring deepseq gauge vector - ]; - description = "Instances of Data.Binary for vector"; - license = lib.licenses.bsd3; - }) {}; - - "vector-binary-instances_0_2_5_2" = callPackage ({ mkDerivation, base, binary, bytestring, deepseq, tasty , tasty-bench, tasty-quickcheck, vector }: @@ -276423,7 +276248,6 @@ self: { ]; description = "Instances of Data.Binary for vector"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "vector-buffer" = callPackage @@ -280196,8 +280020,8 @@ self: { }: mkDerivation { pname = "wai-session-redis"; - version = "0.1.0.0"; - sha256 = "12l2r85xq8ryv6y660c20yfxa19n3rvkilmkb74bj1ch7jmm8d6n"; + version = "0.1.0.1"; + sha256 = "14n5996y8fpq19jfn5ahfliq4gk2ydi5l8zcq8agqqpg875hzzcw"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -281058,8 +280882,8 @@ self: { }: mkDerivation { pname = "web-inv-route"; - version = "0.1.2.3"; - sha256 = "1xk6f3z7pcn5bmr2259yvv9l9wbfyycb7990dffz4b802ahxf1xv"; + version = "0.1.3.1"; + sha256 = "1l10rgrhcqld8znw6akxjlsm1h8z76l9yxa4yik11lk2l0g9anb2"; libraryHaskellDepends = [ base bytestring case-insensitive containers happstack-server hashable http-types invertible network-uri snap-core text @@ -282664,6 +282488,19 @@ self: { broken = true; }) {}; + "wide-word-instances" = callPackage + ({ mkDerivation, base, binary, serialise, wide-word }: + mkDerivation { + pname = "wide-word-instances"; + version = "0.1"; + sha256 = "0v4isbpq1b76j755dh412zdgm6njgk6n86kzxd8q5idknk38cj4b"; + libraryHaskellDepends = [ base binary serialise wide-word ]; + description = "Instances for wide-word"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + broken = true; + }) {}; + "wigner-symbols" = callPackage ({ mkDerivation, base, bytestring, criterion, cryptonite, primitive , random, vector @@ -282810,6 +282647,30 @@ self: { license = lib.licenses.bsd3; }) {}; + "willow" = callPackage + ({ mkDerivation, aeson, base, bytestring, filepath, hashable + , hedgehog, hedgehog-classes, HUnit, mtl, text, transformers + , unordered-containers, utility-ht, vector + }: + mkDerivation { + pname = "willow"; + version = "0.1.0.0"; + sha256 = "1p47k0dsri76z6vpg59la3jm0smvmbh3qz0i0k0kz8ilc2sa65kn"; + revision = "1"; + editedCabalFile = "0lybbskp6y4679qqbmz02w173mvhfry3gzj9cgfvq6dqccmfdndl"; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ + aeson base bytestring filepath hashable mtl text transformers + unordered-containers utility-ht vector + ]; + testHaskellDepends = [ + aeson base bytestring filepath hedgehog hedgehog-classes HUnit text + transformers unordered-containers + ]; + description = "An implementation of the web Document Object Model, and its rendering"; + license = lib.licenses.mpl20; + }) {}; + "wilton-ffi" = callPackage ({ mkDerivation, aeson, base, bytestring, utf8-string }: mkDerivation { @@ -283032,6 +282893,23 @@ self: { license = lib.licenses.isc; }) {}; + "witch_0_2_0_0" = callPackage + ({ mkDerivation, base, bytestring, containers, hspec + , template-haskell, text + }: + mkDerivation { + pname = "witch"; + version = "0.2.0.0"; + sha256 = "03rnpljng4vy913zm3cxnhlq3i8d5p57661wa1cwj46hkhy7rhj7"; + libraryHaskellDepends = [ + base bytestring containers template-haskell text + ]; + testHaskellDepends = [ base bytestring containers hspec text ]; + description = "Convert values from one type into another"; + license = lib.licenses.isc; + hydraPlatforms = lib.platforms.none; + }) {}; + "with-index" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -284614,8 +284492,6 @@ self: { ]; description = "Tunneling program over websocket protocol"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; - broken = true; }) {}; "wtk" = callPackage @@ -289231,30 +289107,6 @@ self: { }) {}; "yesod-auth-oauth2" = callPackage - ({ mkDerivation, aeson, base, bytestring, cryptonite, errors - , hoauth2, hspec, http-client, http-conduit, http-types, memory - , microlens, safe-exceptions, text, uri-bytestring, yesod-auth - , yesod-core - }: - mkDerivation { - pname = "yesod-auth-oauth2"; - version = "0.6.2.3"; - sha256 = "1vf4cfbqg4zx3rdihj1iajk6kmj9c8xk4s4n2n40yvz2rmbjy0yb"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ - aeson base bytestring cryptonite errors hoauth2 http-client - http-conduit http-types memory microlens safe-exceptions text - uri-bytestring yesod-auth yesod-core - ]; - testHaskellDepends = [ base hspec uri-bytestring ]; - description = "OAuth 2.0 authentication plugins"; - license = lib.licenses.mit; - hydraPlatforms = lib.platforms.none; - broken = true; - }) {}; - - "yesod-auth-oauth2_0_6_3_0" = callPackage ({ mkDerivation, aeson, base, bytestring, cryptonite, errors , hoauth2, hspec, http-client, http-conduit, http-types, memory , microlens, mtl, safe-exceptions, text, unliftio, uri-bytestring @@ -289462,43 +289314,6 @@ self: { }) {}; "yesod-core" = callPackage - ({ mkDerivation, aeson, async, auto-update, base, blaze-html - , blaze-markup, bytestring, case-insensitive, cereal, clientsession - , conduit, conduit-extra, containers, cookie, deepseq, fast-logger - , gauge, hspec, hspec-expectations, http-types, HUnit, memory - , monad-logger, mtl, network, parsec, path-pieces, primitive - , random, resourcet, shakespeare, streaming-commons - , template-haskell, text, time, transformers, unix-compat, unliftio - , unordered-containers, vector, wai, wai-extra, wai-logger, warp - , word8 - }: - mkDerivation { - pname = "yesod-core"; - version = "1.6.18.8"; - sha256 = "1phqb74z5nqnx1xnbhnpimcdcrzm5dd474svzc5hp0ji3kp2xkri"; - libraryHaskellDepends = [ - aeson auto-update base blaze-html blaze-markup bytestring - case-insensitive cereal clientsession conduit conduit-extra - containers cookie deepseq fast-logger http-types memory - monad-logger mtl parsec path-pieces primitive random resourcet - shakespeare template-haskell text time transformers unix-compat - unliftio unordered-containers vector wai wai-extra wai-logger warp - word8 - ]; - testHaskellDepends = [ - async base bytestring clientsession conduit conduit-extra - containers cookie hspec hspec-expectations http-types HUnit network - path-pieces random resourcet shakespeare streaming-commons - template-haskell text transformers unliftio wai wai-extra warp - ]; - benchmarkHaskellDepends = [ - base blaze-html bytestring gauge shakespeare text - ]; - description = "Creation of type-safe, RESTful web applications"; - license = lib.licenses.mit; - }) {}; - - "yesod-core_1_6_19_0" = callPackage ({ mkDerivation, aeson, async, auto-update, base, blaze-html , blaze-markup, bytestring, case-insensitive, cereal, clientsession , conduit, conduit-extra, containers, cookie, deepseq, fast-logger @@ -289533,7 +289348,6 @@ self: { ]; description = "Creation of type-safe, RESTful web applications"; license = lib.licenses.mit; - hydraPlatforms = lib.platforms.none; }) {}; "yesod-crud" = callPackage @@ -290176,32 +289990,6 @@ self: { }) {}; "yesod-page-cursor" = callPackage - ({ mkDerivation, aeson, base, bytestring, containers, hspec - , hspec-expectations-lifted, http-link-header, http-types, lens - , lens-aeson, monad-logger, mtl, network-uri, persistent - , persistent-sqlite, persistent-template, scientific, text, time - , unliftio, unliftio-core, wai-extra, yesod, yesod-core, yesod-test - }: - mkDerivation { - pname = "yesod-page-cursor"; - version = "2.0.0.5"; - sha256 = "0jz5dhmvfggbyjkcxs7v4pc4jpcd759jfv77avzwr64xx2glk1yw"; - libraryHaskellDepends = [ - aeson base bytestring containers http-link-header network-uri text - unliftio yesod-core - ]; - testHaskellDepends = [ - aeson base bytestring hspec hspec-expectations-lifted - http-link-header http-types lens lens-aeson monad-logger mtl - persistent persistent-sqlite persistent-template scientific text - time unliftio unliftio-core wai-extra yesod yesod-core yesod-test - ]; - license = lib.licenses.mit; - hydraPlatforms = lib.platforms.none; - broken = true; - }) {}; - - "yesod-page-cursor_2_0_0_6" = callPackage ({ mkDerivation, aeson, base, bytestring, containers, hspec , hspec-expectations-lifted, http-link-header, http-types, lens , lens-aeson, monad-logger, mtl, network-uri, persistent diff --git a/pkgs/development/libraries/agda/agda-categories/default.nix b/pkgs/development/libraries/agda/agda-categories/default.nix index 1aca24ac8ea..3121edccfe4 100644 --- a/pkgs/development/libraries/agda/agda-categories/default.nix +++ b/pkgs/development/libraries/agda/agda-categories/default.nix @@ -1,14 +1,14 @@ { lib, mkDerivation, fetchFromGitHub, standard-library }: mkDerivation rec { - version = "0.1.5"; + version = "0.1.6"; pname = "agda-categories"; src = fetchFromGitHub { owner = "agda"; repo = "agda-categories"; rev = "v${version}"; - sha256 = "1b5gj0r2z5fhh7k8b9s2kx4rjv8gi5y8ijgrbcvsa06n3acap3lm"; + sha256 = "1s75yqcjwj13s1m3fg29krnn05lws6143ccfdygc6c4iynvvznsh"; }; buildInputs = [ standard-library ]; diff --git a/pkgs/development/libraries/agda/functional-linear-algebra/default.nix b/pkgs/development/libraries/agda/functional-linear-algebra/default.nix index 15603f293b4..1e5c0ae28d3 100644 --- a/pkgs/development/libraries/agda/functional-linear-algebra/default.nix +++ b/pkgs/development/libraries/agda/functional-linear-algebra/default.nix @@ -1,7 +1,7 @@ { fetchFromGitHub, lib, mkDerivation, standard-library }: mkDerivation rec { - version = "0.2"; + version = "0.3"; pname = "functional-linear-algebra"; buildInputs = [ standard-library ]; @@ -10,7 +10,7 @@ mkDerivation rec { repo = "functional-linear-algebra"; owner = "ryanorendorff"; rev = "v${version}"; - sha256 = "1dz7kh92df23scl1pkhn70n1f2v3d0x84liphn9kpsd6wlsxccxc"; + sha256 = "032gl35x1qzaigc3hbg9dc40zr0nyjld175cb9m8b15rlz9xzjn2"; }; preConfigure = '' diff --git a/pkgs/development/libraries/agda/standard-library/default.nix b/pkgs/development/libraries/agda/standard-library/default.nix index fd20a0d9a97..b77c9044834 100644 --- a/pkgs/development/libraries/agda/standard-library/default.nix +++ b/pkgs/development/libraries/agda/standard-library/default.nix @@ -2,13 +2,13 @@ mkDerivation rec { pname = "standard-library"; - version = "1.5"; + version = "1.6"; src = fetchFromGitHub { repo = "agda-stdlib"; owner = "agda"; rev = "v${version}"; - sha256 = "16fcb7ssj6kj687a042afaa2gq48rc8abihpm14k684ncihb2k4w"; + sha256 = "1smvnid7r1mc4lp34pfrbzgzrcl0gmw0dlkga8z0r3g2zhj98lz1"; }; nativeBuildInputs = [ (ghcWithPackages (self : [ self.filemanip ])) ]; diff --git a/pkgs/development/libraries/freeimage/default.nix b/pkgs/development/libraries/freeimage/default.nix index 5714131416d..b50783e2719 100644 --- a/pkgs/development/libraries/freeimage/default.nix +++ b/pkgs/development/libraries/freeimage/default.nix @@ -29,6 +29,10 @@ stdenv.mkDerivation { preInstall = '' mkdir -p $INCDIR $INSTALLDIR + '' + # Workaround for Makefiles.osx not using ?= + + lib.optionalString stdenv.isDarwin '' + makeFlagsArray+=( "INCDIR=$INCDIR" "INSTALLDIR=$INSTALLDIR" ) ''; postInstall = lib.optionalString (!stdenv.isDarwin) '' diff --git a/pkgs/development/libraries/intel-gmmlib/default.nix b/pkgs/development/libraries/intel-gmmlib/default.nix index fa100f34607..651a42da0b1 100644 --- a/pkgs/development/libraries/intel-gmmlib/default.nix +++ b/pkgs/development/libraries/intel-gmmlib/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "intel-gmmlib"; - version = "21.1.1"; + version = "21.1.2"; src = fetchFromGitHub { owner = "intel"; repo = "gmmlib"; rev = "${pname}-${version}"; - sha256 = "0cdyrfyn05fadva8k02kp4nk14k274xfmhzwc0v7jijm1dw8v8rf"; + sha256 = "0zs8l0q1q7xps3kxlch6jddxjiny8n8avdg1ghiwbkvgf76gb3as"; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/lmdbxx/default.nix b/pkgs/development/libraries/lmdbxx/default.nix index 9b1d320678a..2d037afbe21 100644 --- a/pkgs/development/libraries/lmdbxx/default.nix +++ b/pkgs/development/libraries/lmdbxx/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "lmdbxx"; - version = "0.9.14.0"; + version = "1.0.0"; src = fetchFromGitHub { - owner = "drycpp"; + owner = "hoytech"; repo = "lmdbxx"; rev = version; - sha256 = "1jmb9wg2iqag6ps3z71bh72ymbcjrb6clwlkgrqf1sy80qwvlsn6"; + sha256 = "sha256-7CxQZdgHVvmof6wVR9Mzic6tg89XJT3Z1ICGRs7PZYo="; }; buildInputs = [ lmdb ]; diff --git a/pkgs/development/libraries/mtxclient/default.nix b/pkgs/development/libraries/mtxclient/default.nix index 761026440f7..05950bc6865 100644 --- a/pkgs/development/libraries/mtxclient/default.nix +++ b/pkgs/development/libraries/mtxclient/default.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation rec { pname = "mtxclient"; - version = "0.4.1"; + version = "0.5.1"; src = fetchFromGitHub { owner = "Nheko-Reborn"; repo = "mtxclient"; rev = "v${version}"; - sha256 = "1044zil3izhb3whhfjah7w0kg5mr3hys32cjffky681d3mb3wi5n"; + sha256 = "sha256-UKroV1p7jYuNzCAFMsuUsYC/C9AZ1D4rhwpwuER39vc="; }; cmakeFlags = [ diff --git a/pkgs/development/python-modules/ailment/default.nix b/pkgs/development/python-modules/ailment/default.nix index a34fa36734d..121182083d3 100644 --- a/pkgs/development/python-modules/ailment/default.nix +++ b/pkgs/development/python-modules/ailment/default.nix @@ -7,14 +7,14 @@ buildPythonPackage rec { pname = "ailment"; - version = "9.0.6281"; + version = "9.0.6790"; disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = "angr"; repo = pname; rev = "v${version}"; - sha256 = "sha256-IFUGtTO+DY8FIxLgvmwM/y/RQr42T9sABPpnJMILkqg="; + sha256 = "sha256-RcLa18JqQ7c8u+fhyNHmJEXt/Lg73JDAImtUtiaZbTw="; }; propagatedBuildInputs = [ pyvex ]; diff --git a/pkgs/development/python-modules/angr/default.nix b/pkgs/development/python-modules/angr/default.nix index ba0b3b68be2..1875c1deea0 100644 --- a/pkgs/development/python-modules/angr/default.nix +++ b/pkgs/development/python-modules/angr/default.nix @@ -18,7 +18,6 @@ , protobuf , psutil , pycparser -, pkgs , pythonOlder , pyvex , sqlalchemy @@ -43,14 +42,14 @@ in buildPythonPackage rec { pname = "angr"; - version = "9.0.6281"; + version = "9.0.6790"; disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - sha256 = "10i4qdk8f342gzxiwy0pjdc35lc4q5ab7l5q420ca61cgdvxkk4r"; + sha256 = "sha256-PRghK/BdgxGpPuinkGr+rREza1pQXz2gxnXiSmxBSTc="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/archinfo/default.nix b/pkgs/development/python-modules/archinfo/default.nix index ec1db2e33dc..fc83073a3a2 100644 --- a/pkgs/development/python-modules/archinfo/default.nix +++ b/pkgs/development/python-modules/archinfo/default.nix @@ -7,13 +7,13 @@ buildPythonPackage rec { pname = "archinfo"; - version = "9.0.6281"; + version = "9.0.6790"; src = fetchFromGitHub { owner = "angr"; repo = pname; rev = "v${version}"; - sha256 = "sha256-ZO2P53RdR3cYhDbtrdGJnadFZgKkBdDi5gR/CB7YTpI="; + sha256 = "sha256-A4WvRElahRv/XmlmS4WexMqm8FIZ1SSUnbdoAWWECMk="; }; checkInputs = [ diff --git a/pkgs/development/python-modules/banal/default.nix b/pkgs/development/python-modules/banal/default.nix new file mode 100644 index 00000000000..793de7d3a76 --- /dev/null +++ b/pkgs/development/python-modules/banal/default.nix @@ -0,0 +1,27 @@ +{ lib +, fetchPypi +, buildPythonPackage +}: +buildPythonPackage rec { + pname = "banal"; + version = "1.0.6"; + + src = fetchPypi { + inherit pname version; + sha256 = "2fe02c9305f53168441948f4a03dfbfa2eacc73db30db4a93309083cb0e250a5"; + }; + + # no tests + doCheck = false; + + pythonImportsCheck = [ + "banal" + ]; + + meta = with lib; { + description = "Commons of banal micro-functions for Python"; + homepage = "https://github.com/pudo/banal"; + license = licenses.mit; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/development/python-modules/claripy/default.nix b/pkgs/development/python-modules/claripy/default.nix index 39413d0f9c7..9f077df96f0 100644 --- a/pkgs/development/python-modules/claripy/default.nix +++ b/pkgs/development/python-modules/claripy/default.nix @@ -13,14 +13,14 @@ buildPythonPackage rec { pname = "claripy"; - version = "9.0.6281"; + version = "9.0.6790"; disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = "angr"; repo = pname; rev = "v${version}"; - sha256 = "sha256-gvo8I6LQRAEUa7QiV5Sugrt+e2SmGkkKfsGn/IKz+Mk="; + sha256 = "sha256-GpWHj3bNgr7nQoIKM4VQtVkbObxqw6QkuEmfmPEiJmE="; }; # Use upstream z3 implementation diff --git a/pkgs/development/python-modules/cle/default.nix b/pkgs/development/python-modules/cle/default.nix index 436a364b2b5..feaab56600f 100644 --- a/pkgs/development/python-modules/cle/default.nix +++ b/pkgs/development/python-modules/cle/default.nix @@ -15,7 +15,7 @@ let # The binaries are following the argr projects release cycle - version = "9.0.6281"; + version = "9.0.6790"; # Binary files from https://github.com/angr/binaries (only used for testing and only here) binaries = fetchFromGitHub { @@ -35,7 +35,7 @@ buildPythonPackage rec { owner = "angr"; repo = pname; rev = "v${version}"; - sha256 = "0f2zc02dljmgp6ny6ja6917j08kqhwckncan860dq4xv93g61rmg"; + sha256 = "sha256-zQggVRdc8fV1ulFnOlzYLvSOSOP3+dY8j+6lo+pXSkM="; }; propagatedBuildInputs = [ @@ -64,6 +64,8 @@ buildPythonPackage rec { "test_ppc_rel24_relocation" "test_ppc_addr16_ha_relocation" "test_ppc_addr16_lo_relocation" + # Binary not found, seems to be missing in the current binaries release + "test_plt_full_relro" ]; pythonImportsCheck = [ "cle" ]; diff --git a/pkgs/development/python-modules/commoncode/default.nix b/pkgs/development/python-modules/commoncode/default.nix new file mode 100644 index 00000000000..dfb82cccea3 --- /dev/null +++ b/pkgs/development/python-modules/commoncode/default.nix @@ -0,0 +1,55 @@ +{ lib +, fetchPypi +, buildPythonPackage +, setuptools-scm +, click +, requests +, attrs +, intbitset +, saneyaml +, text-unidecode +, beautifulsoup4 +, pytestCheckHook +, pytest-xdist +}: +buildPythonPackage rec { + pname = "commoncode"; + version = "21.1.21"; + + src = fetchPypi { + inherit pname version; + sha256 = "6e2daa34fac2d91307b23d9df5f01a6168fdffb12bf5d161bd6776bade29b479"; + }; + + dontConfigure = true; + + nativeBuildInputs = [ + setuptools-scm + ]; + + propagatedBuildInputs = [ + click + requests + attrs + intbitset + saneyaml + text-unidecode + beautifulsoup4 + ]; + + checkInputs = [ + pytestCheckHook + pytest-xdist + ]; + + pythonImportsCheck = [ + "commoncode" + ]; + + meta = with lib; { + description = "A set of common utilities, originally split from ScanCode"; + homepage = "https://github.com/nexB/commoncode"; + license = licenses.asl20; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/development/python-modules/debian-inspector/default.nix b/pkgs/development/python-modules/debian-inspector/default.nix new file mode 100644 index 00000000000..8064a35ffee --- /dev/null +++ b/pkgs/development/python-modules/debian-inspector/default.nix @@ -0,0 +1,53 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pythonAtLeast +, fetchpatch +, chardet +, attrs +, commoncode +, pytestCheckHook +}: +buildPythonPackage rec { + pname = "debian-inspector"; + version = "0.9.10"; + + src = fetchPypi { + pname = "debian_inspector"; + inherit version; + sha256 = "fd29a02b925a4de0d7bb00c29bb05f19715a304bc10ef7b9ad06a93893dc3a8c"; + }; + + patches = lib.optionals (pythonAtLeast "3.9") [ + # https://github.com/nexB/debian-inspector/pull/15 + # fixes tests on Python 3.9 + (fetchpatch { + name = "drop-encoding-argument.patch"; + url = "https://github.com/nexB/debian-inspector/commit/ff991cdb788671ca9b81f1602b70a439248fd1aa.patch"; + sha256 = "bm3k7vb9+Rm6+YicQEeDOOUVut8xpDaNavG+t2oLZkI="; + }) + ]; + + dontConfigure = true; + + propagatedBuildInputs = [ + chardet + attrs + commoncode + ]; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "debian_inspector" + ]; + + meta = with lib; { + description = "Utilities to parse Debian package, copyright and control files"; + homepage = "https://github.com/nexB/debian-inspector"; + license = with licenses; [ asl20 bsd3 mit ]; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/development/python-modules/dparse/default.nix b/pkgs/development/python-modules/dparse/default.nix index 6433e0d17a7..59fed703e22 100644 --- a/pkgs/development/python-modules/dparse/default.nix +++ b/pkgs/development/python-modules/dparse/default.nix @@ -1,4 +1,12 @@ -{ lib, buildPythonPackage, fetchPypi, isPy27, pytest, toml, pyyaml }: +{ lib +, buildPythonPackage +, fetchPypi +, isPy27 +, toml +, pyyaml +, packaging +, pytestCheckHook +}: buildPythonPackage rec { pname = "dparse"; @@ -10,13 +18,24 @@ buildPythonPackage rec { sha256 = "a1b5f169102e1c894f9a7d5ccf6f9402a836a5d24be80a986c7ce9eaed78f367"; }; - propagatedBuildInputs = [ toml pyyaml ]; + propagatedBuildInputs = [ + toml + pyyaml + packaging + ]; - checkInputs = [ pytest ]; + checkInputs = [ + pytestCheckHook + ]; + + disabledTests = [ + # requires unpackaged dependency pipenv + "test_update_pipfile" + ]; meta = with lib; { description = "A parser for Python dependency files"; - homepage = "https://github.com/pyupio/safety"; + homepage = "https://github.com/pyupio/dparse"; license = licenses.mit; maintainers = with maintainers; [ thomasdesr ]; }; diff --git a/pkgs/development/python-modules/extractcode/7z.nix b/pkgs/development/python-modules/extractcode/7z.nix new file mode 100644 index 00000000000..e3318b426ec --- /dev/null +++ b/pkgs/development/python-modules/extractcode/7z.nix @@ -0,0 +1,48 @@ +{ lib +, fetchFromGitHub +, buildPythonPackage +, plugincode +, p7zip +}: +buildPythonPackage rec { + pname = "extractcode-7z"; + version = "21.4.4"; + + src = fetchFromGitHub { + owner = "nexB"; + repo = "scancode-plugins"; + rev = "v${version}"; + sha256 = "xnUGDMS34iMVMGo/nZwRarGzzbj3X4Rt+YHvvKpmy6A="; + }; + + sourceRoot = "source/builtins/extractcode_7z-linux"; + + propagatedBuildInputs = [ + plugincode + ]; + + preBuild = '' + pushd src/extractcode_7z/bin + + rm 7z 7z.so + ln -s ${p7zip}/bin/7z 7z + ln -s ${p7zip}/lib/p7zip/7z.so 7z.so + + popd + ''; + + # no tests + doCheck = false; + + pythonImportsCheck = [ + "extractcode_7z" + ]; + + meta = with lib; { + description = "A ScanCode Toolkit plugin to provide pre-built binary libraries and utilities and their locations"; + homepage = "https://github.com/nexB/scancode-plugins/tree/main/builtins/extractcode_7z-linux"; + license = with licenses; [ asl20 lgpl21 ]; + maintainers = teams.determinatesystems.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/python-modules/extractcode/default.nix b/pkgs/development/python-modules/extractcode/default.nix new file mode 100644 index 00000000000..481324d7292 --- /dev/null +++ b/pkgs/development/python-modules/extractcode/default.nix @@ -0,0 +1,60 @@ +{ lib +, fetchPypi +, buildPythonPackage +, setuptools-scm +, typecode +, patch +, extractcode-libarchive +, extractcode-7z +, pytestCheckHook +, pytest-xdist +}: +buildPythonPackage rec { + pname = "extractcode"; + version = "21.2.24"; + + src = fetchPypi { + inherit pname version; + sha256 = "f91638dbf523b80df90ac184c25d5cd1ea24cac53f67a6bb7d7b389867e0744b"; + }; + + dontConfigure = true; + + nativeBuildInputs = [ + setuptools-scm + ]; + + propagatedBuildInputs = [ + typecode + patch + extractcode-libarchive + extractcode-7z + ]; + + checkInputs = [ + pytestCheckHook + pytest-xdist + ]; + + # cli test tests the cli which we can't do until after install + disabledTestPaths = [ + "tests/test_extractcode_cli.py" + ]; + + # test_uncompress_* wants to use a binary to extract instead of the provided library + disabledTests = [ + "test_uncompress_lz4_basic" + "test_extract_tarlz4_basic" + ]; + + pythonImportsCheck = [ + "extractcode" + ]; + + meta = with lib; { + description = "A mostly universal archive extractor using z7zip, libarchve, other libraries and the Python standard library for reliable archive extraction"; + homepage = "https://github.com/nexB/extractcode"; + license = licenses.asl20; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/development/python-modules/extractcode/libarchive.nix b/pkgs/development/python-modules/extractcode/libarchive.nix new file mode 100644 index 00000000000..0d5e7f31858 --- /dev/null +++ b/pkgs/development/python-modules/extractcode/libarchive.nix @@ -0,0 +1,62 @@ +{ lib +, fetchFromGitHub +, buildPythonPackage +, libarchive +, libb2 +, bzip2 +, expat +, lz4 +, lzma +, zlib +, zstd +, plugincode +, pytestCheckHook +}: +buildPythonPackage rec { + pname = "extractcode-libarchive"; + version = "21.4.4"; + + src = fetchFromGitHub { + owner = "nexB"; + repo = "scancode-plugins"; + rev = "v${version}"; + sha256 = "xnUGDMS34iMVMGo/nZwRarGzzbj3X4Rt+YHvvKpmy6A="; + }; + + sourceRoot = "source/builtins/extractcode_libarchive-linux"; + + preBuild = '' + pushd src/extractcode_libarchive/lib + + rm *.so *.so.* + ln -s ${lib.getLib libarchive}/lib/libarchive.so libarchive.so + ln -s ${lib.getLib libb2}/lib/libb2.so libb2-la3511.so.1 + ln -s ${lib.getLib bzip2}/lib/libbz2.so libbz2-la3511.so.1.0 + ln -s ${lib.getLib expat}/lib/libexpat.so libexpat-la3511.so.1 + ln -s ${lib.getLib lz4}/lib/liblz4.so liblz4-la3511.so.1 + ln -s ${lib.getLib lzma}/lib/liblzma.so liblzma-la3511.so.5 + ln -s ${lib.getLib zlib}/lib/libz.so libz-la3511.so.1 + ln -s ${lib.getLib zstd}/lib/libzstd.so libzstd-la3511.so.1 + + popd + ''; + + propagatedBuildInputs = [ + plugincode + ]; + + # no tests + doCheck = false; + + pythonImportsCheck = [ + "extractcode_libarchive" + ]; + + meta = with lib; { + description = "A ScanCode Toolkit plugin to provide pre-built binary libraries and utilities and their locations"; + homepage = "https://github.com/nexB/scancode-plugins/tree/main/builtins/extractcode_libarchive-linux"; + license = with licenses; [ asl20 bsd2 ]; + maintainers = teams.determinatesystems.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/python-modules/fingerprints/default.nix b/pkgs/development/python-modules/fingerprints/default.nix new file mode 100644 index 00000000000..ea68c6fa8d4 --- /dev/null +++ b/pkgs/development/python-modules/fingerprints/default.nix @@ -0,0 +1,42 @@ +{ lib +, fetchPypi +, buildPythonPackage +, normality +, mypy +, coverage +, nose +}: +buildPythonPackage rec { + pname = "fingerprints"; + version = "1.0.3"; + + src = fetchPypi { + inherit pname version; + sha256 = "cafd5f92b5b91e4ce34af2b954da9c05b448a4778947785abb19a14f363352d0"; + }; + + propagatedBuildInputs = [ + normality + ]; + + checkInputs = [ + mypy + coverage + nose + ]; + + checkPhase = '' + nosetests + ''; + + pythonImportsCheck = [ + "fingerprints" + ]; + + meta = with lib; { + description = "A library to generate entity fingerprints"; + homepage = "https://github.com/alephdata/fingerprints"; + license = licenses.mit; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/development/python-modules/gemfileparser/default.nix b/pkgs/development/python-modules/gemfileparser/default.nix new file mode 100644 index 00000000000..8aa4b819231 --- /dev/null +++ b/pkgs/development/python-modules/gemfileparser/default.nix @@ -0,0 +1,29 @@ +{ lib +, fetchPypi +, buildPythonPackage +, pytestCheckHook +}: +buildPythonPackage rec { + pname = "gemfileparser"; + version = "0.8.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "839592e49ea3fd985cec003ef58f8e77009a69ed7644a0c0acc94cf6dd9b8d6e"; + }; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "gemfileparser" + ]; + + meta = with lib; { + description = "A library to parse Ruby Gemfile, .gemspec and Cocoapod .podspec file using Python"; + homepage = "https://github.com/gemfileparser/gemfileparser"; + license = with licenses; [ gpl3Plus /* or */ mit ]; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/development/python-modules/httplib2/default.nix b/pkgs/development/python-modules/httplib2/default.nix index 40cd705f090..40bfe4d3e88 100644 --- a/pkgs/development/python-modules/httplib2/default.nix +++ b/pkgs/development/python-modules/httplib2/default.nix @@ -1,4 +1,5 @@ { lib +, stdenv , buildPythonPackage , fetchFromGitHub , isPy27 @@ -44,9 +45,12 @@ buildPythonPackage rec { pytestCheckHook ]; - pytestFlagsArray = [ "--ignore python2" ]; + disabledTests = lib.optionals (stdenv.isDarwin) [ + # fails with HTTP 408 Request Timeout, instead of expected 200 OK + "test_timeout_subsequent" + ]; - __darwinAllowLocalNetworking = true; + pytestFlagsArray = [ "--ignore python2" ]; meta = with lib; { description = "A comprehensive HTTP client library"; diff --git a/pkgs/development/python-modules/intbitset/default.nix b/pkgs/development/python-modules/intbitset/default.nix new file mode 100644 index 00000000000..db98be8276c --- /dev/null +++ b/pkgs/development/python-modules/intbitset/default.nix @@ -0,0 +1,44 @@ +{ lib +, fetchPypi +, buildPythonPackage +, six +, nose +}: +buildPythonPackage rec { + pname = "intbitset"; + version = "2.4.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "44bca80b8cc702d5a56f0686f2bb5e028ab4d0c2c1761941589d46b7fa2c701c"; + }; + + patches = [ + # fixes compilation on aarch64 and determinism (uses -march=core2 and + # -mtune=native) + ./remove-impure-tuning.patch + ]; + + propagatedBuildInputs = [ + six + ]; + + checkInputs = [ + nose + ]; + + checkPhase = '' + nosetests + ''; + + pythonImportsCheck = [ + "intbitset" + ]; + + meta = with lib; { + description = "C-based extension implementing fast integer bit sets"; + homepage = "https://github.com/inveniosoftware/intbitset"; + license = licenses.lgpl3Only; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/development/python-modules/intbitset/remove-impure-tuning.patch b/pkgs/development/python-modules/intbitset/remove-impure-tuning.patch new file mode 100644 index 00000000000..4747b87b806 --- /dev/null +++ b/pkgs/development/python-modules/intbitset/remove-impure-tuning.patch @@ -0,0 +1,24 @@ +From 2ea60bdf4d7b0344fc6ff5c97c675842fedccfa8 Mon Sep 17 00:00:00 2001 +From: Cole Helbling +Date: Fri, 23 Apr 2021 09:02:22 -0700 +Subject: [PATCH] setup.py: remove impure tuning + +--- + setup.py | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 7840022..3922aa5 100644 +--- a/setup.py ++++ b/setup.py +@@ -48,7 +48,6 @@ setup( + ext_modules=[ + Extension("intbitset", + ["intbitset/intbitset.c", "intbitset/intbitset_impl.c"], +- extra_compile_args=['-O3', '-march=core2', '-mtune=native'] + # For debug -> '-ftree-vectorizer-verbose=2' + ) + ], +-- +2.30.1 + diff --git a/pkgs/development/python-modules/normality/default.nix b/pkgs/development/python-modules/normality/default.nix new file mode 100644 index 00000000000..ece47afad4e --- /dev/null +++ b/pkgs/development/python-modules/normality/default.nix @@ -0,0 +1,42 @@ +{ lib +, fetchFromGitHub +, buildPythonPackage +, text-unidecode +, chardet +, banal +, PyICU +, pytestCheckHook +}: +buildPythonPackage rec { + pname = "normality"; + version = "2.1.3"; + + src = fetchFromGitHub { + owner = "pudo"; + repo = "normality"; + rev = version; + sha256 = "WvpMs02vBGnCSPkxo6r6g4Di2fKkUr2SsBflTBxlhkU="; + }; + + propagatedBuildInputs = [ + text-unidecode + chardet + banal + PyICU + ]; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "normality" + ]; + + meta = with lib; { + description = "Micro-library to normalize text strings"; + homepage = "https://github.com/pudo/normality"; + license = licenses.mit; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/development/python-modules/openerz-api/default.nix b/pkgs/development/python-modules/openerz-api/default.nix new file mode 100644 index 00000000000..9cbe89e26a3 --- /dev/null +++ b/pkgs/development/python-modules/openerz-api/default.nix @@ -0,0 +1,39 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +, pythonOlder +, requests +, testfixtures +}: + +buildPythonPackage rec { + pname = "openerz-api"; + version = "0.1.0"; + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "misialq"; + repo = pname; + rev = "v${version}"; + sha256 = "10kxsmaz2rn26jijaxmdmhx8vjdz8hrhlrvd39gc8yvqbjwhi3nw"; + }; + + propagatedBuildInputs = [ + requests + ]; + + checkInputs = [ + pytestCheckHook + testfixtures + ]; + + pythonImportsCheck = [ "openerz_api" ]; + + meta = with lib; { + description = "Python module to interact with the OpenERZ API"; + homepage = "https://github.com/misialq/openerz-api"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/plugincode/default.nix b/pkgs/development/python-modules/plugincode/default.nix new file mode 100644 index 00000000000..7270685f41b --- /dev/null +++ b/pkgs/development/python-modules/plugincode/default.nix @@ -0,0 +1,47 @@ +{ lib +, fetchPypi +, buildPythonPackage +, setuptools-scm +, click +, commoncode +, pluggy +, pytestCheckHook +, pytest-xdist +}: +buildPythonPackage rec { + pname = "plugincode"; + version = "21.1.21"; + + src = fetchPypi { + inherit pname version; + sha256 = "97b5a2c96f0365c80240be103ecd86411c68b11a16f137913cbea9129c54907a"; + }; + + dontConfigure = true; + + nativeBuildInputs = [ + setuptools-scm + ]; + + propagatedBuildInputs = [ + click + commoncode + pluggy + ]; + + checkInputs = [ + pytestCheckHook + pytest-xdist + ]; + + pythonImportsCheck = [ + "plugincode" + ]; + + meta = with lib; { + description = "A library that provides plugin functionality for ScanCode toolkit"; + homepage = "https://github.com/nexB/plugincode"; + license = licenses.asl20; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/development/python-modules/pymaven-patch/default.nix b/pkgs/development/python-modules/pymaven-patch/default.nix new file mode 100644 index 00000000000..e3a70ede060 --- /dev/null +++ b/pkgs/development/python-modules/pymaven-patch/default.nix @@ -0,0 +1,44 @@ +{ lib +, fetchPypi +, buildPythonPackage +, pbr +, requests +, six +, lxml +, pytestCheckHook +, pytest-cov +, mock +}: +buildPythonPackage rec { + pname = "pymaven-patch"; + version = "0.3.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "d55b29bd4aeef3510904a12885eb6856b5bd48f3e29925a123461429f9ad85c0"; + }; + + propagatedBuildInputs = [ + pbr + requests + six + lxml + ]; + + checkInputs = [ + pytestCheckHook + pytest-cov + mock + ]; + + pythonImportsCheck = [ + "pymaven" + ]; + + meta = with lib; { + description = "Python access to maven"; + homepage = "https://github.com/nexB/pymaven"; + license = licenses.asl20; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/development/python-modules/python-picnic-api/default.nix b/pkgs/development/python-modules/python-picnic-api/default.nix new file mode 100644 index 00000000000..4ff18224d2d --- /dev/null +++ b/pkgs/development/python-modules/python-picnic-api/default.nix @@ -0,0 +1,34 @@ +{ lib +, buildPythonPackage +, fetchPypi +, requests +}: + +buildPythonPackage rec { + pname = "python-picnic-api"; + version = "1.1.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "1axqw4bs3wa9mdac35h7r25v3i5g7v55cvyy48c4sg31dxnr4wcp"; + }; + + propagatedBuildInputs = [ + requests + ]; + + # Project doesn't ship tests + # https://github.com/MikeBrink/python-picnic-api/issues/13 + doCheck = false; + + pythonImportsCheck = [ + "python_picnic_api" + ]; + + meta = with lib; { + description = "Python wrapper for the Picnic API"; + homepage = "https://github.com/MikeBrink/python-picnic-api"; + license = with licenses; [ asl20 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/pyvex/default.nix b/pkgs/development/python-modules/pyvex/default.nix index 9474669d931..566cd79b01c 100644 --- a/pkgs/development/python-modules/pyvex/default.nix +++ b/pkgs/development/python-modules/pyvex/default.nix @@ -11,11 +11,11 @@ buildPythonPackage rec { pname = "pyvex"; - version = "9.0.6588"; + version = "9.0.6790"; src = fetchPypi { inherit pname version; - sha256 = "a77d29a5fffb8ddeed092a586086c46d489a5214a1b06829f51068486b3b6be3"; + sha256 = "sha256-bqOLHGlLQ12nYzbv9H9nJ0/Q5APJb/9B82YtHk3IvYQ="; }; propagatedBuildInputs = [ @@ -26,9 +26,8 @@ buildPythonPackage rec { pycparser ]; - postPatch = '' - substituteInPlace pyvex_c/Makefile \ - --replace "CC=gcc" "CC=${stdenv.cc.targetPrefix}cc" + preBuild = '' + export CC=${stdenv.cc.targetPrefix}cc ''; # No tests are available on PyPI, GitHub release has tests diff --git a/pkgs/development/python-modules/rokuecp/default.nix b/pkgs/development/python-modules/rokuecp/default.nix new file mode 100644 index 00000000000..baf12741b87 --- /dev/null +++ b/pkgs/development/python-modules/rokuecp/default.nix @@ -0,0 +1,41 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, aiohttp +, xmltodict +, yarl +, aresponses +, pytest-asyncio +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "rokuecp"; + version = "0.8.1"; + + src = fetchFromGitHub { + owner = "ctalkington"; + repo = "python-rokuecp"; + rev = version; + sha256 = "02mbmwljcvqj3ksj2irdm8849lcxzwa6fycgjqb0i75cgidxpans"; + }; + + propagatedBuildInputs = [ + aiohttp + xmltodict + yarl + ]; + + checkInputs = [ + aresponses + pytestCheckHook + pytest-asyncio + ]; + + meta = with lib; { + description = "Asynchronous Python client for Roku (ECP)"; + homepage = "https://github.com/ctalkington/python-rokuecp"; + license = licenses.mit; + maintainers = with maintainers; [ ]; + }; +} diff --git a/pkgs/development/python-modules/saneyaml/default.nix b/pkgs/development/python-modules/saneyaml/default.nix new file mode 100644 index 00000000000..e92e464a9c9 --- /dev/null +++ b/pkgs/development/python-modules/saneyaml/default.nix @@ -0,0 +1,41 @@ +{ lib +, fetchPypi +, buildPythonPackage +, setuptools-scm +, pyyaml +, pytestCheckHook +}: +buildPythonPackage rec { + pname = "saneyaml"; + version = "0.5.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "d6074f1959041342ab41d74a6f904720ffbcf63c94467858e0e22e17e3c43d41"; + }; + + dontConfigure = true; + + nativeBuildInputs = [ + setuptools-scm + ]; + + propagatedBuildInputs = [ + pyyaml + ]; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "saneyaml" + ]; + + meta = with lib; { + description = "A PyYaml wrapper with sane behaviour to read and write readable YAML safely"; + homepage = "https://github.com/nexB/saneyaml"; + license = licenses.asl20; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/development/python-modules/scancode-toolkit/default.nix b/pkgs/development/python-modules/scancode-toolkit/default.nix new file mode 100644 index 00000000000..f27a2d40bf3 --- /dev/null +++ b/pkgs/development/python-modules/scancode-toolkit/default.nix @@ -0,0 +1,122 @@ +{ lib +, fetchPypi +, buildPythonPackage +, isPy3k +, markupsafe +, click +, typecode +, gemfileparser +, pefile +, fingerprints +, spdx-tools +, fasteners +, pycryptodome +, urlpy +, dparse +, jaraco_functools +, pkginfo +, debian-inspector +, extractcode +, ftfy +, pyahocorasick +, colorama +, jsonstreams +, packageurl-python +, pymaven-patch +, nltk +, pygments +, bitarray +, jinja2 +, javaproperties +, boolean-py +, license-expression +, extractcode-7z +, extractcode-libarchive +, typecode-libmagic +, pytestCheckHook +}: +buildPythonPackage rec { + pname = "scancode-toolkit"; + version = "21.3.31"; + disabled = !isPy3k; + + src = fetchPypi { + inherit pname version; + sha256 = "7e0301031a302dedbb4304a91249534f3d036f84a119170b8a9fe70bd57cff95"; + }; + + dontConfigure = true; + + # https://github.com/nexB/scancode-toolkit/issues/2501 + # * dparse2 is a "Temp fork for Python 2 support", but pdfminer requires + # Python 3, so it's "fine" to leave dparse2 unpackaged and use the "normal" + # version + # * ftfy was pinned for similar reasons (to support Python 2), but rather than + # packaging an older version, I figured it would be better to remove the + # erroneous (at least for our usage) version bound + # * bitarray's version bound appears to be unnecessary for similar reasons + postPatch = '' + substituteInPlace setup.cfg \ + --replace "dparse2" "dparse" \ + --replace "ftfy < 5.0.0" "ftfy" \ + --replace "bitarray >= 0.8.1, < 1.0.0" "bitarray" + ''; + + propagatedBuildInputs = [ + markupsafe + click + typecode + gemfileparser + pefile + fingerprints + spdx-tools + fasteners + pycryptodome + urlpy + dparse + jaraco_functools + pkginfo + debian-inspector + extractcode + ftfy + pyahocorasick + colorama + jsonstreams + packageurl-python + pymaven-patch + nltk + pygments + bitarray + jinja2 + javaproperties + boolean-py + license-expression + extractcode-7z + extractcode-libarchive + typecode-libmagic + ]; + + checkInputs = [ + pytestCheckHook + ]; + + # Importing scancode needs a writeable home, and preCheck happens in between + # pythonImportsCheckPhase and pytestCheckPhase. + postInstall = '' + export HOME=$(mktemp -d) + ''; + + pythonImportsCheck = [ + "scancode" + ]; + + # takes a long time and doesn't appear to do anything + dontStrip = true; + + meta = with lib; { + description = "A tool to scan code for license, copyright, package and their documented dependencies and other interesting facts"; + homepage = "https://github.com/nexB/scancode-toolkit"; + license = with licenses; [ asl20 cc-by-40 ]; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/development/python-modules/sendgrid/default.nix b/pkgs/development/python-modules/sendgrid/default.nix index 704549e987d..91198369101 100644 --- a/pkgs/development/python-modules/sendgrid/default.nix +++ b/pkgs/development/python-modules/sendgrid/default.nix @@ -11,13 +11,13 @@ buildPythonPackage rec { pname = "sendgrid"; - version = "6.6.0"; + version = "6.7.0"; src = fetchFromGitHub { owner = pname; repo = "sendgrid-python"; rev = version; - sha256 = "sha256-R9ASHDIGuPRh4yf0FAlpjUZ6QAakYs35EFSqAPc02Q8="; + sha256 = "sha256-Y0h5Aiu85/EWCmSc+eCtK6ZaPuu/LYZiwhXOx0XhfwQ="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/slack-sdk/default.nix b/pkgs/development/python-modules/slack-sdk/default.nix index 195bd720615..9044ce19b5d 100644 --- a/pkgs/development/python-modules/slack-sdk/default.nix +++ b/pkgs/development/python-modules/slack-sdk/default.nix @@ -21,14 +21,14 @@ buildPythonPackage rec { pname = "slack-sdk"; - version = "3.4.2"; + version = "3.5.0"; disabled = !isPy3k; src = fetchFromGitHub { owner = "slackapi"; repo = "python-slack-sdk"; rev = "v${version}"; - sha256 = "sha256-AbQqe6hCy6Ke5lwKHFWLJlXv7HdDApYYK++SPNQ2Nxg="; + sha256 = "sha256-5ZBaF/6p/eOWjAmo+IlF9zCb9xBr2bP6suPZblRogUg="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/spdx-tools/default.nix b/pkgs/development/python-modules/spdx-tools/default.nix new file mode 100644 index 00000000000..53d6d51d2d2 --- /dev/null +++ b/pkgs/development/python-modules/spdx-tools/default.nix @@ -0,0 +1,54 @@ +{ lib +, buildPythonPackage +, fetchPypi +, fetchpatch +, six +, pyyaml +, rdflib +, ply +, xmltodict +, pytestCheckHook +, pythonAtLeast +}: +buildPythonPackage rec { + pname = "spdx-tools"; + version = "0.6.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "9a1aaae051771e865705dd2fd374c3f73d0ad595c1056548466997551cbd7a81"; + }; + + patches = lib.optionals (pythonAtLeast "3.9") [ + # https://github.com/spdx/tools-python/pull/159 + # fixes tests on Python 3.9 + (fetchpatch { + name = "drop-encoding-argument.patch"; + url = "https://github.com/spdx/tools-python/commit/6c8b9a852f8a787122c0e2492126ee8aa52acff0.patch"; + sha256 = "RhvLhexsQRjqYqJg10SAM53RsOW+R93G+mns8C9g5E8="; + }) + ]; + + propagatedBuildInputs = [ + six + pyyaml + rdflib + ply + xmltodict + ]; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "spdx" + ]; + + meta = with lib; { + description = "SPDX parser and tools"; + homepage = "https://github.com/spdx/tools-python"; + license = licenses.asl20; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/development/python-modules/twitterapi/default.nix b/pkgs/development/python-modules/twitterapi/default.nix index 11f596e01d0..316709c2041 100644 --- a/pkgs/development/python-modules/twitterapi/default.nix +++ b/pkgs/development/python-modules/twitterapi/default.nix @@ -7,13 +7,13 @@ buildPythonPackage rec { pname = "twitterapi"; - version = "2.7.1"; + version = "2.7.2"; src = fetchFromGitHub { owner = "geduldig"; repo = "TwitterAPI"; rev = "v${version}"; - sha256 = "sha256-fLexFlnoh58b9q4mo9atGQmMttKytTfAYmaPj6xmPj8="; + sha256 = "sha256-kSL+zAWn/6itBu4T1OcIbg4k5Asatgz/dqzbnlcsqkg="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/typecode/default.nix b/pkgs/development/python-modules/typecode/default.nix new file mode 100644 index 00000000000..c1208193f01 --- /dev/null +++ b/pkgs/development/python-modules/typecode/default.nix @@ -0,0 +1,53 @@ +{ lib +, fetchPypi +, buildPythonPackage +, setuptools-scm +, attrs +, pdfminer +, commoncode +, plugincode +, binaryornot +, typecode-libmagic +, pytestCheckHook +, pytest-xdist +}: +buildPythonPackage rec { + pname = "typecode"; + version = "21.2.24"; + + src = fetchPypi { + inherit pname version; + sha256 = "eaac8aee0b9c6142ad44671252ba00748202d218347d1c0451ce6cd76561e01b"; + }; + + dontConfigure = true; + + nativeBuildInputs = [ + setuptools-scm + ]; + + propagatedBuildInputs = [ + attrs + pdfminer + commoncode + plugincode + binaryornot + typecode-libmagic + ]; + + checkInputs = [ + pytestCheckHook + pytest-xdist + ]; + + pythonImportsCheck = [ + "typecode" + ]; + + meta = with lib; { + description = "Comprehensive filetype and mimetype detection using libmagic and Pygments"; + homepage = "https://github.com/nexB/typecode"; + license = licenses.asl20; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/development/python-modules/typecode/libmagic.nix b/pkgs/development/python-modules/typecode/libmagic.nix new file mode 100644 index 00000000000..9b652e664e5 --- /dev/null +++ b/pkgs/development/python-modules/typecode/libmagic.nix @@ -0,0 +1,51 @@ +{ lib +, fetchFromGitHub +, buildPythonPackage +, plugincode +, file +, zlib +, pytest +}: +buildPythonPackage rec { + pname = "typecode-libmagic"; + version = "21.4.4"; + + src = fetchFromGitHub { + owner = "nexB"; + repo = "scancode-plugins"; + rev = "v${version}"; + sha256 = "xnUGDMS34iMVMGo/nZwRarGzzbj3X4Rt+YHvvKpmy6A="; + }; + + sourceRoot = "source/builtins/typecode_libmagic-linux"; + + propagatedBuildInputs = [ + plugincode + ]; + + preBuild = '' + pushd src/typecode_libmagic + + rm data/magic.mgc lib/libmagic.so lib/libz-lm539.so.1 + ln -s ${file}/share/misc/magic.mgc data/magic.mgc + ln -s ${file}/lib/libmagic.so lib/libmagic.so + ln -s ${zlib}/lib/libz.so lib/libz-lm539.so.1 + + popd + ''; + + # no tests + doCheck = false; + + pythonImportsCheck = [ + "typecode_libmagic" + ]; + + meta = with lib; { + description = "A ScanCode Toolkit plugin to provide pre-built binary libraries and utilities and their locations"; + homepage = "https://github.com/nexB/scancode-plugins/tree/main/builtins/typecode_libmagic-linux"; + license = licenses.asl20; + maintainers = teams.determinatesystems.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/python-modules/urlpy/default.nix b/pkgs/development/python-modules/urlpy/default.nix new file mode 100644 index 00000000000..cd0e028c50c --- /dev/null +++ b/pkgs/development/python-modules/urlpy/default.nix @@ -0,0 +1,44 @@ +{ lib +, fetchFromGitHub +, buildPythonPackage +, publicsuffix2 +, pytestCheckHook +, pythonAtLeast +}: +buildPythonPackage rec { + pname = "urlpy"; + version = "0.5.0"; + + src = fetchFromGitHub { + owner = "nexB"; + repo = "urlpy"; + rev = "v${version}"; + sha256 = "962jLyx+/GS8wrDPzG2ONnHvtUG5Pqe6l1Z5ml63Cmg="; + }; + + dontConfigure = true; + + propagatedBuildInputs = [ + publicsuffix2 + ]; + + checkInputs = [ + pytestCheckHook + ]; + + disabledTests = lib.optionals (pythonAtLeast "3.9") [ + # Fails with "AssertionError: assert 'unknown' == ''" + "test_unknown_protocol" + ]; + + pythonImportsCheck = [ + "urlpy" + ]; + + meta = with lib; { + description = "Simple URL parsing, canonicalization and equivalence"; + homepage = "https://github.com/nexB/urlpy"; + license = licenses.mit; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/development/python-modules/xknx/default.nix b/pkgs/development/python-modules/xknx/default.nix index a181a674188..aefe3ed2b95 100644 --- a/pkgs/development/python-modules/xknx/default.nix +++ b/pkgs/development/python-modules/xknx/default.nix @@ -11,14 +11,14 @@ buildPythonPackage rec { pname = "xknx"; - version = "0.18.0"; + version = "0.18.1"; disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "XKNX"; repo = pname; rev = version; - sha256 = "sha256-8g8DrFvhecdPsfiw+uKnfJOrLQeuFUziK2Jl3xKmrf4="; + sha256 = "sha256-Zf7Od3v54LxMofm67XHeRM4Yeg1+KQLRhFl1BihAxGc="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/ytmusicapi/default.nix b/pkgs/development/python-modules/ytmusicapi/default.nix index 1f211cd2872..4728da51a64 100644 --- a/pkgs/development/python-modules/ytmusicapi/default.nix +++ b/pkgs/development/python-modules/ytmusicapi/default.nix @@ -7,13 +7,13 @@ buildPythonPackage rec { pname = "ytmusicapi"; - version = "0.15.1"; + version = "0.16.0"; disabled = isPy27; src = fetchPypi { inherit pname version; - sha256 = "sha256-W/eZubJ/SNLBya1S6wLUwTwZCUD+wCQ5FAuNcSpl+9Y="; + sha256 = "sha256-/94/taeBI6xZ3uN/wfMnk/NPmk+j0+aaH8CAZBEsK10="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/tools/esbuild/default.nix b/pkgs/development/tools/esbuild/default.nix index e23894c42a0..33c47c7aed8 100644 --- a/pkgs/development/tools/esbuild/default.nix +++ b/pkgs/development/tools/esbuild/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "esbuild"; - version = "0.11.12"; + version = "0.11.13"; src = fetchFromGitHub { owner = "evanw"; repo = "esbuild"; rev = "v${version}"; - sha256 = "1mxj4mrq1zbvv25alnc3s36bhnnhghivgwp45a7m3cp1389ffcd1"; + sha256 = "0v358n2vpa1l1a699zyq43yzb3lcxjp3k4acppx0ggva05qn9zd1"; }; vendorSha256 = "1n5538yik72x94vzfq31qaqrkpxds5xys1wlibw2gn2am0z5c06q"; diff --git a/pkgs/development/tools/purescript/spago/spago.nix b/pkgs/development/tools/purescript/spago/spago.nix index eca516bbeba..ed8da83e30a 100644 --- a/pkgs/development/tools/purescript/spago/spago.nix +++ b/pkgs/development/tools/purescript/spago/spago.nix @@ -1,22 +1,22 @@ { mkDerivation, aeson, aeson-pretty, ansi-terminal, async-pool , base, bower-json, bytestring, Cabal, containers, cryptonite -, dhall, directory, either, exceptions, extra, fetchgit, file-embed -, filepath, foldl, fsnotify, generic-lens, github, Glob, hpack -, hspec, hspec-discover, hspec-megaparsec, http-client -, http-conduit, http-types, lens-family-core, megaparsec, mtl -, network-uri, open-browser, optparse-applicative, prettyprinter -, process, QuickCheck, retry, rio, rio-orphans, safe, semver-range -, lib, stm, stringsearch, tar, template-haskell, temporary, text -, time, transformers, turtle, unliftio, unordered-containers -, utf8-string, vector, versions, with-utf8, zlib +, dhall, directory, either, extra, fetchgit, file-embed, filepath +, foldl, fsnotify, generic-lens, Glob, hpack, hspec, hspec-discover +, hspec-megaparsec, http-client, http-conduit, http-types +, lens-family-core, lib, megaparsec, mtl, network-uri, open-browser +, optparse-applicative, prettyprinter, process, QuickCheck, retry +, rio, rio-orphans, safe, semver-range, stm, stringsearch +, tar, template-haskell, temporary, text, time, transformers +, turtle, unliftio, unordered-containers, utf8-string, versions +, with-utf8, zlib }: mkDerivation { pname = "spago"; - version = "0.20.0"; + version = "0.20.1"; src = fetchgit { url = "https://github.com/purescript/spago.git"; - sha256 = "1n48p9ycry8bjnf9jlcfgyxsbgn5985l4vhbwlv46kbb41ddwi51"; - rev = "7dfd2236aff92e5ae4f7a4dc336b50a7e14e4f44"; + sha256 = "1j2yi6zz9m0k0298wllin39h244v8b2rx87yxxgdbjg77kn96vxg"; + rev = "41ad739614f4f2c2356ac921308f9475a5a918f4"; fetchSubmodules = true; }; isLibrary = true; @@ -24,16 +24,17 @@ mkDerivation { libraryHaskellDepends = [ aeson aeson-pretty ansi-terminal async-pool base bower-json bytestring Cabal containers cryptonite dhall directory either - exceptions file-embed filepath foldl fsnotify generic-lens github - Glob http-client http-conduit http-types lens-family-core - megaparsec mtl network-uri open-browser optparse-applicative - prettyprinter process retry rio rio-orphans safe semver-range stm - stringsearch tar template-haskell temporary text time transformers - turtle unliftio unordered-containers utf8-string vector versions - with-utf8 zlib + file-embed filepath foldl fsnotify generic-lens Glob http-client + http-conduit http-types lens-family-core megaparsec mtl network-uri + open-browser optparse-applicative prettyprinter process retry rio + rio-orphans safe semver-range stm stringsearch tar template-haskell + temporary text time transformers turtle unliftio + unordered-containers utf8-string versions with-utf8 zlib ]; libraryToolDepends = [ hpack ]; - executableHaskellDepends = [ base text turtle with-utf8 ]; + executableHaskellDepends = [ + ansi-terminal base text turtle with-utf8 + ]; testHaskellDepends = [ base containers directory extra hspec hspec-megaparsec megaparsec process QuickCheck temporary text turtle versions diff --git a/pkgs/development/tools/rust/cargo-make/default.nix b/pkgs/development/tools/rust/cargo-make/default.nix index f57cf489f2d..4300719147d 100644 --- a/pkgs/development/tools/rust/cargo-make/default.nix +++ b/pkgs/development/tools/rust/cargo-make/default.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchurl, runCommand, fetchCrate, rustPlatform, Security, openssl, pkg-config +{ lib +, stdenv +, fetchurl +, runCommand +, fetchCrate +, rustPlatform +, Security +, openssl +, pkg-config , SystemConfiguration +, libiconv }: rustPlatform.buildRustPackage rec { @@ -14,7 +23,7 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ openssl ] - ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration ]; + ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration libiconv ]; cargoSha256 = "sha256-Upegh3W31sTaXl0iHZ3HiYs9urgXH/XhC0vQBAWvDIc="; diff --git a/pkgs/development/web/deno/default.nix b/pkgs/development/web/deno/default.nix index 4586477293b..9b645fb55e3 100644 --- a/pkgs/development/web/deno/default.nix +++ b/pkgs/development/web/deno/default.nix @@ -16,15 +16,15 @@ rustPlatform.buildRustPackage rec { pname = "deno"; - version = "1.9.1"; + version = "1.9.2"; src = fetchFromGitHub { owner = "denoland"; repo = pname; rev = "v${version}"; - sha256 = "sha256-h8dXGSu7DebzwZdc92A2d9xlYy6wD34phBUj5v5KuIc="; + sha256 = "sha256-FKhSFqFZhqzrXrJcBc0YBNHoUq0/1+ULZ9sE+LyNQTI="; }; - cargoSha256 = "sha256-htxpaALOXFQpQ68YE4b0T0jhcCIONgUZwpMPCcSdcgs="; + cargoSha256 = "sha256-Pp322D7YtdpeNnKWcE78tvLh5nFNcrh9oGYX2eCiPzI="; # Install completions post-install nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/games/factorio/versions.json b/pkgs/games/factorio/versions.json index c8a441aaece..151836096ff 100644 --- a/pkgs/games/factorio/versions.json +++ b/pkgs/games/factorio/versions.json @@ -10,12 +10,12 @@ "version": "1.1.32" }, "stable": { - "name": "factorio_alpha_x64-1.1.30.tar.xz", + "name": "factorio_alpha_x64-1.1.32.tar.xz", "needsAuth": true, - "sha256": "14mcf9pj6s5ms2hl68n3r5jk1q5y2qzw88wiahsb5plkv9qyqyp6", + "sha256": "0ciz7y8xqlk9vg3akvflq1aabzgbqpazfnihyk4gsadk12b6a490", "tarDirectory": "x64", - "url": "https://factorio.com/get-download/1.1.30/alpha/linux64", - "version": "1.1.30" + "url": "https://factorio.com/get-download/1.1.32/alpha/linux64", + "version": "1.1.32" } }, "demo": { @@ -28,12 +28,12 @@ "version": "1.1.30" }, "stable": { - "name": "factorio_demo_x64-1.1.30.tar.xz", + "name": "factorio_demo_x64-1.1.32.tar.xz", "needsAuth": false, - "sha256": "1b3na8xn9lhlvrsd6hxr130nf9p81s26n25a4qdgkczz6waysgjv", + "sha256": "19zwl20hn8hh942avqri1kslf7dcqi9nim50vh4w5d0493srybfw", "tarDirectory": "x64", - "url": "https://factorio.com/get-download/1.1.30/demo/linux64", - "version": "1.1.30" + "url": "https://factorio.com/get-download/1.1.32/demo/linux64", + "version": "1.1.32" } }, "headless": { @@ -46,12 +46,12 @@ "version": "1.1.32" }, "stable": { - "name": "factorio_headless_x64-1.1.30.tar.xz", + "name": "factorio_headless_x64-1.1.32.tar.xz", "needsAuth": false, - "sha256": "1rac6d8v8swiw1nn2hl53rhjfhsyv98qg8hfnwhfqn76jgspspdl", + "sha256": "0dg98ycs7m8rm996pk0p1iajalpmiy30p0pwr9dw2chf1d887kvz", "tarDirectory": "x64", - "url": "https://factorio.com/get-download/1.1.30/headless/linux64", - "version": "1.1.30" + "url": "https://factorio.com/get-download/1.1.32/headless/linux64", + "version": "1.1.32" } } } diff --git a/pkgs/games/openttd/default.nix b/pkgs/games/openttd/default.nix index a39b9cab359..34de043a658 100644 --- a/pkgs/games/openttd/default.nix +++ b/pkgs/games/openttd/default.nix @@ -29,11 +29,11 @@ let in stdenv.mkDerivation rec { pname = "openttd"; - version = "1.11.0"; + version = "1.11.1"; src = fetchurl { url = "https://cdn.openttd.org/openttd-releases/${version}/${pname}-${version}-source.tar.xz"; - sha256 = "sha256-XmUYTgc2i6Gvpi27PjWrrubE2mcw/0vJ60RH1TNjx6g="; + sha256 = "sha256-qZGeLkKbsI+in+jme6m8dckOnvb6ZCSOs0IjoyXUAKM="; }; nativeBuildInputs = [ cmake makeWrapper ]; diff --git a/pkgs/games/openttd/jgrpp.nix b/pkgs/games/openttd/jgrpp.nix index 7f756dd10b7..3dcb621db4b 100644 --- a/pkgs/games/openttd/jgrpp.nix +++ b/pkgs/games/openttd/jgrpp.nix @@ -2,12 +2,12 @@ openttd.overrideAttrs (oldAttrs: rec { pname = "openttd-jgrpp"; - version = "0.40.5"; + version = "0.41.0"; src = fetchFromGitHub rec { owner = "JGRennison"; repo = "OpenTTD-patches"; rev = "jgrpp-${version}"; - sha256 = "sha256-g1RmgVjefOrOVLTvFBiPEd19aLoFvB9yX/hMiKgGcGw="; + sha256 = "sha256-DrtxqXyeqA+X4iLTvTSPFDKDoLCyVd458+nJWc+9MF4="; }; }) diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix index ba20377a7a0..5a5c66c538f 100644 --- a/pkgs/misc/vim-plugins/generated.nix +++ b/pkgs/misc/vim-plugins/generated.nix @@ -389,12 +389,12 @@ let chadtree = buildVimPluginFrom2Nix { pname = "chadtree"; - version = "2021-04-22"; + version = "2021-04-23"; src = fetchFromGitHub { owner = "ms-jpq"; repo = "chadtree"; - rev = "27fefd2ccd0b4c376afdc53e7bb4c6185518d1cd"; - sha256 = "0l1j2n8v2dngyxym8k0b1gf0dn2cc2gbwy36rrv447zb51g1vlv5"; + rev = "5b286768438921cbc77d6cfb4a7046ea45c8adfc"; + sha256 = "1g5g1yqr78l620vr7vslx15j2f4dfg4bb8wwjgfqx0pw5lc982yc"; }; meta.homepage = "https://github.com/ms-jpq/chadtree/"; }; @@ -533,12 +533,12 @@ let coc-nvim = buildVimPluginFrom2Nix { pname = "coc-nvim"; - version = "2021-04-20"; + version = "2021-04-23"; src = fetchFromGitHub { owner = "neoclide"; repo = "coc.nvim"; - rev = "19bfd9443708a769b2d1379af874f644ba9f1cd4"; - sha256 = "0c9i25dsqhb1v6kcym424zmc5yn396wz6k9w71s1ja5q4p1jmxd8"; + rev = "f9c4fc96fd08f13f549c4bc0eb56f2d91ca91919"; + sha256 = "087nvvxfxrllnx2ggi8m088wgcrm1hd9c5mqfx37zmzfjqk78rw4"; }; meta.homepage = "https://github.com/neoclide/coc.nvim/"; }; @@ -618,12 +618,12 @@ let compe-tabnine = buildVimPluginFrom2Nix { pname = "compe-tabnine"; - version = "2021-04-21"; + version = "2021-04-23"; src = fetchFromGitHub { owner = "tzachar"; repo = "compe-tabnine"; - rev = "cb7f22500a6c3b7e3eda36db6ce9ffe5fb45d94c"; - sha256 = "0lpy5h6171xjg6dinhv1m98p0qs0a3qrrhhg7vriicz3x4px73fb"; + rev = "f6ace45ef5cbd8b274d7163a2931c11083d34d44"; + sha256 = "0wjy38v3h5nqr2vw2ydhy2227cqkd8k14cnb3vr39xm5c0fc3ci5"; }; meta.homepage = "https://github.com/tzachar/compe-tabnine/"; }; @@ -1244,12 +1244,12 @@ let dracula-vim = buildVimPluginFrom2Nix { pname = "dracula-vim"; - version = "2021-04-15"; + version = "2021-04-23"; src = fetchFromGitHub { owner = "dracula"; repo = "vim"; - rev = "e9efa96bf130496537c978c8ee150bed280f7b19"; - sha256 = "0jzn6vax8ia9ha938jbs0wpm6wgz5m4vg6q3w8z562rq8kq70hcx"; + rev = "d21059cd5960f4d0a5627fda82d29371772b247f"; + sha256 = "0cbsiw0qkynm0glq8kidkbfxwy6lhn7rc6dvxflrrm62cl7yvw91"; }; meta.homepage = "https://github.com/dracula/vim/"; }; @@ -1631,12 +1631,12 @@ let git-worktree-nvim = buildVimPluginFrom2Nix { pname = "git-worktree-nvim"; - version = "2021-04-22"; + version = "2021-04-23"; src = fetchFromGitHub { owner = "ThePrimeagen"; repo = "git-worktree.nvim"; - rev = "0ef6f419ba56154320a2547c92bf1ccb08631f9e"; - sha256 = "1pr4p6akq2wivhqb116jrm72v4m1i649p624p3kb55frfxf5pynn"; + rev = "34d1c630546dc21517cd2faad82e23f02f2860d1"; + sha256 = "0ddz2z7plw320kgsddlfywsa202bl8sxr9jbvldhh0j34q5lgdja"; }; meta.homepage = "https://github.com/ThePrimeagen/git-worktree.nvim/"; }; @@ -2088,12 +2088,12 @@ let julia-vim = buildVimPluginFrom2Nix { pname = "julia-vim"; - version = "2021-04-16"; + version = "2021-04-23"; src = fetchFromGitHub { owner = "JuliaEditorSupport"; repo = "julia-vim"; - rev = "5b3984bbd411fae75933dcf21bfe2faeb6ec3b34"; - sha256 = "1ynd3ricc3xja9b0wswg4dh1b09p8pnppf682bfkm5a5cqar7n5k"; + rev = "d0bb06ffc40ff7c49dfa2548e007e9013eaeabb7"; + sha256 = "0zj12xp8djy3zr360lg9pkydz92cgkjiz33n9v5s2wyx63gk0dq4"; }; meta.homepage = "https://github.com/JuliaEditorSupport/julia-vim/"; }; @@ -2314,6 +2314,18 @@ let meta.homepage = "https://github.com/tami5/lispdocs.nvim/"; }; + lsp-colors-nvim = buildVimPluginFrom2Nix { + pname = "lsp-colors-nvim"; + version = "2021-04-23"; + src = fetchFromGitHub { + owner = "folke"; + repo = "lsp-colors.nvim"; + rev = "525c57c1138ca5640547efb476758938aedba943"; + sha256 = "0dxalh12ifsghksl423bbawq096k8fcl1cgmnvaw3f2x71fngfs6"; + }; + meta.homepage = "https://github.com/folke/lsp-colors.nvim/"; + }; + lsp-status-nvim = buildVimPluginFrom2Nix { pname = "lsp-status-nvim"; version = "2021-04-09"; @@ -2364,12 +2376,12 @@ let lualine-nvim = buildVimPluginFrom2Nix { pname = "lualine-nvim"; - version = "2021-04-22"; + version = "2021-04-23"; src = fetchFromGitHub { owner = "hoob3rt"; repo = "lualine.nvim"; - rev = "2f17e432ee85420adcf8e0a4ebf6e638657c4253"; - sha256 = "055pvfmmk8yzjajb9xx46mb5ixass3y1fsvx9p3nchsik1h3vsib"; + rev = "e3a558bc1dfbda29cde5b356b975a8abaf3f41b2"; + sha256 = "1qwrpyjfcn23z4lw5ln5gn4lh8y0rw68gbmyd62pdqazckqhasds"; }; meta.homepage = "https://github.com/hoob3rt/lualine.nvim/"; }; @@ -2760,12 +2772,12 @@ let neogit = buildVimPluginFrom2Nix { pname = "neogit"; - version = "2021-04-21"; + version = "2021-04-23"; src = fetchFromGitHub { owner = "TimUntersberger"; repo = "neogit"; - rev = "e28c434c26f76f235087ca65ff8040ff834f9210"; - sha256 = "0fdbyijlpbh845jfpp5xcc378j5m7h2yav6dwj00bvm1n79zy1wh"; + rev = "a62ce86411048e1bed471d4c4ba5f56eb5b59c50"; + sha256 = "1cnywkl21a8mw62bing202nw04y375968bggqraky1c57fpdq35j"; }; meta.homepage = "https://github.com/TimUntersberger/neogit/"; }; @@ -3036,24 +3048,36 @@ let nvim-autopairs = buildVimPluginFrom2Nix { pname = "nvim-autopairs"; - version = "2021-04-22"; + version = "2021-04-23"; src = fetchFromGitHub { owner = "windwp"; repo = "nvim-autopairs"; - rev = "50a1c65caf42a0dfe3f63b3dfe1867eec5f4889d"; - sha256 = "1rar4dkd0i277k71a0ydw3ipgbxjjg1hmhddwd993ihcwvk5d496"; + rev = "41b3ed55c345b56190a282b125897dc99d2292d4"; + sha256 = "1pjfani0g0wixsyxk8j0g4289jhnkbxl703fpdp9dls7c427pi8x"; }; meta.homepage = "https://github.com/windwp/nvim-autopairs/"; }; + nvim-base16 = buildVimPluginFrom2Nix { + pname = "nvim-base16"; + version = "2021-04-12"; + src = fetchFromGitHub { + owner = "RRethy"; + repo = "nvim-base16"; + rev = "9d6649c01221680e5bb20ff9e2455280d9665de2"; + sha256 = "18a974l753d92x3jyv5j0anri99hxzfw454lkz94amabbnc010p6"; + }; + meta.homepage = "https://github.com/RRethy/nvim-base16/"; + }; + nvim-bqf = buildVimPluginFrom2Nix { pname = "nvim-bqf"; - version = "2021-04-17"; + version = "2021-04-23"; src = fetchFromGitHub { owner = "kevinhwang91"; repo = "nvim-bqf"; - rev = "20e19029c9d212d8eb43eb590ac7530077e13350"; - sha256 = "097iplsdkkq72981nwfppj07d0fg0fzjglwlvpxq61w1jwscd8fj"; + rev = "55135d23dc8da4f75a95f425283c0080ec5a8ac6"; + sha256 = "162wa2hwq1i9v2xgdfvg1d4ab392m4jcw815cn9l3z4r10g9719p"; }; meta.homepage = "https://github.com/kevinhwang91/nvim-bqf/"; }; @@ -3120,12 +3144,12 @@ let nvim-dap = buildVimPluginFrom2Nix { pname = "nvim-dap"; - version = "2021-04-18"; + version = "2021-04-22"; src = fetchFromGitHub { owner = "mfussenegger"; repo = "nvim-dap"; - rev = "d646bbc4c820777c2b61dd73819eead1133b15f8"; - sha256 = "1bnxpcyrzi71b4ia0p1v8g3qx204ja4g3yfydcppdiwqfkhm2688"; + rev = "41f982b646b29059749bd588ba783cb99d8fc781"; + sha256 = "0z2kl2iqs8vcb8l4r508ny3h7vl3vm1l6cjsl5bi1s7387pizxbl"; }; meta.homepage = "https://github.com/mfussenegger/nvim-dap/"; }; @@ -3168,12 +3192,12 @@ let nvim-hlslens = buildVimPluginFrom2Nix { pname = "nvim-hlslens"; - version = "2021-04-21"; + version = "2021-04-23"; src = fetchFromGitHub { owner = "kevinhwang91"; repo = "nvim-hlslens"; - rev = "3ad85775c081a8ab8ae8d1f2ecd1afc1bc1500d6"; - sha256 = "0p55zms25kxlayjwy8i831c01fdja0k8y55iw3nx0p257fb06zbz"; + rev = "2f8bd90f3b4fa7620c61f66bcddb965139eb176f"; + sha256 = "1zsvr9pba62ngchfmab7yns64mlkdqclqv516c7h62fh82fyx23a"; }; meta.homepage = "https://github.com/kevinhwang91/nvim-hlslens/"; }; @@ -3216,12 +3240,12 @@ let nvim-lspconfig = buildVimPluginFrom2Nix { pname = "nvim-lspconfig"; - version = "2021-04-22"; + version = "2021-04-23"; src = fetchFromGitHub { owner = "neovim"; repo = "nvim-lspconfig"; - rev = "0840c91e25557a47ed559d2281b0b65fe33b271f"; - sha256 = "1k34khp227g9xffnz0sr9bm6h3hnvi3g9csxynpdzd0s2sbjsfgk"; + rev = "62977b6b2eeb20bd37703ebe4bc4b4c2ef006db2"; + sha256 = "0niwaq3mc7x1zaf3qx9dp43607rnhq2nvyizkxb7j1yir8a8dk4x"; }; meta.homepage = "https://github.com/neovim/nvim-lspconfig/"; }; @@ -3312,12 +3336,12 @@ let nvim-treesitter = buildVimPluginFrom2Nix { pname = "nvim-treesitter"; - version = "2021-04-22"; + version = "2021-04-23"; src = fetchFromGitHub { owner = "nvim-treesitter"; repo = "nvim-treesitter"; - rev = "e8e8c0f0f21ef5089bb305ded8ed81a16902baa7"; - sha256 = "19lb10zk6mn09l4adg4xfqpsjbag52fjg9sr2ic8c6la1x8abzqk"; + rev = "af3537fbe57a2a37ab2b620c9ecc487e31b4da64"; + sha256 = "1z4k0a8gyz8ycd6wq8npg056l0axz3vj7pipxcpi1i9xa4kx3j6i"; }; meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/"; }; @@ -3348,12 +3372,12 @@ let nvim-treesitter-textobjects = buildVimPluginFrom2Nix { pname = "nvim-treesitter-textobjects"; - version = "2021-04-18"; + version = "2021-04-23"; src = fetchFromGitHub { owner = "nvim-treesitter"; repo = "nvim-treesitter-textobjects"; - rev = "18cf678f6218ca40652b6d9017dad1b9e2899ba9"; - sha256 = "0xawv5pjz0mv4pf06vn3pvl4k996jmw4nmawbizqlvladcc2hc1k"; + rev = "522b26a8795994b719a921a03cfacb0d7dcabf78"; + sha256 = "0ww1agq33l3jhbfwr5ri9m3ipr48kgwzlzxv96w43x6y29p61g2v"; }; meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects/"; }; @@ -3913,12 +3937,12 @@ let rust-tools-nvim = buildVimPluginFrom2Nix { pname = "rust-tools-nvim"; - version = "2021-04-16"; + version = "2021-04-23"; src = fetchFromGitHub { owner = "simrat39"; repo = "rust-tools.nvim"; - rev = "cd1b5632cc2b7981bd7bdb9e55701ae58942864f"; - sha256 = "1jam4fnzg0nvj06d1vd9ryaan8fza7xc7fwdd7675bw828cs2fq8"; + rev = "7d734e9b52fe54b6cd19435f0823d56dc2d17426"; + sha256 = "181vq3p1f136qmb0qbd77khc04vrkdw8z9851car7lxs5m83wwp2"; }; meta.homepage = "https://github.com/simrat39/rust-tools.nvim/"; }; @@ -4467,12 +4491,12 @@ let telescope-nvim = buildVimPluginFrom2Nix { pname = "telescope-nvim"; - version = "2021-04-22"; + version = "2021-04-23"; src = fetchFromGitHub { owner = "nvim-telescope"; repo = "telescope.nvim"; - rev = "c6980a9acf8af836196508000c34dcb06b11137b"; - sha256 = "0q2xqxn56gdll1pk6f9kkkfwrp1hlawqmfmj1rzp5aahm77jdx9x"; + rev = "6fd1b3bd255a6ebc2e44cec367ff60ce8e6e6cab"; + sha256 = "1qifrnd0fq9844vvxy9fdp90kkb094a04wcshbfdy4cv489cqfax"; }; meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/"; }; @@ -4996,12 +5020,12 @@ let vim-airline = buildVimPluginFrom2Nix { pname = "vim-airline"; - version = "2021-04-15"; + version = "2021-04-23"; src = fetchFromGitHub { owner = "vim-airline"; repo = "vim-airline"; - rev = "07ab201a272fe8a848141a60adec3c0b837c0b37"; - sha256 = "131fj6fmpgbx7hiql1ci60rnpfffkzww0yf6ag3sclvnw375ylx4"; + rev = "0a87d08dbdb398b2bb644b5041f68396f0c92d5d"; + sha256 = "1ihg44f3pn4v3naxlzd9gmhw7hzywv4zzc97i9smbcacg9xm6mna"; }; meta.homepage = "https://github.com/vim-airline/vim-airline/"; }; @@ -5992,12 +6016,12 @@ let vim-fugitive = buildVimPluginFrom2Nix { pname = "vim-fugitive"; - version = "2021-04-16"; + version = "2021-04-23"; src = fetchFromGitHub { owner = "tpope"; repo = "vim-fugitive"; - rev = "895e56daca03c441427f2adca291cb10ea4d7ca8"; - sha256 = "139zdz0zsaqpwbscqzp61xilrvdjlvhrn985mfpgiwwrr6sa6gdr"; + rev = "8f4a23e6639ff67c0efd7242870d4beed47b5d37"; + sha256 = "0ss8qlxgidlf1ma6z3ma63lqgaynnbrj9fdbw38szwc823vdqiid"; }; meta.homepage = "https://github.com/tpope/vim-fugitive/"; }; @@ -6112,12 +6136,12 @@ let vim-go = buildVimPluginFrom2Nix { pname = "vim-go"; - version = "2021-04-20"; + version = "2021-04-23"; src = fetchFromGitHub { owner = "fatih"; repo = "vim-go"; - rev = "3ec431eaefb75520cbcfed0b6d0d7999d7ea3805"; - sha256 = "1h6lcxzm9njnyaxf9qjs4gspd5ag2dmqjjik947idxjs1435xjls"; + rev = "87fd4bf57646f984b37de5041232047fa5fdee5a"; + sha256 = "00clqf82731zz6r1h4vs15zy4dka549cbngr1j9w605k5m9hrrzs"; }; meta.homepage = "https://github.com/fatih/vim-go/"; }; @@ -8011,12 +8035,12 @@ let vim-startify = buildVimPluginFrom2Nix { pname = "vim-startify"; - version = "2021-04-22"; + version = "2021-04-23"; src = fetchFromGitHub { owner = "mhinz"; repo = "vim-startify"; - rev = "3ffa62fbe781b3df20fafa3bd9d710dc99c16a8c"; - sha256 = "0ysr07yy9fxgz8drn11hgcwns7d0minh4afrjxrz9lwcm7c994h4"; + rev = "df0f1dbdc0689f6172bdd3b8685868aa93446c6f"; + sha256 = "0idrzl2kgclalsxixrh21fkw6d2vd53apw47ajjlcsl94acy2139"; }; meta.homepage = "https://github.com/mhinz/vim-startify/"; }; diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names index aef8958b55e..5421387e950 100644 --- a/pkgs/misc/vim-plugins/vim-plugin-names +++ b/pkgs/misc/vim-plugins/vim-plugin-names @@ -132,6 +132,7 @@ fiatjaf/neuron.vim fisadev/vim-isort flazz/vim-colorschemes floobits/floobits-neovim +folke/lsp-colors.nvim@main freitass/todo.txt-vim frigoeu/psc-ide-vim fruit-in/brainfuck-vim @@ -529,6 +530,7 @@ roxma/nvim-cm-racer roxma/nvim-completion-manager roxma/nvim-yarp roxma/vim-tmux-clipboard +RRethy/nvim-base16 RRethy/vim-hexokinase RRethy/vim-illuminate rstacruz/vim-closer diff --git a/pkgs/os-specific/bsd/netbsd/default.nix b/pkgs/os-specific/bsd/netbsd/default.nix index fe13145e86b..32ec884aac3 100644 --- a/pkgs/os-specific/bsd/netbsd/default.nix +++ b/pkgs/os-specific/bsd/netbsd/default.nix @@ -635,13 +635,6 @@ in lib.makeScopeWithSplicing ''; }; - libkern = mkDerivation { - path = "lib/libkern"; - version = "8.0"; - sha256 = "1wirqr9bms69n4b5sr32g1b1k41hcamm7c9n7i8c440m73r92yv4"; - meta.platforms = lib.platforms.netbsd; - }; - column = mkDerivation { path = "usr.bin/column"; version = "8.0"; diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix index 845593e2665..adfd0cda819 100644 --- a/pkgs/os-specific/linux/zfs/default.nix +++ b/pkgs/os-specific/linux/zfs/default.nix @@ -210,9 +210,9 @@ in { kernelCompatible = kernel.kernelAtLeast "3.10" && kernel.kernelOlder "5.12"; # this package should point to a version / git revision compatible with the latest kernel release - version = "2.1.0-rc3"; + version = "2.1.0-rc4"; - sha256 = "sha256-ARRUuyu07dWwEuXerTz9KBmclhlmsnnGucfBxxn0Zsw="; + sha256 = "sha256-eakOEA7LCJOYDsZH24Y5JbEd2wh1KfCN+qX3QxQZ4e8="; isUnstable = true; }; diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 65d304fb90b..0e3191625d4 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -590,7 +590,7 @@ "openalpr_cloud" = ps: with ps; [ ]; "openalpr_local" = ps: with ps; [ ]; "opencv" = ps: with ps; [ numpy ]; # missing inputs: opencv-python-headless - "openerz" = ps: with ps; [ ]; # missing inputs: openerz-api + "openerz" = ps: with ps; [ openerz-api ]; "openevse" = ps: with ps; [ ]; # missing inputs: openevsewifi "openexchangerates" = ps: with ps; [ ]; "opengarage" = ps: with ps; [ ]; # missing inputs: open-garage @@ -692,7 +692,7 @@ "rituals_perfume_genie" = ps: with ps; [ pyrituals ]; "rmvtransport" = ps: with ps; [ PyRMVtransport ]; "rocketchat" = ps: with ps; [ ]; # missing inputs: rocketchat-API - "roku" = ps: with ps; [ ]; # missing inputs: rokuecp + "roku" = ps: with ps; [ rokuecp ]; "roomba" = ps: with ps; [ roombapy ]; "roon" = ps: with ps; [ ]; # missing inputs: roonapi "route53" = ps: with ps; [ boto3 ]; diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index e34fe3a734b..a44b91d8455 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -299,6 +299,7 @@ in with py.pkgs; buildPythonApplication rec { "intent_script" "ipp" "kmtronic" + "knx" "kodi" "light" "litterrobot" @@ -332,6 +333,7 @@ in with py.pkgs; buildPythonApplication rec { "number" "omnilogic" "ondilo_ico" + "openerz" "ozw" "panel_custom" "panel_iframe" @@ -348,6 +350,7 @@ in with py.pkgs; buildPythonApplication rec { "rest_command" "rituals_perfume_genie" "rmvtransport" + "roku" "rss_feed_template" "ruckus_unleashed" "safe_mode" diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix index 468c46b1269..b54ad76e8f7 100644 --- a/pkgs/servers/matrix-synapse/default.nix +++ b/pkgs/servers/matrix-synapse/default.nix @@ -12,11 +12,11 @@ let in buildPythonApplication rec { pname = "matrix-synapse"; - version = "1.30.0"; + version = "1.32.2"; src = fetchPypi { inherit pname version; - sha256 = "1ca69v479537bbj2hjliwk9zzy9fqqsf7fm188k6xxj0a37q9y41"; + sha256 = "sha256-Biwj/zORBsU8XvpMMlSjR3Nqx0q1LqaSX/vX+UDeXI8="; }; patches = [ diff --git a/pkgs/servers/mautrix-signal/default.nix b/pkgs/servers/mautrix-signal/default.nix new file mode 100644 index 00000000000..2bf69a63061 --- /dev/null +++ b/pkgs/servers/mautrix-signal/default.nix @@ -0,0 +1,55 @@ +{ lib, python3Packages, fetchFromGitHub }: + +python3Packages.buildPythonPackage rec { + pname = "mautrix-signal"; + version = "0.1.1"; + + src = fetchFromGitHub { + owner = "tulir"; + repo = "mautrix-signal"; + rev = "v${version}"; + sha256 = "11snsl7i407855h39g1fgk26hinnq0inr8sjrgd319li0d3jwzxl"; + }; + + propagatedBuildInputs = with python3Packages; [ + CommonMark + aiohttp + asyncpg + attrs + mautrix + phonenumbers + pillow + prometheus_client + pycryptodome + python-olm + python_magic + qrcode + ruamel_yaml + unpaddedbase64 + yarl + ]; + + doCheck = false; + + postInstall = '' + mkdir -p $out/bin + + # Make a little wrapper for running mautrix-signal with its dependencies + echo "$mautrixSignalScript" > $out/bin/mautrix-signal + echo "#!/bin/sh + exec python -m mautrix_signal \"$@\" + " > $out/bin/mautrix-signal + chmod +x $out/bin/mautrix-signal + wrapProgram $out/bin/mautrix-signal \ + --set PATH ${python3Packages.python}/bin \ + --set PYTHONPATH "$PYTHONPATH" + ''; + + meta = with lib; { + homepage = "https://github.com/tulir/mautrix-signal"; + description = "A Matrix-Signal puppeting bridge"; + license = licenses.agpl3Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ expipiplus1 ]; + }; +} diff --git a/pkgs/servers/radicale/3.x.nix b/pkgs/servers/radicale/3.x.nix index bd781d869e9..25f4d4b69c0 100644 --- a/pkgs/servers/radicale/3.x.nix +++ b/pkgs/servers/radicale/3.x.nix @@ -1,14 +1,20 @@ -{ lib, python3 }: +{ lib, python3, fetchFromGitHub, nixosTests }: python3.pkgs.buildPythonApplication rec { - pname = "Radicale"; + pname = "radicale"; version = "3.0.6"; - src = python3.pkgs.fetchPypi { - inherit pname version; - sha256 = "a9433d3df97135d9c02cec8dde4199444daf1b73ad161ded398d67b8e629fdc6"; + src = fetchFromGitHub { + owner = "Kozea"; + repo = "Radicale"; + rev = version; + sha256 = "1xlsvrmx6jhi71j6j8z9sli5vwxasivzjyqf8zq8r0l5p7350clf"; }; + postPatch = '' + sed -i '/addopts/d' setup.cfg + ''; + propagatedBuildInputs = with python3.pkgs; [ defusedxml passlib @@ -18,14 +24,14 @@ python3.pkgs.buildPythonApplication rec { ]; checkInputs = with python3.pkgs; [ - pytestrunner - pytest - pytestcov - pytest-flake8 - pytest-isort + pytestCheckHook waitress ]; + passthru.tests = { + inherit (nixosTests) radicale; + }; + meta = with lib; { homepage = "https://www.radicale.org/3.0.html"; description = "CalDAV and CardDAV server"; diff --git a/pkgs/tools/filesystems/ceph/default.nix b/pkgs/tools/filesystems/ceph/default.nix index e923bb6132e..413fc9de185 100644 --- a/pkgs/tools/filesystems/ceph/default.nix +++ b/pkgs/tools/filesystems/ceph/default.nix @@ -161,6 +161,7 @@ in rec { preConfigure ='' substituteInPlace src/common/module.c --replace "/sbin/modinfo" "modinfo" substituteInPlace src/common/module.c --replace "/sbin/modprobe" "modprobe" + substituteInPlace src/common/module.c --replace "/bin/grep" "grep" # for pybind/rgw to find internal dep export LD_LIBRARY_PATH="$PWD/build/lib''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH" diff --git a/pkgs/tools/filesystems/sasquatch/default.nix b/pkgs/tools/filesystems/sasquatch/default.nix index 66f74944150..b14dc620e42 100644 --- a/pkgs/tools/filesystems/sasquatch/default.nix +++ b/pkgs/tools/filesystems/sasquatch/default.nix @@ -1,34 +1,43 @@ -{ fetchFromGitHub +{ lib +, stdenv +, fetchFromGitHub , fetchurl -, lz4 ? null -, lz4Support ? false -, lzo -, lib, stdenv , xz +, lzo , zlib +, zstd +, lz4 +, lz4Support ? false }: -assert lz4Support -> (lz4 != null); - let - patch = fetchFromGitHub { - owner = "devttys0"; - repo = "sasquatch"; - rev = "3e0cc40fc6dbe32bd3a5e6c553b3320d5d91ceed"; - sha256 = "19lhndjv7v9w6nmszry63zh5rqii9v7wvsbpc2n6q606hyz955g2"; - } + "/patches/patch0.txt"; + patch = fetchFromGitHub + { + # NOTE: This uses my personal fork for now, until + # https://github.com/devttys0/sasquatch/pull/40 is merged. + # I, cole-h, will keep this fork available until that happens. + owner = "cole-h"; + repo = "sasquatch"; + rev = "6edc54705454c6410469a9cb5bc58e412779731a"; + sha256 = "x+PuPYGD4Pd0fcJtlLWByGy/nggsmZkxwSXxJfPvUgo="; + } + "/patches/patch0.txt"; in stdenv.mkDerivation rec { pname = "sasquatch"; - version = "4.3"; + version = "4.4"; src = fetchurl { - url = "mirror://sourceforge/squashfs/squashfs4.3.tar.gz"; - sha256 = "1xpklm0y43nd9i6jw43y2xh5zvlmj9ar2rvknh0bh7kv8c95aq0d"; + url = "mirror://sourceforge/squashfs/squashfs${version}.tar.gz"; + sha256 = "qYGz8/IFS1ouZYhRo8BqJGCtBKmopkXgr+Bjpj/bsH4="; }; - buildInputs = [ xz lzo xz zlib ] - ++ lib.optional lz4Support lz4; + buildInputs = [ + xz + lzo + zlib + zstd + ] + ++ lib.optionals lz4Support [ lz4 ]; patches = [ patch ]; patchFlags = [ "-p0" ]; diff --git a/pkgs/tools/misc/broot/default.nix b/pkgs/tools/misc/broot/default.nix index a3299b42744..90039d17802 100644 --- a/pkgs/tools/misc/broot/default.nix +++ b/pkgs/tools/misc/broot/default.nix @@ -1,4 +1,5 @@ -{ lib, stdenv +{ lib +, stdenv , rustPlatform , fetchCrate , installShellFiles @@ -11,14 +12,14 @@ rustPlatform.buildRustPackage rec { pname = "broot"; - version = "1.2.0"; + version = "1.2.9"; src = fetchCrate { inherit pname version; - sha256 = "1mqaynrqaas82f5957lx31x80v74zwmwmjxxlbywajb61vh00d38"; + sha256 = "sha256-5tM8ywLBPPjCKEfXIfUZ5aF4t9YpYA3tzERxC1NEsso="; }; - cargoHash = "sha256-ffFS1myFjoQ6768D4zUytN6F9paWeJJFPFugCrfh4iU="; + cargoHash = "sha256-P5ukwtRUpIJIqJjwTXIB2xRnpyLkzMeBMHmUz4Ery3s="; nativeBuildInputs = [ makeWrapper diff --git a/pkgs/tools/misc/neofetch/default.nix b/pkgs/tools/misc/neofetch/default.nix index 30fd40a1080..d9287003084 100644 --- a/pkgs/tools/misc/neofetch/default.nix +++ b/pkgs/tools/misc/neofetch/default.nix @@ -1,14 +1,14 @@ -{ lib, stdenvNoCC, fetchFromGitHub, bash, makeWrapper, pciutils }: +{ lib, stdenvNoCC, fetchFromGitHub, bash, makeWrapper, pciutils, ueberzug }: stdenvNoCC.mkDerivation rec { pname = "neofetch"; - version = "7.1.0"; + version = "unstable-2020-11-26"; src = fetchFromGitHub { owner = "dylanaraps"; repo = "neofetch"; - rev = version; - sha256 = "0i7wpisipwzk0j62pzaigbiq42y1mn4sbraz4my2jlz6ahwf00kv"; + rev = "6dd85d67fc0d4ede9248f2df31b2cd554cca6c2f"; + sha256 = "sha256-PZjFF/K7bvPIjGVoGqaoR8pWE6Di/qJVKFNcIz7G8xE="; }; strictDeps = true; @@ -20,7 +20,7 @@ stdenvNoCC.mkDerivation rec { postInstall = '' wrapProgram $out/bin/neofetch \ - --prefix PATH : ${lib.makeBinPath [ pciutils ]} + --prefix PATH : ${lib.makeBinPath [ pciutils ueberzug ]} ''; makeFlags = [ diff --git a/pkgs/tools/misc/tmux/default.nix b/pkgs/tools/misc/tmux/default.nix index 7fcd5322c2c..629cf548c26 100644 --- a/pkgs/tools/misc/tmux/default.nix +++ b/pkgs/tools/misc/tmux/default.nix @@ -1,5 +1,6 @@ { lib, stdenv , fetchFromGitHub +, fetchpatch , autoreconfHook , pkg-config , bison @@ -31,6 +32,15 @@ stdenv.mkDerivation rec { sha256 = "0alq81h1rz1f0zsy8qb2dvsl47axpa86j4bplngwkph0ksqqgr3p"; }; + patches = [ + # Fix cross-compilation + # https://github.com/tmux/tmux/pull/2651 + (fetchpatch { + url = "https://github.com/tmux/tmux/commit/bb6242675ad0c7447daef148fffced882e5b4a61.patch"; + sha256 = "1acr3xv3gqpq7qa2f8hw7c4f42hi444lfm1bz6wqj8f3yi320zjr"; + }) + ]; + nativeBuildInputs = [ pkg-config autoreconfHook diff --git a/pkgs/tools/networking/wstunnel/default.nix b/pkgs/tools/networking/wstunnel/default.nix deleted file mode 100644 index a851dcd4ead..00000000000 --- a/pkgs/tools/networking/wstunnel/default.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ mkDerivation, async, base, base64-bytestring, binary, bytestring -, classy-prelude, cmdargs, connection, hslogger, mtl, network -, network-conduit-tls, streaming-commons, text -, unordered-containers, websockets -, hspec, iproute -, lib, fetchFromGitHub, fetchpatch -}: - -mkDerivation rec { - pname = "wstunnel"; - version = "unstable-2020-07-12"; - - src = fetchFromGitHub { - owner = "erebe"; - repo = pname; - rev = "093a01fa3a34eee5efd8f827900e64eab9d16c05"; - sha256 = "17p9kq0ssz05qzl6fyi5a5fjbpn4bxkkwibb9si3fhzrxc508b59"; - }; - - isLibrary = false; - isExecutable = true; - - libraryHaskellDepends = [ - async base base64-bytestring binary bytestring classy-prelude - connection hslogger mtl network network-conduit-tls - streaming-commons text unordered-containers websockets - iproute - ]; - - executableHaskellDepends = [ - base bytestring classy-prelude cmdargs hslogger text - ]; - - testHaskellDepends = [ base text hspec ]; - - homepage = "https://github.com/erebe/wstunnel"; - description = "UDP and TCP tunnelling over WebSocket"; - maintainers = with lib.maintainers; [ gebner ]; - license = lib.licenses.bsd3; - -} diff --git a/pkgs/tools/security/bettercap/default.nix b/pkgs/tools/security/bettercap/default.nix index 1383de79feb..e50de9fcfcd 100644 --- a/pkgs/tools/security/bettercap/default.nix +++ b/pkgs/tools/security/bettercap/default.nix @@ -10,16 +10,16 @@ buildGoModule rec { pname = "bettercap"; - version = "2.30.2"; + version = "2.31.0"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - sha256 = "sha256-5CAWMW0u/8BUn/8JJBApyHGH+/Tz8hzAmSChoT2gFr8="; + sha256 = "sha256-PmS4ox1ZaHrBGJAdNByott61rEvfmR1ZJ12ut0MGtrc="; }; - vendorSha256 = "sha256-fApxHxdzEEc+M+U5f0271VgrkXTGkUD75BpDXpVYd5k="; + vendorSha256 = "sha256-3j64Z4BQhAbUtoHJ6IT1SCsKxSeYZRxSO3K2Nx9Vv4w="; doCheck = false; @@ -30,10 +30,12 @@ buildGoModule rec { meta = with lib; { description = "A man in the middle tool"; longDescription = '' - BetterCAP is a powerful, flexible and portable tool created to perform various types of MITM attacks against a network, manipulate HTTP, HTTPS and TCP traffic in realtime, sniff for credentials and much more. + BetterCAP is a powerful, flexible and portable tool created to perform various + types of MITM attacks against a network, manipulate HTTP, HTTPS and TCP traffic + in realtime, sniff for credentials and much more. ''; homepage = "https://www.bettercap.org/"; - license = with licenses; gpl3; + license = with licenses; [ gpl3Only ]; maintainers = with maintainers; [ y0no ]; }; } diff --git a/pkgs/tools/security/prs/default.nix b/pkgs/tools/security/prs/default.nix index 2d96c89970e..854f28a8f4c 100644 --- a/pkgs/tools/security/prs/default.nix +++ b/pkgs/tools/security/prs/default.nix @@ -1,6 +1,7 @@ { lib , rustPlatform , fetchFromGitLab +, installShellFiles , pkg-config , python3 , dbus @@ -12,16 +13,16 @@ rustPlatform.buildRustPackage rec { pname = "prs"; - version = "0.2.7"; + version = "0.2.8"; src = fetchFromGitLab { owner = "timvisee"; repo = "prs"; rev = "v${version}"; - sha256 = "sha256-1Jrgf5UW6k0x3q6kQIB6Q7moOhConEnUU9r+21W5Uu8="; + sha256 = "sha256-TPgS3gtSfCAtQyQCZ0HadxvmX6+dP/3SE/WumzzYUAw="; }; - cargoSha256 = "sha256-N3pLW/OGeurrl+AlwdfbZ3T7WzEOAuyUMdIR164Xp7k="; + cargoSha256 = "sha256-djKtmQHBVXEfn91avJCsVJwEJIE3xL1umvoLAIyXSrw="; postPatch = '' # The GPGME backend is recommended @@ -31,10 +32,16 @@ rustPlatform.buildRustPackage rec { done ''; - nativeBuildInputs = [ gpgme pkg-config python3 ]; + nativeBuildInputs = [ gpgme installShellFiles pkg-config python3 ]; buildInputs = [ dbus glib gpgme gtk3 libxcb ]; + postInstall = '' + for shell in bash fish zsh; do + installShellCompletion --cmd prs --$shell <($out/bin/prs internal completions $shell --stdout) + done + ''; + meta = with lib; { description = "Secure, fast & convenient password manager CLI using GPG and git to sync"; homepage = "https://gitlab.com/timvisee/prs"; diff --git a/pkgs/tools/security/yarGen/default.nix b/pkgs/tools/security/yarGen/default.nix index 1cbf736bd26..8a2d51b8e19 100644 --- a/pkgs/tools/security/yarGen/default.nix +++ b/pkgs/tools/security/yarGen/default.nix @@ -22,12 +22,24 @@ python3.pkgs.buildPythonApplication rec { url = "https://github.com/Neo23x0/yarGen/commit/cae14ac8efeb5536885792cae99d1d0f7fb6fde3.patch"; sha256 = "0z6925r7n1iysld5c8li5nkm1dbxg8j7pn0626a4vic525vf8ndl"; }) + # https://github.com/Neo23x0/yarGen/pull/34 + (fetchpatch { + name = "use-cwd-for-abspath.patch"; + url = "https://github.com/Neo23x0/yarGen/commit/441dafb702149f5728c2c6736fc08741a46deb26.patch"; + sha256 = "lNp3oC2BM7tBzN4AetvPr+xJLz6KkZxQmsldeZaxJQU="; + }) ]; + postPatch = '' + substituteInPlace yarGen.py \ + --replace "./3rdparty/strings.xml" "$out/share/yarGen/3rdparty/strings.xml" + ''; + installPhase = '' runHook preInstall install -Dt "$out/bin" yarGen.py + install -Dt "$out/share/yarGen/3rdparty" 3rdparty/strings.xml runHook postInstall ''; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7ef9f066a99..a07f7bd4149 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6089,6 +6089,8 @@ in matrix-corporal = callPackage ../servers/matrix-corporal { }; + mautrix-signal = recurseIntoAttrs (callPackage ../servers/mautrix-signal { }); + mautrix-telegram = recurseIntoAttrs (callPackage ../servers/mautrix-telegram { }); mautrix-whatsapp = callPackage ../servers/mautrix-whatsapp { }; @@ -8303,6 +8305,8 @@ in sigil = libsForQt5.callPackage ../applications/editors/sigil { }; + signald = callPackage ../applications/networking/instant-messengers/signald { }; + signal-cli = callPackage ../applications/networking/instant-messengers/signal-cli { }; signal-desktop = callPackage ../applications/networking/instant-messengers/signal-desktop { }; @@ -9312,8 +9316,7 @@ in wsmancli = callPackage ../tools/system/wsmancli {}; - wstunnel = haskell.lib.justStaticExecutables - (haskellPackages.callPackage ../tools/networking/wstunnel {}); + wstunnel = haskell.lib.justStaticExecutables haskellPackages.wstunnel; wolfebin = callPackage ../tools/networking/wolfebin { python = python2; @@ -11322,6 +11325,10 @@ in }; rust = rust_1_51; + mrustc = callPackage ../development/compilers/mrustc { }; + mrustc-minicargo = callPackage ../development/compilers/mrustc/minicargo.nix { }; + mrustc-bootstrap = callPackage ../development/compilers/mrustc/bootstrap.nix { }; + rustPackages_1_45 = rust_1_45.packages.stable; rustPackages_1_51 = rust_1_51.packages.stable; rustPackages = rustPackages_1_51; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e0553a459b1..54f70628df3 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -923,6 +923,8 @@ in { bacpypes = callPackage ../development/python-modules/bacpypes { }; + banal = callPackage ../development/python-modules/banal { }; + bandit = callPackage ../development/python-modules/bandit { }; bap = callPackage ../development/python-modules/bap { @@ -1463,6 +1465,8 @@ in { commandparse = callPackage ../development/python-modules/commandparse { }; + commoncode = callPackage ../development/python-modules/commoncode { }; + CommonMark = callPackage ../development/python-modules/commonmark { }; compiledb = callPackage ../development/python-modules/compiledb { }; @@ -1707,6 +1711,8 @@ in { debian = callPackage ../development/python-modules/debian { }; + debian-inspector = callPackage ../development/python-modules/debian-inspector { }; + debts = callPackage ../development/python-modules/debts { }; debugpy = callPackage ../development/python-modules/debugpy { }; @@ -2209,6 +2215,24 @@ in { exrex = callPackage ../development/python-modules/exrex { }; + extractcode = callPackage ../development/python-modules/extractcode { }; + + extractcode-7z = callPackage ../development/python-modules/extractcode/7z.nix { + inherit (pkgs) p7zip; + }; + + extractcode-libarchive = callPackage ../development/python-modules/extractcode/libarchive.nix { + inherit (pkgs) + libarchive + libb2 + bzip2 + expat + lz4 + lzma + zlib + zstd; + }; + extras = callPackage ../development/python-modules/extras { }; eyeD3 = callPackage ../development/python-modules/eyed3 { }; @@ -2311,6 +2335,8 @@ in { finalfusion = callPackage ../development/python-modules/finalfusion { }; + fingerprints = callPackage ../development/python-modules/fingerprints { }; + fints = callPackage ../development/python-modules/fints { }; fiona = callPackage ../development/python-modules/fiona { }; @@ -2576,6 +2602,8 @@ in { geeknote = callPackage ../development/python-modules/geeknote { }; + gemfileparser = callPackage ../development/python-modules/gemfileparser { }; + genanki = callPackage ../development/python-modules/genanki { }; genome-collector = callPackage ../development/python-modules/genome-collector { }; @@ -3230,6 +3258,8 @@ in { intake = callPackage ../development/python-modules/intake { }; + intbitset = callPackage ../development/python-modules/intbitset { }; + intelhex = callPackage ../development/python-modules/intelhex { }; internetarchive = callPackage ../development/python-modules/internetarchive { }; @@ -4425,6 +4455,8 @@ in { noiseprotocol = callPackage ../development/python-modules/noiseprotocol { }; + normality = callPackage ../development/python-modules/normality { }; + nose2 = callPackage ../development/python-modules/nose2 { }; nose = callPackage ../development/python-modules/nose { }; @@ -4568,6 +4600,8 @@ in { pythonPackages = self; }); + openerz-api = callPackage ../development/python-modules/openerz-api { }; + openhomedevice = callPackage ../development/python-modules/openhomedevice { }; openidc-client = callPackage ../development/python-modules/openidc-client { }; @@ -4960,6 +4994,8 @@ in { pluggy = callPackage ../development/python-modules/pluggy { }; + plugincode = callPackage ../development/python-modules/plugincode { }; + pluginbase = callPackage ../development/python-modules/pluginbase { }; plugnplay = callPackage ../development/python-modules/plugnplay { }; @@ -5665,6 +5701,8 @@ in { pymatgen-lammps = callPackage ../development/python-modules/pymatgen-lammps { }; + pymaven-patch = callPackage ../development/python-modules/pymaven-patch { }; + pymavlink = callPackage ../development/python-modules/pymavlink { }; pymazda = callPackage ../development/python-modules/pymazda { }; @@ -6501,6 +6539,8 @@ in { python-periphery = callPackage ../development/python-modules/python-periphery { }; + python-picnic-api = callPackage ../development/python-modules/python-picnic-api { }; + python-pipedrive = callPackage ../development/python-modules/python-pipedrive { }; python-prctl = callPackage ../development/python-modules/python-prctl { }; @@ -7020,6 +7060,8 @@ in { roku = callPackage ../development/python-modules/roku { }; + rokuecp = callPackage ../development/python-modules/rokuecp { }; + roman = callPackage ../development/python-modules/roman { }; roombapy = callPackage ../development/python-modules/roombapy { }; @@ -7107,6 +7149,8 @@ in { inherit (pkgs) sane-backends; }; + saneyaml = callPackage ../development/python-modules/saneyaml { }; + sampledata = callPackage ../development/python-modules/sampledata { }; samplerate = callPackage ../development/python-modules/samplerate { }; @@ -7127,6 +7171,8 @@ in { scales = callPackage ../development/python-modules/scales { }; + scancode-toolkit = callPackage ../development/python-modules/scancode-toolkit { }; + scapy = callPackage ../development/python-modules/scapy { }; schedule = callPackage ../development/python-modules/schedule { }; @@ -7485,6 +7531,8 @@ in { sparse = callPackage ../development/python-modules/sparse { }; + spdx-tools = callPackage ../development/python-modules/spdx-tools { }; + speaklater = callPackage ../development/python-modules/speaklater { }; spectral-cube = callPackage ../development/python-modules/spectral-cube { }; @@ -8116,6 +8164,12 @@ in { txtorcon = callPackage ../development/python-modules/txtorcon { }; + typecode = callPackage ../development/python-modules/typecode { }; + + typecode-libmagic = callPackage ../development/python-modules/typecode/libmagic.nix { + inherit (pkgs) file zlib; + }; + typed-ast = callPackage ../development/python-modules/typed-ast { }; typeguard = callPackage ../development/python-modules/typeguard { }; @@ -8236,6 +8290,8 @@ in { pytestCheckHook = self.pytestCheckHook_6_1; }; + urlpy = callPackage ../development/python-modules/urlpy { }; + urwid = callPackage ../development/python-modules/urwid { }; urwidtrees = callPackage ../development/python-modules/urwidtrees { };