Merge master into haskell-updates

main
github-actions[bot] 2 years ago committed by GitHub
commit b94af92486
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 185
      doc/languages-frameworks/javascript.section.md
  2. 4
      lib/default.nix
  3. 22
      lib/flakes.nix
  4. 8
      lib/tests/flakes/subflakeTest/flake.nix
  5. 5
      lib/tests/flakes/subflakeTest/subflake/flake.nix
  6. 10
      lib/tests/misc.nix
  7. 28
      maintainers/maintainer-list.nix
  8. 4
      nixos/modules/programs/nix-ld.nix
  9. 22
      nixos/modules/services/misc/mbpfan.nix
  10. 2
      nixos/tests/nix-ld.nix
  11. 13
      pkgs/applications/audio/gtkpod/default.nix
  12. 54
      pkgs/applications/audio/rhvoice/default.nix
  13. 25
      pkgs/applications/audio/rhvoice/honor_nix_environment.patch
  14. 31
      pkgs/applications/audio/sony-headphones-client/default.nix
  15. 19
      pkgs/applications/audio/sony-headphones-client/gcc.patch
  16. 12
      pkgs/applications/editors/vscode/vscodium.nix
  17. 4
      pkgs/applications/editors/xxe-pe/default.nix
  18. 18
      pkgs/applications/emulators/retrofe/default.nix
  19. 11
      pkgs/applications/emulators/retrofe/include-paths.patch
  20. 86
      pkgs/applications/finance/odoo/default.nix
  21. 4
      pkgs/applications/graphics/drawio/default.nix
  22. 5
      pkgs/applications/graphics/nomacs/default.nix
  23. 4
      pkgs/applications/misc/bottles/default.nix
  24. 7
      pkgs/applications/misc/logseq/default.nix
  25. 4
      pkgs/applications/misc/p2pool/default.nix
  26. 786
      pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
  27. 786
      pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
  28. 4
      pkgs/applications/networking/browsers/firefox/packages.nix
  29. 40
      pkgs/applications/networking/cluster/civo/default.nix
  30. 6
      pkgs/applications/networking/irc/senpai/default.nix
  31. 522
      pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
  32. 4
      pkgs/applications/networking/mailreaders/thunderbird/packages.nix
  33. 6
      pkgs/applications/networking/termius/default.nix
  34. 71
      pkgs/applications/science/physics/nnpdf/default.nix
  35. 17
      pkgs/applications/version-management/git-and-tools/git-codereview/default.nix
  36. 47
      pkgs/applications/video/byzanz/default.nix
  37. 2
      pkgs/build-support/trivial-builders.nix
  38. 14
      pkgs/desktops/arcan/arcan/003-freetype.patch
  39. 5
      pkgs/desktops/arcan/arcan/default.nix
  40. 20
      pkgs/desktops/gnome/extensions/collisions.json
  41. 6
      pkgs/desktops/gnome/extensions/extensionRenames.nix
  42. 158
      pkgs/desktops/gnome/extensions/extensions.json
  43. 4
      pkgs/desktops/xfce/applications/xfce4-terminal/default.nix
  44. 12
      pkgs/development/compilers/koka/default.nix
  45. 10
      pkgs/development/compilers/koka/kklib-mimalloc-macos-fix.diff
  46. 44
      pkgs/development/compilers/vlang/default.nix
  47. 133
      pkgs/development/compilers/vlang/disable_vcreate_test.patch
  48. 3
      pkgs/development/go-modules/generic/default.nix
  49. 4
      pkgs/development/libraries/grpc/default.nix
  50. 555
      pkgs/development/node-packages/default.nix
  51. 74
      pkgs/development/node-packages/main-programs.nix
  52. 533
      pkgs/development/node-packages/overrides.nix
  53. 4
      pkgs/development/ocaml-modules/labltk/default.nix
  54. 2
      pkgs/development/php-packages/memcached/default.nix
  55. 1
      pkgs/development/php-packages/openswoole/default.nix
  56. 2
      pkgs/development/php-packages/redis/default.nix
  57. 2
      pkgs/development/php-packages/snuffleupagus/default.nix
  58. 1
      pkgs/development/php-packages/swoole/default.nix
  59. 16
      pkgs/development/python-modules/bitarray/default.nix
  60. 4
      pkgs/development/python-modules/browser-cookie3/default.nix
  61. 4
      pkgs/development/python-modules/fakeredis/default.nix
  62. 3
      pkgs/development/python-modules/flask-restful/default.nix
  63. 4
      pkgs/development/python-modules/grpcio-status/default.nix
  64. 4
      pkgs/development/python-modules/grpcio-tools/default.nix
  65. 6
      pkgs/development/python-modules/gst-python/default.nix
  66. 14
      pkgs/development/python-modules/httpie/default.nix
  67. 7
      pkgs/development/python-modules/osmpythontools/default.nix
  68. 4
      pkgs/development/python-modules/pex/default.nix
  69. 21
      pkgs/development/python-modules/proxmoxer/default.nix
  70. 4
      pkgs/development/python-modules/puremagic/default.nix
  71. 4
      pkgs/development/python-modules/pyautogui/default.nix
  72. 20
      pkgs/development/python-modules/pymbolic/default.nix
  73. 3
      pkgs/development/python-modules/pynetdicom/default.nix
  74. 4
      pkgs/development/python-modules/pyrogram/default.nix
  75. 1
      pkgs/development/python-modules/pyscf/default.nix
  76. 5
      pkgs/development/python-modules/pyvips/default.nix
  77. 53
      pkgs/development/python-modules/reportengine/default.nix
  78. 8
      pkgs/development/python-modules/seaborn/default.nix
  79. 6
      pkgs/development/python-modules/tempest/default.nix
  80. 42
      pkgs/development/python-modules/tesla-powerwall/default.nix
  81. 4
      pkgs/development/python-modules/time-machine/default.nix
  82. 19
      pkgs/development/python-modules/timetagger/default.nix
  83. 37
      pkgs/development/python-modules/validphys2/default.nix
  84. 42
      pkgs/development/python-modules/vallox-websocket-api/default.nix
  85. 62
      pkgs/development/python-modules/werkzeug/1.nix
  86. 6
      pkgs/development/python-modules/xmlschema/default.nix
  87. 1
      pkgs/development/tools/analysis/cargo-tarpaulin/default.nix
  88. 4
      pkgs/development/tools/build-managers/buck/default.nix
  89. 38
      pkgs/development/tools/cue/default.nix
  90. 5
      pkgs/development/tools/electron/generic.nix
  91. 22
      pkgs/development/tools/jmespath/default.nix
  92. 4
      pkgs/games/fheroes2/default.nix
  93. 6
      pkgs/games/xivlauncher/default.nix
  94. 2
      pkgs/games/xivlauncher/deps.nix
  95. 101
      pkgs/os-specific/linux/nix-ld/default.nix
  96. 13
      pkgs/servers/dendrite/default.nix
  97. 8
      pkgs/servers/home-assistant/component-packages.nix
  98. 14
      pkgs/servers/monitoring/prometheus/consul-exporter.nix
  99. 16
      pkgs/servers/monitoring/prometheus/openldap-exporter.nix
  100. 23
      pkgs/servers/timetagger/default.nix
  101. Some files were not shown because too many files have changed in this diff Show More

@ -8,19 +8,16 @@ The various tools available will be listed in the [tools-overview](#javascript-t
## Getting unstuck / finding code examples
If you find you are lacking inspiration for packing javascript applications, the links below might prove useful.
Searching online for prior art can be helpful if you are running into solved problems.
If you find you are lacking inspiration for packing javascript applications, the links below might prove useful. Searching online for prior art can be helpful if you are running into solved problems.
### Github
- Searching Nix files for `mkYarnPackage`: <https://github.com/search?q=mkYarnPackage+language%3ANix&type=code>
- Searching just `flake.nix` files for `mkYarnPackage`: <https://github.com/search?q=mkYarnPackage+filename%3Aflake.nix&type=code>
### Gitlab
- Searching Nix files for `mkYarnPackage`: <https://gitlab.com/search?scope=blobs&search=mkYarnPackage+extension%3Anix>
- Searching just `flake.nix` files for `mkYarnPackage`: <https://gitlab.com/search?scope=blobs&search=mkYarnPackage+filename%3Aflake.nix>
## Tools overview {#javascript-tools-overview}
@ -35,109 +32,107 @@ It is often not documented which node version is used upstream, but if it is, tr
This can be a problem if upstream is using the latest and greatest and you are trying to use an earlier version of node. Some cryptic errors regarding V8 may appear.
An exception to this:
### Try to respect the package manager originally used by upstream (and use the upstream lock file) {#javascript-upstream-package-manager}
A lock file (package-lock.json, yarn.lock...) is supposed to make reproducible installations of node_modules for each tool.
Guidelines of package managers, recommend to commit those lock files to the repos. If a particular lock file is present, it is a strong indication of which package manager is used upstream.
It's better to try to use a nix tool that understand the lock file. Using a different tool might give you hard to understand error because different packages have been installed. An example of problems that could arise can be found [here](https://github.com/NixOS/nixpkgs/pull/126629). Upstream uses npm, but this is an attempt to package it with yarn2nix (that uses yarn.lock)
It's better to try to use a Nix tool that understand the lock file. Using a different tool might give you hard to understand error because different packages have been installed. An example of problems that could arise can be found [here](https://github.com/NixOS/nixpkgs/pull/126629). Upstream use NPM, but this is an attempt to package it with `yarn2nix` (that uses yarn.lock).
Using a different tool forces to commit a lock file to the repository. Those files are fairly large, so when packaging for nixpkgs, this approach does not scale well.
Exceptions to this rule are:
- when you encounter one of the bugs from a nix tool. In each of the tool specific instructions, known problems will be detailed. If you have a problem with a particular tool, then it's best to try another tool, even if this means you will have to recreate a lock file and commit it to nixpkgs. In general yarn2nix has less known problems and so a simple search in nixpkgs will reveal many yarn.lock files committed
- Some lock files contain particular version of a package that has been pulled off npm for some reason. In that case, you can recreate upstream lock (by removing the original and `npm install`, `yarn`, ...) and commit this to nixpkgs.
- The only tool that supports workspaces (a feature of npm that helps manage sub-directories with different package.json from a single top level package.json) is yarn2nix. If upstream has workspaces you should try yarn2nix.
- When you encounter one of the bugs from a Nix tool. In each of the tool specific instructions, known problems will be detailed. If you have a problem with a particular tool, then it's best to try another tool, even if this means you will have to recreate a lock file and commit it to nixpkgs. In general `yarn2nix` has less known problems and so a simple search in nixpkgs will reveal many yarn.lock files committed.
- Some lock files contain particular version of a package that has been pulled off NPM for some reason. In that case, you can recreate upstream lock (by removing the original and `npm install`, `yarn`, ...) and commit this to nixpkgs.
- The only tool that supports workspaces (a feature of NPM that helps manage sub-directories with different package.json from a single top level package.json) is `yarn2nix`. If upstream has workspaces you should try `yarn2nix`.
### Try to use upstream package.json {#javascript-upstream-package-json}
Exceptions to this rule are
Exceptions to this rule are:
- Sometimes the upstream repo assumes some dependencies be installed globally. In that case you can add them manually to the upstream package.json (`yarn add xxx` or `npm install xxx`, ...). Dependencies that are installed locally can be executed with `npx` for cli tools. (e.g. `npx postcss ...`, this is how you can call those dependencies in the phases).
- Sometimes there is a version conflict between some dependency requirements. In that case you can fix a version (by removing the `^`).
- Sometimes the script defined in the package.json does not work as is. Some scripts for example use cli tools that might not be available, or cd in directory with a different package.json (for workspaces notably). In that case, it's perfectly fine to look at what the particular script is doing and break this down in the phases. In the build script you can see `build:*` calling in turns several other build scripts like `build:ui` or `build:server`. If one of those fails, you can try to separate those into:
- Sometimes the upstream repo assumes some dependencies be installed globally. In that case you can add them manually to the upstream package.json (`yarn add xxx` or `npm install xxx`, ...). Dependencies that are installed locally can be executed with `npx` for CLI tools. (e.g. `npx postcss ...`, this is how you can call those dependencies in the phases).
- Sometimes there is a version conflict between some dependency requirements. In that case you can fix a version by removing the `^`.
- Sometimes the script defined in the package.json does not work as is. Some scripts for example use CLI tools that might not be available, or cd in directory with a different package.json (for workspaces notably). In that case, it's perfectly fine to look at what the particular script is doing and break this down in the phases. In the build script you can see `build:*` calling in turns several other build scripts like `build:ui` or `build:server`. If one of those fails, you can try to separate those into,
```Shell
yarn build:ui
yarn build:server
# OR
npm run build:ui
npm run build:server
```
```sh
yarn build:ui
yarn build:server
# OR
npm run build:ui
npm run build:server
```
when you need to override a package.json. It's nice to use the one from the upstream src and do some explicit override. Here is an example.
when you need to override a package.json. It's nice to use the one from the upstream source and do some explicit override. Here is an example:
```nix
patchedPackageJSON = final.runCommand "package.json" { } ''
${jq}/bin/jq '.version = "0.4.0" |
.devDependencies."@jsdoc/cli" = "^0.2.5"
${sonar-src}/package.json > $out
'';
```
```nix
patchedPackageJSON = final.runCommand "package.json" { } ''
${jq}/bin/jq '.version = "0.4.0" |
.devDependencies."@jsdoc/cli" = "^0.2.5"
${sonar-src}/package.json > $out
'';
```
you will still need to commit the modified version of the lock files, but at least the overrides are explicit for everyone to see.
You will still need to commit the modified version of the lock files, but at least the overrides are explicit for everyone to see.
### Using node_modules directly {#javascript-using-node_modules}
each tool has an abstraction to just build the node_modules (dependencies) directory. you can always use the stdenv.mkDerivation with the node_modules to build the package (symlink the node_modules directory and then use the package build command). the node_modules abstraction can be also used to build some web framework frontends. For an example of this see how [plausible](https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/web-apps/plausible/default.nix) is built. mkYarnModules to make the derivation containing node_modules. Then when building the frontend you can just symlink the node_modules directory
Each tool has an abstraction to just build the node_modules (dependencies) directory. You can always use the `stdenv.mkDerivation` with the node_modules to build the package (symlink the node_modules directory and then use the package build command). The node_modules abstraction can be also used to build some web framework frontends. For an example of this see how [plausible](https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/web-apps/plausible/default.nix) is built. `mkYarnModules` to make the derivation containing node_modules. Then when building the frontend you can just symlink the node_modules directory.
## Javascript packages inside nixpkgs {#javascript-packages-nixpkgs}
The `pkgs/development/node-packages` folder contains a generated collection of
[NPM packages](https://npmjs.com/) that can be installed with the Nix package
manager.
The [pkgs/development/node-packages](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/node-packages) folder contains a generated collection of [NPM packages](https://npmjs.com/) that can be installed with the Nix package manager.
As a rule of thumb, the package set should only provide _end user_ software
packages, such as command-line utilities. Libraries should only be added to the
package set if there is a non-NPM package that requires it.
As a rule of thumb, the package set should only provide _end user_ software packages, such as command-line utilities. Libraries should only be added to the package set if there is a non-NPM package that requires it.
When it is desired to use NPM libraries in a development project, use the
`node2nix` generator directly on the `package.json` configuration file of the
project.
When it is desired to use NPM libraries in a development project, use the `node2nix` generator directly on the `package.json` configuration file of the project.
The package set provides support for the official stable Node.js versions.
The latest stable LTS release in `nodePackages`, as well as the latest stable
Current release in `nodePackages_latest`.
The package set provides support for the official stable Node.js versions. The latest stable LTS release in `nodePackages`, as well as the latest stable current release in `nodePackages_latest`.
If your package uses native addons, you need to examine what kind of native
build system it uses. Here are some examples:
If your package uses native addons, you need to examine what kind of native build system it uses. Here are some examples:
- `node-gyp`
- `node-gyp-builder`
- `node-pre-gyp`
After you have identified the correct system, you need to override your package
expression while adding in build system as a build input. For example, `dat`
requires `node-gyp-build`, so [we override](https://github.com/NixOS/nixpkgs/blob/32f5e5da4a1b3f0595527f5195ac3a91451e9b56/pkgs/development/node-packages/default.nix#L37-L40) its expression in [`default.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/node-packages/default.nix):
After you have identified the correct system, you need to override your package expression while adding in build system as a build input. For example, `dat` requires `node-gyp-build`, so we override its expression in [pkgs/development/node-packages/overrides.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/node-packages/overrides.nix):
```nix
dat = super.dat.override {
buildInputs = [ self.node-gyp-build pkgs.libtool pkgs.autoconf pkgs.automake ];
meta.broken = since "12";
};
dat = prev.dat.override (oldAttrs: {
buildInputs = [ final.node-gyp-build pkgs.libtool pkgs.autoconf pkgs.automake ];
meta = oldAttrs.meta // { broken = since "12"; };
});
```
### Adding and Updating Javascript packages in nixpkgs
To add a package from NPM to nixpkgs:
1. Modify `pkgs/development/node-packages/node-packages.json` to add, update
or remove package entries to have it included in `nodePackages` and
`nodePackages_latest`.
2. Run the script: `./pkgs/development/node-packages/generate.sh`.
1. Modify [pkgs/development/node-packages/node-packages.json](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/node-packages/node-packages.json) to add, update or remove package entries to have it included in `nodePackages` and `nodePackages_latest`.
2. Run the script:
```sh
./pkgs/development/node-packages/generate.sh
```
3. Build your new package to test your changes:
`cd /path/to/nixpkgs && nix-build -A nodePackages.<new-or-updated-package>`.
To build against the latest stable Current Node.js version (e.g. 14.x):
`nix-build -A nodePackages_latest.<new-or-updated-package>`
4. Add and commit all modified and generated files.
For more information about the generation process, consult the
[README.md](https://github.com/svanderburg/node2nix) file of the `node2nix`
tool.
```sh
nix-build -A nodePackages.<new-or-updated-package>
```
To build against the latest stable Current Node.js version (e.g. 18.x):
```sh
nix-build -A nodePackages_latest.<new-or-updated-package>
```
If the package doesn't build, you may need to add an override as explained above.
4. If the package's name doesn't match any of the executables it provides, add an entry in [pkgs/development/node-packages/main-programs.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/node-packages/main-programs.nix). This will be the case for all scoped packages, e.g., `@angular/cli`.
5. Add and commit all modified and generated files.
For more information about the generation process, consult the [README.md](https://github.com/svanderburg/node2nix) file of the `node2nix` tool.
To update NPM packages in nixpkgs, run the same `generate.sh` script:
@ -148,10 +143,11 @@ To update NPM packages in nixpkgs, run the same `generate.sh` script:
#### Git protocol error
Some packages may have Git dependencies from GitHub specified with `git://`.
GitHub has
[disabled unecrypted Git connections](https://github.blog/2021-09-01-improving-git-protocol-security-github/#no-more-unauthenticated-git),
so you may see the following error when running the generate script:
`The unauthenticated git protocol on port 9418 is no longer supported`.
GitHub has [disabled unecrypted Git connections](https://github.blog/2021-09-01-improving-git-protocol-security-github/#no-more-unauthenticated-git), so you may see the following error when running the generate script:
```
The unauthenticated git protocol on port 9418 is no longer supported
```
Use the following Git configuration to resolve the issue:
@ -165,34 +161,33 @@ git config --global url."https://github.com/".insteadOf git://github.com/
#### Preparation {#javascript-node2nix-preparation}
you will need to generate a nix expression for the dependencies
You will need to generate a Nix expression for the dependencies. Don't forget the `-l package-lock.json` if there is a lock file. Most probably you will need the `--development` to include the `devDependencies`
- don't forget the `-l package-lock.json` if there is a lock file
- Most probably you will need the `--development` to include the `devDependencies`
so the command will most likely be
`node2nix --development -l package-lock.json`
So the command will most likely be:
```sh
node2nix --development -l package-lock.json
```
[link to the doc in the repo](https://github.com/svanderburg/node2nix)
See `node2nix` [docs](https://github.com/svanderburg/node2nix) for more info.
#### Pitfalls {#javascript-node2nix-pitfalls}
- if upstream package.json does not have a "version" attribute, node2nix will crash. You will need to add it like shown in [the package.json section](#javascript-upstream-package-json)
- node2nix has some [bugs](https://github.com/svanderburg/node2nix/issues/238). related to working with lock files from npm distributed with nodejs-16_x
- node2nix does not like missing packages from npm. If you see something like `Cannot resolve version: vue-loader-v16@undefined` then you might want to try another tool. The package might have been pulled off of npm.
- If upstream package.json does not have a "version" attribute, `node2nix` will crash. You will need to add it like shown in [the package.json section](#javascript-upstream-package-json).
- `node2nix` has some [bugs](https://github.com/svanderburg/node2nix/issues/238) related to working with lock files from NPM distributed with `nodejs-16_x`.
- `node2nix` does not like missing packages from NPM. If you see something like `Cannot resolve version: vue-loader-v16@undefined` then you might want to try another tool. The package might have been pulled off of NPM.
### yarn2nix {#javascript-yarn2nix}
#### Preparation {#javascript-yarn2nix-preparation}
you will need at least a yarn.lock and yarn.nix file
You will need at least a yarn.lock and yarn.nix file.
- generate a yarn.lock in upstream if it is not already there
- `yarn2nix > yarn.nix` will generate the dependencies in a nix format
- Generate a yarn.lock in upstream if it is not already there.
- `yarn2nix > yarn.nix` will generate the dependencies in a Nix format.
#### mkYarnPackage {#javascript-yarn2nix-mkYarnPackage}
this will by default try to generate a binary. For package only generating static assets (Svelte, Vue, React...), you will need to explicitly override the build step with your instructions. It's important to use the `--offline` flag. For example if you script is `"build": "something"` in package.json use
This will by default try to generate a binary. For package only generating static assets (Svelte, Vue, React...), you will need to explicitly override the build step with your instructions. It's important to use the `--offline` flag. For example if you script is `"build": "something"` in package.json use:
```nix
buildPhase = ''
@ -200,14 +195,13 @@ buildPhase = ''
'';
```
The dist phase is also trying to build a binary, the only way to override it is with
The dist phase is also trying to build a binary, the only way to override it is with:
```nix
distPhase = "true";
```
the configure phase can sometimes fail because it tries to be too clever.
One common override is
The configure phase can sometimes fail because it tries to be too clever. One common override is:
```nix
configurePhase = "ln -s $node_modules node_modules";
@ -215,13 +209,17 @@ configurePhase = "ln -s $node_modules node_modules";
#### mkYarnModules {#javascript-yarn2nix-mkYarnModules}
this will generate a derivation including the node_modules. If you have to build a derivation for an integrated web framework (rails, phoenix..), this is probably the easiest way. [Plausible](https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/web-apps/plausible/default.nix#L39) offers a good example of how to do this.
This will generate a derivation including the node_modules. If you have to build a derivation for an integrated web framework (rails, phoenix..), this is probably the easiest way. [Plausible](https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/web-apps/plausible/default.nix#L39) offers a good example of how to do this.
#### Overriding dependency behavior
In the `mkYarnPackage` record the property `pkgConfig` can be used to override packages when you encounter problems building.
For instance, say your package is throwing errors when trying to invoke node-sass: `ENOENT: no such file or directory, scandir '/build/source/node_modules/node-sass/vendor'`
For instance, say your package is throwing errors when trying to invoke node-sass:
```
ENOENT: no such file or directory, scandir '/build/source/node_modules/node-sass/vendor'
```
To fix this we will specify different versions of build inputs to use, as well as some post install steps to get the software built the way we want:
@ -241,9 +239,8 @@ mkYarnPackage rec {
#### Pitfalls {#javascript-yarn2nix-pitfalls}
- if version is missing from upstream package.json, yarn will silently install nothing. In that case, you will need to override package.json as shown in the [package.json section](#javascript-upstream-package-json)
- having trouble with node-gyp? Try adding these lines to the `yarnPreBuild` steps:
- If version is missing from upstream package.json, yarn will silently install nothing. In that case, you will need to override package.json as shown in the [package.json section](#javascript-upstream-package-json)
- Having trouble with `node-gyp`? Try adding these lines to the `yarnPreBuild` steps:
```nix
yarnPreBuild = ''
@ -259,20 +256,20 @@ mkYarnPackage rec {
## Outside of nixpkgs {#javascript-outside-nixpkgs}
There are some other options available that can't be used inside nixpkgs. Those other options are written in nix. Importing them in nixpkgs will require moving the source code into nixpkgs. Using [Import From Derivation](https://nixos.wiki/wiki/Import_From_Derivation) is not allowed in hydra at present. If you are packaging something outside nixpkgs, those can be considered
There are some other options available that can't be used inside nixpkgs. Those other options are written in Nix. Importing them in nixpkgs will require moving the source code into nixpkgs. Using [Import From Derivation](https://nixos.wiki/wiki/Import_From_Derivation) is not allowed in Hydra at present. If you are packaging something outside nixpkgs, those can be considered
### npmlock2nix {#javascript-npmlock2nix}
[npmlock2nix](https://github.com/nix-community/npmlock2nix) aims at building node_modules without code generation. It hasn't reached v1 yet, the api might be subject to change.
[npmlock2nix](https://github.com/nix-community/npmlock2nix) aims at building node_modules without code generation. It hasn't reached v1 yet, the API might be subject to change.
#### Pitfalls {#javascript-npmlock2nix-pitfalls}
- there are some [problems with npm v7](https://github.com/tweag/npmlock2nix/issues/45).
There are some [problems with npm v7](https://github.com/tweag/npmlock2nix/issues/45).
### nix-npm-buildpackage {#javascript-nix-npm-buildpackage}
[nix-npm-buildpackage](https://github.com/serokell/nix-npm-buildpackage) aims at building node_modules without code generation. It hasn't reached v1 yet, the api might change. It supports both package-lock.json and yarn.lock.
[nix-npm-buildpackage](https://github.com/serokell/nix-npm-buildpackage) aims at building node_modules without code generation. It hasn't reached v1 yet, the API might change. It supports both package-lock.json and yarn.lock.
#### Pitfalls {#javascript-nix-npm-buildpackage-pitfalls}
- there are some [problems with npm v7](https://github.com/serokell/nix-npm-buildpackage/issues/33).
There are some [problems with npm v7](https://github.com/serokell/nix-npm-buildpackage/issues/33).

@ -11,9 +11,6 @@ let
callLibs = file: import file { lib = self; };
in {
# interacting with flakes
flakes = callLibs ./flakes.nix;
# often used, or depending on very little
trivial = callLibs ./trivial.nix;
fixedPoints = callLibs ./fixed-points.nix;
@ -62,7 +59,6 @@ let
# linux kernel configuration
kernel = callLibs ./kernel.nix;
inherit (self.flakes) callLocklessFlake;
inherit (builtins) add addErrorContext attrNames concatLists
deepSeq elem elemAt filter genericClosure genList getAttr
hasAttr head isAttrs isBool isInt isList isString length

@ -1,22 +0,0 @@
{ lib }:
rec {
/* imports a flake.nix without acknowledging its lock file, useful for
referencing subflakes from a parent flake. The second argument allows
specifying the inputs of this flake.
Example:
callLocklessFlake {
path = ./directoryContainingFlake;
inputs = { inherit nixpkgs; };
}
*/
callLocklessFlake = { path, inputs ? { } }:
let
self = { outPath = path; } //
((import (path + "/flake.nix")).outputs (inputs // { self = self; }));
in
self;
}

@ -1,8 +0,0 @@
{
outputs = { self, subflake, callLocklessFlake }: rec {
x = (callLocklessFlake {
path = subflake;
inputs = {};
}).subflakeOutput;
};
}

@ -1,5 +0,0 @@
{
outputs = { self }: {
subflakeOutput = 1;
};
}

@ -22,16 +22,6 @@ in
runTests {
# FLAKES
testCallLocklessFlake = {
expr = callLocklessFlake {
path = ./flakes/subflakeTest;
inputs = { subflake = ./flakes/subflakeTest/subflake; inherit callLocklessFlake; };
};
expected = { x = 1; outPath = ./flakes/subflakeTest; };
};
# TRIVIAL
testId = {

@ -1953,6 +1953,12 @@
githubId = 7435854;
name = "Victor Calvert";
};
cameronfyfe = {
email = "cameron.j.fyfe@gmail.com";
github = "cameronfyfe";
githubId = 21013281;
name = "Cameron Fyfe";
};
cameronnemo = {
email = "cnemo@tutanota.com";
github = "cameronnemo";
@ -12428,6 +12434,16 @@
githubId = 66133083;
name = "Tomas Bravo";
};
tchekda = {
email = "contact@tchekda.fr";
github = "tchekda";
githubId = 23559888;
keys = [{
longkeyid = "rsa4096/0xD0A007EDA4EADA0F";
fingerprint = "44CE A8DD 3B31 49CD 6246 9D8F D0A0 07ED A4EA DA0F";
}];
name = "David Tchekachev";
};
tckmn = {
email = "andy@tck.mn";
github = "tckmn";
@ -14542,4 +14558,16 @@
github = "bryanhonof";
githubId = 5932804;
};
bbenne10 = {
email = "Bryan.Bennett@protonmail.com";
matrix = "@bryan.bennett:matrix.org";
github = "bbenne10";
githubId = 687376;
name = "Bryan Bennett";
keys = [{
# compare with https://keybase.io/bbenne10
longkeyid = "rsa2048/0xEF90E3E98B8F5C0B";
fingerprint = "41EA 00B4 00F9 6970 1CB2 D3AF EF90 E3E9 8B8F 5C0B";
}];
};
}

@ -5,8 +5,6 @@
programs.nix-ld.enable = lib.mkEnableOption ''nix-ld, Documentation: <link xlink:href="https://github.com/Mic92/nix-ld"/>'';
};
config = lib.mkIf config.programs.nix-ld.enable {
systemd.tmpfiles.rules = [
"L+ ${pkgs.nix-ld.ldPath} - - - - ${pkgs.nix-ld}/libexec/nix-ld"
];
systemd.tmpfiles.packages = [ pkgs.nix-ld ];
};
}

@ -31,7 +31,7 @@ in {
settings = mkOption {
default = {};
description = "The INI configuration for Mbpfan.";
description = "INI configuration for Mbpfan.";
type = types.submodule {
freeformType = settingsFormat.type;
@ -39,32 +39,26 @@ in {
type = types.nullOr types.int;
default = 2000;
description = ''
The minimum fan speed. Setting to null enables automatic detection.
Check minimum fan limits with "cat /sys/devices/platform/applesmc.768/fan*_min".
'';
};
options.general.max_fan1_speed = mkOption {
type = types.nullOr types.int;
default = 6199;
description = ''
The maximum fan speed. Setting to null enables automatic detection.
Check maximum fan limits with "cat /sys/devices/platform/applesmc.768/fan*_max".
You can check minimum and maximum fan limits with
"cat /sys/devices/platform/applesmc.768/fan*_min" and
"cat /sys/devices/platform/applesmc.768/fan*_max" respectively.
Setting to null implies using default value from applesmc.
'';
};
options.general.low_temp = mkOption {
type = types.int;
default = 55;
description = "Temperature below which fan speed will be at minimum. Try ranges 55-63.";
description = "If temperature is below this, fans will run at minimum speed.";
};
options.general.high_temp = mkOption {
type = types.int;
default = 58;
description = "Fan will increase speed when higher than this temperature. Try ranges 58-66.";
description = "If temperature is above this, fan speed will gradually increase.";
};
options.general.max_temp = mkOption {
type = types.int;
default = 86;
description = "Fan will run at full speed above this temperature. Do not set it > 90.";
description = "If temperature is above this, fans will run at maximum speed.";
};
options.general.polling_interval = mkOption {
type = types.int;

@ -6,7 +6,7 @@ import ./make-test-python.nix ({ lib, pkgs, ...} :
environment.systemPackages = [
(pkgs.runCommand "patched-hello" {} ''
install -D -m755 ${pkgs.hello}/bin/hello $out/bin/hello
patchelf $out/bin/hello --set-interpreter ${pkgs.nix-ld.ldPath}
patchelf $out/bin/hello --set-interpreter $(cat ${pkgs.nix-ld}/nix-support/ldpath)
'')
];
};

@ -11,6 +11,9 @@ stdenv.mkDerivation rec {
url = "mirror://sourceforge/gtkpod/${pname}-${version}.tar.gz";
sha256 = "0xisrpx069f7bjkyc8vqxb4k0480jmx1wscqxr6cpq1qj6pchzd5";
};
postPatch = ''
sed -i 's/which/type -P/' scripts/*.sh
'';
nativeBuildInputs = [ pkg-config wrapGAppsHook intltool ];
buildInputs = [
@ -19,15 +22,17 @@ stdenv.mkDerivation rec {
gdl gnome.adwaita-icon-theme gnome.anjuta
] ++ (with perlPackages; [ perl XMLParser ]);
patchPhase = ''
sed -i 's/which/type -P/' scripts/*.sh
'';
# Workaround build failure on -fno-common toolchains like upstream
# gcc-10. Otherwise build fails as:
# ld: .libs/autodetection.o:/build/gtkpod-2.1.5/libgtkpod/gtkpod_app_iface.h:248: multiple definition of
# `gtkpod_app'; .libs/gtkpod_app_iface.o:/build/gtkpod-2.1.5/libgtkpod/gtkpod_app_iface.h:248: first defined here
NIX_CFLAGS_COMPILE = "-fcommon";
enableParallelBuilding = true;
meta = with lib; {
description = "GTK Manager for an Apple ipod";
homepage = "http://gtkpod.sourceforge.net";
homepage = "https://sourceforge.net/projects/gtkpod/";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = [ maintainers.skeidel ];

@ -1,36 +1,50 @@
{ stdenv, lib, pkg-config, fetchFromGitHub, sconsPackages
, glibmm, libpulseaudio, libao }:
{ lib
, stdenv
, fetchFromGitHub
, ensureNewerSourcesForZipFilesHook
, pkg-config
, scons
, glibmm
, libpulseaudio
, libao
, speechd
}:
let
version = "unstable-2018-02-10";
in stdenv.mkDerivation {
stdenv.mkDerivation rec {
pname = "rhvoice";
inherit version;
version = "1.8.0";
src = fetchFromGitHub {
owner = "Olga-Yakovleva";
owner = "RHVoice";
repo = "RHVoice";
rev = "7a25a881b0465e47a12d8029b56f3b71a1d02312";
sha256 = "1gkrlmv7msh9qlm0gkjqpl9gswghpclfdwszr1p85v8vk6m63v0b";
rev = version;
fetchSubmodules = true;
hash = "sha256-G5886rjBaAp0AXcr07O0q7K1OXTayfIbd4zniKwDiLw=";
};
patches = [
# SConstruct patch
# Scons creates an independent environment that assumes standard POSIX paths.
# The patch is needed to push the nix environment.
# - PATH
# - PKG_CONFIG_PATH, to find available (sound) libraries
# - RPATH, to link to the newly built libraries
./honor_nix_environment.patch
];
nativeBuildInputs = [
sconsPackages.scons_3_1_2 pkg-config
ensureNewerSourcesForZipFilesHook
pkg-config
scons
];
buildInputs = [
glibmm libpulseaudio libao
glibmm
libpulseaudio
libao
speechd
];
# SConstruct patch
# Scons creates an independent environment that assumes standard POSIX paths.
# The patch is needed to push the nix environment.
# - PATH
# - PKG_CONFIG_PATH, to find available (sound) libraries
# - RPATH, to link to the newly built libraries
patches = [ ./honor_nix_environment.patch ];
meta = {
description = "A free and open source speech synthesizer for Russian language and others";
homepage = "https://github.com/Olga-Yakovleva/RHVoice/wiki";

@ -1,14 +1,31 @@
diff --git a/SConstruct b/SConstruct
index 2421399..ba39254 100644
index 3ad4d9a..fb02365 100644
--- a/SConstruct
+++ b/SConstruct
@@ -147,6 +147,9 @@ def create_base_env(vars):
@@ -94,11 +94,8 @@ def CheckWiX(context):
return result
def get_spd_module_dir():
- env = Environment()
- try:
- return env.ParseConfig("pkg-config speech-dispatcher --variable=modulebindir", passthru)
- except:
- return False
+ # cannot write to ${speechd}/libexec/speech-dispatcher-modules
+ return os.path.join(os.environ["out"], "libexec/speech-dispatcher-modules")
def validate_spd_version(key,val,env):
m=re.match(r"^\d+\.\d+",val)
@@ -208,9 +205,9 @@ def create_base_env(user_vars):
env_args["package_name"]="RHVoice"
env_args["CPPDEFINES"]=[("RHVOICE","1")]
env=Environment(**env_args)
- if env["dev"]:
- env["prefix"]=os.path.abspath("local")
- env["RPATH"]=env.Dir("$libdir").abspath
+ env.PrependENVPath("PATH", os.environ["PATH"])
+ env["ENV"]["PKG_CONFIG_PATH"]=os.environ["PKG_CONFIG_PATH"]
+ env["RPATH"]=env["libdir"]
+ env["RPATH"]=env.Dir("$libdir").abspath
env["package_version"]=get_version(env["release"])
env.Append(CPPDEFINES=("PACKAGE",env.subst(r'\"$package_name\"')))
env.Append(CPPDEFINES=("VERSION",env.subst(r'\"$package_version\"')))
if env["PLATFORM"]=="win32":

@ -19,26 +19,35 @@ stdenv.mkDerivation rec {
cmakeFlags = [ "-Wno-dev" ];
patches = [ ./gcc.patch ];
postPatch = ''
substituteInPlace Constants.h \
--replace "UNKNOWN = -1" "// UNKNOWN removed since it doesn't fit in char"
'';
installPhase = ''
runHook preInstall
install -Dm755 -t $out/bin SonyHeadphonesClient
runHook postInstall
'';
desktopItems = [ (makeDesktopItem {
name = "SonyHeadphonesClient";
exec = "SonyHeadphonesClient";
icon = "SonyHeadphonesClient";
desktopName = "Sony Headphones Client";
comment = "A client recreating the functionality of the Sony Headphones app";
categories = [ "Audio" "Mixer" ];
}) ];
desktopItems = [
(makeDesktopItem {
name = "SonyHeadphonesClient";
exec = "SonyHeadphonesClient";
icon = "SonyHeadphonesClient";
desktopName = "Sony Headphones Client";
comment = "A client recreating the functionality of the Sony Headphones app";
categories = [ "Audio" "Mixer" ];
})
];
meta = with lib; {
description = "A client recreating the functionality of the Sony Headphones app";
homepage = "https://github.com/Plutoberth/SonyHeadphonesClient";
license = licenses.mit;
homepage = "https://github.com/Plutoberth/SonyHeadphonesClient";
license = licenses.mit;
maintainers = with maintainers; [ stunkymonkey ];
platforms = platforms.linux;
platforms = platforms.linux;
};
}

@ -0,0 +1,19 @@
diff --git a/SingleInstanceFuture.h b/SingleInstanceFuture.h
index 8af733f..d2e6c49 100644
--- a/SingleInstanceFuture.h
+++ b/SingleInstanceFuture.h
@@ -12,13 +12,13 @@ template <class T>
class SingleInstanceFuture : public std::future<T>
{
public:
- SingleInstanceFuture<T>() = default;
+ SingleInstanceFuture(void) = default;
template<class Func, class... Args>
void setFromAsync(Func func, Args&&... args) noexcept(false);
bool ready();
private:
- SingleInstanceFuture<T>(std::future<T> other);
+ SingleInstanceFuture(std::future<T> other);
SingleInstanceFuture<T> operator=(std::future<T>& other);
};

@ -14,11 +14,11 @@ let
archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
sha256 = {
x86_64-linux = "1i76ix318y6b2dcfnisg13bp5d7nzvcx7zcpl94mkrn974db30pn";
x86_64-darwin = "1qk1vykl838vwsffyjpazx7x9ajwxczpgz5vhch16iikfz2vh1vk";
aarch64-linux = "13jifiqn2v17d6vwacq6aib1lzyp2021kjdswkp7wpx6ck5lkm21";
aarch64-darwin = "1jgmvw52hp2zfvk6z51yni4vn7wfq63gsih42mzadg5a1b2fr9rx";
armv7l-linux = "1zhriscsmfcsagsp2ds0fn316fybs5f2f2r3w5q29jwczgcnlam4";
x86_64-linux = "0hsq3b8j58xjl8pkrd5x3qh0lsl9gwbd9wgvhzlnx2h94iasr1v5";
x86_64-darwin = "04fbl8kp3af7xcicx17ay2piwy4y3yiyn9723hlmmf7s359rr1wn";
aarch64-linux = "0jljsa61zr3symfdsjx9jj4s3y1kqslxh8gc1gqx45zlm5rzr7k8";
aarch64-darwin = "1swkc0qb1xif8hj6cjp3jq1iqdfqsa681hhp7mxvrpqg0i2zppk3";
armv7l-linux = "1ssbdc4b11xmd45m7bzhdh6szx331pzah2mjpqjg7cz3ray3xvwy";
}.${system};
sourceRoot = if stdenv.isDarwin then "" else ".";
@ -28,7 +28,7 @@ in
# Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem.
version = "1.66.2";
version = "1.67.1";
pname = "vscodium";
executableName = "codium";

@ -24,7 +24,7 @@ let
in
stdenv.mkDerivation rec {
pname = "xxe-pe";
version = "9.4.0";
version = "10.1.0";
src =
assert !acceptLicense -> throw ''
@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
'';
fetchurl {
url = "https://www.xmlmind.com/xmleditor/_download/xxe-perso-${builtins.replaceStrings [ "." ] [ "_" ] version}.zip";
sha256 = "FKPdf9cOpgm/WG2i8bFnR6MmEifpiq5ykw2zHA8HnT8=";
sha256 = "sha256-AeyaJSEJQQJ/XxvaIky4fnEr+7fVAEqhSxtYhN8L2JA=";
};
nativeBuildInputs = [

@ -1,15 +1,16 @@
{ lib, stdenv, fetchhg, cmake, glib, gst_all_1, makeWrapper, pkg-config
{ lib, stdenv, fetchFromGitHub, cmake, glib, gst_all_1, makeWrapper, pkg-config
, python2, SDL2, SDL2_image, SDL2_mixer, SDL2_ttf, sqlite, zlib, runtimeShell
}:
stdenv.mkDerivation {
pname = "retrofe";
version = "0.6.169";
version = "0.10.31";
src = fetchhg {
url = "https://bitbucket.org/teamretro/retrofe";
rev = "8793e03";
sha256 = "0cvsg07ff0fdqh5zgiv2fs7s6c98hn150kpxmpw5fn6jilaszwkm";
src = fetchFromGitHub {
owner = "phulshof";
repo = "RetroFE";
rev = "2ddd65a76210d241031c4ac9268255f311df25d1";
sha256 = "sha256-uBfECbU2Df/pPpEXXq62S7Ec0YU4lPIsZ8k5UmKD7xQ=";
};
nativeBuildInputs = [ cmake makeWrapper pkg-config python2 ];
@ -18,12 +19,9 @@ stdenv.mkDerivation {
glib gst_all_1.gstreamer SDL2 SDL2_image SDL2_mixer SDL2_ttf sqlite zlib
] ++ (with gst_all_1; [ gst-libav gst-plugins-base gst-plugins-good ]);
patches = [ ./include-paths.patch ];
configurePhase = ''
cmake RetroFE/Source -BRetroFE/Build -DCMAKE_BUILD_TYPE=Release \
-DVERSION_MAJOR=0 -DVERSION_MINOR=0 -DVERSION_BUILD=0 \
-DGSTREAMER_BASE_INCLUDE_DIRS='${gst_all_1.gst-plugins-base.dev}/include/gstreamer-1.0'
'';
buildPhase = ''
@ -70,7 +68,7 @@ stdenv.mkDerivation {
meta = with lib; {
description = "A frontend for arcade cabinets and media PCs";
homepage = "http://retrofe.com";
homepage = "http://retrofe.nl/";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ hrdinka ];
platforms = with platforms; linux;

@ -1,11 +0,0 @@
diff -ur RetroFE.1/RetroFE/Source/CMakeLists.txt RetroFE.2/RetroFE/Source/CMakeLists.txt
--- RetroFE.1/RetroFE/Source/CMakeLists.txt 2016-02-21 14:52:36.726070602 +0100
+++ RetroFE.2/RetroFE/Source/CMakeLists.txt 2016-02-21 14:38:43.036249029 +0100
@@ -59,6 +59,7 @@
set(RETROFE_INCLUDE_DIRS
"${GLIB2_INCLUDE_DIRS}"
"${GSTREAMER_INCLUDE_DIRS}"
+ "${GSTREAMER_BASE_INCLUDE_DIRS}"
"${SDL2_INCLUDE_DIRS}"
"${SDL2_IMAGE_INCLUDE_DIRS}"
"${SDL2_MIXER_INCLUDE_DIRS}"

@ -2,19 +2,74 @@
, lib
, fetchurl
, python3
, python3Packages
, nodePackages
, wkhtmltopdf
, callPackage
}:
with python3Packages;
let
werkzeug = python3Packages.callPackage ../../../development/python-modules/werkzeug/1.nix {};
in
buildPythonApplication rec {
python = python3.override {
packageOverrides = self: super: {
click = super.click.overridePythonAttrs (old: rec {
version = "7.1.2";
src = old.src.override {
inherit version;
sha256 = "d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a";
};
});
flask = super.flask.overridePythonAttrs (old: rec {
version = "1.1.4";
src = old.src.override {
inherit version;
sha256 = "0fbeb6180d383a9186d0d6ed954e0042ad9f18e0e8de088b2b419d526927d196";
};
});
itsdangerous = super.itsdangerous.overridePythonAttrs (old: rec {
version = "1.1.0";
src = old.src.override {
inherit version;
sha256 = "321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19";
};
});
jinja2 = super.jinja2.overridePythonAttrs (old: rec {
version = "2.11.3";
src = old.src.override {
inherit version;
sha256 = "a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6";
};
});
markupsafe = super.markupsafe.overridePythonAttrs (old: rec {
version = "2.0.1";
src = old.src.override {
inherit version;
sha256 = "594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a";
};
});
werkzeug = super.werkzeug.overridePythonAttrs (old: rec {
version = "1.0.1";
src = old.src.override {
inherit version;
sha256 = "6c80b1e5ad3665290ea39320b91e1be1e0d5f60652b964a3070216de83d2e47c";
};
checkInputs = old.checkInputs ++ (with self; [
requests
]);
disabledTests = old.disabledTests ++ [
# ResourceWarning: unclosed file
"test_basic"
"test_date_to_unix"
"test_easteregg"
"test_file_rfc2231_filename_continuations"
"test_find_terminator"
"test_save_to_pathlib_dst"
];
disabledTestPaths = old.disabledTestPaths ++ [
# ResourceWarning: unclosed file
"tests/test_http.py"
];
});
};
};
in python.pkgs.buildPythonApplication rec {
pname = "odoo";
major = "15";
@ -23,6 +78,8 @@ buildPythonApplication rec {
version = "${major}.${minor}.${patch}";
format = "setuptools";
# latest release is at https://github.com/odoo/docker/blob/master/15.0/Dockerfile
src = fetchurl {
url = "https://nightly.odoo.com/${major}.${minor}/nightly/src/odoo_${version}.tar.gz";
@ -30,23 +87,12 @@ buildPythonApplication rec {
hash = "sha256-mofV0mNCdyzJecp0XegZBR/5NzHjis9kbpsUA/KJbZg=";
};
nativeBuildInputs = [
setuptools
wheel
mock
];
buildInputs = [
wkhtmltopdf
nodePackages.rtlcss
];
# needs some investigation
doCheck = false;
makeWrapperArgs = [ "--prefix" "PATH" ":" "${lib.makeBinPath [ wkhtmltopdf nodePackages.rtlcss ]}" ];
propagatedBuildInputs = [
propagatedBuildInputs = with python.pkgs; [
Babel
chardet
decorator

@ -11,11 +11,11 @@
stdenv.mkDerivation rec {
pname = "drawio";
version = "18.0.1";
version = "18.0.4";
src = fetchurl {
url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/drawio-x86_64-${version}.rpm";
sha256 = "4f3893f53e47a3937320676e02337a61c358c684d5cd0b378809b3d7deab0139";
sha256 = "0ln9vs2zyqq0pz3af6i8ynjbg59j0y6y7f5qkrgk2yv2mpnncl3m";
};
nativeBuildInputs = [

@ -1,4 +1,5 @@
{ lib
{ stdenv
, lib
, mkDerivation
, fetchFromGitHub
, fetchpatch
@ -67,5 +68,7 @@ mkDerivation rec {
maintainers = with lib.maintainers; [ mindavi ];
license = licenses.gpl3Plus;
inherit (qtbase.meta) platforms;
# Broken on hydra since 2020-08-15: https://hydra.nixos.org/build/125495291 (bump from 3.16 to 3.17 prerelease)
broken = stdenv.isDarwin;
};
}

@ -20,13 +20,13 @@ let
in
python3Packages.buildPythonApplication rec {
pname = "bottles";
version = "2022.5.2-trento";
version = "2022.5.2-trento-2";
src = fetchFromGitHub {
owner = "bottlesdevs";
repo = pname;
rev = version;
sha256 = "sha256-9auQm8rmySjPQmhueGMRj4DsQiKhCGtE97byc/h+v84=";
sha256 = "sha256-ufK+h4nblnftyIaRSq43H/q3VSquf1DnD6Z+iuPTJBE=";
};
postPatch = ''

@ -1,12 +1,12 @@
{ lib, stdenv, fetchurl, appimageTools, makeWrapper, autoPatchelfHook, electron, curl, expat, gcc, openssl, zlib }:
{ lib, stdenv, fetchurl, appimageTools, makeWrapper, autoPatchelfHook, electron, git, curl, expat, gcc, openssl, zlib }:
stdenv.mkDerivation rec {
pname = "logseq";
version = "0.6.6";
version = "0.6.8";
src = fetchurl {
url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
sha256 = "r6IBvhA8H8XnMIBgZZodyU61xtqNA4N9kCRv/QWQc9M=";
sha256 = "QPbH7d2RC8DLze44Q3gCQ9IzHOgIq8IB+hZr9+8rTs0=";
name = "${pname}-${version}.AppImage";
};
@ -38,6 +38,7 @@ stdenv.mkDerivation rec {
postFixup = ''
makeWrapper ${electron}/bin/electron $out/bin/${pname} \
--prefix PATH : ${lib.makeBinPath [ git ]} \
--add-flags $out/share/${pname}/resources/app
'';

@ -14,13 +14,13 @@
stdenv.mkDerivation rec {
pname = "p2pool";
version = "1.9";
version = "2.0";
src = fetchFromGitHub {
owner = "SChernykh";
repo = "p2pool";
rev = "v${version}";
sha256 = "sha256-nqJ0F99QjrpwXHRPxZ7kLCYA9VJWGH2ahcr/MBQrhyY=";
sha256 = "sha256-lJJZ0ZsPTPEaYyzi8chAPo1OlZQ6p9QVqwtSOyJD7W4=";
fetchSubmodules = true;
};

@ -3,10 +3,10 @@
rec {
firefox = buildMozillaMach rec {
pname = "firefox";
version = "100.0";
version = "100.0.1";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "29c56391c980209ff94c02a9aba18fe27bea188bdcbcf7fe0c0f27f61e823f4507a3ec343b27cb5285cf3901843e9cc4aca8e568beb623c4b69b7282e662b2aa";
sha512 = "6ba09542d1573e903978f8e63f39381dcf2180219e80e7401c62c8347100d6d4a973208b8094cff07d76106636cdfef93829fff3398011fd9536dac477ef118e";
};
meta = {

@ -0,0 +1,40 @@
{ stdenv, lib, buildGoModule, fetchFromGitHub }:
buildGoModule rec {
pname = "civo";
version = "1.0.28";
src = fetchFromGitHub {
owner = "civo";
repo = "cli";
rev = "v${version}";
sha256 = "sha256-PuLmjX7ps0pdfaDpshWrc67OW83/jpB4HkNCi1fzpAU=";
};
vendorSha256 = "sha256-VMBMiwBFXKe+E4Xzcmhu2Ge5JzS+jIbUtxTfp+B0EWE=";
CGO_ENABLED = 0;
# Some lint checks fail
doCheck = false;
ldflags = [
"-s"
"-X github.com/civo/cli/cmd.VersionCli=${version}"
"-X github.com/civo/cli/cmd.CommitCli=${src.rev}"
"-X github.com/civo/cli/cmd.DateCli=unknown"
];
doInstallCheck = false;
postInstall = ''
mv $out/bin/cli $out/bin/civo
'';
meta = with lib; {
description = "CLI for interacting with Civo resources";
homepage = "https://github.com/civo/cli";
license = licenses.asl20;
maintainers = with maintainers; [ berryp ];
};
}

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "senpai";
version = "unstable-2022-04-29";
version = "unstable-2022-05-10";
src = fetchFromSourcehut {
owner = "~taiite";
repo = "senpai";
rev = "859b8fdb7d433a848668c6f1a00406f107fe00e5";
sha256 = "sha256-grVv/bcUEU6Aaf+4MbkocY/75u7q6Q7r26xK0ybULUg=";
rev = "7a9fe74fdfb3f334b97434df0aa74b2b32e3582e";
sha256 = "sha256-uagdJG+YVryzsaZfkg5W2F8mQSc1bpflL77tqMHp1Ck=";
};
vendorSha256 = "sha256-hgojB1D0/SZWLEzJ48EBoT/InYYmqD/1qoTknfk/aTo=";

@ -1,655 +1,655 @@
{
version = "91.8.1";
version = "91.9.0";
sources = [
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/af/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/af/thunderbird-91.9.0.tar.bz2";
locale = "af";
arch = "linux-x86_64";
sha256 = "b7a5a88216d094bce6d1f18f506dc4c500c13340e0c6a9da2aeadc32d9ae0062";
sha256 = "9a7e2e7501710134294798d2d7d5ba9d11b18440e6f0a09f398baa3b9c5e8aa1";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/ar/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/ar/thunderbird-91.9.0.tar.bz2";
locale = "ar";
arch = "linux-x86_64";
sha256 = "33f807c2a2182149f2da7a394e455775027753a082b998db766c036d0aa7c976";
sha256 = "2b77f10e1152158cfee96c840d86a64e3fe831c675482ef63b2220cc65565599";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/ast/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/ast/thunderbird-91.9.0.tar.bz2";
locale = "ast";
arch = "linux-x86_64";
sha256 = "08a38759b492ac47e567774b5a4fe5ee75f5a4c513ee046b7ace9636cd61a00a";
sha256 = "e3aa8dd11bfc018c0025628020aeb77e17ad975baaa84441464c704afb7d0555";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/be/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/be/thunderbird-91.9.0.tar.bz2";
locale = "be";
arch = "linux-x86_64";
sha256 = "09644be773dea25b602b30c0e783a2be3de406d63a1aa528e80830357cec8756";
sha256 = "f78c3ade5637eba2dacb34437cd2b158f7e5f1a95988bd400ca284a04a283fea";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/bg/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/bg/thunderbird-91.9.0.tar.bz2";
locale = "bg";
arch = "linux-x86_64";
sha256 = "546bc2422a40ed4c04b1d8fa2c203a60fbb8c2a060b7c63ae4464109d08c440e";
sha256 = "85c411d57556a0365d46174ea1fe7c0fd19a697a9ddd9dad0a83644749782b7f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/br/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/br/thunderbird-91.9.0.tar.bz2";
locale = "br";
arch = "linux-x86_64";
sha256 = "1977584751a826bb52e8bd154880f34b009df777481915f0cb84e018f7a3a1fe";
sha256 = "2767877f299b4c871ecfe861d84975cb7e1d17715a249410b6d1252c3df42611";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/ca/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/ca/thunderbird-91.9.0.tar.bz2";
locale = "ca";
arch = "linux-x86_64";
sha256 = "e2c6e403fbcdb58eaf747f36796d4a0af1d8f112715c068ca98f85198189e884";
sha256 = "020ee30e402972f341620c7e37981a6a197378c1cafaeead0af71bde56a66af3";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/cak/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/cak/thunderbird-91.9.0.tar.bz2";
locale = "cak";
arch = "linux-x86_64";
sha256 = "f5992ea2ab6acf94993f6bc590e95e36c5ab87b650e0f38ee5e808a2bf9189da";
sha256 = "11b911c4dd1cbafe84406f0209379e911d047833a126c47523889f62e9a2b512";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/cs/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/cs/thunderbird-91.9.0.tar.bz2";
locale = "cs";
arch = "linux-x86_64";
sha256 = "4770e0c95ba84953aab5585f4059c1e20e69b9ee98578ebda34ded2a1b170a25";
sha256 = "834e66f9f2f8cede63df9d84b66024f6b848a847fcce7229d74880d47751b7b3";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/cy/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/cy/thunderbird-91.9.0.tar.bz2";
locale = "cy";
arch = "linux-x86_64";
sha256 = "a9729784e7a05d763e6dd715da80ca7f65e42f27b25e58ed2139f26f12061855";
sha256 = "df5fbca74bc8f1f42c4f20402822b9b0811c4df7e740336c51853d83dabf54c8";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/da/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/da/thunderbird-91.9.0.tar.bz2";
locale = "da";
arch = "linux-x86_64";
sha256 = "a917c157c7507d2ee457a5c8dcff3b1b23225b5ea946be547e801e93c10d4a5d";
sha256 = "d836561fdfdf1ce984aba8913d5d7d8709a1b4a929774bb23d12ede7208be9ca";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/de/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/de/thunderbird-91.9.0.tar.bz2";
locale = "de";
arch = "linux-x86_64";
sha256 = "73141650aba88315828e5419d9a9a05861dcd504b9256c8a184396e3824211f2";
sha256 = "a24ef049b9b14f89421144f883ddd19af3854339b74d7c9ffeeb85a15fb7bc0d";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/dsb/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/dsb/thunderbird-91.9.0.tar.bz2";
locale = "dsb";
arch = "linux-x86_64";
sha256 = "7b7adb5c1e01efa9a0129a22308eb878f45d1ed0190b7430aae92b55f061fb35";
sha256 = "741cb5362255fac4f5fd087f057cfbe2a6f11e21dab45acded8f217a2be4de5a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/el/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/el/thunderbird-91.9.0.tar.bz2";
locale = "el";
arch = "linux-x86_64";
sha256 = "ffa921418d6d334e48aa51f4fff1b4855f3cf7ce3ac77ed38c6b0b699606d971";
sha256 = "26bcbad1471e262c34125eb8f7671b0dbcb44dea78c5a03e235e1708d052efcd";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/en-CA/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/en-CA/thunderbird-91.9.0.tar.bz2";
locale = "en-CA";
arch = "linux-x86_64";
sha256 = "caa62088b677cbf18cd95a80ebc57b97597df35f8172d27a7cc55ded145e29c9";
sha256 = "22b90cbb168b0992523205e4f7af1b4acf3008c4ee84f5afd8249dbe31122178";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/en-GB/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/en-GB/thunderbird-91.9.0.tar.bz2";
locale = "en-GB";
arch = "linux-x86_64";
sha256 = "6dff28a894f3b48798939105a9742b3f9dcc3c4389160f71126cdd08ff573c74";
sha256 = "ba13594d0a4f612000c278a6c0ce45fc83cc16be8f6f792e783b9e4097fb657e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/en-US/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/en-US/thunderbird-91.9.0.tar.bz2";
locale = "en-US";
arch = "linux-x86_64";
sha256 = "3a6c1302f51a86297960d40f40fe6273349ae407b07e634b1c01758bc8cc3a0b";
sha256 = "8815aa634aa4ecd7663f65b4d101d9eefd719debc0f18a76aa631637a515788a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/es-AR/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/es-AR/thunderbird-91.9.0.tar.bz2";
locale = "es-AR";
arch = "linux-x86_64";
sha256 = "383d13f5094543f99dd64e29df261c956e6f13782c3158d4ac831a8c734b7d18";
sha256 = "5e6ea5a2849dc6885d671a16dd120e711e0462defc79292c46cc473cf87683bc";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/es-ES/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/es-ES/thunderbird-91.9.0.tar.bz2";
locale = "es-ES";
arch = "linux-x86_64";
sha256 = "d2753f076d929933cb51e79c0c0b66f2fc3457e3f25bb68b9b10c84566cfb70d";
sha256 = "d1bf062fd21eb99e88b5a506cc73874d77571bdf37d4836174844537653186d2";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/et/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/et/thunderbird-91.9.0.tar.bz2";
locale = "et";
arch = "linux-x86_64";
sha256 = "a71e3bdee857892bd62d582fd6cd9e7df41be92854c65d34b26b57fbad16ce2f";
sha256 = "c841f7987818ba478ea74beca578cfd689016b55d3a1eaf53e250a5b30d60e31";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/eu/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/eu/thunderbird-91.9.0.tar.bz2";
locale = "eu";
arch = "linux-x86_64";
sha256 = "40f3aa9558eab5511c0176dd817880142e49bfc157546676ce15d559ace8e359";
sha256 = "d415edd9c0bf60d15f504ef12ee24ee7a63cf09a0e4c069ff6ab9695e3359ce2";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/fi/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/fi/thunderbird-91.9.0.tar.bz2";
locale = "fi";
arch = "linux-x86_64";
sha256 = "c758f45ff3b714e6e7fd1c66421a0f815ac54fa3590df682c11bd05f604bd848";
sha256 = "b6685d1ea83fc5b3dabe8db910e0f76eb85cfdf45d6f508a558fe38b0adc3daa";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/fr/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/fr/thunderbird-91.9.0.tar.bz2";
locale = "fr";
arch = "linux-x86_64";
sha256 = "1e2588b80017f6f10ada4675c4af5165de9216d65881f20feb844fa59fa60fbe";
sha256 = "848e77ec6c0e8a0d8b66c5984d56c4fcd270351b942aba72984105a661f77e36";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/fy-NL/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/fy-NL/thunderbird-91.9.0.tar.bz2";
locale = "fy-NL";
arch = "linux-x86_64";
sha256 = "c3ab99f1539a40f60cb2b3ca68178307b39b013a763a671ffd05124ed8d82988";
sha256 = "f977281f87c12fabb61a1bc73b3adf9b5a6a9ae6abe7c3bff590162388313809";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/ga-IE/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/ga-IE/thunderbird-91.9.0.tar.bz2";
locale = "ga-IE";
arch = "linux-x86_64";
sha256 = "7af72cd55c26e368378a3b86844b6ee72f08b7f2c207170817ccbeaad1a114a0";
sha256 = "98b0e23dcd4a4759427cbbdffa6cf306d0e6bbda246041614f0824f7fc35c487";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/gd/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/gd/thunderbird-91.9.0.tar.bz2";
locale = "gd";
arch = "linux-x86_64";
sha256 = "9a91e7b6d3572ee78a4df915a2b30e5dbd10351e6f16316e6dbbbffdbe1217d4";
sha256 = "316f05c861afd02e8d8f84c65d4d4e9cf3c110cdb92d5bc1f5e675e9cb5247b7";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/gl/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/gl/thunderbird-91.9.0.tar.bz2";
locale = "gl";
arch = "linux-x86_64";
sha256 = "2c8f4043668dfa15ab191ed05218c1772472dbee932ea98e3cc08c05764812cb";
sha256 = "a75a9fddfd57dce2d31c8d13adaa3268aff11ae4b40c3ac4434df55d0fb467da";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/he/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/he/thunderbird-91.9.0.tar.bz2";
locale = "he";
arch = "linux-x86_64";
sha256 = "e3b038e94553d388eb4cf53c250d8297531ddb2fb0fc7c678291fa48c46fbc12";
sha256 = "b553ff588c310175aa06d8783c740522ee0dcc4cfb26fb173731bc993f67b818";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/hr/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/hr/thunderbird-91.9.0.tar.bz2";
locale = "hr";
arch = "linux-x86_64";
sha256 = "a66c1c904f58879e11ceeba5c214302fc982468718af1567634ec53d16850cc4";
sha256 = "18e46ba1050ff7cbda89e3eb6e4fbc1bd5f80dd06506fa0d122a659edde0f29a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/hsb/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/hsb/thunderbird-91.9.0.tar.bz2";
locale = "hsb";
arch = "linux-x86_64";
sha256 = "e2f3b04485ba430799e1049ed9cdc4cf191014f6a2aa44c3f8e51d87d47332dc";
sha256 = "bb8422e3ea7c8b9ef2a3fac6dd2e76b8944b426cdd6bb711dc90d34900bf69b2";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/hu/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/hu/thunderbird-91.9.0.tar.bz2";
locale = "hu";
arch = "linux-x86_64";
sha256 = "611bd8281d26324503fac16bd6e25175c988f6fb12b6bcf6f3016dcfa6ec44d8";
sha256 = "fc3ef5d1f1a1b0f3d1cb960520a1c64d649b974d7ac00a9425ca9b15df721b20";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/hy-AM/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/hy-AM/thunderbird-91.9.0.tar.bz2";
locale = "hy-AM";
arch = "linux-x86_64";
sha256 = "88cd6e24ae4a54f0b4684bf3ab7116fcdce2dbe2d6a074af5cb50c3967ebda1f";
sha256 = "beb591f7fc7b724924bc3470b9b09c76d027b3a0f0839e0dbec50b30619861bb";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/id/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/id/thunderbird-91.9.0.tar.bz2";
locale = "id";
arch = "linux-x86_64";
sha256 = "1be3f82fc0a8254548c35a08d2fd4ef77b86df774acbe5bb17784d25af802eb7";
sha256 = "763b014909a2859a8c3e95b12b38ad481e2418b635fa76bc95863e0a05fb2f7f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/is/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/is/thunderbird-91.9.0.tar.bz2";
locale = "is";
arch = "linux-x86_64";
sha256 = "332e85aba591c744a9d53b70e06218fafbdc94600643963c63f6a693edbfd035";
sha256 = "13ea8123543ff8a14da10e619e71f71d091d953d05a16ae6eef628b223eb1e8a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/it/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/it/thunderbird-91.9.0.tar.bz2";
locale = "it";
arch = "linux-x86_64";
sha256 = "95ca9342dd991d8306922df03c5f09adeb63dc93f678384989315ddf1df622d3";
sha256 = "797c7e71a2189ee4b306aeed63c7c3781cf2a056dc0c654cb163b120531f2052";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/ja/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/ja/thunderbird-91.9.0.tar.bz2";
locale = "ja";
arch = "linux-x86_64";
sha256 = "977a0e4ca8d9e8d8d6c289608a9318971553b011bbcda66ee888624ef6b9d56b";
sha256 = "1c96839f767eaff3edb4478aad1871b5353380c3279063e06cfca9ec8b584974";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/ka/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/ka/thunderbird-91.9.0.tar.bz2";
locale = "ka";
arch = "linux-x86_64";
sha256 = "1a8360cd576a4e2a0b6d316441eff481c2a1d9b80e7f9eeeb0fc6fc38df08d1f";
sha256 = "fe537966801a2943d098c12112c21f23665c43d36f74ceea4f133dd584c29902";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/kab/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/kab/thunderbird-91.9.0.tar.bz2";
locale = "kab";
arch = "linux-x86_64";
sha256 = "d318ccb72f4476d8222eb4423c755378f10cf187cc6ea73152833953375cac35";
sha256 = "8f73600ff6cf691c70dab81014b1dd561fc6dd24760b7b299d2c4cfb3d302c0d";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/kk/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/kk/thunderbird-91.9.0.tar.bz2";
locale = "kk";
arch = "linux-x86_64";
sha256 = "854f310728f2c1c2e3e3dec57787bb293f344a31cb1f0b8a131f0768c409fb08";
sha256 = "66da7b225492be2f8eed83d3babc8a0a13eca244b2b0d5b7437a8e74b75c1959";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/ko/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/ko/thunderbird-91.9.0.tar.bz2";
locale = "ko";
arch = "linux-x86_64";
sha256 = "c740a972a708627d9700c9dd3b2bb56a5b1a3e0ac6f438021aa56033e6e6b40e";
sha256 = "8157a73e18b899f99f2a71430300b329ae8faca13ba668270f216f0a43a1e5bb";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/lt/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/lt/thunderbird-91.9.0.tar.bz2";
locale = "lt";
arch = "linux-x86_64";
sha256 = "7a1c14eb2fd539dc9e2681a8868fb6e82ed2e9ce0b9523a613e20a48ec52d2ac";
sha256 = "188c85d228bec3abaae34d1d6f90f986ca956834feee84804c4495626deda52b";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/lv/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/lv/thunderbird-91.9.0.tar.bz2";
locale = "lv";
arch = "linux-x86_64";
sha256 = "bde11f8e943b462f4c8a084ee7d1328f59e93a6bf2d39fed8a3dd1408b0ee716";
sha256 = "2abf6f28470ccfcdaa742012edb1f5c5041c6590b5c49204527a59983291d7f6";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/ms/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/ms/thunderbird-91.9.0.tar.bz2";
locale = "ms";
arch = "linux-x86_64";
sha256 = "f76f9bde41a1be40c32bb3fa1990adba3460bdca0b98e466e6dcbbc6d8d944a0";
sha256 = "99d02d8a0a17f01749aff5dc0785fa4a22c556ddb4ae80b6d629d19beca5f9c4";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/nb-NO/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/nb-NO/thunderbird-91.9.0.tar.bz2";
locale = "nb-NO";
arch = "linux-x86_64";
sha256 = "e8a052e7c841feda1c54b5f349181695c03f2549f95ca1d9108b60e8dd13c85e";
sha256 = "82c0ec62f1c6c6b4862656556371b9dad8804eb3199e0c357ba2f5e491897d32";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/nl/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/nl/thunderbird-91.9.0.tar.bz2";
locale = "nl";
arch = "linux-x86_64";
sha256 = "5eea4e47045706a621ca398a55a76a2165d461c061ea3e410418839a9a069ca7";
sha256 = "48a4cb7792ccfe6fcd364734efadef7dbdf37e93695537b3bad25e54f4863e97";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/nn-NO/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/nn-NO/thunderbird-91.9.0.tar.bz2";
locale = "nn-NO";
arch = "linux-x86_64";
sha256 = "a819e0ede22abce7d3e10ab1dbe3d4571889c63284e6f1c917834f766ad3c73a";
sha256 = "dd3b69bcc83296beb03a1fec9675062be98c4eefcf67074691d1474d5d9a8265";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/pa-IN/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/pa-IN/thunderbird-91.9.0.tar.bz2";
locale = "pa-IN";
arch = "linux-x86_64";
sha256 = "523f7c451f618b1f7705d0892b50700f61c0c3a12ca85957630e5e146ed7eccd";
sha256 = "212c9ee1beac598d885425d4960b5f479f87df8a8ca0e362b288cd2a5dfbc0b5";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/pl/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/pl/thunderbird-91.9.0.tar.bz2";
locale = "pl";
arch = "linux-x86_64";
sha256 = "45d17f737b24ab1ca34e7dc5d16493203e1673c4592a099b3dffa8559908b64b";
sha256 = "75c2a144e3217a73827868ef130efb5f16d1924739a9cc3ca44ba80f0eb28ce6";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/pt-BR/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/pt-BR/thunderbird-91.9.0.tar.bz2";
locale = "pt-BR";
arch = "linux-x86_64";
sha256 = "d4d3cc55f0924a9eefb2b76d3cf524238e87ee0f016b5fcb4df59c28a6f8539c";
sha256 = "61ef799e1364b35c2a795626fed3bbfa525ce4a78c88a505afd86d87efd00a11";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/pt-PT/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/pt-PT/thunderbird-91.9.0.tar.bz2";
locale = "pt-PT";
arch = "linux-x86_64";
sha256 = "1a6b22cc0fca62a1fac036b87f04a7ef2d101e8a4323e370856338ceffd3193f";
sha256 = "3f8f817fa8358990bc95fe2ece3541eefd3d782bf82116af3a6a555b1b01fc59";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/rm/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/rm/thunderbird-91.9.0.tar.bz2";
locale = "rm";
arch = "linux-x86_64";
sha256 = "cd9b4f7274a3fe1c5c29ac68377b82ac134a9d23828700399009021ae6920c1e";
sha256 = "31dfb6c6a9d77d22d49a077003be98c6228c52aee541e2f31c407c9d7cd45c24";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/ro/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/ro/thunderbird-91.9.0.tar.bz2";
locale = "ro";
arch = "linux-x86_64";
sha256 = "0c0dd2e9612c64eb2f70d52f32fad70af989537018d2d1457941d773e5d8200c";
sha256 = "19dcff1362dc909d70311402c798b6359ea8da9b3fdbddb18114c71f47226ef9";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/ru/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/ru/thunderbird-91.9.0.tar.bz2";
locale = "ru";
arch = "linux-x86_64";
sha256 = "4f89db6c6bff251b9e642b6525e2d6dab30fd5faddff814a8566e3db0109f895";
sha256 = "231b1f5e0ce7a502581c7cae0ab327b867e96cbe1ec49a7c24522c38d69ec370";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/sk/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/sk/thunderbird-91.9.0.tar.bz2";
locale = "sk";
arch = "linux-x86_64";
sha256 = "9b7c6e1536dd288634f1e635cf65b59bfd8953853143ad4611b66189119fe8ea";
sha256 = "ce2b6fb7f4d3204f2b11b73847d06705ac5df064e65291f2f505cb59108ebb7d";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/sl/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/sl/thunderbird-91.9.0.tar.bz2";
locale = "sl";
arch = "linux-x86_64";
sha256 = "9b55f025b7b64d57c0ae1ffb54fcfd24dfffedaf8dcfb0cff870e5023e018e22";
sha256 = "d8b7585b7161004c700f3aed7d70f24bca77fe680cc43150c03802f2ddb8a4ce";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/sq/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/sq/thunderbird-91.9.0.tar.bz2";
locale = "sq";
arch = "linux-x86_64";
sha256 = "a7c42d3f546482eec81a021f299bc57fc05d349cfbfdd65ad3dbe46019e29851";
sha256 = "3b70ea054b82c6477e9b1d32cd369a040bc7fe7a82964ab3b4508d14a86cc6dc";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/sr/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/sr/thunderbird-91.9.0.tar.bz2";
locale = "sr";
arch = "linux-x86_64";
sha256 = "c990d6f1d94f50ba0edc2683acb89fd17dc94ceb0406549309c85be3e294c43a";
sha256 = "49c3b1c67411e2750cde324db4bc0e5c8e3f71fb3cab584a6d568584e32df5c1";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/sv-SE/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/sv-SE/thunderbird-91.9.0.tar.bz2";
locale = "sv-SE";
arch = "linux-x86_64";
sha256 = "cff7a55dd6a5ef6a3bff8757decda52e685fd500ba00ddc9f96724a6e803759e";
sha256 = "bfbf94b605d477c8c65daefec9578d248fd46b28c9a28e698a7595486082cd3c";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/th/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/th/thunderbird-91.9.0.tar.bz2";
locale = "th";
arch = "linux-x86_64";
sha256 = "e04a3b749f86f8f13b26d58c1562f7249e9d298431f348709678d6b5eb2d56c4";
sha256 = "7374e4dcc99e02d1fe08010b9139ce0d4147ea6ff1716046e163a8d50974b9ff";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/tr/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/tr/thunderbird-91.9.0.tar.bz2";
locale = "tr";
arch = "linux-x86_64";
sha256 = "f3bc44135cc943509e5f821b011b30df42ba9e44884be588130326dd123ffc13";
sha256 = "442f818b275905964e228f90eb68048adaec4e4031f082cf679828d9b08c1cf9";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/uk/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/uk/thunderbird-91.9.0.tar.bz2";
locale = "uk";
arch = "linux-x86_64";
sha256 = "c93fbc4795bc051ff6e55ced73765673c347a6fcea5c0b0f12d5a2b7e4ea13f6";
sha256 = "60963d1c0cc62cb487a19442406c6628eb33b79ca5e3a02113acc0fb1d1582be";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/uz/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/uz/thunderbird-91.9.0.tar.bz2";
locale = "uz";
arch = "linux-x86_64";
sha256 = "4737baf26dd8ae9a9fe4a52c56e75a2e76e76a976dac66cb02cc9175a432d114";
sha256 = "97c54746a2aa415f14d1ea7b70f9f7f6e2ee19f789372a406dd01b1e84727620";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/vi/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/vi/thunderbird-91.9.0.tar.bz2";
locale = "vi";
arch = "linux-x86_64";
sha256 = "8962b27c70530ad685753df464c4f4c982258abb82fc9788c623eebd2bd319fd";
sha256 = "ad05455a8aae0eb0e5ee7735d61e1ed9e37acfb96aba51eaf4c8067e54ee9681";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/zh-CN/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/zh-CN/thunderbird-91.9.0.tar.bz2";
locale = "zh-CN";
arch = "linux-x86_64";
sha256 = "e9343251571b2922f5ab2f84590759e41fb0734c38541336215f9984c4fe6882";
sha256 = "558fdfa5539597ee19d7912b18309ff87b85596642d1387a12711d107cb7f697";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/zh-TW/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-x86_64/zh-TW/thunderbird-91.9.0.tar.bz2";
locale = "zh-TW";
arch = "linux-x86_64";
sha256 = "efbcb13dcb468a82b0ec71d67af4addefce97addfca6befaba0b96c92617091b";
sha256 = "0df3944210faab8ce41dae7464c4932b66aac74f631afbd36feec22d0cb930a1";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/af/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/af/thunderbird-91.9.0.tar.bz2";
locale = "af";
arch = "linux-i686";
sha256 = "d96e9de630ad5502fd86de653337ff7df4444ea5bdc22e07cb77f67f1dc4d04f";
sha256 = "e66231f6a08cad94c5f1106c798590a422d8c8ba50b72e1159b6364d8542ed4d";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/ar/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/ar/thunderbird-91.9.0.tar.bz2";
locale = "ar";
arch = "linux-i686";
sha256 = "d5273d01309d15e77a897fa25a142851470f9569b25b253e66d09dee6984d061";
sha256 = "f31dddbdb4bdcd2b7ac2393093af3f05a20b0d9021574517fe791aa4106cf20a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/ast/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/ast/thunderbird-91.9.0.tar.bz2";
locale = "ast";
arch = "linux-i686";
sha256 = "8466aa8df2090de75cd7140b58c03856b351536f14875569c18abeaebdcb3249";
sha256 = "489cd880a24798032ea2d2f6718c5ec26d443d93fe49003f776b12c04d66f3c6";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/be/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/be/thunderbird-91.9.0.tar.bz2";
locale = "be";
arch = "linux-i686";
sha256 = "f2940433250516531cd782e5f7a2c85dbb81d5fae83b29ff2fba93450dcb14ef";
sha256 = "57f0a27259797967d3d32fb8583dd5788dc8f48c817d3c67e1b6fc724d365510";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/bg/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/bg/thunderbird-91.9.0.tar.bz2";
locale = "bg";
arch = "linux-i686";
sha256 = "70198e5c4857d84b0c84c158fabf269d759fcd7b966d82e2f529c540d833a244";
sha256 = "7faaff4eb705d05ed28147b447bd5d3e633034d2eeabca03b9825f83757e8548";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/br/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/br/thunderbird-91.9.0.tar.bz2";
locale = "br";
arch = "linux-i686";
sha256 = "02391abf4167231531b8e8490fd2d7feab36cf89ddc5cb6d072cb33a67d4520a";
sha256 = "2631a5c137f0520c35628241006e48b57c2115c57f0c6f67c96cc0c4be8182cb";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/ca/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/ca/thunderbird-91.9.0.tar.bz2";
locale = "ca";
arch = "linux-i686";
sha256 = "7178baf7bdc7914bb803995b8d1fc66087f9c65264b100e8876fa1be463623d2";
sha256 = "bac12f398fac2be718b26276c082fc201ee05005802a09dea5b374db86496edf";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/cak/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/cak/thunderbird-91.9.0.tar.bz2";
locale = "cak";
arch = "linux-i686";
sha256 = "579bdce1b8b4a2ebf2688c95e5ee4f2e20347a983874633bcdb92c3d6c19ee8e";
sha256 = "fc20f1147e9b924d06666c30f0b33d8c9369af3e8bb751bf0ed885d07b92deb3";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/cs/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/cs/thunderbird-91.9.0.tar.bz2";
locale = "cs";
arch = "linux-i686";
sha256 = "2eccefb9c82eae0f339ec9d5291c82a873ddcdc80822a7588e686ffaa50e7763";
sha256 = "0341bd367ba45396762cb9d614f5b9e87cc8c5f7de6197a50e37e17abef517c2";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/cy/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/cy/thunderbird-91.9.0.tar.bz2";
locale = "cy";
arch = "linux-i686";
sha256 = "0616bd3fb1baa79b4dbfddf260d013c03829edcdf761e25980b8600e63922f52";
sha256 = "6a489b731883f4a2579a576ffa571e735dfe2a165a7553e61859ed5eee2c9f9c";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/da/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/da/thunderbird-91.9.0.tar.bz2";
locale = "da";
arch = "linux-i686";
sha256 = "56c3cf0930c0966212d607589a32cec910d6b0a7bc7db314b317e0f717321fc6";
sha256 = "cfa573a68f3e7ba870f5cc5cf36088efb2220389b20190671a02babb4213c51f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/de/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/de/thunderbird-91.9.0.tar.bz2";
locale = "de";
arch = "linux-i686";
sha256 = "5ef59f3d0575ec3f570f4b1d0a401ac3eaf42a901ccece9bbb46cd4bab4a61b1";
sha256 = "b39140f5baf32c12473e0a10333025e255ea995516e4582ea98905808e148b50";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/dsb/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/dsb/thunderbird-91.9.0.tar.bz2";
locale = "dsb";
arch = "linux-i686";
sha256 = "e4ba253ee1f3629d5e3bde8475a49b8a95fb1a0bb76c14cb62a53a6e6f545804";
sha256 = "fd0b1a4012f46a5bf5c20ab38d7ab8adf3cdda405bae986f727b1cfc96cc77a1";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/el/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/el/thunderbird-91.9.0.tar.bz2";
locale = "el";
arch = "linux-i686";
sha256 = "7c342ff901eb195ee06b0b67d4a52b118053ee8153d9dffae48c83e937a04be4";
sha256 = "85f2196748e34f860327412b2f82ae500738da2e8304be589a3c554c47789950";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/en-CA/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/en-CA/thunderbird-91.9.0.tar.bz2";
locale = "en-CA";
arch = "linux-i686";
sha256 = "35cc280dfa58eeb62c12d133d4bccfcd85e694121129e154770c840f6e87169d";
sha256 = "4b64e7bc90ffb0e0d245616c6118d890fc4d0e48936b2e59f69200580dc675af";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/en-GB/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/en-GB/thunderbird-91.9.0.tar.bz2";
locale = "en-GB";
arch = "linux-i686";
sha256 = "ac393ceb36bcf7afefdaa1f6fdbdc49ef739781979878f055d623cae78cc0468";
sha256 = "a361abc8f7deba8bb86afaed722043e601e1eded41d913ff21ec44e081aceb12";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/en-US/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/en-US/thunderbird-91.9.0.tar.bz2";
locale = "en-US";
arch = "linux-i686";
sha256 = "bac3f4695e762b67b21b399edd406340a6500a8a5bcf4973a74904b9065078c8";
sha256 = "c00b81beaccfba7472392c6c09b6867ded00fdddf7bd9e1b3d79fa7a34c92ae2";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/es-AR/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/es-AR/thunderbird-91.9.0.tar.bz2";
locale = "es-AR";
arch = "linux-i686";
sha256 = "5ec79874c0a76555e68a84aa8f41ceff5ff72877d4636301cae99ef56ea16e74";
sha256 = "a8c42e78867bf7cde2aee765a1d25545bd25daa185029d6eb472d1aae2e34b87";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/es-ES/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/es-ES/thunderbird-91.9.0.tar.bz2";
locale = "es-ES";
arch = "linux-i686";
sha256 = "3465df8574f3d9dcb86a458147c388ae662cd17b998176591eb3841a448c543a";
sha256 = "adcdf96e70c2153ec918007384104f13221d96ec7439c9e553ea673de80cdc9a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/et/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/et/thunderbird-91.9.0.tar.bz2";
locale = "et";
arch = "linux-i686";
sha256 = "58a1a76c81c6687a5673150ad5effa421b5a32a8825c52a7106a5a77cf4d66bf";
sha256 = "b2051a281105ac081c0dd52dcfbda86eaa3b1f589fae308e3c6a7bbe641623f6";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/eu/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/eu/thunderbird-91.9.0.tar.bz2";
locale = "eu";
arch = "linux-i686";
sha256 = "c90e4acc10b1157d3f1009f55d5ebe70828288ebf057f01d0cfc78f306536d19";
sha256 = "feee691079859e3b82b70c87d9838dcf4d1cccf609bd96547902c7b08b980c40";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/fi/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/fi/thunderbird-91.9.0.tar.bz2";
locale = "fi";
arch = "linux-i686";
sha256 = "249943c795ac7b7d94331399c7badfd2d7ea86ccbf96e7eb653985ead8d50975";
sha256 = "5a88a2e3e265c705eb569ed4004c60be3c9bca7ea90010ad560c5261db415779";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/fr/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/fr/thunderbird-91.9.0.tar.bz2";
locale = "fr";
arch = "linux-i686";
sha256 = "6464ce3e03ec947fe8752096d3049390b307ed44eaea036194c6d58750064a1d";
sha256 = "61f9507bcc5a8538fac0118ae5fad9a8a515f90fe3c417fbf43974f9eab55e91";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/fy-NL/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/fy-NL/thunderbird-91.9.0.tar.bz2";
locale = "fy-NL";
arch = "linux-i686";
sha256 = "a45de5dd3f37b9a7c39b260ba84a03cef94b103787235cd34ad45cf4592e7ed2";
sha256 = "03bf28a074999f0e2ed06ece50484cf8b2ed92dfba82aedd2e2382ed4399765c";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/ga-IE/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/ga-IE/thunderbird-91.9.0.tar.bz2";
locale = "ga-IE";
arch = "linux-i686";
sha256 = "ed509287d305e2457137d051b1842d26401b5b337a5272562a7b19922e874c2c";
sha256 = "89d0092430a7a71ac7f985d050a8d1ff62aeddcdca4fc267b1bef693e31814f9";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/gd/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/gd/thunderbird-91.9.0.tar.bz2";
locale = "gd";
arch = "linux-i686";
sha256 = "2c8a2c587bb522aa2dceb3fb3d68e338f9e22b1be57745e26441c4c72257b22b";
sha256 = "1aa98c5ccc1788d839fea37dc48cedff39425075a434abadcf79b6aef24fe0bd";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/gl/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/gl/thunderbird-91.9.0.tar.bz2";
locale = "gl";
arch = "linux-i686";
sha256 = "4dd7eb1c72eca568c03c233f5078bbcf24da14e123106ce877096ab2b1637b61";
sha256 = "c0cd9773a7bee196c3231677c1a0644d04ceea01ce5be591ea26a0f700750ba1";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/he/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/he/thunderbird-91.9.0.tar.bz2";
locale = "he";
arch = "linux-i686";
sha256 = "82f8168ab4eceaf92f03fd777160ec28d25f4801944469a5ac3f6df8de1773e1";
sha256 = "4719f0d0ebd8fde4103bfce65a598839325818f4ed9b97e3c59bc4e35794413b";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/hr/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/hr/thunderbird-91.9.0.tar.bz2";
locale = "hr";
arch = "linux-i686";
sha256 = "80221f2fc08812f864dd09edc4e6b7693d5966b292d8ea66c2931a51f35bfaa8";
sha256 = "884f4cdfb559d4d611d18d18cd9c35469b8656816af4d3347fc01bbe70419143";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/hsb/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/hsb/thunderbird-91.9.0.tar.bz2";
locale = "hsb";
arch = "linux-i686";
sha256 = "9e6b7c4cd402675cbac43088328e321a6f738cd7d83406d7cd7f8ac6060b6f11";
sha256 = "d8a773542b5033c0ec305652ce94fadeed905494226ed63816e5ef6f288e2218";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/hu/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/hu/thunderbird-91.9.0.tar.bz2";
locale = "hu";
arch = "linux-i686";
sha256 = "4cea9f48504060e31006f69eecafe3c352440f54d599f637d4a1a536d48e27a3";
sha256 = "665cabba7b182c7a85e932997e504dfe1485b32709a0c9fde25c1ec565ad0fd9";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/hy-AM/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/hy-AM/thunderbird-91.9.0.tar.bz2";
locale = "hy-AM";
arch = "linux-i686";
sha256 = "55d887cf63952b1eec43bf2449fa3eb8c543d91ee4cdeaa1e54a00cd4a009357";
sha256 = "c4a0f8e4c0def83c8b8bae39dca8e493a60af7348942f6d1999cf2c3d2e0c5d8";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/id/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/id/thunderbird-91.9.0.tar.bz2";
locale = "id";
arch = "linux-i686";
sha256 = "32dcdae28370e35f61a3f5c12085830f6263b0b4b9b272d780f2c748d1474961";
sha256 = "1b44a02defba8f27835d5429dc77ffe55db5d22a4ee98b06ab593e26f0a6a6d2";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/is/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/is/thunderbird-91.9.0.tar.bz2";
locale = "is";
arch = "linux-i686";
sha256 = "df47af9356ee1b9bed415421f14f797499402dccc96f3aef18538d64b4b5b8b9";
sha256 = "672249813fe8efd3be4dc89a2366d935fa4ef6da648e7f9411b7286a6e0afbad";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/it/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/it/thunderbird-91.9.0.tar.bz2";
locale = "it";
arch = "linux-i686";
sha256 = "1cf50c518e5d8137c52bf37eaeac618007e2efbc8f94deb9461a01b2787df434";
sha256 = "89e554e40f3038d4754c22a67839480a16aac5bc4c550de8707f4401fd94793b";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/ja/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/ja/thunderbird-91.9.0.tar.bz2";
locale = "ja";
arch = "linux-i686";
sha256 = "031d2db07bc2dfc8dbb4c86119a993725a661ad4f6596241bd5590ebbdc01e3c";
sha256 = "06e1723de2de13c79af0094dad06838067919adead28f659af0155d91b39d677";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/ka/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/ka/thunderbird-91.9.0.tar.bz2";
locale = "ka";
arch = "linux-i686";
sha256 = "18f1b2a900381ce85cded1046e0bc10c015eb3ab5602497e93190229aea26bcd";
sha256 = "f1c215e0c6725539c039f6d1c4ad97c5ae1b322a5cdedbb7c45af59e33a85b2a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/kab/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/kab/thunderbird-91.9.0.tar.bz2";
locale = "kab";
arch = "linux-i686";
sha256 = "10b42a83af77d82343297439f8c56cdb3ab85fa4ea88aa77e49aeb6a01a90c99";
sha256 = "76b51a10a530ce127f079c2c37b859313a57bda456a2e44c7d742e4f11a4c3bd";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/kk/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/kk/thunderbird-91.9.0.tar.bz2";
locale = "kk";
arch = "linux-i686";
sha256 = "1e0b1740eaf8c48ecb2a41c3687f51afc07b9243c098637d60c5452259ae9192";
sha256 = "4d6b9db8cf3b52474f183adb5638030a3072f970b888f910fd3dd2bd19e5c05e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/ko/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/ko/thunderbird-91.9.0.tar.bz2";
locale = "ko";
arch = "linux-i686";
sha256 = "da9a00752a4e6a3aca2f298eecae39e661435f95c723f7327ed60eeb0e75d50d";
sha256 = "32dc2eef4cbb3a6ea483ef5cac66a75ca4ccfe5091f5dbb7921f171ea0edcb3d";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/lt/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/lt/thunderbird-91.9.0.tar.bz2";
locale = "lt";
arch = "linux-i686";
sha256 = "7ece24971b0a7b901ab165ff30c3b5239161a488be02c7f5cf5d6a2dfc6dce3e";
sha256 = "f2382f9a49d52e7e5574a72e8daee5a5e209a25f188e76a438c15cbc6b27d2de";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/lv/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/lv/thunderbird-91.9.0.tar.bz2";
locale = "lv";
arch = "linux-i686";
sha256 = "baf96d476ec159bbc4567e4beae29d3c61fef9683190cdc7c207163ed67797fb";
sha256 = "57fe94803333b8efe57b752334f3fa56e66663f03abfb1c683663a155abe4300";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/ms/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/ms/thunderbird-91.9.0.tar.bz2";
locale = "ms";
arch = "linux-i686";
sha256 = "3b356c61079130bd3d5b5023116f74961ed84595222284fadc45f3224281bbfc";
sha256 = "288358a22ef7cef6a2d521416dec846835195904ea6f347b2eec0632eddd8ec8";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/nb-NO/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/nb-NO/thunderbird-91.9.0.tar.bz2";
locale = "nb-NO";
arch = "linux-i686";
sha256 = "225a885cc788b64c864efab9cb0adbb0399a7e68e747551bb98cfba903898bec";
sha256 = "17085e1c350d86573ee6f2033deb2ca2ccbe5508315fab1d5a9eea0697a20c7d";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/nl/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/nl/thunderbird-91.9.0.tar.bz2";
locale = "nl";
arch = "linux-i686";
sha256 = "1c75e3df164a37c46f83421e0df28dd1cd4fd9e725a4e6c8d03378c800c53f04";
sha256 = "3df971e99e9f797676b1d5b1b827e1134f25dd96d3d2f9cc131e67388d02401b";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/nn-NO/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/nn-NO/thunderbird-91.9.0.tar.bz2";
locale = "nn-NO";
arch = "linux-i686";
sha256 = "fc154d52fa4e19ef4e727663a1bc4599da9e7c3aba0e563d823a3d4995d2632e";
sha256 = "ead88f4e76979f38866527dd67f9c1c3187f28126f48dbf9b176290bf5ab0f20";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/pa-IN/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/pa-IN/thunderbird-91.9.0.tar.bz2";
locale = "pa-IN";
arch = "linux-i686";
sha256 = "27a95c486a5a075fa8011add5c06c616ffafa7cb266afc26f7511cd510f8f403";
sha256 = "561c5b20f4bb0a175495d8da9140a130d876df07d097cc6674a0d665ef875a1a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/pl/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/pl/thunderbird-91.9.0.tar.bz2";
locale = "pl";
arch = "linux-i686";
sha256 = "34563d04912e27e93f122c47eca56a368f2b723406498f98f312f92459265f87";
sha256 = "bd52618c81ef5a98dbdbd47d5dad062144c4ea55ddbfc5694e9d5d71a9d00ccd";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/pt-BR/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/pt-BR/thunderbird-91.9.0.tar.bz2";
locale = "pt-BR";
arch = "linux-i686";
sha256 = "6ab98477ca80c945c4b780aa704b231e7831fd2334a70c57937b2815357f3150";
sha256 = "c51999a9581e89b3e901dea88e102e86ff8f906b0c6b4f75af01e5ec96c71038";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/pt-PT/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/pt-PT/thunderbird-91.9.0.tar.bz2";
locale = "pt-PT";
arch = "linux-i686";
sha256 = "0919ca9a0125a8545de083f629a4f338e8db0f0e7a87bb7c55172f163605f8d1";
sha256 = "148ead072bbcaf700c2a5b5c6160d5dcf45632c205b01f4da7912fa47bbb32fe";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/rm/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/rm/thunderbird-91.9.0.tar.bz2";
locale = "rm";
arch = "linux-i686";
sha256 = "31d4de40f1ad6c284e388ffd760d3758174ce99c01ca23b0ccbf9d1a4f343bab";
sha256 = "b0af2b91e243016f03d376361b497783568ae91f8790b4fc1e630e430d9b935f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/ro/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/ro/thunderbird-91.9.0.tar.bz2";
locale = "ro";
arch = "linux-i686";
sha256 = "3e0a763faa79aa775e29907e018f81d506fbaa025d9900516447c6081e6c31b1";
sha256 = "c43a7f827b71f680c2edeec47e047b075e00c136c68cc3939ed53d9a34d99b00";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/ru/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/ru/thunderbird-91.9.0.tar.bz2";
locale = "ru";
arch = "linux-i686";
sha256 = "ee485a4f7287d770107d9d41d678ace5873079e1fdc726a30800b6d055f68267";
sha256 = "09fce7f1f8b0c97a843254ffbd9ff4337aa690791379e58d66dcdeb016cc04f5";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/sk/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/sk/thunderbird-91.9.0.tar.bz2";
locale = "sk";
arch = "linux-i686";
sha256 = "e8cc9b1a9e767ab548de614da8feb1b42213444e91e4a1382b2cdc7323872215";
sha256 = "724bebdcaee664a6e816f2a84c402eb781ddc9030e1bb94b130b9e0b86718a86";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/sl/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/sl/thunderbird-91.9.0.tar.bz2";
locale = "sl";
arch = "linux-i686";
sha256 = "271b3fa48e9f1cedfe3fbfbd72fd23b0b477e9993108996dbc897835de0750c9";
sha256 = "939bf67c268617a16283f173169462e6d929b7cbf73e1cb9d079af5bbc5145ef";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/sq/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/sq/thunderbird-91.9.0.tar.bz2";
locale = "sq";
arch = "linux-i686";
sha256 = "7fac9e56f3e5070f0b9e038483f0b0fb97a42d947410c3f8677b7e6d8ebf3828";
sha256 = "4c84dd39f46c082679bcba75fd268a976cd7ba71e1616a837f0fba54bd8d9b68";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/sr/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/sr/thunderbird-91.9.0.tar.bz2";
locale = "sr";
arch = "linux-i686";
sha256 = "903c9408c4bce12a78cf5941b9413f65d946b49c5c6819c1cc1c7006373d6802";
sha256 = "038d5349d895484e1df3dc0d4f89a9d833c94465590e6c4cd210cf78d379dc59";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/sv-SE/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/sv-SE/thunderbird-91.9.0.tar.bz2";
locale = "sv-SE";
arch = "linux-i686";
sha256 = "c6ff664cd1d80bd36f1bbcffa239f3f8d7b31e5b68918001b1a26bd91ea49376";
sha256 = "1ebd35eeaa07af867dc21594cc40c41d50485139e27836ebb3a5c3d09743169f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/th/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/th/thunderbird-91.9.0.tar.bz2";
locale = "th";
arch = "linux-i686";
sha256 = "ad27252f979daad7e7e842ff1144ab731fa4e588adc015f3e388ba26f2cf21de";
sha256 = "7fecc47a7d0244fe1c0498e964b950ecdad4b740d6591291d36ceed0fb40979a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/tr/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/tr/thunderbird-91.9.0.tar.bz2";
locale = "tr";
arch = "linux-i686";
sha256 = "55581a2277ea6fa27389fa4ffdda72a02a8c3f8b2c92b0b04e7deb2d24840ee4";
sha256 = "2439b401b71e826ea849514a9f9fc2218dd515b67880155ac3d8e7cb858af910";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/uk/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/uk/thunderbird-91.9.0.tar.bz2";
locale = "uk";
arch = "linux-i686";
sha256 = "5b687b3839f6c4ce67c71c56965eccd85eab94063fb9bfc5d4e2f30336f3fe0d";
sha256 = "bec6c00c743557c5cb68ec38143e9b5289e724725127c61058b02349534ebfac";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/uz/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/uz/thunderbird-91.9.0.tar.bz2";
locale = "uz";
arch = "linux-i686";
sha256 = "41344413282a295db0c33e7ba01074b46c69d6267f94b36d10200f2adb42b39e";
sha256 = "15de16cc6cb131f3a2c517a754f2128bfb92cced786cdea789821c04405c2e07";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/vi/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/vi/thunderbird-91.9.0.tar.bz2";
locale = "vi";
arch = "linux-i686";
sha256 = "57bfaac37e13e218d631af0830cef177d342f45a64fc19f86bfc5aa9c940e632";
sha256 = "2328b631bec6bbea52d9c11b20371b06ce70c31fa8077adf786d901a57a4c6a0";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/zh-CN/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/zh-CN/thunderbird-91.9.0.tar.bz2";
locale = "zh-CN";
arch = "linux-i686";
sha256 = "417a2b7ca7f3981d171e453ca7ea709fbb05bc2283d874d82a4b002d8e64f816";
sha256 = "206da1db9b057d22f5bc3e26c718b82434ff59eedd94d1881b6e83dc7a9dcf09";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/zh-TW/thunderbird-91.8.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.9.0/linux-i686/zh-TW/thunderbird-91.9.0.tar.bz2";
locale = "zh-TW";
arch = "linux-i686";
sha256 = "2c92131700a89dc2c590901cf356705d308aa3520ad3f713ba866fce04edb8c7";
sha256 = "805867514c008cfceb5312663005672cbbc81fcd337af2828328ba4da85249e6";
}
];
}

@ -10,12 +10,12 @@ in
rec {
thunderbird = (common rec {
pname = "thunderbird";
version = "91.8.1";
version = "91.9.0";
application = "comm/mail";
binaryName = pname;
src = fetchurl {
url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
sha512 = "1591f3e9c76c1f2ea7fa5e194a7d030c8657a7855a95c8a177e8067c5aa838f0d8ca2652cd049b4bc88d0c9e604285a47b0c8316c190e2ceadfc1130d1e4de6c";
sha512 = "474b5aca9c5e54fdc72eebff938f0d217bc039c3ac8d1caf965fb61bd1cf349f389a1df751a525de567a1eeabd7bb1bf2246014e84c7aab89edce059fe2e72d1";
};
extraPatches = [
# The file to be patched is different from firefox's `no-buildconfig-ffx90.patch`.

@ -13,7 +13,7 @@
stdenv.mkDerivation rec {
pname = "termius";
version = "7.39.0";
version = "7.40.2";
src = fetchurl {
# find the latest version with
@ -22,8 +22,8 @@ stdenv.mkDerivation rec {
# curl -H 'X-Ubuntu-Series: 16' https://api.snapcraft.io/api/v1/snaps/details/termius-app | jq '.download_url' -r
# and the sha512 with
# curl -H 'X-Ubuntu-Series: 16' https://api.snapcraft.io/api/v1/snaps/details/termius-app | jq '.download_sha512' -r
url = "https://api.snapcraft.io/api/v1/snaps/download/WkTBXwoX81rBe3s3OTt3EiiLKBx2QhuS_111.snap";
sha512 = "1c90f249fd1802d4ed032b85ee835ca04e84e673caff339b6ce9b35188fec65a3ccce0e2a8a9afef46354ed5886ab17c612468ad7281c660c904b180753a1729";
url = "https://api.snapcraft.io/api/v1/snaps/download/WkTBXwoX81rBe3s3OTt3EiiLKBx2QhuS_113.snap";
sha512 = "33f8f367a9fe232cf359869dfa0aa55c9be6f6c0e1ebdf7d65ae4616afe0fe2b61c57697f6d67d5e71f5dffd163eb601d8f2d2757712b01d0d32eb027018c2d3";
};
desktopItem = makeDesktopItem {

@ -0,0 +1,71 @@
{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, cmake
, pkg-config
, apfel
, gsl
, lhapdf
, libarchive
, libyamlcpp
, python3
, sqlite
, swig
}:
stdenv.mkDerivation rec {
pname = "nnpdf";
version = "4.0.4";
src = fetchFromGitHub {
owner = "NNPDF";
repo = pname;
rev = version;
sha256 = "sha256-Alx4W0TkPzJBsnRXcKBrlEU6jWTnOjrji/IPk+dNCw0=";
};
patches = [
(fetchpatch {
url = "https://github.com/NNPDF/nnpdf/commit/7943b62a91d3a41fd4f6366b18881d50695f4b45.diff";
hash = "sha256-UXhTO7vZgJiY8h3bgjg7SQC0gMUQsYQ/V/PgtCEQ7VU=";
})
];
postPatch = ''
for file in CMakeLists.txt buildmaster/CMakeLists.txt; do
substituteInPlace $file \
--replace "-march=nocona -mtune=haswell" ""
done
'';
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
apfel
gsl
lhapdf
libarchive
libyamlcpp
python3
python3.pkgs.numpy
sqlite
swig
];
cmakeFlags = [
"-DCOMPILE_filter=ON"
"-DCOMPILE_evolvefit=ON"
];
meta = with lib; {
description = "An open-source machine learning framework for global analyses of parton distributions";
homepage = "https://docs.nnpdf.science/";
license = licenses.gpl3Only;
maintainers = [ maintainers.veprbl ];
platforms = platforms.unix;
};
}

@ -1,17 +1,22 @@
{ lib, buildGoPackage, fetchFromGitHub }:
{ lib, buildGoModule, fetchFromGitHub, git }:
buildGoPackage {
buildGoModule rec {
pname = "git-codereview";
version = "2020-01-15";
goPackagePath = "golang.org/x/review";
version = "1.0.3";
src = fetchFromGitHub {
owner = "golang";
repo = "review";
rev = "f51a73253c4da005cfdf18a036e11185c04c8ce3";
sha256 = "0c4vsyy5zp7pngqn4q87xipndghxyw2x57dkv1kxnrffckx1s3pc";
rev = "v${version}";
sha256 = "sha256-Hyo2UWGlxxeSz3E73DeA0VoOnBJ1VedvpshnATJGbFo=";
};
vendorSha256 = "sha256-pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo=";
ldflags = [ "-s" "-w" ];
checkInputs = [ git ];
meta = with lib; {
description = "Manage the code review process for Git changes using a Gerrit server";
homepage = "https://golang.org/x/review/git-codereview";

@ -1,13 +1,26 @@
{ lib, stdenv, fetchgit, wrapGAppsHook, which, gnome, glib, intltool, pkg-config, libtool, cairo, gtk3, gst_all_1, xorg }:
{ lib, stdenv
, fetchgit
, wrapGAppsHook
, cairo
, glib
, gnome
, gst_all_1
, gtk3
, intltool
, libtool
, pkg-config
, which
, xorg
}:
stdenv.mkDerivation {
version = "0.2.3.alpha";
pname = "byzanz";
version = "unstable-2016-03-12";
src = fetchgit {
url = "https://gitlab.gnome.org/Archive/byzanz";
rev = "1875a7f6a3903b83f6b1d666965800f47db9286a";
sha256 = "0a72fw2mxl8vdcdnzy0bwis4jk28pd7nc8qgr4vhyw5pd48dynvh";
rev = "81235d235d12c9687897f7fc6ec0de1feaed6623";
hash = "sha256-3DUwXCPBAmeCRlDkiPUgwNyBa6bCvC/TLguMCK3bo4E=";
};
patches = [ ./add-amflags.patch ];
@ -16,11 +29,31 @@ stdenv.mkDerivation {
./autogen.sh --prefix=$out
'';
NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
NIX_CFLAGS_COMPILE = builtins.concatStringsSep " " [
"-Wno-error=deprecated-declarations"
"-Wno-error=incompatible-pointer-types"
];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ which gnome.gnome-common glib intltool libtool cairo gtk3 xorg.xwininfo xorg.libXdamage ]
++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-bad gst-plugins-good gst-plugins-ugly gst-libav wrapGAppsHook ]);
buildInputs = [
which
gnome.gnome-common
glib
intltool
libtool
cairo
gtk3
xorg.xwininfo
xorg.libXdamage
] ++ (with gst_all_1; [
gstreamer
gst-plugins-base
gst-plugins-bad
gst-plugins-good
gst-plugins-ugly
gst-libav
wrapGAppsHook
]);
meta = with lib; {
description = "Tool to record a running X desktop to an animation suitable for presentation in a web browser";

@ -477,7 +477,7 @@ rec {
cd $out
${lib.concatMapStrings (x: ''
mkdir -p "$(dirname ${lib.escapeShellArg x.name})"
ln -s ${lib.escapeShellArg x.path} ${lib.escapeShellArg x.name}
ln -s ${lib.escapeShellArg "${x.path}"} ${lib.escapeShellArg x.name}
'') entries}
'';

@ -1,14 +0,0 @@
diff -Naur source-old/src/CMakeLists.txt source-new/src/CMakeLists.txt
--- source-old/src/CMakeLists.txt 1969-12-31 21:00:01.000000000 -0300
+++ source-new/src/CMakeLists.txt 2021-10-29 12:03:06.461399341 -0300
@@ -317,9 +317,7 @@
find_package(BZip2 REQUIRED QUIET)
pkg_check_modules(HARFBUZZ REQUIRED QUIET harfbuzz)
ExternalProject_Add(Freetype
- SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/freetype"
- UPDATE_COMMAND ""
- GIT_REPOSITORY "${EXTERNAL_SRC_DIR}/git/freetype"
+ SOURCE_DIR "${EXTERNAL_SRC_DIR}/git/freetype"
${EXTERNAL_DEFS}
${CMAKE_EXTERNAL_DEFS}
-DWITH_ZLIB=OFF

@ -48,13 +48,13 @@
stdenv.mkDerivation rec {
pname = "arcan" + lib.optionalString useStaticOpenAL "-static-openal";
version = "0.6.1";
version = "0.6.1.1";
src = fetchFromGitHub {
owner = "letoram";
repo = "arcan";
rev = version;
hash = "sha256-2do4+6KB0AAcJk22mN0IA/e/bPaeGipLjI4RSTPqLBg=";
hash = "sha256-+dJaBSKGbHOwzA26/jDyh2UF9YRwGUcysJIeAM4kvfc=";
};
nativeBuildInputs = [
@ -106,7 +106,6 @@ stdenv.mkDerivation rec {
./000-openal.patch
./001-luajit.patch
./002-libuvc.patch
./003-freetype.patch
];
# Emulate external/git/clone.sh

@ -32,6 +32,10 @@
"noannoyance@sindex.com",
"noannoyance@daase.net"
],
"somafm-internet-radio": [
"SomaFm-Radio@alireza6677.gmail.com",
"SomaFm-Radio@cajhne.gmail.com"
],
"transparent-window": [
"transparent-window@pbxqdown.github.com",
"transparentwindows.mdirshad07"
@ -79,6 +83,10 @@
"noannoyance@sindex.com",
"noannoyance@daase.net"
],
"somafm-internet-radio": [
"SomaFm-Radio@alireza6677.gmail.com",
"SomaFm-Radio@cajhne.gmail.com"
],
"fuzzy-clock": [
"fuzzy-clock@keepawayfromfire.co.uk",
"FuzzyClock@johngoetz"
@ -87,10 +95,6 @@
"panel-date-format@keiii.github.com",
"panel-date-format@atareao.es"
],
"fullscreen-hot-corner": [
"fullscreen-hot-corner@sorrow.about.alice.pm.me",
"fullscreen-hot-corner@richardblaha.cz"
],
"disable-unredirect-fullscreen-windows": [
"unredirect@vaina.lt",
"unredirect@aunetx"
@ -133,10 +137,6 @@
"fuzzy-clock@keepawayfromfire.co.uk",
"FuzzyClock@johngoetz"
],
"fullscreen-hot-corner": [
"fullscreen-hot-corner@sorrow.about.alice.pm.me",
"fullscreen-hot-corner@richardblaha.cz"
],
"disable-unredirect-fullscreen-windows": [
"unredirect@vaina.lt",
"unredirect@aunetx"
@ -167,10 +167,6 @@
"lockkeys@vaina.lt",
"lockkeys@fawtytoo"
],
"fullscreen-hot-corner": [
"fullscreen-hot-corner@sorrow.about.alice.pm.me",
"fullscreen-hot-corner@richardblaha.cz"
],
"wireguard-indicator": [
"wireguard-indicator@gregos.me",
"wireguard-indicator@atareao.es"

@ -9,9 +9,6 @@
"apps-menu@gnome-shell-extensions.gcampax.github.com" = "applications-menu";
"Applications_Menu@rmy.pobox.com" = "frippery-applications-menu";
"fullscreen-hot-corner@sorrow.about.alice.pm.me" = "fullscreen-hot-corner";
"fullscreen-hot-corner@richardblaha.cz" = "fullscreen-hot-corner-2";
"lockkeys@vaina.lt" = "lock-keys";
"lockkeys@fawtytoo" = "lock-keys-2";
@ -57,6 +54,9 @@
"noannoyance@sindex.com" = "noannoyance";
"noannoyance@daase.net" = "noannoyance-2";
"SomaFm-Radio@alireza6677.gmail.com" = "somafm-internet-radio";
"SomaFm-Radio@cajhne.gmail.com" = "somafm-internet-radio-2";
"panel-date-format@keiii.github.com" = "panel-date-format";
"panel-date-format@atareao.es" = "panel-date-format-2";

File diff suppressed because one or more lines are too long

@ -3,9 +3,9 @@
mkXfceDerivation {
category = "apps";
pname = "xfce4-terminal";
version = "1.0.2";
version = "1.0.3";
sha256 = "sha256-d69SjV7dkiYmc0R5OyU5DV5RM3h51an4idWV872QoE4=";
sha256 = "sha256-oZOnPAfvSXCreFHTIZYpJhOdtlDOHrAUMvGIjYU+TRU=";
nativeBuildInputs = [ libxslt docbook_xml_dtd_45 docbook_xsl ];

@ -4,19 +4,25 @@
, parsec, process, regex-compat, text, time }:
let
version = "2.3.6";
version = "2.3.8";
src = fetchFromGitHub {
owner = "koka-lang";
repo = "koka";
rev = "v${version}";
sha256 = "sha256-AibS/HudJKFQZlTxGD5LfwjBawIy1xwO2Hm8qzAUP2M=";
sha256 = "sha256-4a9UwtiWq9eFpNHpcrlhYUwzXcr1EXFMjBmDFYP933U=";
fetchSubmodules = true;
};
kklib = stdenv.mkDerivation {
pname = "kklib";
inherit version;
src = "${src}/kklib";
patches = [ ./kklib-mimalloc-macos-fix.diff ];
nativeBuildInputs = [ cmake ];
outputs = [ "out" "dev" ];
postInstall = ''
mkdir -p ''${!outputDev}/share/koka/v${version}
cp -a ../../kklib ''${!outputDev}/share/koka/v${version}
'';
};
inherit (pkgsHostTarget.targetPackages.stdenv) cc;
runtimeDeps = [
@ -40,7 +46,7 @@ mkDerivation rec {
postInstall = ''
mkdir -p $out/share/koka/v${version}
cp -a lib $out/share/koka/v${version}
cp -a kklib $out/share/koka/v${version}
ln -s ${kklib.dev}/share/koka/v${version}/kklib $out/share/koka/v${version}
wrapProgram "$out/bin/koka" \
--set CC "${lib.getBin cc}/bin/${cc.targetPrefix}cc" \
--prefix PATH : "${lib.makeSearchPath "bin" runtimeDeps}"

@ -0,0 +1,10 @@
--- kklib/mimalloc/src/random.c 1969-12-31 18:00:01.000000000 -0600
+++ kklib/mimalloc/src/random.c.new 2022-01-16 19:43:54.000000000 -0600
@@ -195,6 +195,7 @@
#elif defined(__APPLE__)
#include <AvailabilityMacros.h>
#if defined(MAC_OS_X_VERSION_10_10) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_10
+#include <CommonCrypto/CommonCryptoError.h>
#include <CommonCrypto/CommonRandom.h>
#endif
static bool os_random_buf(void* buf, size_t buf_len) {

@ -2,22 +2,36 @@
stdenv.mkDerivation rec {
pname = "vlang";
version = "weekly.2021.51";
version = "weekly.2022.19";
src = fetchFromGitHub {
owner = "vlang";
repo = "v";
rev = version;
sha256 = "1jvq3fxckl2jidiigkvclacjxbg5k38268mck7bl1ky1yspgfrnq";
sha256 = "1bl91j3ip3i84jq3wg03sflllxv38sv4dc072r302rl2g9f4dbg6";
};
# Required for bootstrap.
vc = fetchFromGitHub {
owner = "vlang";
repo = "vc";
rev = "c8ed2cd82b247e94c33217dba35c420cfc02fef3";
sha256 = "1acgx1qp480jmsv1xvqy1zf7iyy90mvg9x1m1b0zrwx09wz4y1cq";
rev = "a298ad7069f6333ef8ab59a616654fc74e04c847";
sha256 = "168cgq6451hcgsxzyd8vq11g01642bs5kkwxqh6rz3rnc86ajic0";
};
# Required for vdoc.
markdown = fetchFromGitHub {
owner = "vlang";
repo = "markdown";
rev = "bbbd324a361e404ce0682fc00666df3a7877b398";
sha256 = "0cawzizr3rjz81blpvxvxrcvcdai1adj66885ss390444qq1fnv7";
};
# vcreate_test.v requires git, so we must disable it.
patches = [
./disable_vcreate_test.patch
];
propagatedBuildInputs = [ glfw freetype openssl ]
++ lib.optional stdenv.hostPlatform.isUnix upx;
@ -26,19 +40,33 @@ stdenv.mkDerivation rec {
makeFlags = [
"local=1"
"VC=${vc}"
# vlang seems to want to write to $HOME/.vmodules , so lets give
# it a writable HOME
"HOME=$TMPDIR"
];
prePatch = ''
export HOME=$(mktemp -d)
cp cmd/tools/vcreate_test.v $HOME/vcreate_test.v
'';
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,lib,share}
cp -r examples $out/share
cp -r {cmd,vlib,thirdparty} $out/lib
mv v $out/lib
cp v $out/lib
ln -s $out/lib/v $out/bin/v
wrapProgram $out/bin/v --prefix PATH : ${lib.makeBinPath [ stdenv.cc ]}
mkdir -p $HOME/.vmodules;
ln -sf ${markdown} $HOME/.vmodules/markdown
$out/lib/v -v build-tools
$out/lib/v -v $out/lib/cmd/tools/vdoc
$out/lib/v -v $out/lib/cmd/tools/vast
$out/lib/v -v $out/lib/cmd/tools/vvet
# Return the pre-patch vcreate_test.v now that we no longer need the alteration.
cp $HOME/vcreate_test.v $out/lib/cmd/tools/vcreate_test.v
runHook postInstall
'';

@ -0,0 +1,133 @@
diff --git a/cmd/tools/vcreate_test.v b/cmd/tools/vcreate_test.v
index 3d07f4773..de8a202df 100644
--- a/cmd/tools/vcreate_test.v
+++ b/cmd/tools/vcreate_test.v
@@ -2,127 +2,6 @@ import os
const test_path = 'vcreate_test'
-fn init_and_check() ? {
- os.execute_or_exit('${os.quoted_path(@VEXE)} init')
-
- assert os.read_file('vcreate_test.v') ? == [
- 'module main\n',
- 'fn main() {',
- " println('Hello World!')",
- '}',
- '',
- ].join_lines()
-
- assert os.read_file('v.mod') ? == [
- 'Module {',
- " name: 'vcreate_test'",
- " description: ''",
- " version: ''",
- " license: ''",
- ' dependencies: []',
- '}',
- '',
- ].join_lines()
-
- assert os.read_file('.gitignore') ? == [
- '# Binaries for programs and plugins',
- 'main',
- 'vcreate_test',
- '*.exe',
- '*.exe~',
- '*.so',
- '*.dylib',
- '*.dll',
- 'vls.log',
- '',
- ].join_lines()
-
- assert os.read_file('.gitattributes') ? == [
- '*.v linguist-language=V text=auto eol=lf',
- '*.vv linguist-language=V text=auto eol=lf',
- '*.vsh linguist-language=V text=auto eol=lf',
- '**/v.mod linguist-language=V text=auto eol=lf',
- '',
- ].join_lines()
-
- assert os.read_file('.editorconfig') ? == [
- '[*]',
- 'charset = utf-8',
- 'end_of_line = lf',
- 'insert_final_newline = true',
- 'trim_trailing_whitespace = true',
- '',
- '[*.v]',
- 'indent_style = tab',
- 'indent_size = 4',
- '',
- ].join_lines()
-}
-
fn test_v_init() ? {
- dir := os.join_path(os.temp_dir(), test_path)
- os.rmdir_all(dir) or {}
- os.mkdir(dir) or {}
- defer {
- os.rmdir_all(dir) or {}
- }
- os.chdir(dir) ?
-
- init_and_check() ?
-}
-
-fn test_v_init_in_git_dir() ? {
- dir := os.join_path(os.temp_dir(), test_path)
- os.rmdir_all(dir) or {}
- os.mkdir(dir) or {}
- defer {
- os.rmdir_all(dir) or {}
- }
- os.chdir(dir) ?
- os.execute_or_exit('git init .')
- init_and_check() ?
-}
-
-fn test_v_init_no_overwrite_gitignore() ? {
- dir := os.join_path(os.temp_dir(), test_path)
- os.rmdir_all(dir) or {}
- os.mkdir(dir) or {}
- os.write_file('$dir/.gitignore', 'blah') ?
- defer {
- os.rmdir_all(dir) or {}
- }
- os.chdir(dir) ?
-
- os.execute_or_exit('${os.quoted_path(@VEXE)} init')
-
- assert os.read_file('.gitignore') ? == 'blah'
-}
-
-fn test_v_init_no_overwrite_gitattributes_and_editorconfig() ? {
- git_attributes_content := '*.v linguist-language=V text=auto eol=lf'
- editor_config_content := '[*]
-charset = utf-8
-end_of_line = lf
-insert_final_newline = true
-trim_trailing_whitespace = true
-
-[*.v]
-indent_style = tab
-indent_size = 4
-'
-
- dir := os.join_path(os.temp_dir(), test_path)
- os.rmdir_all(dir) or {}
- os.mkdir(dir) or {}
- os.write_file('$dir/.gitattributes', git_attributes_content) ?
- os.write_file('$dir/.editorconfig', editor_config_content) ?
- defer {
- os.rmdir_all(dir) or {}
- }
- os.chdir(dir) ?
-
- os.execute_or_exit('${os.quoted_path(@VEXE)} init')
-
- assert os.read_file('.gitattributes') ? == git_attributes_content
- assert os.read_file('.editorconfig') ? == editor_config_content
+ println('vcreate_test disabled')
}

@ -79,12 +79,11 @@ let
GO111MODULE = "on";
impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ [
"GIT_PROXY_COMMAND" "SOCKS_SERVER"
"GIT_PROXY_COMMAND" "SOCKS_SERVER" "GOPROXY"
];
configurePhase = args.modConfigurePhase or ''
runHook preConfigure
export GOCACHE=$TMPDIR/go-cache
export GOPATH="$TMPDIR/go"
cd "${modRoot}"

@ -20,7 +20,7 @@
stdenv.mkDerivation rec {
pname = "grpc";
version = "1.45.2"; # N.B: if you change this, please update:
version = "1.46.1"; # N.B: if you change this, please update:
# pythonPackages.grpcio-tools
# pythonPackages.grpcio-status
@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
owner = "grpc";
repo = "grpc";
rev = "v${version}";
sha256 = "sha256-l2r1NdbfwViXfLcwbfUgLueqfAVnLzI+gdEarlkIqkI=";
sha256 = "sha256-jci45jCcm2EN+tw7KCU9tOVB0jIADitQWoUlvyutRqw=";
fetchSubmodules = true;
};

@ -1,544 +1,23 @@
{ pkgs, nodejs, stdenv, applyPatches, fetchFromGitHub, fetchpatch, fetchurl, nixosTests }:
{ pkgs, lib, nodejs, stdenv}:
let
inherit (pkgs) lib;
since = version: pkgs.lib.versionAtLeast nodejs.version version;
before = version: pkgs.lib.versionOlder nodejs.version version;
super = import ./composition.nix {
inherit (lib) composeManyExtensions extends makeExtensible mapAttrs;
nodePackages = final: import ./composition.nix {
inherit pkgs nodejs;
inherit (stdenv.hostPlatform) system;
};
self = super // {
"@angular/cli" = super."@angular/cli".override {
prePatch = ''
export NG_CLI_ANALYTICS=false
'';
};
autoprefixer = super.autoprefixer.override {
nativeBuildInputs = [ pkgs.makeWrapper ];
postInstall = ''
wrapProgram "$out/bin/autoprefixer" \
--prefix NODE_PATH : ${self.postcss}/lib/node_modules
'';
passthru.tests = {
simple-execution = pkgs.callPackage ./package-tests/autoprefixer.nix { inherit (self) autoprefixer; };
};
};
aws-azure-login = super.aws-azure-login.override {
meta.platforms = pkgs.lib.platforms.linux;
nativeBuildInputs = [ pkgs.makeWrapper ];
prePatch = ''
export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1
'';
postInstall = ''
wrapProgram $out/bin/aws-azure-login \
--set PUPPETEER_EXECUTABLE_PATH ${pkgs.chromium}/bin/chromium
'';
};
bower2nix = super.bower2nix.override {
buildInputs = [ pkgs.makeWrapper ];
postInstall = ''
for prog in bower2nix fetch-bower; do
wrapProgram "$out/bin/$prog" --prefix PATH : ${pkgs.lib.makeBinPath [ pkgs.git pkgs.nix ]}
done
'';
};
carbon-now-cli = super.carbon-now-cli.override {
nativeBuildInputs = [ pkgs.makeWrapper ];
prePatch = ''
export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1
'';
postInstall = ''
wrapProgram $out/bin/carbon-now \
--set PUPPETEER_EXECUTABLE_PATH ${pkgs.chromium.outPath}/bin/chromium
'';
};
deltachat-desktop = super."deltachat-desktop-../../applications/networking/instant-messengers/deltachat-desktop".override {
meta.broken = true; # use the top-level package instead
};
fast-cli = super.fast-cli.override {
nativeBuildInputs = [ pkgs.makeWrapper ];
prePatch = ''
export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1
'';
postInstall = ''
wrapProgram $out/bin/fast \
--set PUPPETEER_EXECUTABLE_PATH ${pkgs.chromium.outPath}/bin/chromium
'';
};
hyperspace-cli = super."@hyperspace/cli".override {
nativeBuildInputs = with pkgs; [
makeWrapper
libtool
autoconf
automake
];
buildInputs = with pkgs; [
nodePackages.node-gyp-build
nodejs
];
postInstall = ''
wrapProgram "$out/bin/hyp" --prefix PATH : ${
pkgs.lib.makeBinPath [ pkgs.nodejs ]
}
'';
};
mdctl-cli = super."@medable/mdctl-cli".override {
nativeBuildInputs = with pkgs; with darwin.apple_sdk.frameworks; [
glib
libsecret
pkg-config
] ++ lib.optionals stdenv.isDarwin [
AppKit
Security
];
buildInputs = with pkgs; [
nodePackages.node-gyp-build
nodePackages.node-pre-gyp
nodejs
];
};
coc-imselect = super.coc-imselect.override {
meta.broken = since "10";
};
dat = super.dat.override {
buildInputs = [ self.node-gyp-build pkgs.libtool pkgs.autoconf pkgs.automake ];
meta.broken = since "12";
};
# NOTE: this is a stub package to fetch npm dependencies for
# ../../applications/video/epgstation
epgstation = super."epgstation-../../applications/video/epgstation".override (drv: {
buildInputs = [ self.node-pre-gyp self.node-gyp-build ];
meta = drv.meta // {
platforms = pkgs.lib.platforms.none;
};
});
# NOTE: this is a stub package to fetch npm dependencies for
# ../../applications/video/epgstation/client
epgstation-client = super."epgstation-client-../../applications/video/epgstation/client".override (drv: {
meta = drv.meta // {
platforms = pkgs.lib.platforms.none;
};
});
bitwarden-cli = super."@bitwarden/cli".override (drv: {
name = "bitwarden-cli-${drv.version}";
meta.mainProgram = "bw";
});
flood = super.flood.override {
buildInputs = [ self.node-pre-gyp ];
meta.mainProgram = "flood";
};
expo-cli = super."expo-cli".override (attrs: {
# The traveling-fastlane-darwin optional dependency aborts build on Linux.
dependencies = builtins.filter (d: d.packageName != "@expo/traveling-fastlane-${if stdenv.isLinux then "darwin" else "linux"}") attrs.dependencies;
});
"@electron-forge/cli" = super."@electron-forge/cli".override {
buildInputs = [ self.node-pre-gyp self.rimraf ];
};
git-ssb = super.git-ssb.override {
buildInputs = [ self.node-gyp-build ];
meta.broken = since "10";
};
hsd = super.hsd.override {
buildInputs = [ self.node-gyp-build pkgs.unbound ];
};
ijavascript = super.ijavascript.override (oldAttrs: {
preRebuild = ''
export NPM_CONFIG_ZMQ_EXTERNAL=true
'';
buildInputs = oldAttrs.buildInputs ++ [ self.node-gyp-build pkgs.zeromq ];
});
insect = super.insect.override (drv: {
nativeBuildInputs = drv.nativeBuildInputs or [] ++ [ pkgs.psc-package self.pulp ];
});
intelephense = super.intelephense.override {
meta.license = pkgs.lib.licenses.unfree;
};
jsonplaceholder = super.jsonplaceholder.override (drv: {
buildInputs = [ nodejs ];
postInstall = ''
exe=$out/bin/jsonplaceholder
mkdir -p $out/bin
cat >$exe <<EOF
#!${pkgs.runtimeShell}
exec -a jsonplaceholder ${nodejs}/bin/node $out/lib/node_modules/jsonplaceholder/index.js
EOF
chmod a+x $exe
'';
});
makam = super.makam.override {
buildInputs = [ pkgs.nodejs pkgs.makeWrapper ];
postFixup = ''
wrapProgram "$out/bin/makam" --prefix PATH : ${pkgs.lib.makeBinPath [ pkgs.nodejs ]}
${
if stdenv.isLinux
then "patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 \"$out/lib/node_modules/makam/makam-bin-linux64\""
else ""
}
'';
};
manta = super.manta.override {
nativeBuildInputs = with pkgs; [ nodejs-14_x installShellFiles ];
postInstall = ''
# create completions, following upstream procedure https://github.com/joyent/node-manta/blob/v5.2.3/Makefile#L85-L91
completion_cmds=$(find ./bin -type f -printf "%f\n")
node ./lib/create_client.js
for cmd in $completion_cmds; do
installShellCompletion --cmd $cmd --bash <(./bin/$cmd --completion)
done
'';
};
markdownlint-cli = super.markdownlint-cli.override {
meta.mainProgram = "markdownlint";
};
node-gyp = super.node-gyp.override {
nativeBuildInputs = [ pkgs.makeWrapper ];
# Teach node-gyp to use nodejs headers locally rather that download them form https://nodejs.org.
# This is important when build nodejs packages in sandbox.
postInstall = ''
wrapProgram "$out/bin/node-gyp" \
--set npm_config_nodedir ${nodejs}
'';
};
near-cli = super.near-cli.override {
nativeBuildInputs = with pkgs; [
libusb1
nodePackages.prebuild-install
nodePackages.node-gyp-build
pkg-config
];
};
node-inspector = super.node-inspector.override {
buildInputs = [ self.node-pre-gyp ];
meta.broken = since "10";
};
node2nix = super.node2nix.override {
buildInputs = [ pkgs.makeWrapper ];
# We need to use master because of a fix that replaces git:// url to https://.
src = fetchFromGitHub {
owner = "svanderburg";
repo = "node2nix";
rev = "68f5735f9a56737e3fedceb182705985e3ab8799";
sha256 = "sha256-NK6gDTkGx0GG7yPTwgtFC4ttQZPfcLaLp8W8OOMO6bg=";
};
postInstall = ''
wrapProgram "$out/bin/node2nix" --prefix PATH : ${pkgs.lib.makeBinPath [ pkgs.nix ]}
'';
};
node-red = super.node-red.override {
buildInputs = [ self.node-pre-gyp ];
};
mermaid-cli = super."@mermaid-js/mermaid-cli".override (
if stdenv.isDarwin
then {}
else {
nativeBuildInputs = [ pkgs.makeWrapper ];
prePatch = ''
export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1
'';
postInstall = ''
wrapProgram $out/bin/mmdc \
--set PUPPETEER_EXECUTABLE_PATH ${pkgs.chromium.outPath}/bin/chromium
'';
});
pnpm = super.pnpm.override {
nativeBuildInputs = [ pkgs.makeWrapper ];
preRebuild = ''
sed 's/"link:/"file:/g' --in-place package.json
'';
postInstall = let
pnpmLibPath = pkgs.lib.makeBinPath [
nodejs.passthru.python
nodejs
];
in ''
for prog in $out/bin/*; do
wrapProgram "$prog" --prefix PATH : ${pnpmLibPath}
done
'';
};
parcel = super.parcel.override {
buildInputs = [ self.node-gyp-build ];
preRebuild = ''
sed -i -e "s|#!/usr/bin/env node|#! ${pkgs.nodejs}/bin/node|" node_modules/node-gyp-build/bin.js
'';
};
postcss-cli = super.postcss-cli.override {
nativeBuildInputs = [ pkgs.makeWrapper ];
postInstall = ''
wrapProgram "$out/bin/postcss" \
--prefix NODE_PATH : ${self.postcss}/lib/node_modules \
--prefix NODE_PATH : ${self.autoprefixer}/lib/node_modules
ln -s '${self.postcss}/lib/node_modules/postcss' "$out/lib/node_modules/postcss"
'';
passthru.tests = {
simple-execution = pkgs.callPackage ./package-tests/postcss-cli.nix {
inherit (self) postcss-cli;
};
};
meta = {
mainProgram = "postcss";
maintainers = with lib.maintainers; [ Luflosi ];
};
};
# To update prisma, please first update prisma-engines to the latest
# version. Then change the correct hash to this package. The PR should hold
# two commits: one for the engines and the other one for the node package.
prisma = super.prisma.override rec {
nativeBuildInputs = [ pkgs.makeWrapper ];
inherit (pkgs.prisma-engines) version;
src = fetchurl {
url = "https://registry.npmjs.org/prisma/-/prisma-${version}.tgz";
sha512 = "sha512-l9MOgNCn/paDE+i1K2fp9NZ+Du4trzPTJsGkaQHVBufTGqzoYHuNk8JfzXuIn0Gte6/ZjyKj652Jq/Lc1tp2yw==";
};
postInstall = with pkgs; ''
wrapProgram "$out/bin/prisma" \
--set PRISMA_MIGRATION_ENGINE_BINARY ${prisma-engines}/bin/migration-engine \
--set PRISMA_QUERY_ENGINE_BINARY ${prisma-engines}/bin/query-engine \
--set PRISMA_QUERY_ENGINE_LIBRARY ${lib.getLib prisma-engines}/lib/libquery_engine.node \
--set PRISMA_INTROSPECTION_ENGINE_BINARY ${prisma-engines}/bin/introspection-engine \
--set PRISMA_FMT_BINARY ${prisma-engines}/bin/prisma-fmt
'';
passthru.tests = {
simple-execution = pkgs.callPackage ./package-tests/prisma.nix {
inherit (self) prisma;
};
};
};
pulp = super.pulp.override {
# tries to install purescript
npmFlags = "--ignore-scripts";
nativeBuildInputs = [ pkgs.makeWrapper ];
postInstall = ''
wrapProgram "$out/bin/pulp" --suffix PATH : ${pkgs.lib.makeBinPath [
pkgs.purescript
]}
'';
};
reveal-md = super.reveal-md.override (
lib.optionalAttrs (!stdenv.isDarwin) {
nativeBuildInputs = [ pkgs.makeWrapper ];
prePatch = ''
export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1
'';
postInstall = ''
wrapProgram $out/bin/reveal-md \
--set PUPPETEER_EXECUTABLE_PATH ${pkgs.chromium.outPath}/bin/chromium
'';
}
);
ssb-server = super.ssb-server.override {
buildInputs = [ pkgs.automake pkgs.autoconf self.node-gyp-build ];
meta.broken = since "10";
};
stf = super.stf.override {
meta.broken = since "10";
};
tailwindcss = super.tailwindcss.overrideAttrs (oldAttrs: {
plugins = [ ];
nativeBuildInputs = [ pkgs.makeWrapper ];
postInstall = ''
nodePath=""
for p in "$out" "${self.postcss}" $plugins; do
nodePath="$nodePath''${nodePath:+:}$p/lib/node_modules"
done
wrapProgram "$out/bin/tailwind" \
--prefix NODE_PATH : "$nodePath"
wrapProgram "$out/bin/tailwindcss" \
--prefix NODE_PATH : "$nodePath"
unset nodePath
'';
passthru.tests = {
simple-execution = pkgs.callPackage ./package-tests/tailwindcss.nix { inherit (self) tailwindcss; };
};
});
tedicross = super."tedicross-git+https://github.com/TediCross/TediCross.git#v0.8.7".override {
nativeBuildInputs = [ pkgs.makeWrapper ];
postInstall = ''
makeWrapper '${nodejs}/bin/node' "$out/bin/tedicross" \
--add-flags "$out/lib/node_modules/tedicross/main.js"
'';
};
thelounge-plugin-closepms = super.thelounge-plugin-closepms.override {
nativeBuildInputs = [ self.node-pre-gyp ];
};
thelounge-theme-flat-blue = super.thelounge-theme-flat-blue.override {
nativeBuildInputs = [ self.node-pre-gyp ];
};
thelounge-theme-flat-dark = super.thelounge-theme-flat-dark.override {
nativeBuildInputs = [ self.node-pre-gyp ];
};
tsun = super.tsun.overrideAttrs (oldAttrs: {
buildInputs = oldAttrs.buildInputs ++ [ pkgs.makeWrapper ];
postInstall = ''
wrapProgram "$out/bin/tsun" \
--prefix NODE_PATH : ${self.typescript}/lib/node_modules
'';
});
ts-node = super.ts-node.overrideAttrs (oldAttrs: {
buildInputs = oldAttrs.buildInputs ++ [ pkgs.makeWrapper ];
postInstall = ''
wrapProgram "$out/bin/ts-node" \
--prefix NODE_PATH : ${self.typescript}/lib/node_modules
'';
});
typescript = super.typescript.overrideAttrs (oldAttrs: {
meta = oldAttrs.meta // { mainProgram = "tsc"; };
});
typescript-language-server = super.typescript-language-server.override {
nativeBuildInputs = [ pkgs.makeWrapper ];
postInstall = ''
wrapProgram "$out/bin/typescript-language-server" \
--suffix PATH : ${pkgs.lib.makeBinPath [ self.typescript ]}
'';
};
teck-programmer = super.teck-programmer.override {
nativeBuildInputs = [ self.node-gyp-build ];
buildInputs = [ pkgs.libusb1 ];
};
uppy-companion = super."@uppy/companion".override {
name = "uppy-companion";
};
vega-cli = super.vega-cli.override {
nativeBuildInputs = [ pkgs.pkg-config ];
buildInputs = with pkgs; [
super.node-pre-gyp
pixman
cairo
pango
libjpeg
];
};
vega-lite = super.vega-lite.override {
postInstall = ''
cd node_modules
for dep in ${self.vega-cli}/lib/node_modules/vega-cli/node_modules/*; do
if [[ ! -d $dep ]]; then
ln -s "${self.vega-cli}/lib/node_modules/vega-cli/node_modules/$dep"
fi
done
'';
passthru.tests = {
simple-execution = pkgs.callPackage ./package-tests/vega-lite.nix {
inherit (self) vega-lite;
};
};
};
webtorrent-cli = super.webtorrent-cli.override {
buildInputs = [ self.node-gyp-build ];
};
joplin = super.joplin.override {
nativeBuildInputs = [ pkgs.pkg-config ];
buildInputs = with pkgs; [
# required by sharp
# https://sharp.pixelplumbing.com/install
vips
libsecret
self.node-gyp-build
self.node-pre-gyp
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.AppKit
darwin.apple_sdk.frameworks.Security
];
};
thelounge = super.thelounge.override {
buildInputs = [ self.node-pre-gyp ];
postInstall = ''
echo /var/lib/thelounge > $out/lib/node_modules/thelounge/.thelounge_home
patch -d $out/lib/node_modules/thelounge -p1 < ${./thelounge-packages-path.patch}
'';
passthru.tests = { inherit (nixosTests) thelounge; };
meta = super.thelounge.meta // { maintainers = with lib.maintainers; [ winter ]; };
};
triton = super.triton.override {
nativeBuildInputs = [ pkgs.installShellFiles ];
postInstall = ''
installShellCompletion --cmd triton --bash <($out/bin/triton completion)
'';
};
yaml-language-server = super.yaml-language-server.override {
nativeBuildInputs = [ pkgs.makeWrapper ];
postInstall = ''
wrapProgram "$out/bin/yaml-language-server" \
--prefix NODE_PATH : ${self.prettier}/lib/node_modules
'';
};
wavedrom-cli = super.wavedrom-cli.override {
nativeBuildInputs = [ pkgs.pkg-config self.node-pre-gyp ];
# These dependencies are required by
# https://github.com/Automattic/node-canvas.
buildInputs = with pkgs; [
pixman
cairo
pango
];
};
};
in self
mainProgramOverrides = final: prev:
mapAttrs (pkgName: mainProgram:
prev.${pkgName}.override (oldAttrs: {
meta = oldAttrs.meta // { inherit mainProgram; };
})
) (import ./main-programs.nix);
extensions = composeManyExtensions [
mainProgramOverrides
(import ./overrides.nix { inherit pkgs nodejs; })
];
in
makeExtensible (extends extensions nodePackages)

@ -0,0 +1,74 @@
# Use this file to add `meta.mainProgram` to packages in `nodePackages`, that don't provide an
# executable that matches that packages name, so that they'll work with `nix run`.
{
# Packages that provide multiple executables where one is clearly the `mainProgram`.
typescript = "tsc";
# Packages that provide a single executable whose name differs from the package's `name`.
"@angular/cli" = "ng";
"@antora/cli" = "antora";
"@astrojs/language-server" = "astro-ls";
"@bitwarden/cli" = "bw";
"@commitlint/cli" = "commitlint";
"@gitbeaker/cli" = "gitbeaker";
"@google/clasp" = "clasp";
"@hyperspace/cli" = "hyp";
"@medable/mdctl-cli" = "mdctl";
"@mermaid-js/mermaid-cli" = "mmdc";
"@nerdwallet/shepherd" = "shepherd";
"@nestjs/cli" = "nest";
"@prisma/language-server" = "prisma-language-server";
"@tailwindcss/language-server" = "tailwindcss-language-server";
"@uppy/companion" = "companion";
"@vue/cli" = "vue";
"@webassemblyjs/repl" = "wasm";
"@webassemblyjs/wasm-strip" = "wasm-strip";
"@webassemblyjs/wasm-text-gen" = "wasmgen";
"@webassemblyjs/wast-refmt" = "wast-refmt";
balanceofsatoshis = "bos";
carbon-now-cli = "carbon-now";
cdk8s-cli = "cdk8s";
cdktf-cli = "cdktf";
clean-css-cli = "cleancss";
clipboard-cli = "clipboard";
clubhouse-cli = "club";
conventional-changelog-cli = "conventional-changelog";
cpy-cli = "cpy";
dockerfile-language-server-nodejs = "docker-langserver";
fast-cli = "fast";
fauna-shell = "fauna";
firebase-tools = "firebase";
fkill-cli = "fkill";
fleek-cli = "fleek";
git-run = "gr";
gitmoji-cli = "gitmoji";
graphql-cli = "graphql";
grunt-cli = "grunt";
gulp-cli = "gulp";
kaput-cli = "kaput";
leetcode-cli = "leetcode";
less = "lessc";
lua-fmt = "luafmt";
markdownlint-cli = "markdownlint";
near-cli = "near";
neovim = "neovim-node-host";
parcel-bundler = "parcel";
parsoid = "parse.js";
poor-mans-t-sql-formatter-cli = "sqlformat";
postcss-cli = "postcss";
purescript-psa = "psa";
react-native-cli = "react-native";
react-tools = "jsx";
remod-cli = "remod";
s3http = "s3http.js";
svelte-language-server = "svelteserver";
teck-programmer = "teck-firmware-upgrade";
uglify-js = "uglifyjs";
undollar = "$";
vsc-leetcode-cli = "leetcode";
vscode-css-languageserver-bin = "css-languageserver";
vscode-html-languageserver-bin = "html-languageserver";
vscode-json-languageserver-bin = "json-languageserver";
vue-language-server = "vls";
webtorrent-cli = "webtorrent";
}

@ -0,0 +1,533 @@
# Do not use overrides in this file to add `meta.mainProgram` to packges. Use `./main-programs.nix`
# instead.
{ pkgs, nodejs }:
let
inherit (pkgs)
stdenv
lib
callPackage
fetchFromGitHub
fetchurl
nixosTests;
since = version: lib.versionAtLeast nodejs.version version;
before = version: lib.versionOlder nodejs.version version;
in
final: prev: {
"@angular/cli" = prev."@angular/cli".override {
prePatch = ''
export NG_CLI_ANALYTICS=false
'';
};
"@electron-forge/cli" = prev."@electron-forge/cli".override {
buildInputs = [ final.node-gyp-build ];
};
"@hyperspace/cli" = prev."@hyperspace/cli".override {
nativeBuildInputs = [ pkgs.makeWrapper ];
buildInputs = [ final.node-gyp-build ];
postInstall = ''wrapProgram "$out/bin/hyp" --prefix PATH : ${ lib.makeBinPath [ nodejs ] }'';
};
hyperspace-cli = final."@hyperspace/cli";
"@medable/mdctl-cli" = prev."@medable/mdctl-cli".override {
nativeBuildInputs = with pkgs; with darwin.apple_sdk.frameworks; [
glib
libsecret
pkg-config
] ++ lib.optionals stdenv.isDarwin [
AppKit
Security
];
buildInputs = [
final.node-gyp-build
final.node-pre-gyp
nodejs
];
};
mdctl-cli = final."@medable/mdctl-cli";
autoprefixer = prev.autoprefixer.override {
nativeBuildInputs = [ pkgs.makeWrapper ];
postInstall = ''
wrapProgram "$out/bin/autoprefixer" \
--prefix NODE_PATH : ${final.postcss}/lib/node_modules
'';
passthru.tests = {
simple-execution = callPackage ./package-tests/autoprefixer.nix { inherit (final) autoprefixer; };
};
};
aws-azure-login = prev.aws-azure-login.override (oldAttrs: {
nativeBuildInputs = [ pkgs.makeWrapper ];
prePatch = ''
export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1
'';
postInstall = ''
wrapProgram $out/bin/aws-azure-login \
--set PUPPETEER_EXECUTABLE_PATH ${pkgs.chromium}/bin/chromium
'';
meta = oldAttrs.meta // { platforms = lib.platforms.linux; };
});
bitwarden-cli = prev."@bitwarden/cli".override {
name = "bitwarden-cli";
};
bower2nix = prev.bower2nix.override {
nativeBuildInputs = [ pkgs.makeWrapper ];
postInstall = ''
for prog in bower2nix fetch-bower; do
wrapProgram "$out/bin/$prog" --prefix PATH : ${lib.makeBinPath [ pkgs.git pkgs.nix ]}
done
'';
};
carbon-now-cli = prev.carbon-now-cli.override {
nativeBuildInputs = [ pkgs.makeWrapper ];
prePatch = ''
export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1
'';
postInstall = ''
wrapProgram $out/bin/carbon-now \
--set PUPPETEER_EXECUTABLE_PATH ${pkgs.chromium.outPath}/bin/chromium
'';
};
coc-imselect = prev.coc-imselect.override (oldAttrs: {
meta = oldAttrs.meta // { broken = since "10"; };
});
dat = prev.dat.override (oldAttrs: {
buildInputs = [ final.node-gyp-build pkgs.libtool pkgs.autoconf pkgs.automake ];
meta = oldAttrs.meta // { broken = since "12"; };
});
deltachat-desktop = prev."deltachat-desktop-../../applications/networking/instant-messengers/deltachat-desktop".override (oldAttrs: {
meta = oldAttrs.meta // { broken = true; }; # use the top-level package instead
});
# NOTE: this is a stub package to fetch npm dependencies for
# ../../applications/video/epgstation
epgstation = prev."epgstation-../../applications/video/epgstation".override (oldAttrs: {
buildInputs = [ final.node-pre-gyp final.node-gyp-build ];
meta = oldAttrs.meta // { platforms = lib.platforms.none; };
});
# NOTE: this is a stub package to fetch npm dependencies for
# ../../applications/video/epgstation/client
epgstation-client = prev."epgstation-client-../../applications/video/epgstation/client".override (oldAttrs: {
meta = oldAttrs.meta // { platforms = lib.platforms.none; };
});
expo-cli = prev."expo-cli".override (oldAttrs: {
# The traveling-fastlane-darwin optional dependency aborts build on Linux.
dependencies = builtins.filter (d: d.packageName != "@expo/traveling-fastlane-${if stdenv.isLinux then "darwin" else "linux"}") oldAttrs.dependencies;
});
fast-cli = prev.fast-cli.override {
nativeBuildInputs = [ pkgs.makeWrapper ];
prePatch = ''
export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1
'';
postInstall = ''
wrapProgram $out/bin/fast \
--set PUPPETEER_EXECUTABLE_PATH ${pkgs.chromium.outPath}/bin/chromium
'';
};
flood = prev.flood.override {
buildInputs = [ final.node-pre-gyp ];
};
git-ssb = prev.git-ssb.override (oldAttrs: {
buildInputs = [ final.node-gyp-build ];
meta = oldAttrs.meta // { broken = since "10"; };
});
hsd = prev.hsd.override {
buildInputs = [ final.node-gyp-build pkgs.unbound ];
};
ijavascript = prev.ijavascript.override (oldAttrs: {
preRebuild = ''
export NPM_CONFIG_ZMQ_EXTERNAL=true
'';
buildInputs = oldAttrs.buildInputs ++ [ final.node-gyp-build pkgs.zeromq ];
});
insect = prev.insect.override (oldAttrs: {
nativeBuildInputs = oldAttrs.nativeBuildInputs or [] ++ [ pkgs.psc-package final.pulp ];
});
intelephense = prev.intelephense.override (oldAttrs: {
meta = oldAttrs.meta // { license = lib.licenses.unfree; };
});
joplin = prev.joplin.override {
nativeBuildInputs = [ pkgs.pkg-config ];
buildInputs = with pkgs; [
# required by sharp
# https://sharp.pixelplumbing.com/install
vips
libsecret
final.node-gyp-build
final.node-pre-gyp
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.AppKit
darwin.apple_sdk.frameworks.Security
];
};
jsonplaceholder = prev.jsonplaceholder.override {
buildInputs = [ nodejs ];
postInstall = ''
exe=$out/bin/jsonplaceholder
mkdir -p $out/bin
cat >$exe <<EOF
#!${pkgs.runtimeShell}
exec -a jsonplaceholder ${nodejs}/bin/node $out/lib/node_modules/jsonplaceholder/index.js
EOF
chmod a+x $exe
'';
};
makam = prev.makam.override {
nativeBuildInputs = [ pkgs.makeWrapper ];
postFixup = ''
wrapProgram "$out/bin/makam" --prefix PATH : ${lib.makeBinPath [ nodejs ]}
${
if stdenv.isLinux
then "patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 \"$out/lib/node_modules/makam/makam-bin-linux64\""
else ""
}
'';
};
manta = prev.manta.override {
nativeBuildInputs = with pkgs; [ nodejs-14_x installShellFiles ];
postInstall = ''
# create completions, following upstream procedure https://github.com/joyent/node-manta/blob/v5.2.3/Makefile#L85-L91
completion_cmds=$(find ./bin -type f -printf "%f\n")
node ./lib/create_client.js
for cmd in $completion_cmds; do
installShellCompletion --cmd $cmd --bash <(./bin/$cmd --completion)
done
'';
};
mermaid-cli = prev."@mermaid-js/mermaid-cli".override (
if stdenv.isDarwin
then {}
else {
nativeBuildInputs = [ pkgs.makeWrapper ];
prePatch = ''
export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1
'';
postInstall = ''
wrapProgram $out/bin/mmdc \
--set PUPPETEER_EXECUTABLE_PATH ${pkgs.chromium.outPath}/bin/chromium
'';
});
near-cli = prev.near-cli.override {
nativeBuildInputs = with pkgs; [
libusb1
final.prebuild-install
final.node-gyp-build
pkg-config
];
};
node-gyp = prev.node-gyp.override {
nativeBuildInputs = [ pkgs.makeWrapper ];
# Teach node-gyp to use nodejs headers locally rather that download them form https://nodejs.org.
# This is important when build nodejs packages in sandbox.
postInstall = ''
wrapProgram "$out/bin/node-gyp" \
--set npm_config_nodedir ${nodejs}
'';
};
node-inspector = prev.node-inspector.override (oldAttrs: {
buildInputs = [ final.node-pre-gyp ];
meta = oldAttrs.meta // { broken = since "10"; };
});
node-red = prev.node-red.override {
buildInputs = [ final.node-pre-gyp ];
};
node2nix = prev.node2nix.override {
nativeBuildInputs = [ pkgs.makeWrapper ];
# We need to use master because of a fix that replaces git:// url to https://.
src = fetchFromGitHub {
owner = "svanderburg";
repo = "node2nix";
rev = "68f5735f9a56737e3fedceb182705985e3ab8799";
sha256 = "sha256-NK6gDTkGx0GG7yPTwgtFC4ttQZPfcLaLp8W8OOMO6bg=";
};
postInstall = ''
wrapProgram "$out/bin/node2nix" --prefix PATH : ${lib.makeBinPath [ pkgs.nix ]}
'';
};
parcel = prev.parcel.override {
buildInputs = [ final.node-gyp-build ];
preRebuild = ''
sed -i -e "s|#!/usr/bin/env node|#! ${nodejs}/bin/node|" node_modules/node-gyp-build/bin.js
'';
};
pnpm = prev.pnpm.override {
nativeBuildInputs = [ pkgs.makeWrapper ];
preRebuild = ''
sed 's/"link:/"file:/g' --in-place package.json
'';
postInstall = let
pnpmLibPath = lib.makeBinPath [
nodejs.passthru.python
nodejs
];
in ''
for prog in $out/bin/*; do
wrapProgram "$prog" --prefix PATH : ${pnpmLibPath}
done
'';
};
postcss-cli = prev.postcss-cli.override (oldAttrs: {
nativeBuildInputs = [ pkgs.makeWrapper ];
postInstall = ''
wrapProgram "$out/bin/postcss" \
--prefix NODE_PATH : ${final.postcss}/lib/node_modules \
--prefix NODE_PATH : ${final.autoprefixer}/lib/node_modules
ln -s '${final.postcss}/lib/node_modules/postcss' "$out/lib/node_modules/postcss"
'';
passthru.tests = {
simple-execution = callPackage ./package-tests/postcss-cli.nix {
inherit (final) postcss-cli;
};
};
meta = oldAttrs.meta // { maintainers = with lib.maintainers; [ Luflosi ]; };
});
# To update prisma, please first update prisma-engines to the latest
# version. Then change the correct hash to this package. The PR should hold
# two commits: one for the engines and the other one for the node package.
prisma = prev.prisma.override rec {
nativeBuildInputs = [ pkgs.makeWrapper ];
inherit (pkgs.prisma-engines) version;
src = fetchurl {
url = "https://registry.npmjs.org/prisma/-/prisma-${version}.tgz";
sha512 = "sha512-l9MOgNCn/paDE+i1K2fp9NZ+Du4trzPTJsGkaQHVBufTGqzoYHuNk8JfzXuIn0Gte6/ZjyKj652Jq/Lc1tp2yw==";
};
postInstall = with pkgs; ''
wrapProgram "$out/bin/prisma" \
--set PRISMA_MIGRATION_ENGINE_BINARY ${prisma-engines}/bin/migration-engine \
--set PRISMA_QUERY_ENGINE_BINARY ${prisma-engines}/bin/query-engine \
--set PRISMA_QUERY_ENGINE_LIBRARY ${lib.getLib prisma-engines}/lib/libquery_engine.node \
--set PRISMA_INTROSPECTION_ENGINE_BINARY ${prisma-engines}/bin/introspection-engine \
--set PRISMA_FMT_BINARY ${prisma-engines}/bin/prisma-fmt
'';
passthru.tests = {
simple-execution = pkgs.callPackage ./package-tests/prisma.nix {
inherit (final) prisma;
};
};
};
pulp = prev.pulp.override {
# tries to install purescript
npmFlags = "--ignore-scripts";
nativeBuildInputs = [ pkgs.makeWrapper ];
postInstall = ''
wrapProgram "$out/bin/pulp" --suffix PATH : ${lib.makeBinPath [
pkgs.purescript
]}
'';
};
reveal-md = prev.reveal-md.override (
lib.optionalAttrs (!stdenv.isDarwin) {
nativeBuildInputs = [ pkgs.makeWrapper ];
prePatch = ''
export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1
'';
postInstall = ''
wrapProgram $out/bin/reveal-md \
--set PUPPETEER_EXECUTABLE_PATH ${pkgs.chromium.outPath}/bin/chromium
'';
}
);
ssb-server = prev.ssb-server.override (oldAttrs: {
buildInputs = [ pkgs.automake pkgs.autoconf final.node-gyp-build ];
meta = oldAttrs.meta // { broken = since "10"; };
});
stf = prev.stf.override (oldAttrs: {
meta = oldAttrs.meta // { broken = since "10"; };
});
tailwindcss = prev.tailwindcss.override {
plugins = [ ];
nativeBuildInputs = [ pkgs.makeWrapper ];
postInstall = ''
nodePath=""
for p in "$out" "${final.postcss}" $plugins; do
nodePath="$nodePath''${nodePath:+:}$p/lib/node_modules"
done
wrapProgram "$out/bin/tailwind" \
--prefix NODE_PATH : "$nodePath"
wrapProgram "$out/bin/tailwindcss" \
--prefix NODE_PATH : "$nodePath"
unset nodePath
'';
passthru.tests = {
simple-execution = callPackage ./package-tests/tailwindcss.nix {
inherit (final) tailwindcss;
};
};
};
teck-programmer = prev.teck-programmer.override {
nativeBuildInputs = [ final.node-gyp-build ];
buildInputs = [ pkgs.libusb1 ];
};
tedicross = prev."tedicross-git+https://github.com/TediCross/TediCross.git#v0.8.7".override {
nativeBuildInputs = [ pkgs.makeWrapper ];
postInstall = ''
makeWrapper '${nodejs}/bin/node' "$out/bin/tedicross" \
--add-flags "$out/lib/node_modules/tedicross/main.js"
'';
};
thelounge = prev.thelounge.override (oldAttrs: {
buildInputs = [ final.node-pre-gyp ];
postInstall = ''
echo /var/lib/thelounge > $out/lib/node_modules/thelounge/.thelounge_home
patch -d $out/lib/node_modules/thelounge -p1 < ${./thelounge-packages-path.patch}
'';
passthru.tests = { inherit (nixosTests) thelounge; };
meta = oldAttrs.meta // { maintainers = with lib.maintainers; [ winter ]; };
});
thelounge-plugin-closepms = prev.thelounge-plugin-closepms.override {
nativeBuildInputs = [ final.node-pre-gyp ];
};
thelounge-plugin-giphy = prev.thelounge-plugin-giphy.override {
nativeBuildInputs = [ final.node-pre-gyp ];
};
thelounge-theme-flat-blue = prev.thelounge-theme-flat-blue.override {
nativeBuildInputs = [ final.node-pre-gyp ];
};
thelounge-theme-flat-dark = prev.thelounge-theme-flat-dark.override {
nativeBuildInputs = [ final.node-pre-gyp ];
};
triton = prev.triton.override {
nativeBuildInputs = [ pkgs.installShellFiles ];
postInstall = ''
installShellCompletion --cmd triton --bash <($out/bin/triton completion)
'';
};
ts-node = prev.ts-node.override {
nativeBuildInputs = [ pkgs.makeWrapper ];
postInstall = ''
wrapProgram "$out/bin/ts-node" \
--prefix NODE_PATH : ${final.typescript}/lib/node_modules
'';
};
tsun = prev.tsun.override {
nativeBuildInputs = [ pkgs.makeWrapper ];
postInstall = ''
wrapProgram "$out/bin/tsun" \
--prefix NODE_PATH : ${final.typescript}/lib/node_modules
'';
};
typescript-language-server = prev.typescript-language-server.override {
nativeBuildInputs = [ pkgs.makeWrapper ];
postInstall = ''
wrapProgram "$out/bin/typescript-language-server" \
--suffix PATH : ${lib.makeBinPath [ final.typescript ]}
'';
};
uppy-companion = prev."@uppy/companion".override {
name = "uppy-companion";
};
vega-cli = prev.vega-cli.override {
nativeBuildInputs = [ pkgs.pkg-config ];
buildInputs = with pkgs; [
final.node-pre-gyp
pixman
cairo
pango
libjpeg
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.CoreText
];
};
vega-lite = prev.vega-lite.override {
postInstall = ''
cd node_modules
for dep in ${final.vega-cli}/lib/node_modules/vega-cli/node_modules/*; do
if [[ ! -d $dep ]]; then
ln -s "${final.vega-cli}/lib/node_modules/vega-cli/node_modules/$dep"
fi
done
'';
passthru.tests = {
simple-execution = callPackage ./package-tests/vega-lite.nix {
inherit (final) vega-lite;
};
};
};
wavedrom-cli = prev.wavedrom-cli.override {
nativeBuildInputs = [ pkgs.pkg-config final.node-pre-gyp ];
# These dependencies are required by
# https://github.com/Automattic/node-canvas.
buildInputs = with pkgs; [
pixman
cairo
pango
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.CoreText
];
};
webtorrent-cli = prev.webtorrent-cli.override {
buildInputs = [ final.node-gyp-build ];
};
yaml-language-server = prev.yaml-language-server.override {
nativeBuildInputs = [ pkgs.makeWrapper ];
postInstall = ''
wrapProgram "$out/bin/yaml-language-server" \
--prefix NODE_PATH : ${final.prettier}/lib/node_modules
'';
};
}

@ -42,6 +42,10 @@ let
version = "8.06.11";
sha256 = "1zjpg9jvs6i9jvbgn6zgispwqiv8rxvaszxcx9ha9fax3wzhv9qy";
};
"4.14" = mkNewParam {
version = "8.06.12";
sha256 = "sha256:17fmb13l18isgwr38hg9r5a0nayf2hhw6acj5153cy1sygsdg3b5";
};
};
param = params . ${lib.versions.majorMinor ocaml.version}
or (throw "labltk is not available for OCaml ${ocaml.version}");

@ -13,8 +13,6 @@ buildPecl rec {
internalDeps = [
php.extensions.session
] ++ lib.optionals (lib.versionOlder php.version "7.4") [
php.extensions.hash
];
configureFlags = [

@ -9,7 +9,6 @@ buildPecl {
sha256 = "sha256-Rhoa4ny86dwB3e86/1W30AlDGRUDYjK8RusquKF5Izg=";
buildInputs = [ pcre2 ] ++ lib.optionals (!stdenv.isDarwin) [ valgrind ];
internalDeps = lib.optionals (lib.versionOlder php.version "7.4") [ php.extensions.hash ];
meta = with lib; {
changelog = "https://pecl.php.net/package/openswoole/${version}";

@ -10,8 +10,6 @@ buildPecl {
session
] ++ lib.optionals (lib.versionOlder php.version "8.0") [
json
] ++ lib.optionals (lib.versionOlder php.version "7.4") [
hash
];
meta = with lib; {

@ -22,8 +22,6 @@ buildPecl rec {
internalDeps = with php.extensions; [
session
] ++ lib.optionals (lib.versionOlder php.version "7.4") [
hash
];
patches = [

@ -7,7 +7,6 @@ buildPecl {
sha256 = "sha256-SnhDRC7/a7BTHn87c6YCz/R8jI6aES1ibSD6YAl6R+I=";
buildInputs = [ pcre2 ] ++ lib.optionals (!stdenv.isDarwin) [ valgrind ];
internalDeps = lib.optionals (lib.versionOlder php.version "7.4") [ php.extensions.hash ];
doCheck = true;
checkTarget = "tests";

@ -2,15 +2,19 @@
, buildPythonPackage
, fetchPypi
, python
, pythonOlder
}:
buildPythonPackage rec {
pname = "bitarray";
version = "2.4.1";
version = "2.5.1";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-+uygP5eemSzHb3QGr365eVyxEbjYlpyJGgMr10l8h9o=";
hash = "sha256-jTj2B1EAgJmmWdWs+zXvQVAYPv/Vsr+mwQGZJw3fTJw=";
};
checkPhase = ''
@ -18,13 +22,15 @@ buildPythonPackage rec {
${python.interpreter} -c 'import bitarray; bitarray.test()'
'';
pythonImportsCheck = [ "bitarray" ];
pythonImportsCheck = [
"bitarray"
];
meta = with lib; {
description = "Efficient arrays of booleans";
homepage = "https://github.com/ilanschnell/bitarray";
changelog = "https://github.com/ilanschnell/bitarray/blob/master/CHANGE_LOG";
changelog = "https://github.com/ilanschnell/bitarray/raw/${version}/CHANGE_LOG";
license = licenses.psfl;
maintainers = [ maintainers.bhipple ];
maintainers = with maintainers; [ bhipple ];
};
}

@ -11,14 +11,14 @@
buildPythonPackage rec {
pname = "browser-cookie3";
version = "0.14.0";
version = "0.14.1";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-kWYMl/JZxonLfT0u/13bXz0MlC36jssWWq/i05FDpOA=";
hash = "sha256-2cMWFyHK+7M99Z9O7PiKue37c5XVBe/n88AF5ax7A2s=";
};
propagatedBuildInputs = [

@ -16,14 +16,14 @@
buildPythonPackage rec {
pname = "fakeredis";
version = "1.7.4";
version = "1.7.5";
format = "pyproject";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-aWl//usJk5BzYF7qyX9SS8yrrgQmV1eldcf8kjCHqmU=";
hash = "sha256-STdcYwmB3UBF2akuJwn81Edskfkn4CKEk+76Yl5wUTM=";
};
postPatch = ''

@ -10,6 +10,7 @@
, pythonOlder
, pytz
, six
, werkzeug
}:
buildPythonPackage rec {
@ -25,7 +26,7 @@ buildPythonPackage rec {
hash = "sha256-zOxlC4NdSBkhOMhTKa4Dc15s7VjpstnCFG1shMBvpT4=";
};
patches = [
patches = lib.optionals (lib.versionAtLeast werkzeug.version "2.1.0") [
./werkzeug-2.1.0-compat.patch
];

@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "grpcio-status";
version = "1.45.0";
version = "1.46.1";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-S6rY6Ow8RHiOA4wk49fccCWeBroJ9ApbgXhThWO6Plo=";
sha256 = "700ad7bdc2da6b1d873ae9abffd957b3df6b74c8ca4b34c50bf1b062ae10a620";
};
propagatedBuildInputs = [

@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "grpcio-tools";
version = "1.45.0";
version = "1.46.1";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-oBbPwh4NkbOwNtPU+WjR/eqGXfoDUkyx++yoRxn9RaI=";
sha256 = "d54d80a4cfd7da002893711af613c9c9358dddfdd27feea44eb902c495b09105";
};
outputs = [ "out" "dev" ];

@ -5,7 +5,7 @@
, ninja
, pkg-config
, python3
, python
, pygobject3
, gobject-introspection
, gst-plugins-base
@ -32,7 +32,7 @@ buildPythonPackage rec {
meson
ninja
pkg-config
python3
python
gobject-introspection
gst-plugins-base
];
@ -43,7 +43,7 @@ buildPythonPackage rec {
];
mesonFlags = [
"-Dpygi-overrides-dir=${placeholder "out"}/${python3.sitePackages}/gi/overrides"
"-Dpygi-overrides-dir=${placeholder "out"}/${python.sitePackages}/gi/overrides"
];
doCheck = true;

@ -1,4 +1,5 @@
{ lib
, stdenv
, buildPythonPackage
, fetchFromGitHub
, installShellFiles
@ -82,6 +83,19 @@ buildPythonPackage rec {
"httpie"
];
disabledTestPaths = lib.optionals stdenv.isDarwin [
# flaky
"tests/test_plugins_cli.py"
];
disabledTests = [
# flaky
"test_stdin_read_warning"
] ++ lib.optionals stdenv.isDarwin [
# flaky
"test_daemon_runner"
];
meta = with lib; {
description = "A command line HTTP client whose goal is to make CLI human-friendly";
homepage = "https://httpie.org/";

@ -13,13 +13,13 @@
buildPythonPackage rec {
pname = "osmpythontools";
version = "0.3.3";
version = "0.3.4";
src = fetchFromGitHub {
owner = "mocnik-science";
repo = "osm-python-tools";
rev = "v.${version}";
sha256 = "sha256-335zo/kOX4OpUwHas2aaPibY6zNmDaaHJpolbTQWqKk=";
rev = "v${version}";
sha256 = "sha256-7r42b/B9h7cMgM+wFS0Fink/3WjUNvz+PwLn3C5hawc=";
};
propagatedBuildInputs = [
@ -54,6 +54,7 @@ buildPythonPackage rec {
'';
homepage = "https://github.com/mocnik-science/osm-python-tools";
license = licenses.gpl3Only;
changelog = "https://raw.githubusercontent.com/mocnik-science/osm-python-tools/v${version}/version-history.md";
maintainers = with maintainers; [ das-g ];
};
}

@ -7,14 +7,14 @@
buildPythonPackage rec {
pname = "pex";
version = "2.1.85";
version = "2.1.87";
format = "flit";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-ABRidGtJikMIHItT21MJdiIqpA26IUN1aFMNyRVKyDA=";
hash = "sha256-LPOHpylnWxwEdPT3oJjbn8NkTY9tE/pMyGE8Dy7nwrU=";
};
nativeBuildInputs = [

@ -11,14 +11,16 @@
buildPythonPackage rec {
pname = "proxmoxer";
version = "1.3.0";
disabled = pythonOlder "3.6";
version = "1.3.1";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = version;
sha256 = "sha256-3EpId20WVVjXA/wxwy1peyHPcXdiT3fprABkcNBpZtE=";
rev = "refs/tags/${version}";
hash = "sha256-FY0JLDBoKmh85VoKh3UuPPRbMAIjs3l/fZM4owniH1c=";
};
propagatedBuildInputs = [
@ -32,9 +34,14 @@ buildPythonPackage rec {
pytestCheckHook
];
# Tests require openssh_wrapper which is outdated and not available
pytestFlagsArray = [ "tests/paramiko_tests.py" ];
pythonImportsCheck = [ "proxmoxer" ];
pytestFlagsArray = [
# Tests require openssh_wrapper which is outdated and not available
"tests/paramiko_tests.py"
];
pythonImportsCheck = [
"proxmoxer"
];
meta = with lib; {
description = "Python wrapper for Proxmox API v2";

@ -6,14 +6,14 @@
buildPythonPackage rec {
pname = "puremagic";
version = "1.13";
version = "1.14";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-yaHw/pOqWLUtYoM3l/JB0JToLXdi04n0BSccRdbCVDw=";
sha256 = "sha256-PV3ybMfsmuu/hCoJEVovqF3FnqZBT6VoVyxEd115bLw=";
};
# test data not included on pypi

@ -1,14 +1,10 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, python3Packages
, pkgs
, fetchzip
, mouseinfo
, pygetwindow
, pymsgbox
, pyperclip
, pyrect
, pyscreeze
, pytweening
, tkinter

@ -2,17 +2,21 @@
, buildPythonPackage
, fetchPypi
, matchpy
, pytools
, pytestCheckHook
, pythonOlder
, pytools
}:
buildPythonPackage rec {
pname = "pymbolic";
version = "2022.1";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-tS9FHdC5gD4D3jMgrzt85XIwcAYcbSMcACFvbaQlkBI=";
hash = "sha256-tS9FHdC5gD4D3jMgrzt85XIwcAYcbSMcACFvbaQlkBI=";
};
propagatedBuildInputs = [
@ -24,10 +28,20 @@ buildPythonPackage rec {
pytestCheckHook
];
postPatch = ''
# pytest is a test requirement not a run-time one
substituteInPlace setup.py \
--replace '"pytest>=2.3",' ""
'';
pythonImportsCheck = [
"pymbolic"
];
meta = with lib; {
description = "A package for symbolic computation";
homepage = "https://documen.tician.de/pymbolic/";
license = licenses.mit;
maintainers = [ maintainers.costrouc ];
maintainers = with maintainers; [ costrouc ];
};
}

@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "pydicom";
repo = pname;
rev = "v${version}";
sha256 = "sha256-/JWQUtFBW4uqCbs/nUxj1pRBfTCXV4wcqTkqvzpdFrM=";
hash = "sha256-/JWQUtFBW4uqCbs/nUxj1pRBfTCXV4wcqTkqvzpdFrM=";
};
propagatedBuildInputs = [
@ -41,6 +41,7 @@ buildPythonPackage rec {
"TestEchoSCP"
"TestEchoSCPCLI"
"TestEventHandlingAcceptor"
"TestEventHandlingRequestor"
"TestFindSCP"
"TestFindSCPCLI"
"TestGetSCP"

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "pyrogram";
version = "2.0.19";
version = "2.0.23";
disabled = pythonOlder "3.7";
@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "pyrogram";
repo = "pyrogram";
rev = "v${version}";
hash = "sha256-HcUawiKlPS0zqB5kEScfV82xnLG0n62owzK5upOLn4I=";
hash = "sha256-+qJfqC6jLfrPwXl6zR7b21jY/s9leWeBxVgMa1IDRg4=";
};
propagatedBuildInputs = [

@ -1,5 +1,4 @@
{ buildPythonPackage
, python3
, lib
, fetchFromGitHub
, cmake

@ -5,7 +5,8 @@
, glib
, vips
, cffi
, pkgconfig
, pkgconfig # from pythonPackages
, pkg-config # from pkgs
, lib }:
buildPythonPackage rec {
@ -19,7 +20,7 @@ buildPythonPackage rec {
sha256 = "sha256-qMVoVzqXALhPWVKLzu+VqihHPN7J+pMhKnXdb+ow0zw=";
};
nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ pkgconfig pkg-config ];
buildInputs = [ glib vips ];

@ -0,0 +1,53 @@
{ lib
, buildPythonPackage
, fetchPypi
, flit
, jinja2
, ruamel-yaml
, matplotlib
, pandas
, pandoc
, pygments
, blessings
, curio
, hypothesis
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "reportengine";
version = "0.30.dev0";
format = "pyproject";
src = fetchPypi {
inherit pname version;
sha256 = "eb612994b7f364e872301b4569b544648e95e587d803284ddb5610efc8f2170f";
};
nativeBuildInputs = [ flit ];
propagatedBuildInputs = [
jinja2
ruamel-yaml
matplotlib
pandas
pygments
blessings
curio
];
checkInputs = [
hypothesis
pandoc
pytestCheckHook
];
pythonImportsCheck = [ "reportengine" ];
meta = with lib; {
description = "A framework for declarative data analysis";
homepage = "https://github.com/NNPDF/reportengine/";
license = with licenses; [ gpl2Only ];
maintainers = with maintainers; [ veprbl ];
};
}

@ -1,4 +1,5 @@
{ lib
, stdenv
, buildPythonPackage
, fetchPypi
, matplotlib
@ -33,16 +34,19 @@ buildPythonPackage rec {
];
disabledTests = [
# Tests fail because of AttributeError:...
# incompatible with matplotlib 3.5
"TestKDEPlotBivariate"
"TestBoxPlotter"
"TestCatPlot"
"TestKDEPlotUnivariate"
"test_with_rug"
"test_bivariate_kde_norm"
] ++ lib.optionals (!stdenv.hostPlatform.isx86) [
# overly strict float tolerances
"TestDendrogram"
];
pythonImportsCheck= [
pythonImportsCheck = [
"seaborn"
];

@ -24,7 +24,7 @@
, hacking
, oslotest
, bash
, python3
, python
}:
buildPythonApplication rec {
@ -76,8 +76,8 @@ buildPythonApplication rec {
# Tests expect these applications available as such.
mkdir -p bin
export PATH="$PWD/bin:$PATH"
printf '#!${bash}/bin/bash\nexec ${python3.interpreter} -m tempest.cmd.main "$@"\n' > bin/tempest
printf '#!${bash}/bin/bash\nexec ${python3.interpreter} -m tempest.cmd.subunit_describe_calls "$@"\n' > bin/subunit-describe-calls
printf '#!${bash}/bin/bash\nexec ${python.interpreter} -m tempest.cmd.main "$@"\n' > bin/tempest
printf '#!${bash}/bin/bash\nexec ${python.interpreter} -m tempest.cmd.subunit_describe_calls "$@"\n' > bin/subunit-describe-calls
chmod +x bin/*
stestr --test-path tempest/tests run -e <(echo "

@ -0,0 +1,42 @@
{ lib
, buildPythonPackage
, fetchPypi
, requests
, pytestCheckHook
, responses
}:
buildPythonPackage rec {
pname = "tesla-powerwall";
version = "0.3.17";
format = "setuptools";
src = fetchPypi {
pname = "tesla_powerwall";
inherit version;
sha256 = "09351e408e8e3cc03414944c1a487ef2178300829559e80835026acb84330cfd";
};
propagatedBuildInputs = [
requests
];
checkInputs = [
pytestCheckHook
responses
];
pytestFlagsArray = [
"tests/unit"
];
pythonImportsCheck = [ "tesla_powerwall" ];
meta = {
description = "API for Tesla Powerwall";
homepage = "https://github.com/jrester/tesla_powerwall";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "time-machine";
version = "2.6.0";
version = "2.7.0";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "adamchainz";
repo = pname;
rev = version;
sha256 = "sha256-D3cbArF09b5+LkkdosNbYMfndnzCPWwNqzIww23pOtk=";
sha256 = "sha256-d/jUyzqC4weWdY2x6lf85noE/6gNBFhhDfAaYcwB9XQ=";
};
propagatedBuildInputs = [

@ -1,13 +1,18 @@
{ lib
, python3Packages
, buildPythonPackage
, fetchFromGitHub
, asgineer
, itemdb
, jinja2
, markdown
, pscript
, pyjwt
, uvicorn
, pytestCheckHook
, requests
, pytest
, pythonOlder
}:
python3Packages.buildPythonPackage rec {
buildPythonPackage rec {
pname = "timetagger";
version = "22.4.2";
@ -18,7 +23,7 @@ python3Packages.buildPythonPackage rec {
sha256 = "sha256-CWY+5O4Y1dvKQNy1Cclqj4+U6q5vVVj9hZq41MYqXKs=";
};
propagatedBuildInputs = with python3Packages; [
propagatedBuildInputs = [
asgineer
itemdb
jinja2
@ -35,12 +40,8 @@ python3Packages.buildPythonPackage rec {
checkInputs = [
pytestCheckHook
requests
pytest
];
# fails with `No module named pytest` on python version 3.10
doCheck = pythonOlder "3.10";
meta = with lib; {
homepage = "https://timetagger.app";
license = licenses.gpl3Only;

@ -0,0 +1,37 @@
{ lib
, buildPythonPackage
, nnpdf
, reportengine
}:
buildPythonPackage rec {
pname = "validphys2";
version = "4.0";
format = "setuptools";
inherit (nnpdf) src;
prePatch = ''
cd validphys2
'';
postPatch = ''
substituteInPlace src/validphys/version.py \
--replace '= __give_git()' '= "${version}"'
'';
propagatedBuildInputs = [
nnpdf
reportengine
];
doCheck = false; # no tests
pythonImportsCheck = [ "validphys" ];
meta = with lib; {
description = "NNPDF analysis framework";
homepage = "https://data.nnpdf.science/validphys-docs/guide.html";
inherit (nnpdf.meta) license;
maintainers = with maintainers; [ veprbl ];
};
}

@ -0,0 +1,42 @@
{ lib
, buildPythonPackage
, pythonOlder
, fetchFromGitHub
, construct
, websockets
, asynctest
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "vallox-websocket-api";
version = "2.11.0";
disabled = pythonOlder "3.6";
format = "setuptools";
src = fetchFromGitHub {
owner = "yozik04";
repo = "vallox_websocket_api";
rev = version;
hash = "sha256-wZiPrPl9ESp43PFdRPvqB2nOg+ogfaArunZOR3Q9cvs=";
};
propagatedBuildInputs = [
construct
websockets
];
checkInputs = [
asynctest
pytestCheckHook
];
meta = {
description = "Async API for Vallox ventilation units";
homepage = "https://github.com/yozik04/vallox_websocket_api";
license = lib.licenses.lgpl3Only;
maintainers = with lib.maintainers; [ dotlambda ];
};
}

@ -1,62 +0,0 @@
{ lib, stdenv, buildPythonPackage, fetchPypi
, itsdangerous, hypothesis
, pytestCheckHook, requests
, pytest-timeout
, isPy3k
}:
buildPythonPackage rec {
pname = "Werkzeug";
version = "1.0.1";
src = fetchPypi {
inherit pname version;
sha256 = "6c80b1e5ad3665290ea39320b91e1be1e0d5f60652b964a3070216de83d2e47c";
};
propagatedBuildInputs = [ itsdangerous ];
checkInputs = [ pytestCheckHook requests hypothesis pytest-timeout ];
postPatch = ''
# ResourceWarning causes tests to fail
rm tests/test_routing.py
'';
disabledTests = [
"test_save_to_pathlib_dst"
"test_cookie_maxsize"
"test_cookie_samesite_attribute"
"test_cookie_samesite_invalid"
"test_range_parsing"
"test_content_range_parsing"
"test_http_date_lt_1000"
"test_best_match_works"
"test_date_to_unix"
"test_easteregg"
# Seems to be a problematic test-case:
#
# > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
# E pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO [closed]>
# E
# E Traceback (most recent call last):
# E File "/nix/store/cwv8aj4vsqvimzljw5dxsxy663vjgibj-python3.9-Werkzeug-1.0.1/lib/python3.9/site-packages/werkzeug/formparser.py", line 318, in parse_multipart_headers
# E return Headers(result)
# E ResourceWarning: unclosed file <_io.FileIO name=11 mode='rb+' closefd=True>
"test_basic_routing"
"test_merge_slashes_match"
"test_merge_slashes_build"
"TestMultiPart"
"TestHTTPUtility"
] ++ lib.optionals stdenv.isDarwin [
"test_get_machine_id"
];
meta = with lib; {
homepage = "https://palletsprojects.com/p/werkzeug/";
description = "A WSGI utility library for Python";
license = licenses.bsd3;
maintainers = [ ];
};
}

@ -8,7 +8,7 @@
}:
buildPythonPackage rec {
version = "1.10.0";
version = "1.11.0";
pname = "xmlschema";
disabled = pythonOlder "3.6";
@ -16,8 +16,8 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "sissaschool";
repo = "xmlschema";
rev = "v${version}";
sha256 = "sha256-er6+/2fZTw+CDIwCGqTNoXi7KJ3XOsbcWYaH8A2SSgo=";
rev = "refs/tags/v${version}";
sha256 = "sha256-WnX4MmrHHELzUcUnP34A+kK0x4ARm6qrEN7+KQk9/Ts=";
};
propagatedBuildInputs = [

@ -26,5 +26,6 @@ rustPlatform.buildRustPackage rec {
homepage = "https://github.com/xd009642/tarpaulin";
license = with licenses; [ mit /* or */ asl20 ];
maintainers = with maintainers; [ hugoreeves ];
platforms = lib.platforms.x86_64;
};
}

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "buck";
version = "2021.01.12.01";
version = "2021.05.05.01";
src = fetchFromGitHub {
owner = "facebook";
repo = pname;
rev = "v${version}";
sha256 = "sha256-NFiMQ+cG93R10LlkfUMzZ4TnV0uO5G+8S5TiMI6hU5o=";
sha256 = "sha256-mASJCLxW7320MXYUUWYfaxs9AbSdltxlae8OQsPUZJc=";
};
patches = [ ./pex-mtime.patch ];

@ -1,35 +1,51 @@
{ buildGoModule, fetchFromGitHub, lib }:
{ buildGoModule, fetchFromGitHub, lib, installShellFiles, testers, cue }:
buildGoModule rec {
pname = "cue";
version = "0.4.2";
version = "0.4.3";
src = fetchFromGitHub {
owner = "cue-lang";
repo = "cue";
rev = "v${version}";
sha256 = "sha256-6HD3wcBo21Dep4ckx+oDWAC4nuTvCzlp0bwQxZox2b4=";
sha256 = "sha256-v9MYrijnbtJpTgRZ4hmkaekisOyujldGewCRNbkVzWw=";
};
vendorSha256 = "sha256-tY9iwQW6cB1FgLAmkDNMrvIxR+i4aGYhNs4tepI654o=";
postPatch = ''
# Disable script tests
rm -f cmd/cue/cmd/script_test.go
'';
vendorSha256 = "sha256-jTfV8DJlr5LxS3HjOEBkVzBvZKiySrmINumXSUIq2mI=";
excludedPackages = [ "internal/ci/updatetxtar" "internal/cmd/embedpkg" "internal/cmd/qgo" "pkg/gen" ];
checkPhase = "go test ./...";
nativeBuildInputs = [ installShellFiles ];
subPackages = [ "cmd/cue" ];
ldflags = [ "-s" "-w" "-X cuelang.org/go/cmd/cue/cmd.version=${version}" ];
ldflags = [
"-s" "-w" "-X cuelang.org/go/cmd/cue/cmd.version=${version}"
];
postInstall = ''
# Completions
installShellCompletion --cmd cue \
--bash <($out/bin/cue completion bash) \
--fish <($out/bin/cue completion fish) \
--zsh <($out/bin/cue completion zsh)
'';
doInstallCheck = true;
installCheckPhase = ''
$out/bin/cue eval - <<<'a: "all good"' > /dev/null
'';
meta = {
passthru.tests.version = testers.testVersion {
package = cue;
command = "cue version";
};
meta = with lib; {
description = "A data constraint language which aims to simplify tasks involving defining and using data";
homepage = "https://cuelang.org/";
maintainers = [];
license = lib.licenses.asl20;
maintainers = with maintainers; [ aaronjheng ];
};
}

@ -63,6 +63,7 @@ let
electronLibPath = with lib; makeLibraryPath (
[ libuuid at-spi2-atk at-spi2-core libappindicator-gtk3 ]
++ optionals (versionAtLeast version "9.0.0") [ libdrm mesa ]
++ optionals (versionOlder version "10.0.0") [ libXScrnSaver ]
++ optionals (versionAtLeast version "11.0.0") [ libxkbcommon ]
++ optionals (versionAtLeast version "12.0.0") [ libxshmfence ]
++ optionals (versionAtLeast version "17.0.0") [ libglvnd ]
@ -95,9 +96,7 @@ let
$out/lib/electron/electron \
${lib.optionalString (lib.versionAtLeast version "15.0.0") "$out/lib/electron/chrome_crashpad_handler" }
wrapProgram $out/lib/electron/electron \
--prefix LD_PRELOAD : ${lib.makeLibraryPath [ libXScrnSaver ]}/libXss.so.1 \
"''${gappsWrapperArgs[@]}"
wrapProgram $out/lib/electron/electron "''${gappsWrapperArgs[@]}"
'';
};

@ -1,18 +1,24 @@
{ lib, buildGoPackage, fetchFromGitHub }:
{ lib, buildGoModule, fetchFromGitHub }:
buildGoPackage rec {
buildGoModule rec {
pname = "jmespath";
version = "0.2.2";
rev = version;
goPackagePath = "github.com/jmespath/go-jmespath";
version = "0.4.0";
src = fetchFromGitHub {
inherit rev;
owner = "jmespath";
repo = "go-jmespath";
sha256 = "0f4j0m44limnjd6q5fk152g6jq2a5cshcdms4p3a1br8pl9wp5fb";
rev = "v${version}";
sha256 = "sha256-djA/7TCmAqCsht28b1itoiWd8Mtdsn/5uLxyT23K/qM=";
};
vendorSha256 = "sha256-Q12muprcKB7fCxemESb4sGPyYIdmgOt3YXVUln7oabw=";
excludedPackages = [
"./internal/testify"
];
ldflags = [ "-s" "-w" ];
meta = with lib; {
description = "A JMESPath implementation in Go";
homepage = "https://github.com/jmespath/go-jmespath";

@ -7,13 +7,13 @@
stdenv.mkDerivation rec {
pname = "fheroes2";
version = "0.9.14";
version = "0.9.15";
src = fetchFromGitHub {
owner = "ihhub";
repo = "fheroes2";
rev = version;
sha256 = "sha256-M5sUEOKU7KSenAAE7dUI8algB5XsbQQ1s3sDflZLsiA=";
sha256 = "sha256-bT6asrre16NuavG7X28aHdEPeHdxMBdz2o2KCB+mrbg=";
};
buildInputs = [ gettext libpng SDL2 SDL2_image SDL2_mixer SDL2_ttf zlib ];

@ -3,17 +3,17 @@
, useSteamRun ? true }:
let
rev = "e6412d9b837bfd71bb413b4c6e5fa52c9ce60a57";
rev = "6a1a59f687ac7b98698e2ebb97d82a94865e50f6";
in
buildDotnetModule rec {
pname = "XIVLauncher";
version = "1.0.0.4";
version = "1.0.0.9";
src = fetchFromGitHub {
owner = "goatcorp";
repo = "FFXIVQuickLauncher";
inherit rev;
sha256 = "sha256-seHO/NNJdWhxWRnyjBN7+m1X0JP/qWAMfF86XMhYN/4=";
sha256 = "sha256-jRyYeTg73W58OH2fWmuVkjxEdyPNqDGRbEZwxBMfdCo=";
};
nativeBuildInputs = [ copyDesktopItems ];

@ -12,7 +12,7 @@
(fetchNuGet { pname = "goaaats.Veldrid.SDL2"; version = "4.9.0-beta1-g70f642e82e"; sha256 = "14xj3z0yc25vq17bvv2193cbqxj7k9iimxbaqk2rpvlpmrbg20xi"; })
(fetchNuGet { pname = "goaaats.Veldrid.StartupUtilities"; version = "4.9.0-beta1-g70f642e82e"; sha256 = "03r3x9h0fyb07d6d28ny6r5s688m50xc0lgc6zf2cy684kfnvmp5"; })
(fetchNuGet { pname = "ImGui.NET"; version = "1.87.2"; sha256 = "0rv0n18fvz1gbh45crhzn1f8xw8zkc8qyiyj91vajjcry8mq1x7q"; })
(fetchNuGet { pname = "KeySharp"; version = "1.0.4"; sha256 = "1xkgrsm0h4ycbc7qnj0dzknx0rqlx3168vrdrdgsi30xki02z323"; })
(fetchNuGet { pname = "KeySharp"; version = "1.0.5"; sha256 = "1ic10v0a174fw6w89iyg4yzji36bsj15573y676cj5n09n6s75d4"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.4"; sha256 = "1fvv5ri32pbl43628zqnim6fbv6hjxf66p0v793xdh57dzkdyh0j"; })
(fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.3.3"; sha256 = "09m4cpry8ivm9ga1abrxmvw16sslxhy2k5sl14zckhqb1j164im6"; })
(fetchNuGet { pname = "Microsoft.CodeAnalysis.BannedApiAnalyzers"; version = "3.3.3"; sha256 = "1z6x0d8lpcfjr3sxy25493i17vvcg5bsay6c03qan6mnj5aqzw2k"; })

@ -1,49 +1,56 @@
{ stdenv, meson, ninja, lib, nixosTests, fetchFromGitHub }:
{ lib
, stdenv
, fetchFromGitHub
, meson
, ninja
, nixosTests
}:
let
self = stdenv.mkDerivation {
name = "nix-ld";
src = fetchFromGitHub {
owner = "Mic92";
repo = "nix-ld";
rev = "1.0.0";
sha256 = "sha256-QYPg8wPpq7q5Xd1jW17Lh36iKFSsVkN/gWYoQRv2XoU=";
};
doCheck = true;
nativeBuildInputs = [ meson ninja ];
mesonFlags = [
"-Dnix-system=${stdenv.system}"
];
hardeningDisable = [
"stackprotector"
];
postInstall = ''
mkdir -p $out/nix-support
basename $(< ${stdenv.cc}/nix-support/dynamic-linker) > $out/nix-support/ld-name
'';
passthru.tests.nix-ld = nixosTests.nix-ld;
passthru.ldPath = let
libDir = if stdenv.system == "x86_64-linux" ||
stdenv.system == "mips64-linux" ||
stdenv.system == "powerpc64le-linux"
then
"/lib64"
else
"/lib";
ldName = lib.fileContents "${self}/nix-support/ld-name";
in "${libDir}/${ldName}";
meta = with lib; {
description = "Run unpatched dynamic binaries on NixOS";
homepage = "https://github.com/Mic92/nix-ld";
license = licenses.mit;
maintainers = with maintainers; [ mic92 ];
platforms = platforms.linux;
};
libDir = if builtins.elem stdenv.system [ "x86_64-linux" "mips64-linux" "powerpc64le-linux" ]
then "/lib64"
else "/lib";
in
stdenv.mkDerivation rec {
pname = "nix-ld";
version = "1.0.2";
src = fetchFromGitHub {
owner = "mic92";
repo = "nix-ld";
rev = version;
sha256 = "sha256-DlWU5i/MykqWgB9vstYbECy3e+XagXWCxi+XDJNey0s=";
};
doCheck = true;
nativeBuildInputs = [ meson ninja ];
mesonFlags = [
"-Dnix-system=${stdenv.system}"
];
hardeningDisable = [
"stackprotector"
];
postInstall = ''
mkdir -p $out/nix-support
ldpath=${libDir}/$(basename $(< ${stdenv.cc}/nix-support/dynamic-linker))
echo "$ldpath" > $out/nix-support/ldpath
mkdir -p $out/lib/tmpfiles.d/
cat > $out/lib/tmpfiles.d/nix-ld.conf <<EOF
L+ $ldpath - - - - $out/libexec/nix-ld
EOF
'';
passthru.tests.nix-ld = nixosTests.nix-ld;
meta = with lib; {
description = "Run unpatched dynamic binaries on NixOS";
homepage = "https://github.com/Mic92/nix-ld";
license = licenses.mit;
maintainers = with maintainers; [ mic92 ];
platforms = platforms.unix;
};
in self
}

@ -1,17 +1,18 @@
{ lib, buildGoModule, fetchFromGitHub, fetchurl, nixosTests, postgresql, postgresqlTestHook }:
{ lib, buildGoModule, fetchFromGitHub
, nixosTests, postgresql, postgresqlTestHook }:
buildGoModule rec {
pname = "matrix-dendrite";
version = "0.8.4";
version = "0.8.5";
src = fetchFromGitHub {
owner = "matrix-org";
repo = "dendrite";
rev = "v${version}";
sha256 = "sha256-w4un+TdFTzfVZltvo6ZAPQ3B9HJvnGlJW+LmZHuYk1M=";
sha256 = "sha256-MPWvBUI6Mqt3f5UY6lpTBwPpihW+QSNq1M3FnIff+mM=";
};
vendorSha256 = "sha256-AJ7Hn23aji/cXioDaOSyF8XD3Mr135DZf7KbUW1SoJ4=";
vendorSha256 = "sha256-OXy2xuwTLPNvBnVB6wj/YRW/XMiekjTubRRPVX9bxdQ=";
checkInputs = [
postgresqlTestHook
@ -31,8 +32,8 @@ buildGoModule rec {
};
meta = with lib; {
homepage = "https://matrix.org";
description = "Dendrite is a second-generation Matrix homeserver written in Go!";
homepage = "https://matrix-org.github.io/dendrite";
description = "A second-generation Matrix homeserver written in Go";
license = licenses.asl20;
maintainers = teams.matrix.members;
platforms = platforms.unix;

@ -2032,7 +2032,8 @@
poolsense
];
"powerwall" = ps: with ps; [
]; # missing inputs: tesla-powerwall
tesla-powerwall
];
"profiler" = ps: with ps; [
guppy3
objgraph
@ -2884,7 +2885,8 @@
"vacuum" = ps: with ps; [
];
"vallox" = ps: with ps; [
]; # missing inputs: vallox-websocket-api
vallox-websocket-api
];
"vasttrafik" = ps: with ps; [
]; # missing inputs: vtjp
"velbus" = ps: with ps; [
@ -3557,6 +3559,7 @@
"plugwise"
"point"
"poolsense"
"powerwall"
"profiler"
"prometheus"
"prosegur"
@ -3732,6 +3735,7 @@
"utility_meter"
"uvc"
"vacuum"
"vallox"
"velbus"
"venstar"
"vera"

@ -1,18 +1,20 @@
{ lib, buildGoPackage, fetchFromGitHub }:
{ lib, buildGoModule, fetchFromGitHub }:
buildGoPackage rec {
buildGoModule rec {
pname = "consul_exporter";
version = "0.7.1";
goPackagePath = "github.com/prometheus/consul_exporter";
version = "0.8.0";
src = fetchFromGitHub {
owner = "prometheus";
repo = "consul_exporter";
rev = "v${version}";
sha256 = "16ibafcbpiplsh1awcvblzzf2cbr4baf8wiwpdpibgmcwwf9m5ya";
sha256 = "sha256-5odAKMWK2tDZ3a+bIVIdPgzxrW64hF8nNqItGO7sODI=";
};
vendorSha256 = "sha256-vbaiHeQRo9hsHa/10f4202xLe9mduELRJMCDFuyKlW0=";
ldflags = [ "-s" "-w" ];
meta = with lib; {
description = "Prometheus exporter for Consul metrics";
homepage = "https://github.com/prometheus/consul_exporter";

@ -1,27 +1,29 @@
{ buildGoPackage, lib, fetchFromGitHub }:
{ lib, buildGoModule, fetchFromGitHub }:
buildGoPackage rec {
buildGoModule rec {
pname = "openldap_exporter";
version = "2.2.0";
version = "2.2.1";
src = fetchFromGitHub {
owner = "tomcz";
repo = pname;
rev = "v${version}";
sha256 = "sha256-+lrLA9CbGNzvvbwn79ili/kFRCr6vMKDtkvyfnL9n9k=";
sha256 = "sha256-ok2fTYz1oQiNdTPsssPb/VuFqny1i8nKTngSpKgCpC4=";
};
vendorSha256 = null;
ldflags = [
"-s" "-w"
"-s"
"-w"
"-X github.com/tomcz/openldap_exporter.tag=v${version}"
"-X github.com/tomcz/openldap_exporter.commit=unknown"
];
goPackagePath = "github.com/tomcz/openldap_exporter";
meta = with lib; {
homepage = "https://github.com/tomcz/openldap_exporter";
description = " Simple service that scrapes metrics from OpenLDAP and exports them via HTTP for Prometheus consumption";
description = "Simple service that scrapes metrics from OpenLDAP and exports them via HTTP for Prometheus consumption";
license = licenses.mit;
maintainers = with maintainers; [ ma27 ];
};

@ -1,6 +1,5 @@
{ lib
, pkgs
, python3Packages
, python3
, fetchFromGitHub
, addr ? "127.0.0.1"
@ -13,24 +12,18 @@
# timetagger.
#
let
tt = python3Packages.timetagger;
in
python3Packages.buildPythonPackage rec {
pname = tt.name;
version = tt.version;
src = tt.src;
meta = tt.meta;
python3.pkgs.buildPythonApplication {
inherit (python3.pkgs.timetagger) pname version src meta;
propagatedBuildInputs = [ tt ]
++ (with python3Packages; [
setuptools
]);
propagatedBuildInputs = with python3.pkgs; [
setuptools
timetagger
];
format = "custom";
installPhase = ''
mkdir -p $out/bin
echo "#!${pkgs.python3}/bin/python3" >> $out/bin/timetagger
echo "#!${python3.interpreter}" >> $out/bin/timetagger
cat run.py >> $out/bin/timetagger
sed -Ei 's,0\.0\.0\.0:80,${addr}:${toString port},' $out/bin/timetagger
chmod +x $out/bin/timetagger

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save