Merge master into staging-next
This commit is contained in:
commit
f1b78f8618
432
doc/languages-frameworks/dhall.section.md
Normal file
432
doc/languages-frameworks/dhall.section.md
Normal file
|
@ -0,0 +1,432 @@
|
||||||
|
# Dhall {#sec-language-dhall}
|
||||||
|
|
||||||
|
The Nixpkgs support for Dhall assumes some familiarity with Dhall's language
|
||||||
|
support for importing Dhall expressions, which is documented here:
|
||||||
|
|
||||||
|
* [`dhall-lang.org` - Installing packages](https://docs.dhall-lang.org/tutorials/Language-Tour.html#installing-packages)
|
||||||
|
|
||||||
|
## Remote imports
|
||||||
|
|
||||||
|
Nixpkgs bypasses Dhall's support for remote imports using Dhall's
|
||||||
|
semantic integrity checks. Specifically, any Dhall import can be protected by
|
||||||
|
an integrity check like:
|
||||||
|
|
||||||
|
```dhall
|
||||||
|
https://prelude.dhall-lang.org/v20.1.0/package.dhall
|
||||||
|
sha256:26b0ef498663d269e4dc6a82b0ee289ec565d683ef4c00d0ebdd25333a5a3c98
|
||||||
|
```
|
||||||
|
|
||||||
|
… and if the import is cached then the interpreter will load the import from
|
||||||
|
cache instead of fetching the URL.
|
||||||
|
|
||||||
|
Nixpkgs uses this trick to add all of a Dhall expression's dependencies into the
|
||||||
|
cache so that the Dhall interpreter never needs to resolve any remote URLs. In
|
||||||
|
fact, Nixpkgs uses a Dhall interpreter with remote imports disabled when
|
||||||
|
packaging Dhall expressions to enforce that the interpreter never resolves a
|
||||||
|
remote import. This means that Nixpkgs only supports building Dhall expressions
|
||||||
|
if all of their remote imports are protected by semantic integrity checks.
|
||||||
|
|
||||||
|
Instead of remote imports, Nixpkgs uses Nix to fetch remote Dhall code. For
|
||||||
|
example, the Prelude Dhall package uses `pkgs.fetchFromGitHub` to fetch the
|
||||||
|
`dhall-lang` repository containing the Prelude. Relying exclusively on Nix
|
||||||
|
to fetch Dhall code ensures that Dhall packages built using Nix remain pure and
|
||||||
|
also behave well when built within a sandbox.
|
||||||
|
|
||||||
|
## Packaging a Dhall expression from scratch
|
||||||
|
|
||||||
|
We can illustrate how Nixpkgs integrates Dhall by beginning from the following
|
||||||
|
trivial Dhall expression with one dependency (the Prelude):
|
||||||
|
|
||||||
|
```dhall
|
||||||
|
-- ./true.dhall
|
||||||
|
|
||||||
|
let Prelude = https://prelude.dhall-lang.org/v20.1.0/package.dhall
|
||||||
|
|
||||||
|
in Prelude.Bool.not False
|
||||||
|
```
|
||||||
|
|
||||||
|
As written, this expression cannot be built using Nixpkgs because the
|
||||||
|
expression does not protect the Prelude import with a semantic integrity
|
||||||
|
check, so the first step is to freeze the expression using `dhall freeze`,
|
||||||
|
like this:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ dhall freeze --inplace ./true.dhall
|
||||||
|
```
|
||||||
|
|
||||||
|
… which gives us:
|
||||||
|
|
||||||
|
```dhall
|
||||||
|
-- ./true.dhall
|
||||||
|
|
||||||
|
let Prelude =
|
||||||
|
https://prelude.dhall-lang.org/v20.1.0/package.dhall
|
||||||
|
sha256:26b0ef498663d269e4dc6a82b0ee289ec565d683ef4c00d0ebdd25333a5a3c98
|
||||||
|
|
||||||
|
in Prelude.Bool.not False
|
||||||
|
```
|
||||||
|
|
||||||
|
To package that expression, we create a `./true.nix` file containing the
|
||||||
|
following specification for the Dhall package:
|
||||||
|
|
||||||
|
```nix
|
||||||
|
# ./true.nix
|
||||||
|
|
||||||
|
{ buildDhallPackage, Prelude }:
|
||||||
|
|
||||||
|
buildDhallPackage {
|
||||||
|
name = "true";
|
||||||
|
code = ./true.dhall;
|
||||||
|
dependencies = [ Prelude ];
|
||||||
|
source = true;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
… and we complete the build by incorporating that Dhall package into the
|
||||||
|
`pkgs.dhallPackages` hierarchy using an overlay, like this:
|
||||||
|
|
||||||
|
```nix
|
||||||
|
# ./example.nix
|
||||||
|
|
||||||
|
let
|
||||||
|
nixpkgs = builtins.fetchTarball {
|
||||||
|
url = "https://github.com/NixOS/nixpkgs/archive/94b2848559b12a8ed1fe433084686b2a81123c99.tar.gz";
|
||||||
|
sha256 = "1pbl4c2dsaz2lximgd31m96jwbps6apn3anx8cvvhk1gl9rkg107";
|
||||||
|
};
|
||||||
|
|
||||||
|
dhallOverlay = self: super: {
|
||||||
|
true = self.callPackage ./true.nix { };
|
||||||
|
};
|
||||||
|
|
||||||
|
overlay = self: super: {
|
||||||
|
dhallPackages = super.dhallPackages.override (old: {
|
||||||
|
overrides =
|
||||||
|
self.lib.composeExtensions (old.overrides or (_: _: {})) dhallOverlay;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
pkgs = import nixpkgs { config = {}; overlays = [ overlay ]; };
|
||||||
|
|
||||||
|
in
|
||||||
|
pkgs
|
||||||
|
```
|
||||||
|
|
||||||
|
… which we can then build using this command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ nix build --file ./example.nix dhallPackages.true
|
||||||
|
```
|
||||||
|
|
||||||
|
## Contents of a Dhall package
|
||||||
|
|
||||||
|
The above package produces the following directory tree:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ tree -a ./result
|
||||||
|
result
|
||||||
|
├── .cache
|
||||||
|
│ └── dhall
|
||||||
|
│ └── 122027abdeddfe8503496adeb623466caa47da5f63abd2bc6fa19f6cfcb73ecfed70
|
||||||
|
├── binary.dhall
|
||||||
|
└── source.dhall
|
||||||
|
```
|
||||||
|
|
||||||
|
… where:
|
||||||
|
|
||||||
|
* `source.dhall` contains the result of interpreting our Dhall package:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ cat ./result/source.dhall
|
||||||
|
True
|
||||||
|
```
|
||||||
|
|
||||||
|
* The `.cache` subdirectory contains one binary cache product encoding the
|
||||||
|
same result as `source.dhall`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ dhall decode < ./result/.cache/dhall/122027abdeddfe8503496adeb623466caa47da5f63abd2bc6fa19f6cfcb73ecfed70
|
||||||
|
True
|
||||||
|
```
|
||||||
|
|
||||||
|
* `binary.dhall` contains a Dhall expression which handles fetching and decoding
|
||||||
|
the same cache product:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ cat ./result/binary.dhall
|
||||||
|
missing sha256:27abdeddfe8503496adeb623466caa47da5f63abd2bc6fa19f6cfcb73ecfed70
|
||||||
|
$ cp -r ./result/.cache .cache
|
||||||
|
|
||||||
|
$ chmod -R u+w .cache
|
||||||
|
|
||||||
|
$ XDG_CACHE_HOME=.cache dhall --file ./result/binary.dhall
|
||||||
|
True
|
||||||
|
```
|
||||||
|
|
||||||
|
The `source.dhall` file is only present for packages that specify
|
||||||
|
`source = true;`. By default, Dhall packages omit the `source.dhall` in order
|
||||||
|
to conserve disk space when they are used exclusively as dependencies. For
|
||||||
|
example, if we build the Prelude package it will only contain the binary
|
||||||
|
encoding of the expression:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ nix build --file ./example.nix dhallPackages.Prelude
|
||||||
|
|
||||||
|
$ tree -a result
|
||||||
|
result
|
||||||
|
├── .cache
|
||||||
|
│ └── dhall
|
||||||
|
│ └── 122026b0ef498663d269e4dc6a82b0ee289ec565d683ef4c00d0ebdd25333a5a3c98
|
||||||
|
└── binary.dhall
|
||||||
|
|
||||||
|
2 directories, 2 files
|
||||||
|
```
|
||||||
|
|
||||||
|
Typically, you only specify `source = true;` for the top-level Dhall expression
|
||||||
|
of interest (such as our example `true.nix` Dhall package). However, if you
|
||||||
|
wish to specify `source = true` for all Dhall packages, then you can amend the
|
||||||
|
Dhall overlay like this:
|
||||||
|
|
||||||
|
```nix
|
||||||
|
dhallOverrides = self: super: {
|
||||||
|
# Enable source for all Dhall packages
|
||||||
|
buildDhallPackage =
|
||||||
|
args: super.buildDhallPackage (args // { source = true; });
|
||||||
|
|
||||||
|
true = self.callPackage ./true.nix { };
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
… and now the Prelude will contain the fully decoded result of interpreting
|
||||||
|
the Prelude:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ nix build --file ./example.nix dhallPackages.Prelude
|
||||||
|
|
||||||
|
$ tree -a result
|
||||||
|
result
|
||||||
|
├── .cache
|
||||||
|
│ └── dhall
|
||||||
|
│ └── 122026b0ef498663d269e4dc6a82b0ee289ec565d683ef4c00d0ebdd25333a5a3c98
|
||||||
|
├── binary.dhall
|
||||||
|
└── source.dhall
|
||||||
|
|
||||||
|
$ cat ./result/source.dhall
|
||||||
|
{ Bool =
|
||||||
|
{ and =
|
||||||
|
\(_ : List Bool) ->
|
||||||
|
List/fold Bool _ Bool (\(_ : Bool) -> \(_ : Bool) -> _@1 && _) True
|
||||||
|
, build = \(_ : Type -> _ -> _@1 -> _@2) -> _ Bool True False
|
||||||
|
, even =
|
||||||
|
\(_ : List Bool) ->
|
||||||
|
List/fold Bool _ Bool (\(_ : Bool) -> \(_ : Bool) -> _@1 == _) True
|
||||||
|
, fold =
|
||||||
|
\(_ : Bool) ->
|
||||||
|
…
|
||||||
|
```
|
||||||
|
|
||||||
|
## Packaging functions
|
||||||
|
|
||||||
|
We already saw an example of using `buildDhallPackage` to create a Dhall
|
||||||
|
package from a single file, but most Dhall packages consist of more than one
|
||||||
|
file and there are two derived utilities that you may find more useful when
|
||||||
|
packaging multiple files:
|
||||||
|
|
||||||
|
* `buildDhallDirectoryPackage` - build a Dhall package from a local directory
|
||||||
|
|
||||||
|
* `buildDhallGitHubPackage` - build a Dhall package from a GitHub repository
|
||||||
|
|
||||||
|
The `buildDhallPackage` is the lowest-level function and accepts the following
|
||||||
|
arguments:
|
||||||
|
|
||||||
|
* `name`: The name of the derivation
|
||||||
|
|
||||||
|
* `dependencies`: Dhall dependencies to build and cache ahead of time
|
||||||
|
|
||||||
|
* `code`: The top-level expression to build for this package
|
||||||
|
|
||||||
|
Note that the `code` field accepts an arbitrary Dhall expression. You're
|
||||||
|
not limited to just a file.
|
||||||
|
|
||||||
|
* `source`: Set to `true` to include the decoded result as `source.dhall` in the
|
||||||
|
build product, at the expense of requiring more disk space
|
||||||
|
|
||||||
|
* `documentationRoot`: Set to the root directory of the package if you want
|
||||||
|
`dhall-docs` to generate documentation underneath the `docs` subdirectory of
|
||||||
|
the build product
|
||||||
|
|
||||||
|
The `buildDhallDirectoryPackage` is a higher-level function implemented in terms
|
||||||
|
of `buildDhallPackage` that accepts the following arguments:
|
||||||
|
|
||||||
|
* `name`: Same as `buildDhallPackage`
|
||||||
|
|
||||||
|
* `dependencies`: Same as `buildDhallPackage`
|
||||||
|
|
||||||
|
* `source`: Same as `buildDhallPackage`
|
||||||
|
|
||||||
|
* `src`: The directory containing Dhall code that you want to turn into a Dhall
|
||||||
|
package
|
||||||
|
|
||||||
|
* `file`: The top-level file (`package.dhall` by default) that is the entrypoint
|
||||||
|
to the rest of the package
|
||||||
|
|
||||||
|
* `document`: Set to `true` to generate documentation for the package
|
||||||
|
|
||||||
|
The `buildDhallGitHubPackage` is another higher-level function implemented in
|
||||||
|
terms of `buildDhallPackage` that accepts the following arguments:
|
||||||
|
|
||||||
|
* `name`: Same as `buildDhallPackage`
|
||||||
|
|
||||||
|
* `dependencies`: Same as `buildDhallPackage`
|
||||||
|
|
||||||
|
* `source`: Same as `buildDhallPackage`
|
||||||
|
|
||||||
|
* `owner`: The owner of the repository
|
||||||
|
|
||||||
|
* `repo`: The repository name
|
||||||
|
|
||||||
|
* `rev`: The desired revision (or branch, or tag)
|
||||||
|
|
||||||
|
* `directory`: The subdirectory of the Git repository to package (if a
|
||||||
|
directory other than the root of the repository)
|
||||||
|
|
||||||
|
* `file`: The top-level file (`${directory}/package.dhall` by default) that is
|
||||||
|
the entrypoint to the rest of the package
|
||||||
|
|
||||||
|
* `document`: Set to `true` to generate documentation for the package
|
||||||
|
|
||||||
|
Additionally, `buildDhallGitHubPackage` accepts the same arguments as
|
||||||
|
`fetchFromGitHub`, such as `sha256` or `fetchSubmodules`.
|
||||||
|
|
||||||
|
## `dhall-to-nixpkgs`
|
||||||
|
|
||||||
|
You can use the `dhall-to-nixpkgs` command-line utility to automate
|
||||||
|
packaging Dhall code. For example:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ nix-env --install --attr haskellPackages.dhall-nixpkgs
|
||||||
|
|
||||||
|
$ nix-env --install --attr nix-prefetch-git # Used by dhall-to-nixpkgs
|
||||||
|
|
||||||
|
$ dhall-to-nixpkgs github https://github.com/Gabriel439/dhall-semver.git
|
||||||
|
{ buildDhallGitHubPackage, Prelude }:
|
||||||
|
buildDhallGitHubPackage {
|
||||||
|
name = "dhall-semver";
|
||||||
|
githubBase = "github.com";
|
||||||
|
owner = "Gabriel439";
|
||||||
|
repo = "dhall-semver";
|
||||||
|
rev = "2d44ae605302ce5dc6c657a1216887fbb96392a4";
|
||||||
|
fetchSubmodules = false;
|
||||||
|
sha256 = "0y8shvp8srzbjjpmnsvz9c12ciihnx1szs0yzyi9ashmrjvd0jcz";
|
||||||
|
directory = "";
|
||||||
|
file = "package.dhall";
|
||||||
|
source = false;
|
||||||
|
document = false;
|
||||||
|
dependencies = [ (Prelude.overridePackage { file = "package.dhall"; }) ];
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
The utility takes care of automatically detecting remote imports and converting
|
||||||
|
them to package dependencies. You can also use the utility on local
|
||||||
|
Dhall directories, too:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ dhall-to-nixpkgs directory ~/proj/dhall-semver
|
||||||
|
{ buildDhallDirectoryPackage, Prelude }:
|
||||||
|
buildDhallDirectoryPackage {
|
||||||
|
name = "proj";
|
||||||
|
src = /Users/gabriel/proj/dhall-semver;
|
||||||
|
file = "package.dhall";
|
||||||
|
source = false;
|
||||||
|
document = false;
|
||||||
|
dependencies = [ (Prelude.overridePackage { file = "package.dhall"; }) ];
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Overriding dependency versions
|
||||||
|
|
||||||
|
Suppose that we change our `true.dhall` example expression to depend on an older
|
||||||
|
version of the Prelude (19.0.0):
|
||||||
|
|
||||||
|
```dhall
|
||||||
|
-- ./true.dhall
|
||||||
|
|
||||||
|
let Prelude =
|
||||||
|
https://prelude.dhall-lang.org/v19.0.0/package.dhall
|
||||||
|
sha256:eb693342eb769f782174157eba9b5924cf8ac6793897fc36a31ccbd6f56dafe2
|
||||||
|
|
||||||
|
in Prelude.Bool.not False
|
||||||
|
```
|
||||||
|
|
||||||
|
If we try to rebuild that expression the build will fail:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ nix build --file ./example.nix dhallPackages.true
|
||||||
|
builder for '/nix/store/0f1hla7ff1wiaqyk1r2ky4wnhnw114fi-true.drv' failed with exit code 1; last 10 log lines:
|
||||||
|
|
||||||
|
Dhall was compiled without the 'with-http' flag.
|
||||||
|
|
||||||
|
The requested URL was: https://prelude.dhall-lang.org/v19.0.0/package.dhall
|
||||||
|
|
||||||
|
|
||||||
|
4│ https://prelude.dhall-lang.org/v19.0.0/package.dhall
|
||||||
|
5│ sha256:eb693342eb769f782174157eba9b5924cf8ac6793897fc36a31ccbd6f56dafe2
|
||||||
|
|
||||||
|
/nix/store/rsab4y99h14912h4zplqx2iizr5n4rc2-true.dhall:4:7
|
||||||
|
[1 built (1 failed), 0.0 MiB DL]
|
||||||
|
error: build of '/nix/store/0f1hla7ff1wiaqyk1r2ky4wnhnw114fi-true.drv' failed
|
||||||
|
```
|
||||||
|
|
||||||
|
… because the default Prelude selected by Nixpkgs revision
|
||||||
|
`94b2848559b12a8ed1fe433084686b2a81123c99is` is version 20.1.0, which doesn't
|
||||||
|
have the same integrity check as version 19.0.0. This means that version
|
||||||
|
19.0.0 is not cached and the interpreter is not allowed to fall back to
|
||||||
|
importing the URL.
|
||||||
|
|
||||||
|
However, we can override the default Prelude version by using `dhall-to-nixpkgs`
|
||||||
|
to create a Dhall package for our desired Prelude:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ dhall-to-nixpkgs github https://github.com/dhall-lang/dhall-lang.git \
|
||||||
|
--name Prelude \
|
||||||
|
--directory Prelude \
|
||||||
|
--rev v19.0.0 \
|
||||||
|
> Prelude.nix
|
||||||
|
```
|
||||||
|
|
||||||
|
… and then referencing that package in our Dhall overlay, by either overriding
|
||||||
|
the Prelude globally for all packages, like this:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
dhallOverrides = self: super: {
|
||||||
|
true = self.callPackage ./true.nix { };
|
||||||
|
|
||||||
|
Prelude = self.callPackage ./Prelude.nix { };
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
… or selectively overriding the Prelude dependency for just the `true` package,
|
||||||
|
like this:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
dhallOverrides = self: super: {
|
||||||
|
true = self.callPackage ./true.nix {
|
||||||
|
Prelude = self.callPackage ./Prelude.nix { };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
## Overrides
|
||||||
|
|
||||||
|
You can override any of the arguments to `buildDhallGitHubPackage` or
|
||||||
|
`buildDhallDirectoryPackage` using the `overridePackage` attribute of a package.
|
||||||
|
For example, suppose we wanted to selectively enable `source = true` just for the Prelude. We can do that like this:
|
||||||
|
|
||||||
|
```nix
|
||||||
|
dhallOverrides = self: super: {
|
||||||
|
Prelude = super.Prelude.overridePackage { source = true; };
|
||||||
|
|
||||||
|
…
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
[semantic-integrity-checks]: https://docs.dhall-lang.org/tutorials/Language-Tour.html#installing-packages
|
|
@ -11,6 +11,7 @@
|
||||||
<xi:include href="bower.section.xml" />
|
<xi:include href="bower.section.xml" />
|
||||||
<xi:include href="coq.section.xml" />
|
<xi:include href="coq.section.xml" />
|
||||||
<xi:include href="crystal.section.xml" />
|
<xi:include href="crystal.section.xml" />
|
||||||
|
<xi:include href="dhall.section.xml" />
|
||||||
<xi:include href="emscripten.section.xml" />
|
<xi:include href="emscripten.section.xml" />
|
||||||
<xi:include href="gnome.section.xml" />
|
<xi:include href="gnome.section.xml" />
|
||||||
<xi:include href="go.section.xml" />
|
<xi:include href="go.section.xml" />
|
||||||
|
|
|
@ -124,7 +124,7 @@ in {
|
||||||
"sway/config.d/nixos.conf".source = pkgs.writeText "nixos.conf" ''
|
"sway/config.d/nixos.conf".source = pkgs.writeText "nixos.conf" ''
|
||||||
# Import the most important environment variables into the D-Bus and systemd
|
# Import the most important environment variables into the D-Bus and systemd
|
||||||
# user environments (e.g. required for screen sharing and Pinentry prompts):
|
# user environments (e.g. required for screen sharing and Pinentry prompts):
|
||||||
exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK
|
exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -135,6 +135,8 @@ in {
|
||||||
# To make a Sway session available if a display manager like SDDM is enabled:
|
# To make a Sway session available if a display manager like SDDM is enabled:
|
||||||
services.xserver.displayManager.sessionPackages = [ swayPackage ];
|
services.xserver.displayManager.sessionPackages = [ swayPackage ];
|
||||||
programs.xwayland.enable = mkDefault true;
|
programs.xwayland.enable = mkDefault true;
|
||||||
|
# For screen sharing (this option only has an effect with xdg.portal.enable):
|
||||||
|
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-wlr ];
|
||||||
};
|
};
|
||||||
|
|
||||||
meta.maintainers = with lib.maintainers; [ gnidorah primeos colemickens ];
|
meta.maintainers = with lib.maintainers; [ gnidorah primeos colemickens ];
|
||||||
|
|
|
@ -35,10 +35,10 @@ let
|
||||||
auto_pause = true;
|
auto_pause = true;
|
||||||
only_admins_can_pause_the_game = true;
|
only_admins_can_pause_the_game = true;
|
||||||
autosave_only_on_server = true;
|
autosave_only_on_server = true;
|
||||||
admins = [];
|
|
||||||
non_blocking_saving = cfg.nonBlockingSaving;
|
non_blocking_saving = cfg.nonBlockingSaving;
|
||||||
} // cfg.extraSettings;
|
} // cfg.extraSettings;
|
||||||
serverSettingsFile = pkgs.writeText "server-settings.json" (builtins.toJSON (filterAttrsRecursive (n: v: v != null) serverSettings));
|
serverSettingsFile = pkgs.writeText "server-settings.json" (builtins.toJSON (filterAttrsRecursive (n: v: v != null) serverSettings));
|
||||||
|
serverAdminsFile = pkgs.writeText "server-adminlist.json" (builtins.toJSON cfg.admins);
|
||||||
modDir = pkgs.factorio-utils.mkModDirDrv cfg.mods;
|
modDir = pkgs.factorio-utils.mkModDirDrv cfg.mods;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
@ -52,6 +52,16 @@ in
|
||||||
The port to which the service should bind.
|
The port to which the service should bind.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
admins = mkOption {
|
||||||
|
type = types.listOf types.str;
|
||||||
|
default = [];
|
||||||
|
example = [ "username" ];
|
||||||
|
description = ''
|
||||||
|
List of player names which will be admin.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
openFirewall = mkOption {
|
openFirewall = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
|
@ -234,6 +244,7 @@ in
|
||||||
"--start-server=${mkSavePath cfg.saveName}"
|
"--start-server=${mkSavePath cfg.saveName}"
|
||||||
"--server-settings=${serverSettingsFile}"
|
"--server-settings=${serverSettingsFile}"
|
||||||
(optionalString (cfg.mods != []) "--mod-directory=${modDir}")
|
(optionalString (cfg.mods != []) "--mod-directory=${modDir}")
|
||||||
|
(optionalString (cfg.admins != []) "--server-adminlist=${serverAdminsFile}")
|
||||||
];
|
];
|
||||||
|
|
||||||
# Sandboxing
|
# Sandboxing
|
||||||
|
|
|
@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
|
||||||
] ++ optional stdenv.isLinux libseccomp
|
] ++ optional stdenv.isLinux libseccomp
|
||||||
++ optional stdenv.isDarwin gtk-mac-integration;
|
++ optional stdenv.isDarwin gtk-mac-integration;
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = !stdenv.isDarwin;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://git.pwmt.org/pwmt/zathura";
|
homepage = "https://git.pwmt.org/pwmt/zathura";
|
||||||
|
|
|
@ -20,19 +20,19 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "newsflash";
|
pname = "newsflash";
|
||||||
version = "1.4.0";
|
version = "1.4.1";
|
||||||
|
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
owner = "news-flash";
|
owner = "news-flash";
|
||||||
repo = "news_flash_gtk";
|
repo = "news_flash_gtk";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-EInI5Unaz9m8/gJ7vAzJVyMynJGq0KZh12dNK8r1wnY=";
|
hash = "sha256-pskmvztKOwutXRHVnW5u68/0DAuV9Gb+Ovp2JbXiMYo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||||
inherit src;
|
inherit src;
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
hash = "sha256-xrWZhjfYnO6M3LMTP6l3+oZOusvUWuRBDesIlsiEJ6s=";
|
hash = "sha256-qq8cZplt5YWUwsXUShMDhQm3RGH2kCEBk64x6bOa50E=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|
|
@ -15,84 +15,124 @@
|
||||||
, boost
|
, boost
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, doxygen
|
, doxygen
|
||||||
|
, graphviz
|
||||||
, pcre
|
, pcre
|
||||||
, libpthreadstubs
|
, libpthreadstubs
|
||||||
, libXdmcp
|
, libXdmcp
|
||||||
, lndir
|
, lndir
|
||||||
|
|
||||||
|
, util-linux
|
||||||
|
, libselinux
|
||||||
|
, libsepol
|
||||||
|
, libthai
|
||||||
|
, libdatrie
|
||||||
|
, libxkbcommon
|
||||||
|
, epoxy
|
||||||
|
, dbus
|
||||||
|
, at-spi2-core
|
||||||
|
, libXtst
|
||||||
|
|
||||||
|
, swig
|
||||||
|
, python
|
||||||
|
, wxPython
|
||||||
|
, opencascade
|
||||||
|
, opencascade-occt
|
||||||
|
, libngspice
|
||||||
|
, valgrind
|
||||||
|
|
||||||
, stable
|
, stable
|
||||||
, baseName
|
, baseName
|
||||||
, kicadSrc
|
, kicadSrc
|
||||||
, kicadVersion
|
, kicadVersion
|
||||||
, i18n
|
, i18n
|
||||||
, withOCE
|
, withOCE
|
||||||
, opencascade
|
|
||||||
, withOCC
|
, withOCC
|
||||||
, opencascade-occt
|
|
||||||
, withNgspice
|
, withNgspice
|
||||||
, libngspice
|
|
||||||
, withScripting
|
, withScripting
|
||||||
, swig
|
|
||||||
, python
|
|
||||||
, wxPython
|
|
||||||
, debug
|
, debug
|
||||||
, valgrind
|
, sanitizeAddress
|
||||||
|
, sanitizeThreads
|
||||||
, withI18n
|
, withI18n
|
||||||
, gtk3
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert lib.asserts.assertMsg (!(withOCE && stdenv.isAarch64)) "OCE fails a test on Aarch64";
|
assert lib.asserts.assertMsg (!(withOCE && stdenv.isAarch64)) "OCE fails a test on Aarch64";
|
||||||
assert lib.asserts.assertMsg (!(withOCC && withOCE))
|
assert lib.asserts.assertMsg (!(withOCC && withOCE))
|
||||||
"Only one of OCC and OCE may be enabled";
|
"Only one of OCC and OCE may be enabled";
|
||||||
|
assert lib.assertMsg (!(stable && (sanitizeAddress || sanitizeThreads)))
|
||||||
|
"Only kicad-unstable(-small) supports address/thread sanitation";
|
||||||
|
assert lib.assertMsg (!(sanitizeAddress && sanitizeThreads))
|
||||||
|
"'sanitizeAddress' and 'sanitizeThreads' are mutually exclusive, use one.";
|
||||||
let
|
let
|
||||||
inherit (lib) optional optionals;
|
inherit (lib) optional optionals;
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "kicad-base";
|
pname = "kicad-base";
|
||||||
version = kicadVersion;
|
version = if (stable) then kicadVersion else builtins.substring 0 10 src.rev;
|
||||||
|
|
||||||
src = kicadSrc;
|
src = kicadSrc;
|
||||||
|
|
||||||
# tagged releases don't have "unknown"
|
# tagged releases don't have "unknown"
|
||||||
# kicad nightlies use git describe --dirty
|
# kicad nightlies use git describe --dirty
|
||||||
# nix removes .git, so its approximated here
|
# nix removes .git, so its approximated here
|
||||||
# "-1" appended to indicate we're adding a patch
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace CMakeModules/KiCadVersion.cmake \
|
substituteInPlace CMakeModules/KiCadVersion.cmake \
|
||||||
--replace "unknown" "${builtins.substring 0 10 src.rev}-1" \
|
--replace "unknown" "${builtins.substring 0 10 src.rev}" \
|
||||||
--replace "${version}" "${version}-1"
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
makeFlags = optional (debug) [ "CFLAGS+=-Og" "CFLAGS+=-ggdb" ];
|
makeFlags = optionals (debug) [ "CFLAGS+=-Og" "CFLAGS+=-ggdb" ];
|
||||||
|
|
||||||
cmakeFlags =
|
cmakeFlags = optionals (withScripting) [
|
||||||
optionals (withScripting) [
|
"-DKICAD_SCRIPTING=ON"
|
||||||
"-DKICAD_SCRIPTING=ON"
|
"-DKICAD_SCRIPTING_MODULES=ON"
|
||||||
"-DKICAD_SCRIPTING_MODULES=ON"
|
"-DKICAD_SCRIPTING_PYTHON3=ON"
|
||||||
"-DKICAD_SCRIPTING_PYTHON3=ON"
|
"-DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON"
|
||||||
"-DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON"
|
]
|
||||||
]
|
++ optional (!withScripting)
|
||||||
++ optional (!withScripting)
|
"-DKICAD_SCRIPTING=OFF"
|
||||||
"-DKICAD_SCRIPTING=OFF"
|
++ optional (withNgspice) "-DKICAD_SPICE=ON"
|
||||||
++ optional (withNgspice) "-DKICAD_SPICE=ON"
|
++ optional (!withOCE) "-DKICAD_USE_OCE=OFF"
|
||||||
++ optional (!withOCE) "-DKICAD_USE_OCE=OFF"
|
++ optional (!withOCC) "-DKICAD_USE_OCC=OFF"
|
||||||
++ optional (!withOCC) "-DKICAD_USE_OCC=OFF"
|
++ optionals (withOCE) [
|
||||||
++ optionals (withOCE) [
|
"-DKICAD_USE_OCE=ON"
|
||||||
"-DKICAD_USE_OCE=ON"
|
"-DOCE_DIR=${opencascade}"
|
||||||
"-DOCE_DIR=${opencascade}"
|
]
|
||||||
]
|
++ optionals (withOCC) [
|
||||||
++ optionals (withOCC) [
|
"-DKICAD_USE_OCC=ON"
|
||||||
"-DKICAD_USE_OCC=ON"
|
"-DOCC_INCLUDE_DIR=${opencascade-occt}/include/opencascade"
|
||||||
"-DOCC_INCLUDE_DIR=${opencascade-occt}/include/opencascade"
|
]
|
||||||
]
|
++ optionals (debug) [
|
||||||
++ optionals (debug) [
|
"-DCMAKE_BUILD_TYPE=Debug"
|
||||||
"-DCMAKE_BUILD_TYPE=Debug"
|
"-DKICAD_STDLIB_DEBUG=ON"
|
||||||
"-DKICAD_STDLIB_DEBUG=ON"
|
"-DKICAD_USE_VALGRIND=ON"
|
||||||
"-DKICAD_USE_VALGRIND=ON"
|
]
|
||||||
]
|
++ optionals (sanitizeAddress) [
|
||||||
;
|
"-DKICAD_SANITIZE_ADDRESS=ON"
|
||||||
|
]
|
||||||
|
++ optionals (sanitizeThreads) [
|
||||||
|
"-DKICAD_SANITIZE_THREADS=ON"
|
||||||
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake doxygen pkg-config lndir ];
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
doxygen
|
||||||
|
graphviz
|
||||||
|
pkg-config
|
||||||
|
lndir
|
||||||
|
]
|
||||||
|
# wanted by configuration on linux, doesn't seem to affect performance
|
||||||
|
# no effect on closure size
|
||||||
|
++ optionals (stdenv.isLinux) [
|
||||||
|
util-linux
|
||||||
|
libselinux
|
||||||
|
libsepol
|
||||||
|
libthai
|
||||||
|
libdatrie
|
||||||
|
libxkbcommon
|
||||||
|
epoxy
|
||||||
|
dbus.daemon
|
||||||
|
at-spi2-core
|
||||||
|
libXtst
|
||||||
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
libGLU
|
libGLU
|
||||||
|
@ -100,6 +140,7 @@ stdenv.mkDerivation rec {
|
||||||
zlib
|
zlib
|
||||||
libX11
|
libX11
|
||||||
wxGTK
|
wxGTK
|
||||||
|
wxGTK.gtk
|
||||||
pcre
|
pcre
|
||||||
libXdmcp
|
libXdmcp
|
||||||
gettext
|
gettext
|
||||||
|
@ -110,7 +151,6 @@ stdenv.mkDerivation rec {
|
||||||
curl
|
curl
|
||||||
openssl
|
openssl
|
||||||
boost
|
boost
|
||||||
gtk3
|
|
||||||
]
|
]
|
||||||
++ optionals (withScripting) [ swig python wxPython ]
|
++ optionals (withScripting) [ swig python wxPython ]
|
||||||
++ optional (withNgspice) libngspice
|
++ optional (withNgspice) libngspice
|
||||||
|
|
|
@ -25,6 +25,8 @@
|
||||||
, withScripting ? true
|
, withScripting ? true
|
||||||
, python3
|
, python3
|
||||||
, debug ? false
|
, debug ? false
|
||||||
|
, sanitizeAddress ? false
|
||||||
|
, sanitizeThreads ? false
|
||||||
, with3d ? true
|
, with3d ? true
|
||||||
, withI18n ? true
|
, withI18n ? true
|
||||||
, srcs ? { }
|
, srcs ? { }
|
||||||
|
@ -146,28 +148,28 @@ let
|
||||||
};
|
};
|
||||||
|
|
||||||
python = python3;
|
python = python3;
|
||||||
wxPython = python.pkgs.wxPython_4_0;
|
wxPython = if (stable)
|
||||||
|
then python.pkgs.wxPython_4_0
|
||||||
|
else python.pkgs.wxPython_4_1;
|
||||||
|
|
||||||
inherit (lib) concatStringsSep flatten optionalString optionals;
|
inherit (lib) concatStringsSep flatten optionalString optionals;
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
|
||||||
# Common libraries, referenced during runtime, via the wrapper.
|
# Common libraries, referenced during runtime, via the wrapper.
|
||||||
passthru.libraries = callPackages ./libraries.nix { inherit libSrc libVersion; };
|
passthru.libraries = callPackages ./libraries.nix { inherit libSrc; };
|
||||||
passthru.i18n = callPackage ./i18n.nix {
|
passthru.i18n = callPackage ./i18n.nix { src = i18nSrc; };
|
||||||
src = i18nSrc;
|
|
||||||
version = i18nVersion;
|
|
||||||
};
|
|
||||||
base = callPackage ./base.nix {
|
base = callPackage ./base.nix {
|
||||||
inherit stable baseName;
|
inherit stable baseName;
|
||||||
inherit kicadSrc kicadVersion;
|
inherit kicadSrc kicadVersion;
|
||||||
inherit (passthru) i18n;
|
inherit (passthru) i18n;
|
||||||
inherit wxGTK python wxPython;
|
inherit wxGTK python wxPython;
|
||||||
inherit debug withI18n withOCC withOCE withNgspice withScripting;
|
inherit withI18n withOCC withOCE withNgspice withScripting;
|
||||||
|
inherit debug sanitizeAddress sanitizeThreads;
|
||||||
};
|
};
|
||||||
|
|
||||||
inherit pname;
|
inherit pname;
|
||||||
version = kicadVersion;
|
version = if (stable) then kicadVersion else builtins.substring 0 10 src.src.rev;
|
||||||
|
|
||||||
src = base;
|
src = base;
|
||||||
dontUnpack = true;
|
dontUnpack = true;
|
||||||
|
@ -193,14 +195,31 @@ stdenv.mkDerivation rec {
|
||||||
# wrapGAppsHook did these two as well, no idea if it matters...
|
# wrapGAppsHook did these two as well, no idea if it matters...
|
||||||
"--prefix XDG_DATA_DIRS : ${cups}/share"
|
"--prefix XDG_DATA_DIRS : ${cups}/share"
|
||||||
"--prefix GIO_EXTRA_MODULES : ${dconf}/lib/gio/modules"
|
"--prefix GIO_EXTRA_MODULES : ${dconf}/lib/gio/modules"
|
||||||
|
# required to open a bug report link in firefox-wayland
|
||||||
|
"--set-default MOZ_DBUS_REMOTE 1"
|
||||||
|
]
|
||||||
|
++ optionals (stable)
|
||||||
|
[
|
||||||
"--set-default KISYSMOD ${footprints}/share/kicad/modules"
|
"--set-default KISYSMOD ${footprints}/share/kicad/modules"
|
||||||
"--set-default KICAD_SYMBOL_DIR ${symbols}/share/kicad/library"
|
"--set-default KICAD_SYMBOL_DIR ${symbols}/share/kicad/library"
|
||||||
"--set-default KICAD_TEMPLATE_DIR ${templates}/share/kicad/template"
|
"--set-default KICAD_TEMPLATE_DIR ${templates}/share/kicad/template"
|
||||||
"--prefix KICAD_TEMPLATE_DIR : ${symbols}/share/kicad/template"
|
"--prefix KICAD_TEMPLATE_DIR : ${symbols}/share/kicad/template"
|
||||||
"--prefix KICAD_TEMPLATE_DIR : ${footprints}/share/kicad/template"
|
"--prefix KICAD_TEMPLATE_DIR : ${footprints}/share/kicad/template"
|
||||||
]
|
]
|
||||||
++ optionals (with3d) [ "--set-default KISYS3DMOD ${packages3d}/share/kicad/modules/packages3d" ]
|
++ optionals (stable && with3d) [ "--set-default KISYS3DMOD ${packages3d}/share/kicad/modules/packages3d" ]
|
||||||
|
++ optionals (!stable)
|
||||||
|
[
|
||||||
|
"--set-default KICAD6_FOOTPRINT_DIR ${footprints}/share/kicad/modules"
|
||||||
|
"--set-default KICAD6_SYMBOL_DIR ${symbols}/share/kicad/library"
|
||||||
|
"--set-default KICAD6_TEMPLATE_DIR ${templates}/share/kicad/template"
|
||||||
|
"--prefix KICAD6_TEMPLATE_DIR : ${symbols}/share/kicad/template"
|
||||||
|
"--prefix KICAD6_TEMPLATE_DIR : ${footprints}/share/kicad/template"
|
||||||
|
]
|
||||||
|
++ optionals (!stable && with3d)
|
||||||
|
[
|
||||||
|
"--set-default KISYS3DMOD ${packages3d}/share/kicad/3dmodels"
|
||||||
|
"--set-default KICAD6_3DMODEL_DIR ${packages3d}/share/kicad/3dmodels"
|
||||||
|
]
|
||||||
++ optionals (withNgspice) [ "--prefix LD_LIBRARY_PATH : ${libngspice}/lib" ]
|
++ optionals (withNgspice) [ "--prefix LD_LIBRARY_PATH : ${libngspice}/lib" ]
|
||||||
|
|
||||||
# infinisil's workaround for #39493
|
# infinisil's workaround for #39493
|
||||||
|
@ -238,6 +257,7 @@ stdenv.mkDerivation rec {
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mkdir -p $out/share
|
mkdir -p $out/share
|
||||||
ln -s ${base}/share/applications $out/share/applications
|
ln -s ${base}/share/applications $out/share/applications
|
||||||
|
ln -s ${base}/share/metainfo $out/share/metainfo
|
||||||
ln -s ${base}/share/icons $out/share/icons
|
ln -s ${base}/share/icons $out/share/icons
|
||||||
ln -s ${base}/share/mime $out/share/mime
|
ln -s ${base}/share/mime $out/share/mime
|
||||||
'';
|
'';
|
||||||
|
@ -260,8 +280,7 @@ stdenv.mkDerivation rec {
|
||||||
The Programs handle Schematic Capture, and PCB Layout with Gerber output.
|
The Programs handle Schematic Capture, and PCB Layout with Gerber output.
|
||||||
'';
|
'';
|
||||||
license = lib.licenses.gpl3Plus;
|
license = lib.licenses.gpl3Plus;
|
||||||
# berce seems inactive...
|
maintainers = with lib.maintainers; [ evils kiwi ];
|
||||||
maintainers = with lib.maintainers; [ evils kiwi berce ];
|
|
||||||
# kicad is cross platform
|
# kicad is cross platform
|
||||||
platforms = lib.platforms.all;
|
platforms = lib.platforms.all;
|
||||||
# despite that, nipkgs' wxGTK for darwin is "wxmac"
|
# despite that, nipkgs' wxGTK for darwin is "wxmac"
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
, cmake
|
, cmake
|
||||||
, gettext
|
, gettext
|
||||||
, src
|
, src
|
||||||
, version
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
inherit src version;
|
inherit src;
|
||||||
|
|
||||||
pname = "kicad-i18n";
|
pname = "kicad-i18n";
|
||||||
|
version = builtins.substring 0 10 src.rev;
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake gettext ];
|
nativeBuildInputs = [ cmake gettext ];
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|
|
@ -2,13 +2,12 @@
|
||||||
, cmake
|
, cmake
|
||||||
, gettext
|
, gettext
|
||||||
, libSrc
|
, libSrc
|
||||||
, libVersion
|
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
mkLib = name:
|
mkLib = name:
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
pname = "kicad-${name}";
|
pname = "kicad-${name}";
|
||||||
version = libVersion;
|
version = builtins.substring 0 10 (libSrc name).rev;
|
||||||
|
|
||||||
src = libSrc name;
|
src = libSrc name;
|
||||||
|
|
||||||
|
|
|
@ -3,17 +3,17 @@
|
||||||
{
|
{
|
||||||
"kicad" = {
|
"kicad" = {
|
||||||
kicadVersion = {
|
kicadVersion = {
|
||||||
version = "5.1.9";
|
version = "5.1.10";
|
||||||
src = {
|
src = {
|
||||||
rev = "73d0e3b20dec05c4350efa5b69916eb29a7bfcb5";
|
rev = "88a1d61d58fdd62149bd1e00984e01540148ca1b";
|
||||||
sha256 = "1cqh3bc9y140hbryfk9qavs2y3lj5sm9q0qjxcf4mm472afzckky";
|
sha256 = "10ix560bqy0lprnik1bprxw9ix4g8w2ipvyikx551ak9ryvgwjcc";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
libVersion = {
|
libVersion = {
|
||||||
version = "5.1.9";
|
version = "5.1.10";
|
||||||
libSources = {
|
libSources = {
|
||||||
i18n.rev = "04f3231f60d55400cb81564b2cd465a57d5192d5";
|
i18n.rev = "f081afe79be4660d5c49a9d674e3cb666d76d4d0";
|
||||||
i18n.sha256 = "04jq1dcag6i2ljjfqrib65mn4wg4c4nmi7i946l3bywc0rkqsx1f";
|
i18n.sha256 = "0y51l0r62cnxkvpc21732p3cx7pjvaqjih8193502hlv9kv1j9p6";
|
||||||
symbols.rev = "6dec5004b6a2679c19d4857bda2f90c5ab3a5726";
|
symbols.rev = "6dec5004b6a2679c19d4857bda2f90c5ab3a5726";
|
||||||
symbols.sha256 = "0n25rq32jwyigfw26faqraillwv6zbi2ywy26dkz5zqlf5xp56ad";
|
symbols.sha256 = "0n25rq32jwyigfw26faqraillwv6zbi2ywy26dkz5zqlf5xp56ad";
|
||||||
templates.rev = "1ccbaf3704e8ff4030d0915f71e051af621ef7d7";
|
templates.rev = "1ccbaf3704e8ff4030d0915f71e051af621ef7d7";
|
||||||
|
@ -27,23 +27,23 @@
|
||||||
};
|
};
|
||||||
"kicad-unstable" = {
|
"kicad-unstable" = {
|
||||||
kicadVersion = {
|
kicadVersion = {
|
||||||
version = "2020-12-23";
|
version = "2021-05-13";
|
||||||
src = {
|
src = {
|
||||||
rev = "912657dd238ad78cfc5d9d5e426ea850d5554fb3";
|
rev = "8513ca974c28d76d9f74a7dc96601d98e66e87fd";
|
||||||
sha256 = "1p5kr4d4zpajwdmya1f351y1ix8qmvsx1hrnvhzh7yc3g72kgxah";
|
sha256 = "1xlj6jwzwxsa14djqhj0csziii21mr9czvdj6fxqp6px84cifjsh";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
libVersion = {
|
libVersion = {
|
||||||
version = "2020-12-23";
|
version = "2021-05-13";
|
||||||
libSources = {
|
libSources = {
|
||||||
i18n.rev = "e89d9a89bec59199c1ade56ee2556591412ab7b0";
|
i18n.rev = "e89d9a89bec59199c1ade56ee2556591412ab7b0";
|
||||||
i18n.sha256 = "04zaqyhj3qr4ymyd3k5vjpcna64j8klpsygcgjcv29s3rdi8glfl";
|
i18n.sha256 = "04zaqyhj3qr4ymyd3k5vjpcna64j8klpsygcgjcv29s3rdi8glfl";
|
||||||
symbols.rev = "e538abb015b4f289910a6f26b2f1b9cb8bf2efdb";
|
symbols.rev = "32de73ea01347a005790119eb4102c550815685c";
|
||||||
symbols.sha256 = "117y4cm46anlrnw6y6mdjgl1a5gab6h6m7cwx3q7qb284m9bs5gi";
|
symbols.sha256 = "0gj10v06rkxlxngc40d1sfmlcagy5p7jfxid0lch4w0wxfjmks7z";
|
||||||
templates.rev = "32a4f6fab863976fdcfa232e3e08fdcf3323a954";
|
templates.rev = "073d1941c428242a563dcb5301ff5c7479fe9c71";
|
||||||
templates.sha256 = "13r94dghrh9slpj7nkzv0zqv5hk49s6pxm4q5ndqx0y8037ivmhk";
|
templates.sha256 = "14p06m2zvlzzz2w74y83f2zml7mgv5dhy2nyfkpblanxawrzxv1x";
|
||||||
footprints.rev = "15ffd67e01257d4d8134dbd6708cb58977eeccbe";
|
footprints.rev = "8fa36dfa3423d8777472e3475c1c2b0b2069624f";
|
||||||
footprints.sha256 = "1ad5k3wh2zqfibrar7pd3g363jk2q51dvraxnq3zlxa2x4znh7mw";
|
footprints.sha256 = "138xfkr0prxw2djkwc1m4mlp9km99v12sivbqhm1jkq5yxngdbin";
|
||||||
packages3d.rev = "d8b7e8c56d535f4d7e46373bf24c754a8403da1f";
|
packages3d.rev = "d8b7e8c56d535f4d7e46373bf24c754a8403da1f";
|
||||||
packages3d.sha256 = "0dh8ixg0w43wzj5h3164dz6l1vl4llwxhi3qcdgj1lgvrs28aywd";
|
packages3d.sha256 = "0dh8ixg0w43wzj5h3164dz6l1vl4llwxhi3qcdgj1lgvrs28aywd";
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
{ lib, stdenv, fetchurl, cmake, pkg-config, python3, libX11, libXext, libXinerama, libXrandr, libXft, freetype, asciidoc
|
{ lib, stdenv, fetchurl, cmake, pkg-config, python3, libX11, libXext, libXinerama, libXrandr, libXft, libXrender, freetype, asciidoc
|
||||||
, xdotool, xorgserver, xsetroot, xterm, runtimeShell
|
, xdotool, xorgserver, xsetroot, xterm, runtimeShell
|
||||||
, nixosTests }:
|
, nixosTests }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "herbstluftwm";
|
pname = "herbstluftwm";
|
||||||
version = "0.9.2";
|
version = "0.9.3";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://herbstluftwm.org/tarballs/herbstluftwm-${version}.tar.gz";
|
url = "https://herbstluftwm.org/tarballs/herbstluftwm-${version}.tar.gz";
|
||||||
sha256 = "0avfhr68f6fjnafjdcyxcx7dkg38f2nadmhpj971qyqzfq2f6i38";
|
sha256 = "01f1bv9axjhw1l2gwhdwahljssj0h8q7a1bqwbpnwvln0ayv39qb";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [
|
outputs = [
|
||||||
|
@ -36,6 +36,7 @@ stdenv.mkDerivation rec {
|
||||||
libXinerama
|
libXinerama
|
||||||
libXrandr
|
libXrandr
|
||||||
libXft
|
libXft
|
||||||
|
libXrender
|
||||||
freetype
|
freetype
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -24,11 +24,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gnome-calendar";
|
pname = "gnome-calendar";
|
||||||
version = "40.0";
|
version = "40.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "0d74hng9jdmwdcjgj4xfrcink2gwkbp1k1mad4wanaf7q31c6f38";
|
sha256 = "2M30n57uHDo8aZHDL4VjxKfE2w23ymPOUcyRjkM7M6U=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|
|
@ -1,46 +1,45 @@
|
||||||
{ lib, stdenv
|
{ lib
|
||||||
|
, stdenv
|
||||||
, fetchurl
|
, fetchurl
|
||||||
, gnome
|
|
||||||
, meson
|
, meson
|
||||||
, ninja
|
, ninja
|
||||||
, vala
|
|
||||||
, pkg-config
|
, pkg-config
|
||||||
|
, vala
|
||||||
|
, gettext
|
||||||
|
, itstool
|
||||||
|
, python3
|
||||||
|
, appstream-glib
|
||||||
|
, desktop-file-utils
|
||||||
|
, wrapGAppsHook
|
||||||
, glib
|
, glib
|
||||||
, gtk3
|
, gtk3
|
||||||
, python3
|
|
||||||
, libxml2
|
, libxml2
|
||||||
, gtk-vnc
|
, gtk-vnc
|
||||||
, gettext
|
, gtk-frdp
|
||||||
, desktop-file-utils
|
, gnome
|
||||||
, appstream-glib
|
|
||||||
, gobject-introspection
|
|
||||||
, freerdp
|
|
||||||
, wrapGAppsHook
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gnome-connections";
|
pname = "gnome-connections";
|
||||||
version = "3.38.1";
|
version = "40.0.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/connections/${lib.versions.majorMinor version}/connections-${version}.tar.xz";
|
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||||
hash = "sha256-5c7uBFkh9Vsw6bWWUDjNTMDrrFqI5JEgYlsWpfyuTpA=";
|
hash = "sha256-vpvLoHzz+vWs4M5UzSL4YJtNx3ZuJe5f2cGAw5WbTRE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
desktop-file-utils
|
|
||||||
gettext
|
|
||||||
glib # glib-compile-resources
|
|
||||||
meson
|
meson
|
||||||
appstream-glib
|
|
||||||
ninja
|
ninja
|
||||||
pkg-config
|
pkg-config
|
||||||
python3
|
|
||||||
vala
|
vala
|
||||||
|
gettext
|
||||||
|
itstool
|
||||||
|
python3
|
||||||
|
appstream-glib
|
||||||
|
desktop-file-utils
|
||||||
|
glib # glib-compile-resources
|
||||||
wrapGAppsHook
|
wrapGAppsHook
|
||||||
|
|
||||||
# for gtk-frdp subproject
|
|
||||||
gobject-introspection
|
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
@ -48,9 +47,7 @@ stdenv.mkDerivation rec {
|
||||||
gtk-vnc
|
gtk-vnc
|
||||||
gtk3
|
gtk3
|
||||||
libxml2
|
libxml2
|
||||||
|
gtk-frdp
|
||||||
# for gtk-frdp subproject
|
|
||||||
freerdp
|
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
@ -60,8 +57,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
updateScript = gnome.updateScript {
|
updateScript = gnome.updateScript {
|
||||||
packageName = "connections";
|
packageName = pname;
|
||||||
attrPath = "gnome-connections";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{ lib, stdenv
|
{ lib
|
||||||
|
, stdenv
|
||||||
, fetchurl
|
, fetchurl
|
||||||
, fetchpatch
|
, fetchpatch
|
||||||
, meson
|
, meson
|
||||||
|
@ -9,13 +10,14 @@
|
||||||
, gettext
|
, gettext
|
||||||
, gnome
|
, gnome
|
||||||
, glib
|
, glib
|
||||||
, gtk3
|
, gtk4
|
||||||
|
, wayland
|
||||||
|
, libadwaita
|
||||||
, libpeas
|
, libpeas
|
||||||
, gnome-online-accounts
|
, gnome-online-accounts
|
||||||
, gsettings-desktop-schemas
|
, gsettings-desktop-schemas
|
||||||
|
, libportal
|
||||||
, evolution-data-server
|
, evolution-data-server
|
||||||
, libxml2
|
|
||||||
, libsoup
|
|
||||||
, libical
|
, libical
|
||||||
, librest
|
, librest
|
||||||
, json-glib
|
, json-glib
|
||||||
|
@ -23,26 +25,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gnome-todo";
|
pname = "gnome-todo";
|
||||||
version = "3.28.1";
|
version = "40.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7";
|
sha256 = "aAl8lvBnXHFCZn0QQ0ToNHLdf8xTj+wKzb9gJrucobE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
|
||||||
# fix build with libecal 2.0
|
|
||||||
(fetchpatch {
|
|
||||||
name = "gnome-todo-eds-libecal-2.0.patch";
|
|
||||||
url = "https://src.fedoraproject.org/rpms/gnome-todo/raw/bed44b8530f3c79589982e03b430b3a125e9bceb/f/gnome-todo-eds-libecal-2.0.patch";
|
|
||||||
sha256 = "1ghrz973skal36j90wm2z13m3panw983r6y0k7z9gpj5lxgz92mq";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
postPatch = ''
|
|
||||||
chmod +x meson_post_install.py
|
|
||||||
patchShebangs meson_post_install.py
|
|
||||||
'';
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
meson
|
meson
|
||||||
ninja
|
ninja
|
||||||
|
@ -54,23 +43,30 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
glib
|
glib
|
||||||
gtk3
|
gtk4
|
||||||
|
wayland # required by gtk header
|
||||||
|
libadwaita
|
||||||
libpeas
|
libpeas
|
||||||
gnome-online-accounts
|
gnome-online-accounts
|
||||||
gsettings-desktop-schemas
|
gsettings-desktop-schemas
|
||||||
gnome.adwaita-icon-theme
|
gnome.adwaita-icon-theme
|
||||||
|
|
||||||
# Plug-ins
|
# Plug-ins
|
||||||
evolution-data-server
|
libportal # background
|
||||||
libxml2
|
evolution-data-server # eds
|
||||||
libsoup
|
|
||||||
libical
|
libical
|
||||||
librest
|
librest # todoist
|
||||||
json-glib
|
json-glib # todoist
|
||||||
];
|
];
|
||||||
|
|
||||||
# Fix parallel building: missing dependency from src/gtd-application.c
|
postPatch = ''
|
||||||
# Probably remove for 3.30+ https://gitlab.gnome.org/GNOME/gnome-todo/issues/170
|
chmod +x build-aux/meson/meson_post_install.py
|
||||||
preBuild = "ninja src/gtd-vcs-identifier.h";
|
patchShebangs build-aux/meson/meson_post_install.py
|
||||||
|
|
||||||
|
# https://gitlab.gnome.org/GNOME/gnome-todo/merge_requests/103
|
||||||
|
substituteInPlace src/meson.build \
|
||||||
|
--replace 'Gtk-3.0' 'Gtk-4.0'
|
||||||
|
'';
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
updateScript = gnome.updateScript {
|
updateScript = gnome.updateScript {
|
||||||
|
|
|
@ -12,17 +12,20 @@
|
||||||
, libvncserver
|
, libvncserver
|
||||||
, libsecret
|
, libsecret
|
||||||
, libnotify
|
, libnotify
|
||||||
|
, libxkbcommon
|
||||||
, gdk-pixbuf
|
, gdk-pixbuf
|
||||||
, freerdp
|
, freerdp
|
||||||
|
, fuse3
|
||||||
|
, gnome
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gnome-remote-desktop";
|
pname = "gnome-remote-desktop";
|
||||||
version = "0.1.9";
|
version = "40.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||||
hash = "sha256-8iZtp4tBRT7NNRKuzwop3rcMvq16RG/I2sAlEIsJ0M8=";
|
hash = "sha256-mvpuUlVwo3IJP5cwM4JwkDiU87H5+KnfX1eDbqHSnek=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -36,11 +39,13 @@ stdenv.mkDerivation rec {
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
cairo
|
cairo
|
||||||
freerdp
|
freerdp
|
||||||
|
fuse3
|
||||||
gdk-pixbuf # For libnotify
|
gdk-pixbuf # For libnotify
|
||||||
glib
|
glib
|
||||||
libnotify
|
libnotify
|
||||||
libsecret
|
libsecret
|
||||||
libvncserver
|
libvncserver
|
||||||
|
libxkbcommon
|
||||||
pipewire
|
pipewire
|
||||||
systemd
|
systemd
|
||||||
];
|
];
|
||||||
|
@ -54,6 +59,13 @@ stdenv.mkDerivation rec {
|
||||||
"-Dsystemd_user_unit_dir=${placeholder "out"}/lib/systemd/user"
|
"-Dsystemd_user_unit_dir=${placeholder "out"}/lib/systemd/user"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
updateScript = gnome.updateScript {
|
||||||
|
packageName = pname;
|
||||||
|
attrPath = "gnome.${pname}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://wiki.gnome.org/Projects/Mutter/RemoteDesktop";
|
homepage = "https://wiki.gnome.org/Projects/Mutter/RemoteDesktop";
|
||||||
description = "GNOME Remote Desktop server";
|
description = "GNOME Remote Desktop server";
|
||||||
|
|
|
@ -1,20 +1,23 @@
|
||||||
{ lib, stdenv, fetchurl, fetchpatch, meson, ninja, gettext, pkg-config, spidermonkey_68, glib
|
{ lib
|
||||||
, gnome, gnome-menus, substituteAll }:
|
, stdenv
|
||||||
|
, fetchurl
|
||||||
|
, meson
|
||||||
|
, ninja
|
||||||
|
, gettext
|
||||||
|
, pkg-config
|
||||||
|
, glib
|
||||||
|
, gnome
|
||||||
|
, gnome-menus
|
||||||
|
, substituteAll
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gnome-shell-extensions";
|
pname = "gnome-shell-extensions";
|
||||||
version = "40.0";
|
version = "40.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/gnome-shell-extensions/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
url = "mirror://gnome/sources/gnome-shell-extensions/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "15hak4prx2nx1svfii39clxy1lll8crdf7p91if85jcsh6r8ab8p";
|
sha256 = "T7/OCtQ1e+5zrn3Bjqoe9MqnOF5PlPavuN/HJR/RqL8=";
|
||||||
};
|
|
||||||
|
|
||||||
passthru = {
|
|
||||||
updateScript = gnome.updateScript {
|
|
||||||
packageName = pname;
|
|
||||||
attrPath = "gnome.${pname}";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -22,24 +25,19 @@ stdenv.mkDerivation rec {
|
||||||
src = ./fix_gmenu.patch;
|
src = ./fix_gmenu.patch;
|
||||||
gmenu_path = "${gnome-menus}/lib/girepository-1.0";
|
gmenu_path = "${gnome-menus}/lib/girepository-1.0";
|
||||||
})
|
})
|
||||||
|
|
||||||
# Do not show welcome dialog in gnome-classic.
|
|
||||||
# Needed for gnome-shell 40.1.
|
|
||||||
# https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/169
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://gitlab.gnome.org/GNOME/gnome-shell-extensions/commit/3e8bbb07ea7109c44d5ac7998f473779e742d041.patch";
|
|
||||||
sha256 = "jSmPwSBgRBfPPP9mGVjw1mSWumIXQqtA6tSqHr3U+3w=";
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
|
|
||||||
doCheck = true;
|
nativeBuildInputs = [
|
||||||
# 60 is required for tests
|
meson
|
||||||
# https://gitlab.gnome.org/GNOME/gnome-shell-extensions/blob/3.34.0/meson.build#L23
|
ninja
|
||||||
checkInputs = [ spidermonkey_68 ];
|
pkg-config
|
||||||
|
gettext
|
||||||
|
glib
|
||||||
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ meson ninja pkg-config gettext glib ];
|
mesonFlags = [
|
||||||
|
"-Dextension_set=all"
|
||||||
mesonFlags = [ "-Dextension_set=all" ];
|
];
|
||||||
|
|
||||||
preFixup = ''
|
preFixup = ''
|
||||||
# The meson build doesn't compile the schemas.
|
# The meson build doesn't compile the schemas.
|
||||||
|
@ -63,11 +61,18 @@ stdenv.mkDerivation rec {
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
updateScript = gnome.updateScript {
|
||||||
|
packageName = pname;
|
||||||
|
attrPath = "gnome.${pname}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://wiki.gnome.org/Projects/GnomeShell/Extensions";
|
homepage = "https://wiki.gnome.org/Projects/GnomeShell/Extensions";
|
||||||
description = "Modify and extend GNOME Shell functionality and behavior";
|
description = "Modify and extend GNOME Shell functionality and behavior";
|
||||||
maintainers = teams.gnome.members;
|
maintainers = teams.gnome.members;
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2Plus;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
{ fetchurl
|
{ fetchurl
|
||||||
, fetchpatch
|
, fetchpatch
|
||||||
, fetchgit
|
|
||||||
, substituteAll
|
, substituteAll
|
||||||
, lib, stdenv
|
, lib, stdenv
|
||||||
, meson
|
, meson
|
||||||
|
@ -67,20 +66,14 @@ let
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gnome-shell";
|
pname = "gnome-shell";
|
||||||
version = "40.0-unstable-2021-05-01";
|
version = "40.1";
|
||||||
|
|
||||||
outputs = [ "out" "devdoc" ];
|
outputs = [ "out" "devdoc" ];
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchurl {
|
||||||
url = "https://gitlab.gnome.org/GNOME/gnome-shell.git";
|
url = "mirror://gnome/sources/gnome-shell/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||||
rev = "a8a79c03330427808e776c344f7ebc42782a1b5a";
|
sha256 = "sha256-9j4r7Zm9iVjPMT2F9EoBjVn4UqBbqfKap8t0S+xvprc=";
|
||||||
sha256 = "ivHV0SRpnBqsdC7fu1Xhtd/BA55O0UdbUyDLy5KHNYs=";
|
|
||||||
fetchSubmodules = true;
|
|
||||||
};
|
};
|
||||||
# src = fetchurl {
|
|
||||||
# url = "mirror://gnome/sources/gnome-shell/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
|
||||||
# sha256 = "sha256-vOcfQC36qcXiab9lv0iiI0PYlubPmiw0ZpOS1/v2hHg=";
|
|
||||||
# };
|
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
# Hardcode paths to various dependencies so that they can be found at runtime.
|
# Hardcode paths to various dependencies so that they can be found at runtime.
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
{ fetchurl
|
{ fetchurl
|
||||||
, fetchpatch
|
|
||||||
, substituteAll
|
, substituteAll
|
||||||
, runCommand
|
, runCommand
|
||||||
, lib, stdenv
|
, lib
|
||||||
|
, stdenv
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, gnome
|
, gnome
|
||||||
, gettext
|
, gettext
|
||||||
|
@ -45,13 +45,13 @@
|
||||||
|
|
||||||
let self = stdenv.mkDerivation rec {
|
let self = stdenv.mkDerivation rec {
|
||||||
pname = "mutter";
|
pname = "mutter";
|
||||||
version = "40.0";
|
version = "40.1";
|
||||||
|
|
||||||
outputs = [ "out" "dev" "man" ];
|
outputs = [ "out" "dev" "man" ];
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/mutter/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
url = "mirror://gnome/sources/mutter/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "sha256-enGzEuWmZ8U3SJUYilBqP2tnF2i8s2K2jv3FYnc9GY4=";
|
sha256 = "sha256-pl8ycpYRM4KWh9QQcmfk4ZKQ5thueAf62H6rCDHB4MA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -63,13 +63,6 @@ let self = stdenv.mkDerivation rec {
|
||||||
src = ./fix-paths.patch;
|
src = ./fix-paths.patch;
|
||||||
inherit zenity;
|
inherit zenity;
|
||||||
})
|
})
|
||||||
|
|
||||||
# Fix non-deterministic build failure:
|
|
||||||
# https://gitlab.gnome.org/GNOME/mutter/-/issues/1682
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://gitlab.gnome.org/GNOME/mutter/commit/91117bb052ed0d69c8ea4159c1df15c814d90627.patch";
|
|
||||||
sha256 = "ek8hEoPP4S2TGOm6SGGOhUVIp4OT68nz0SQzZrceFUU=";
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
|
|
||||||
mesonFlags = [
|
mesonFlags = [
|
||||||
|
|
|
@ -7,13 +7,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gnome-shell-extension-sound-output-device-chooser";
|
pname = "gnome-shell-extension-sound-output-device-chooser";
|
||||||
version = "35";
|
version = "38";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kgshank";
|
owner = "kgshank";
|
||||||
repo = "gse-sound-output-device-chooser";
|
repo = "gse-sound-output-device-chooser";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-Yl5ut6kJAkAAdCBiNFpwDgshXCLMmFH3/zhnFGpyKqs=";
|
sha256 = "sha256-LZ+C9iK+j7+DEscYCIObxXc0Bn0Z0xSsEFMZxc8REWA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -28,11 +28,13 @@ stdenv.mkDerivation rec {
|
||||||
dontBuild = true;
|
dontBuild = true;
|
||||||
|
|
||||||
uuid = "sound-output-device-chooser@kgshank.net";
|
uuid = "sound-output-device-chooser@kgshank.net";
|
||||||
installPhase = ''
|
|
||||||
runHook preInstall
|
makeFlags = [
|
||||||
mkdir -p $out/share/gnome-shell/extensions
|
"INSTALL_DIR=${placeholder "out"}/share/gnome-shell/extensions"
|
||||||
cp -r ${uuid} $out/share/gnome-shell/extensions
|
];
|
||||||
runHook postInstall
|
|
||||||
|
preInstall = ''
|
||||||
|
mkdir -p ${placeholder "out"}/share/gnome-shell/extensions
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gnome-shell-system-monitor";
|
pname = "gnome-shell-system-monitor";
|
||||||
version = "unstable-2021-04-08";
|
version = "unstable-2021-05-04";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "paradoxxxzero";
|
owner = "paradoxxxzero";
|
||||||
repo = "gnome-shell-system-monitor-applet";
|
repo = "gnome-shell-system-monitor-applet";
|
||||||
rev = "942603da39de12f50b1f86efbde92d7526d1290e";
|
rev = "bc38ccf49ac0ffae0fc0436f3c2579fc86949f10";
|
||||||
sha256 = "0lzb7064bigw2xsqkzr8qfhp9wfmxyi3823j2782v99jpcz423aw";
|
sha256 = "0yb5sb2xv4m18a24h4daahnxgnlmbfa0rfzic0zs082qv1kfi5h8";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
|
|
@ -1,18 +1,18 @@
|
||||||
From 2bf6614a6d7516e194e39eb691c05b486860153c Mon Sep 17 00:00:00 2001
|
From 57bed86429db9d871f1442c94f14e94e38972ca3 Mon Sep 17 00:00:00 2001
|
||||||
From: worldofpeace <worldofpeace@protonmail.ch>
|
From: worldofpeace <worldofpeace@protonmail.ch>
|
||||||
Date: Thu, 16 May 2019 21:15:15 -0400
|
Date: Thu, 16 May 2019 21:15:15 -0400
|
||||||
Subject: [PATCH] meson: add options for tests installation dirs
|
Subject: [PATCH] meson: add options for tests installation dirs
|
||||||
|
|
||||||
---
|
---
|
||||||
meson_options.txt | 6 ++++++
|
meson_options.txt | 6 ++++++
|
||||||
tests/meson.build | 19 ++++++++++++++-----
|
tests/meson.build | 23 ++++++++++++++++-------
|
||||||
2 files changed, 20 insertions(+), 5 deletions(-)
|
2 files changed, 22 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
diff --git a/meson_options.txt b/meson_options.txt
|
diff --git a/meson_options.txt b/meson_options.txt
|
||||||
index 578bdae..6f5fa23 100644
|
index b9a2fb5..4b8629f 100644
|
||||||
--- a/meson_options.txt
|
--- a/meson_options.txt
|
||||||
+++ b/meson_options.txt
|
+++ b/meson_options.txt
|
||||||
@@ -22,3 +22,9 @@ option('tests', type: 'boolean',
|
@@ -23,3 +23,9 @@ option('tests', type: 'boolean',
|
||||||
option('installed_tests', type: 'boolean',
|
option('installed_tests', type: 'boolean',
|
||||||
value: true,
|
value: true,
|
||||||
description: 'Install tests')
|
description: 'Install tests')
|
||||||
|
@ -23,12 +23,12 @@ index 578bdae..6f5fa23 100644
|
||||||
+ value: '',
|
+ value: '',
|
||||||
+ description: 'Installation directory for binary files in tests')
|
+ description: 'Installation directory for binary files in tests')
|
||||||
diff --git a/tests/meson.build b/tests/meson.build
|
diff --git a/tests/meson.build b/tests/meson.build
|
||||||
index 1f9bd0e..0253ac3 100644
|
index 77281f5..c4c7fac 100644
|
||||||
--- a/tests/meson.build
|
--- a/tests/meson.build
|
||||||
+++ b/tests/meson.build
|
+++ b/tests/meson.build
|
||||||
@@ -22,8 +22,17 @@ unit_tests = [
|
@@ -21,8 +21,17 @@ unit_tests = [
|
||||||
python = python3.find_python()
|
|
||||||
gen_installed_test = join_paths(meson.current_source_dir(), 'gen-installed-test.py')
|
gen_installed_test = find_program('gen-installed-test.py')
|
||||||
|
|
||||||
-installed_test_datadir = join_paths(get_option('prefix'), get_option('datadir'), 'installed-tests', graphene_api_path)
|
-installed_test_datadir = join_paths(get_option('prefix'), get_option('datadir'), 'installed-tests', graphene_api_path)
|
||||||
-installed_test_bindir = join_paths(get_option('prefix'), get_option('libexecdir'), 'installed-tests', graphene_api_path)
|
-installed_test_bindir = join_paths(get_option('prefix'), get_option('libexecdir'), 'installed-tests', graphene_api_path)
|
||||||
|
@ -46,9 +46,9 @@ index 1f9bd0e..0253ac3 100644
|
||||||
|
|
||||||
# Make tests conditional on having mutest-1 installed system-wide, or
|
# Make tests conditional on having mutest-1 installed system-wide, or
|
||||||
# available as a subproject
|
# available as a subproject
|
||||||
@@ -42,13 +51,13 @@ if mutest_dep.found()
|
@@ -40,13 +49,13 @@ if mutest_dep.found()
|
||||||
|
output: wrapper,
|
||||||
command: [
|
command: [
|
||||||
python,
|
|
||||||
gen_installed_test,
|
gen_installed_test,
|
||||||
- '--testdir=@0@'.format(installed_test_bindir),
|
- '--testdir=@0@'.format(installed_test_bindir),
|
||||||
+ '--testdir=@0@'.format(test_bindir),
|
+ '--testdir=@0@'.format(test_bindir),
|
||||||
|
@ -62,7 +62,7 @@ index 1f9bd0e..0253ac3 100644
|
||||||
)
|
)
|
||||||
|
|
||||||
test(unit,
|
test(unit,
|
||||||
@@ -57,7 +66,7 @@ if mutest_dep.found()
|
@@ -55,7 +64,7 @@ if mutest_dep.found()
|
||||||
include_directories: graphene_inc,
|
include_directories: graphene_inc,
|
||||||
c_args: common_cflags,
|
c_args: common_cflags,
|
||||||
install: get_option('installed_tests'),
|
install: get_option('installed_tests'),
|
||||||
|
@ -71,6 +71,22 @@ index 1f9bd0e..0253ac3 100644
|
||||||
),
|
),
|
||||||
env: ['MUTEST_OUTPUT=tap'],
|
env: ['MUTEST_OUTPUT=tap'],
|
||||||
protocol: 'tap',
|
protocol: 'tap',
|
||||||
|
@@ -70,13 +79,13 @@ if build_gir and host_system == 'linux' and not meson.is_cross_build()
|
||||||
|
output: wrapper,
|
||||||
|
command: [
|
||||||
|
gen_installed_test,
|
||||||
|
- '--testdir=@0@'.format(installed_test_bindir),
|
||||||
|
+ '--testdir=@0@'.format(test_bindir),
|
||||||
|
'--testname=@0@'.format(unit),
|
||||||
|
'--outdir=@OUTDIR@',
|
||||||
|
'--outfile=@0@'.format(wrapper),
|
||||||
|
],
|
||||||
|
install: get_option('installed_tests'),
|
||||||
|
- install_dir: installed_test_datadir,
|
||||||
|
+ install_dir: test_datadir,
|
||||||
|
)
|
||||||
|
|
||||||
|
test(unit,
|
||||||
--
|
--
|
||||||
2.22.0
|
2.31.1
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "graphene";
|
pname = "graphene";
|
||||||
version = "1.10.2";
|
version = "1.10.6";
|
||||||
|
|
||||||
outputs = [ "out" "devdoc" "installedTests" ];
|
outputs = [ "out" "devdoc" "installedTests" ];
|
||||||
|
|
||||||
|
@ -24,19 +24,14 @@ stdenv.mkDerivation rec {
|
||||||
owner = "ebassi";
|
owner = "ebassi";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "1ljhhjafi1nlndjswx7mg0d01zci90wz77yvz5w8bd9mm8ssw38s";
|
sha256 = "v6YH3fRMTzhp7wmU8in9ukcavzHmOAW54EK9ZwQyFxc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
# Add option for changing installation path of installed tests.
|
||||||
./0001-meson-add-options-for-tests-installation-dirs.patch
|
./0001-meson-add-options-for-tests-installation-dirs.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
mesonFlags = [
|
|
||||||
"-Dgtk_doc=true"
|
|
||||||
"-Dinstalled_test_datadir=${placeholder "installedTests"}/share"
|
|
||||||
"-Dinstalled_test_bindir=${placeholder "installedTests"}/libexec"
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
docbook_xml_dtd_43
|
docbook_xml_dtd_43
|
||||||
docbook_xsl
|
docbook_xsl
|
||||||
|
@ -57,8 +52,18 @@ stdenv.mkDerivation rec {
|
||||||
mutest
|
mutest
|
||||||
];
|
];
|
||||||
|
|
||||||
|
mesonFlags = [
|
||||||
|
"-Dgtk_doc=true"
|
||||||
|
"-Dinstalled_test_datadir=${placeholder "installedTests"}/share"
|
||||||
|
"-Dinstalled_test_bindir=${placeholder "installedTests"}/libexec"
|
||||||
|
];
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
patchShebangs tests/gen-installed-test.py
|
||||||
|
'';
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
tests = {
|
tests = {
|
||||||
installedTests = nixosTests.installed-tests.graphene;
|
installedTests = nixosTests.installed-tests.graphene;
|
||||||
|
|
54
pkgs/development/libraries/gtk-frdp/default.nix
Normal file
54
pkgs/development/libraries/gtk-frdp/default.nix
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchFromGitLab
|
||||||
|
, meson
|
||||||
|
, ninja
|
||||||
|
, pkg-config
|
||||||
|
, vala
|
||||||
|
, gobject-introspection
|
||||||
|
, glib
|
||||||
|
, gtk3
|
||||||
|
, freerdp
|
||||||
|
, nix-update-script
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "gtk-frdp";
|
||||||
|
version = "3.37.1-unstable-2020-10-26";
|
||||||
|
|
||||||
|
src = fetchFromGitLab {
|
||||||
|
domain = "gitlab.gnome.org";
|
||||||
|
owner = "GNOME";
|
||||||
|
repo = pname;
|
||||||
|
rev = "805721e82ca1df6a50da3b5bd3b75d6747016482";
|
||||||
|
sha256 = "q/UFKYj3LUkAzll3KeKd6oec0GJnDtTuFMTTatKFlcs=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
meson
|
||||||
|
ninja
|
||||||
|
pkg-config
|
||||||
|
vala
|
||||||
|
gobject-introspection
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
glib
|
||||||
|
gtk3
|
||||||
|
freerdp
|
||||||
|
];
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
updateScript = nix-update-script {
|
||||||
|
attrPath = pname;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://gitlab.gnome.org/GNOME/gtk-frdp";
|
||||||
|
description = "RDP viewer widget for GTK";
|
||||||
|
maintainers = teams.gnome.members;
|
||||||
|
license = licenses.lgpl3Plus;
|
||||||
|
platforms = platforms.unix;
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
{ lib, stdenv
|
{ stdenv
|
||||||
|
, lib
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, fetchpatch
|
|
||||||
, meson
|
, meson
|
||||||
, ninja
|
, ninja
|
||||||
, pkg-config
|
, pkg-config
|
||||||
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libportal";
|
pname = "libportal";
|
||||||
version = "0.3";
|
version = "0.4";
|
||||||
|
|
||||||
outputs = [ "out" "dev" "devdoc" ];
|
outputs = [ "out" "dev" "devdoc" ];
|
||||||
|
|
||||||
|
@ -20,22 +20,9 @@ stdenv.mkDerivation rec {
|
||||||
owner = "flatpak";
|
owner = "flatpak";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "1s3g17zbbmq3m5jfs62fl94p4irln9hfhpybj7jb05z0p1939rk3";
|
sha256 = "fuYZWGkdazq6H0rThqpF6KIcvwgc17o+CiISb1LjBso=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
|
||||||
# Fix build and .pc file
|
|
||||||
# https://github.com/flatpak/libportal/pull/20
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://github.com/flatpak/libportal/commit/7828be4ec8f05f8de7b129a1e35b5039d8baaee3.patch";
|
|
||||||
sha256 = "04nadcxx69mbnzljwjrzm88cgapn14x3mghpkhr8b9yrjn7yj86h";
|
|
||||||
})
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://github.com/flatpak/libportal/commit/bf5de2f6fefec65f701b4ec8712b48b29a33fb71.patch";
|
|
||||||
sha256 = "1v0b09diq49c01j5gg2bpvn5f5gfw1a5nm1l8grc4qg4z9jck1z8";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
meson
|
meson
|
||||||
ninja
|
ninja
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "adb-shell";
|
pname = "adb-shell";
|
||||||
version = "0.3.1";
|
version = "0.3.2";
|
||||||
|
|
||||||
disabled = !isPy3k;
|
disabled = !isPy3k;
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ buildPythonPackage rec {
|
||||||
owner = "JeffLIrion";
|
owner = "JeffLIrion";
|
||||||
repo = "adb_shell";
|
repo = "adb_shell";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-b+9ySme44TdIlVnF8AHBBGd8pkoeYG99wmDK/nyAreo=";
|
sha256 = "sha256-+K4fV8dlRpOZC5B7cvkfPRVK/2OBkH9qOmAnOwsm7kQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -5,29 +5,29 @@
|
||||||
, pytest-asyncio
|
, pytest-asyncio
|
||||||
, pytest-error-for-skips
|
, pytest-error-for-skips
|
||||||
, pytest-runner
|
, pytest-runner
|
||||||
, pytest-tornasync
|
|
||||||
, pytest-trio
|
|
||||||
, pytestCheckHook
|
, pytestCheckHook
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "brother";
|
pname = "brother";
|
||||||
version = "1.0.0";
|
version = "1.0.1";
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "bieniu";
|
owner = "bieniu";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-0NfqPlQiOkNhR+H55E9LE4dGa9R8vcSyPNbbIeiRJV8=";
|
sha256 = "sha256-Cfut6Y4Hln32g4V13xbOo5JdjPv2cH6FCDqvRRyijIA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
pytest-runner
|
||||||
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace pytest.ini \
|
substituteInPlace setup.cfg \
|
||||||
--replace "--cov --cov-report term-missing " ""
|
--replace "--cov --cov-report term-missing " ""
|
||||||
substituteInPlace requirements-test.txt \
|
|
||||||
--replace "pytest-cov" ""
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
@ -37,9 +37,6 @@ buildPythonPackage rec {
|
||||||
checkInputs = [
|
checkInputs = [
|
||||||
pytest-asyncio
|
pytest-asyncio
|
||||||
pytest-error-for-skips
|
pytest-error-for-skips
|
||||||
pytest-runner
|
|
||||||
pytest-tornasync
|
|
||||||
pytest-trio
|
|
||||||
pytestCheckHook
|
pytestCheckHook
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -1,25 +1,55 @@
|
||||||
{ lib, buildPythonPackage, fetchPypi
|
{ lib
|
||||||
, pytest, requests-mock, tox
|
, aiohttp
|
||||||
, autobahn, certifi, chardet, cryptography, dateparser, pyopenssl, requests, service-identity, twisted, ujson }:
|
, buildPythonPackage
|
||||||
|
, dateparser
|
||||||
|
, fetchFromGitHub
|
||||||
|
, pytestCheckHook
|
||||||
|
, pythonOlder
|
||||||
|
, requests
|
||||||
|
, requests-mock
|
||||||
|
, six
|
||||||
|
, ujson
|
||||||
|
, websockets
|
||||||
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
version = "0.7.9";
|
|
||||||
pname = "python-binance";
|
pname = "python-binance";
|
||||||
|
version = "1.0.10";
|
||||||
|
disabled = pythonOlder "3.6";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchFromGitHub {
|
||||||
inherit pname version;
|
owner = "sammchardy";
|
||||||
sha256 = "476459d91f6cfe0a37ccac38911643ea6cca632499ad8682e0957a075f73d239";
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "09pq2blvky1ah4k8yc6zkp2g5nkn3awc52ad3lxvj6m33akfzxiv";
|
||||||
};
|
};
|
||||||
|
|
||||||
doCheck = false; # Tries to test multiple interpreters with tox
|
propagatedBuildInputs = [
|
||||||
checkInputs = [ pytest requests-mock tox ];
|
aiohttp
|
||||||
|
dateparser
|
||||||
|
requests
|
||||||
|
six
|
||||||
|
ujson
|
||||||
|
websockets
|
||||||
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [ autobahn certifi chardet cryptography dateparser pyopenssl requests service-identity twisted ujson ];
|
checkInputs = [
|
||||||
|
pytestCheckHook
|
||||||
|
requests-mock
|
||||||
|
];
|
||||||
|
|
||||||
meta = {
|
disabledTestPaths = [
|
||||||
|
# Tests require network access
|
||||||
|
"tests/test_api_request.py"
|
||||||
|
"tests/test_historical_klines.py"
|
||||||
|
];
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "binance" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
description = "Binance Exchange API python implementation for automated trading";
|
description = "Binance Exchange API python implementation for automated trading";
|
||||||
homepage = "https://github.com/sammchardy/python-binance";
|
homepage = "https://github.com/sammchardy/python-binance";
|
||||||
license = lib.licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = [ lib.maintainers.bhipple ];
|
maintainers = with maintainers; [ bhipple ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "webdis";
|
pname = "webdis";
|
||||||
version = "0.1.12";
|
version = "0.1.15";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "nicolasff";
|
owner = "nicolasff";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-pppA/Uyz1ge7UOG1PrqpTQC5sSGMWPw0J+CtaoZpOCM=";
|
sha256 = "sha256-ViU/CKkmBY8WwQq/oJ2/qETqr2k8JNFtNPhozw5BmEc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ hiredis http-parser jansson libevent ];
|
buildInputs = [ hiredis http-parser jansson libevent ];
|
||||||
|
|
|
@ -86,30 +86,30 @@ rec {
|
||||||
headers = "0yx8mkrm15ha977hzh7g2sc5fab9sdvlk1bk3yxignhxrqqbw885";
|
headers = "0yx8mkrm15ha977hzh7g2sc5fab9sdvlk1bk3yxignhxrqqbw885";
|
||||||
};
|
};
|
||||||
|
|
||||||
electron_10 = mkElectron "10.4.4" {
|
electron_10 = mkElectron "10.4.5" {
|
||||||
x86_64-linux = "e82d347ff4753fd4296550e403390c7a9c448d150ea6bb05bd245fd43ac5a708";
|
x86_64-linux = "d7f6203d09b4419262e985001d4c4f6c1fdfa3150eddb0708df9e124bebd0503";
|
||||||
x86_64-darwin = "b8f01dedbd81c58e1dc0fafd316e4c1be07681f7e6d42d3f6f3947cf78d9a8fa";
|
x86_64-darwin = "e3ae7228010055b1d198d8dbaf0f34882d369d8caf76206a59f198301a3f3913";
|
||||||
i686-linux = "2e7847c902e174496e152030932a921ca1cfb2ffcb556e2a01b08d8235eb333d";
|
i686-linux = "dd6abc0dc00d8f9d0e31c8f2bb70f7bbbaec58af4c446f8b493bbae9a9428e2f";
|
||||||
armv7l-linux = "303c246816bff2dc7aeb26d37d99fe82e4bbe484e3e96f42731f6350498b1af2";
|
armv7l-linux = "86bc5f9d3dc94d19e847bf10ab22d98926b616d9febcbdceafd30e35b8f2b2db";
|
||||||
aarch64-linux = "21ba3370b01870fc498d7e180d034a3e3b59a84af231d2dcd82984d6d09fd5da";
|
aarch64-linux = "655b36d68332131250f7496de0bb03a1e93f74bb5fc4b4286148855874673dcd";
|
||||||
headers = "0qxzsycpdq1g8a2yaw7g43da1f8ijpbhj97vvxza8nnvxiay5apf";
|
headers = "1kfgww8wha86yw75k5yfq4mxvjlxgf1jmmzxy0p3hyr000kw26pk";
|
||||||
};
|
};
|
||||||
|
|
||||||
electron_11 = mkElectron "11.4.4" {
|
electron_11 = mkElectron "11.4.5" {
|
||||||
x86_64-linux = "154ae71e674b37b6cb5ec56e0f569435cb9303a5b0c0608bd2e1d026803be1a5";
|
x86_64-linux = "6019703cbd37787ba4f0953cb82415c3fac47c8dba3a3af925b00636792d0f89";
|
||||||
x86_64-darwin = "783962e25433178a1e41b895dbbebc7b82efbe819dbd08c9314d2f4547c73e05";
|
x86_64-darwin = "0f28a1fb4fb6e05f3b602c7e5d8646084344257ba9db977fead9229111a8f599";
|
||||||
i686-linux = "fcfeba63e490648156f01bbe51f27123f93762713f6ab5e4433dc9c232708a25";
|
i686-linux = "886a348e1e984b5ea3e4090168fff4ae9f262b1a158e49ff62c544add6d98bec";
|
||||||
armv7l-linux = "3b98dabbce5a5a8ba66d2f909174b792eeccddd95fd4396a596130f6817ec0d3";
|
armv7l-linux = "009eeae8463a6e5ad8cdefd4ec645f38604881f7cbbcdd5e5dabb6955ef5d002";
|
||||||
aarch64-linux = "cf886b382f4e3815487ee1403d4bb6ff434ecd9625e61c9ecf082f482c88617e";
|
aarch64-linux = "3cc0f9abb03cd9b9de42a749b38748485d85ba511b205ce8de3e56a903c62211";
|
||||||
headers = "1wjcygxy6lvmf1lw857rcd499jk8103nvld0q3jj4r90gwbdhfi3";
|
headers = "10a0nf40crjq14p15g8s3ncj1w0dq1kqhfsm3aq5dppj2gx0k8dn";
|
||||||
};
|
};
|
||||||
|
|
||||||
electron_12 = mkElectron "12.0.5" {
|
electron_12 = mkElectron "12.0.6" {
|
||||||
x86_64-linux = "e89c97f7ee43bf08f2ddaba12c3b78fb26a738c0ea7608561f5e06c8ef37e22b";
|
x86_64-linux = "3c632a25ed6502de00d089ee493475b89dd24c2a85ffa00130a5f06001898f27";
|
||||||
x86_64-darwin = "c5a5e8128478e2dd09fc7222fb0f562ed3aefa3c12470f1811345be03e9d3b76";
|
x86_64-darwin = "416348dad569d64d34396be6590ca15761dce91b77aab8219112464d55d00575";
|
||||||
i686-linux = "6ef8d93be6b05b66cb7c1f1640228dc1215d02851e190e7f16e4313d8ccd6135";
|
i686-linux = "2182f2a7e0564b615db3ef99204df8fd3dbd8b0da2fa2eccc960885d9360f018";
|
||||||
armv7l-linux = "7312956ee48b1a8c02d778cac00e644e8cb27706cf4b387e91c3b062a1599a75";
|
armv7l-linux = "9482309c023a9c367a9403ad750d44a87d68510179fb767707c161672dcd6ffb";
|
||||||
aarch64-linux = "7b2dc425ce70b94ef71b74ed59416e70c4285ae13ef7ea03505c1aafab44904f";
|
aarch64-linux = "3033c5dbfbdb5226f6dc528333d237fcb500c2301b1a547ba8a89e54ebc111ab";
|
||||||
headers = "1aqjhams0zvgq2bm9hc578ylmahi6qggzjfc69kh9vpv2sylimy9";
|
headers = "1la0bfigy2vq7jxrcddj4z5i2xk3cj974ymy0nmbhfnjbwqr7hg2";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, rustPlatform, fetchFromGitHub }:
|
{ lib, stdenv, rustPlatform, fetchFromGitHub, libiconv }:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "flip-link";
|
pname = "flip-link";
|
||||||
|
@ -13,6 +13,8 @@ rustPlatform.buildRustPackage rec {
|
||||||
|
|
||||||
cargoSha256 = "13rgpbwaz2b928rg15lbaszzjymph54pwingxpszp5paihx4iayr";
|
cargoSha256 = "13rgpbwaz2b928rg15lbaszzjymph54pwingxpszp5paihx4iayr";
|
||||||
|
|
||||||
|
buildInputs = lib.optional stdenv.isDarwin libiconv;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Adds zero-cost stack overflow protection to your embedded programs";
|
description = "Adds zero-cost stack overflow protection to your embedded programs";
|
||||||
homepage = "https://github.com/knurling-rs/flip-link";
|
homepage = "https://github.com/knurling-rs/flip-link";
|
||||||
|
|
|
@ -16,13 +16,13 @@
|
||||||
|
|
||||||
python3.pkgs.buildPythonApplication rec {
|
python3.pkgs.buildPythonApplication rec {
|
||||||
pname = "d-feet";
|
pname = "d-feet";
|
||||||
version = "0.3.15";
|
version = "0.3.16";
|
||||||
|
|
||||||
format = "other";
|
format = "other";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/d-feet/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
url = "mirror://gnome/sources/d-feet/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "1cgxgpj546jgpyns6z9nkm5k48lid8s36mvzj8ydkjqws2d19zqz";
|
sha256 = "hzPOS5qaVOwYWx2Fv02p2dEQUogqiAdg/2D5d5stHMs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -128,7 +128,7 @@ in ((vscode-utils.override { stdenv = gccStdenv; }).buildVscodeMarketplaceExtens
|
||||||
description = "Live Share lets you achieve greater confidence at speed by streamlining collaborative editing, debugging, and more in real-time during development";
|
description = "Live Share lets you achieve greater confidence at speed by streamlining collaborative editing, debugging, and more in real-time during development";
|
||||||
homepage = "https://aka.ms/vsls-docs";
|
homepage = "https://aka.ms/vsls-docs";
|
||||||
license = licenses.unfree;
|
license = licenses.unfree;
|
||||||
maintainers = with maintainers; [ jraygauthier ];
|
maintainers = with maintainers; [ jraygauthier V ];
|
||||||
platforms = [ "x86_64-linux" ];
|
platforms = [ "x86_64-linux" ];
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
{ lib, stdenv, fetchurl, php }:
|
{ lib, stdenv, fetchurl, php, nix-update-script }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "4.8.0";
|
version = "4.8.1";
|
||||||
pname = "adminer";
|
pname = "adminer";
|
||||||
|
|
||||||
# not using fetchFromGitHub as the git repo relies on submodules that are included in the tar file
|
# not using fetchFromGitHub as the git repo relies on submodules that are included in the tar file
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/vrana/adminer/releases/download/v${version}/adminer-${version}.tar.gz";
|
url = "https://github.com/vrana/adminer/releases/download/v${version}/adminer-${version}.tar.gz";
|
||||||
sha256 = "sha256-T2LEUoIbFrMta+wP7PNci0QkFYrJZmWP3RP/JzgqUoc=";
|
sha256 = "sha256-2rkNq79sc5RBFxWuiaSlpWr0rwrnEFlnW1WcoxjoP2M=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -32,6 +32,12 @@ stdenv.mkDerivation rec {
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
updateScript = nix-update-script {
|
||||||
|
attrPath = pname;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Database management in a single PHP file";
|
description = "Database management in a single PHP file";
|
||||||
homepage = "https://www.adminer.org";
|
homepage = "https://www.adminer.org";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, zlib, flex, bison, readline }:
|
{ lib, stdenv, fetchFromGitHub, zlib, flex, bison, readline, darwin }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "foma";
|
pname = "foma";
|
||||||
|
@ -13,9 +13,14 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
sourceRoot = "source/foma";
|
sourceRoot = "source/foma";
|
||||||
|
|
||||||
nativeBuildInputs = [ flex bison ];
|
nativeBuildInputs = [ flex bison ]
|
||||||
|
++ lib.optional stdenv.isDarwin darwin.cctools;
|
||||||
buildInputs = [ zlib readline ];
|
buildInputs = [ zlib readline ];
|
||||||
|
|
||||||
|
makeFlags = [
|
||||||
|
"CC=${stdenv.cc.targetPrefix}cc"
|
||||||
|
];
|
||||||
|
|
||||||
patchPhase = ''
|
patchPhase = ''
|
||||||
substituteInPlace Makefile \
|
substituteInPlace Makefile \
|
||||||
--replace '-ltermcap' ' ' \
|
--replace '-ltermcap' ' ' \
|
||||||
|
|
|
@ -11,13 +11,13 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "starship";
|
pname = "starship";
|
||||||
version = "0.53.0";
|
version = "0.54.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "starship";
|
owner = "starship";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-g4w14fktJB8TItgm3nSgG+lpdXdNTpX52J+FsIbU+YY=";
|
sha256 = "sha256-8vrLvP8NevVpmqxqJHsySGXRTDX45c8FrfB7W7fdQvg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ installShellFiles ] ++ lib.optionals stdenv.isLinux [ pkg-config ];
|
nativeBuildInputs = [ installShellFiles ] ++ lib.optionals stdenv.isLinux [ pkg-config ];
|
||||||
|
@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
cargoSha256 = "sha256-9wpr1gs9EehmFzCW2kKDx+LKoDUC27fmhjpcH/fIcyY=";
|
cargoSha256 = "sha256-lIZsYhyef9LsGME01Kb5TGamGpLyZiPrdIb+jUqvbOg=";
|
||||||
|
|
||||||
preCheck = ''
|
preCheck = ''
|
||||||
HOME=$TMPDIR
|
HOME=$TMPDIR
|
||||||
|
|
|
@ -2,27 +2,24 @@
|
||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
pname = "trash-cli";
|
pname = "trash-cli";
|
||||||
version = "0.21.4.18";
|
version = "0.21.5.11";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "andreafrancia";
|
owner = "andreafrancia";
|
||||||
repo = "trash-cli";
|
repo = "trash-cli";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "16xmg2d9rfmm5l1dxj3dydijpv3kwswrqsbj1sihyyka4s915g61";
|
sha256 = "0ifv717ywq2y0s6m9rkry1fnsr3mg9n2b2zcwaf9r5cxpw90bmym";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ python3Packages.psutil ];
|
propagatedBuildInputs = [ python3Packages.psutil ];
|
||||||
|
|
||||||
checkInputs = with python3Packages; [
|
checkInputs = with python3Packages; [
|
||||||
mock
|
mock
|
||||||
pytest
|
pytestCheckHook
|
||||||
];
|
];
|
||||||
|
|
||||||
# Run tests, skipping `test_user_specified` since its result depends on the
|
# Skip `test_user_specified` since its result depends on the mount path.
|
||||||
# mount path.
|
disabledTests = [ "test_user_specified" ];
|
||||||
checkPhase = ''
|
|
||||||
pytest -k 'not test_user_specified'
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://github.com/andreafrancia/trash-cli";
|
homepage = "https://github.com/andreafrancia/trash-cli";
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "zellij";
|
pname = "zellij";
|
||||||
version = "0.10.0";
|
version = "0.11.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "zellij-org";
|
owner = "zellij-org";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0x57g8va1b5ix3302qg9i5644w8s4lzfbz61nm7x1vq39i7rkdbk";
|
sha256 = "sha256-aqiJPYoG1Yi5bK0gos+2OoycrrqdIY2GjpQGE1PK1bw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "03l3v2q7a8gqd88g1h209wqrr98v674467z6pl3im3l382dbwr4s";
|
cargoSha256 = "sha256-j9eZ2kHK9Mxxcv/yuriJ55xs2waCaWT5XQOSlA+WZXE=";
|
||||||
|
|
||||||
nativeBuildInputs = [ installShellFiles ];
|
nativeBuildInputs = [ installShellFiles ];
|
||||||
|
|
||||||
|
@ -23,9 +23,9 @@ rustPlatform.buildRustPackage rec {
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
installShellCompletion --cmd $pname \
|
installShellCompletion --cmd $pname \
|
||||||
--bash <($out/bin/zellij generate-completion bash) \
|
--bash <($out/bin/zellij setup --generate-completion bash) \
|
||||||
--fish <($out/bin/zellij generate-completion fish) \
|
--fish <($out/bin/zellij setup --generate-completion fish) \
|
||||||
--zsh <($out/bin/zellij generate-completion zsh)
|
--zsh <($out/bin/zellij setup --generate-completion zsh)
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|
|
@ -218,6 +218,13 @@ in rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
inherit storeDir stateDir confDir boehmgc;
|
inherit storeDir stateDir confDir boehmgc;
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/NixOS/nix/commit/8c7e043de2f673bc355d83f1e873baa93f30be62.patch";
|
||||||
|
sha256 = "sha256-aTcUnZXheewnyCT7yQKnTqQDKS2uDoN9plMQgxJH8Ag=";
|
||||||
|
})
|
||||||
|
];
|
||||||
});
|
});
|
||||||
|
|
||||||
nixExperimental = nixUnstable.overrideAttrs (prev: {
|
nixExperimental = nixUnstable.overrideAttrs (prev: {
|
||||||
|
|
|
@ -13,11 +13,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "sudo";
|
pname = "sudo";
|
||||||
version = "1.9.6p1";
|
version = "1.9.7";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://www.sudo.ws/dist/${pname}-${version}.tar.gz";
|
url = "https://www.sudo.ws/dist/${pname}-${version}.tar.gz";
|
||||||
sha256 = "sha256-qenNwFj6/rnNPr+4ZMgXVeUk2YqgIhUnY/JbzoyjypA=";
|
sha256 = "sha256-K758LWaZuE2VDvmkPwnU2We4vCRLc7wJXEICBo3b5Uk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
prePatch = ''
|
prePatch = ''
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ lib, stdenv
|
{ lib, stdenv
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, rustPlatform
|
, rustPlatform
|
||||||
|
, libiconv
|
||||||
, Security
|
, Security
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -17,7 +18,7 @@ rustPlatform.buildRustPackage rec {
|
||||||
|
|
||||||
cargoSha256 = "sha256-L1MKoVacVKcpEG2IfS+eENxFZNiSaTDTxfFbFlvzYl8=";
|
cargoSha256 = "sha256-L1MKoVacVKcpEG2IfS+eENxFZNiSaTDTxfFbFlvzYl8=";
|
||||||
|
|
||||||
buildInputs = lib.optional stdenv.isDarwin Security;
|
buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A utility that makes sweeping changes to large, shared code bases";
|
description = "A utility that makes sweeping changes to large, shared code bases";
|
||||||
|
|
|
@ -5352,6 +5352,8 @@ in
|
||||||
|
|
||||||
gtkperf = callPackage ../development/tools/misc/gtkperf { };
|
gtkperf = callPackage ../development/tools/misc/gtkperf { };
|
||||||
|
|
||||||
|
gtk-frdp = callPackage ../development/libraries/gtk-frdp {};
|
||||||
|
|
||||||
gtk-vnc = callPackage ../tools/admin/gtk-vnc {};
|
gtk-vnc = callPackage ../tools/admin/gtk-vnc {};
|
||||||
|
|
||||||
gtmess = callPackage ../applications/networking/instant-messengers/gtmess {
|
gtmess = callPackage ../applications/networking/instant-messengers/gtmess {
|
||||||
|
|
|
@ -141,6 +141,7 @@ rec {
|
||||||
# Packages built with default Erlang version.
|
# Packages built with default Erlang version.
|
||||||
erlang = packagesWith interpreters.erlang;
|
erlang = packagesWith interpreters.erlang;
|
||||||
|
|
||||||
|
erlangR24 = packagesWith interpreters.erlangR24;
|
||||||
erlangR23 = packagesWith interpreters.erlangR23;
|
erlangR23 = packagesWith interpreters.erlangR23;
|
||||||
erlangR22 = packagesWith interpreters.erlangR22;
|
erlangR22 = packagesWith interpreters.erlangR22;
|
||||||
erlangR21 = packagesWith interpreters.erlangR21;
|
erlangR21 = packagesWith interpreters.erlangR21;
|
||||||
|
|
Loading…
Reference in a new issue