Merge master into staging-next

This commit is contained in:
github-actions[bot] 2021-05-15 18:30:28 +00:00 committed by GitHub
commit f1b78f8618
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
43 changed files with 928 additions and 316 deletions

View 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

View file

@ -11,6 +11,7 @@
<xi:include href="bower.section.xml" />
<xi:include href="coq.section.xml" />
<xi:include href="crystal.section.xml" />
<xi:include href="dhall.section.xml" />
<xi:include href="emscripten.section.xml" />
<xi:include href="gnome.section.xml" />
<xi:include href="go.section.xml" />

View file

@ -124,7 +124,7 @@ in {
"sway/config.d/nixos.conf".source = pkgs.writeText "nixos.conf" ''
# Import the most important environment variables into the D-Bus and systemd
# 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:
services.xserver.displayManager.sessionPackages = [ swayPackage ];
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 ];

View file

@ -35,10 +35,10 @@ let
auto_pause = true;
only_admins_can_pause_the_game = true;
autosave_only_on_server = true;
admins = [];
non_blocking_saving = cfg.nonBlockingSaving;
} // cfg.extraSettings;
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;
in
{
@ -52,6 +52,16 @@ in
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 {
type = types.bool;
default = false;
@ -234,6 +244,7 @@ in
"--start-server=${mkSavePath cfg.saveName}"
"--server-settings=${serverSettingsFile}"
(optionalString (cfg.mods != []) "--mod-directory=${modDir}")
(optionalString (cfg.admins != []) "--server-adminlist=${serverAdminsFile}")
];
# Sandboxing

View file

@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
] ++ optional stdenv.isLinux libseccomp
++ optional stdenv.isDarwin gtk-mac-integration;
doCheck = true;
doCheck = !stdenv.isDarwin;
meta = {
homepage = "https://git.pwmt.org/pwmt/zathura";

View file

@ -20,19 +20,19 @@
stdenv.mkDerivation rec {
pname = "newsflash";
version = "1.4.0";
version = "1.4.1";
src = fetchFromGitLab {
owner = "news-flash";
repo = "news_flash_gtk";
rev = version;
hash = "sha256-EInI5Unaz9m8/gJ7vAzJVyMynJGq0KZh12dNK8r1wnY=";
hash = "sha256-pskmvztKOwutXRHVnW5u68/0DAuV9Gb+Ovp2JbXiMYo=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${pname}-${version}";
hash = "sha256-xrWZhjfYnO6M3LMTP6l3+oZOusvUWuRBDesIlsiEJ6s=";
hash = "sha256-qq8cZplt5YWUwsXUShMDhQm3RGH2kCEBk64x6bOa50E=";
};
patches = [

View file

@ -15,84 +15,124 @@
, boost
, pkg-config
, doxygen
, graphviz
, pcre
, libpthreadstubs
, libXdmcp
, lndir
, util-linux
, libselinux
, libsepol
, libthai
, libdatrie
, libxkbcommon
, epoxy
, dbus
, at-spi2-core
, libXtst
, swig
, python
, wxPython
, opencascade
, opencascade-occt
, libngspice
, valgrind
, stable
, baseName
, kicadSrc
, kicadVersion
, i18n
, withOCE
, opencascade
, withOCC
, opencascade-occt
, withNgspice
, libngspice
, withScripting
, swig
, python
, wxPython
, debug
, valgrind
, sanitizeAddress
, sanitizeThreads
, withI18n
, gtk3
}:
assert lib.asserts.assertMsg (!(withOCE && stdenv.isAarch64)) "OCE fails a test on Aarch64";
assert lib.asserts.assertMsg (!(withOCC && withOCE))
"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
inherit (lib) optional optionals;
in
stdenv.mkDerivation rec {
pname = "kicad-base";
version = kicadVersion;
version = if (stable) then kicadVersion else builtins.substring 0 10 src.rev;
src = kicadSrc;
# tagged releases don't have "unknown"
# kicad nightlies use git describe --dirty
# nix removes .git, so its approximated here
# "-1" appended to indicate we're adding a patch
postPatch = ''
substituteInPlace CMakeModules/KiCadVersion.cmake \
--replace "unknown" "${builtins.substring 0 10 src.rev}-1" \
--replace "${version}" "${version}-1"
--replace "unknown" "${builtins.substring 0 10 src.rev}" \
'';
makeFlags = optional (debug) [ "CFLAGS+=-Og" "CFLAGS+=-ggdb" ];
makeFlags = optionals (debug) [ "CFLAGS+=-Og" "CFLAGS+=-ggdb" ];
cmakeFlags =
optionals (withScripting) [
"-DKICAD_SCRIPTING=ON"
"-DKICAD_SCRIPTING_MODULES=ON"
"-DKICAD_SCRIPTING_PYTHON3=ON"
"-DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON"
]
++ optional (!withScripting)
"-DKICAD_SCRIPTING=OFF"
++ optional (withNgspice) "-DKICAD_SPICE=ON"
++ optional (!withOCE) "-DKICAD_USE_OCE=OFF"
++ optional (!withOCC) "-DKICAD_USE_OCC=OFF"
++ optionals (withOCE) [
"-DKICAD_USE_OCE=ON"
"-DOCE_DIR=${opencascade}"
]
++ optionals (withOCC) [
"-DKICAD_USE_OCC=ON"
"-DOCC_INCLUDE_DIR=${opencascade-occt}/include/opencascade"
]
++ optionals (debug) [
"-DCMAKE_BUILD_TYPE=Debug"
"-DKICAD_STDLIB_DEBUG=ON"
"-DKICAD_USE_VALGRIND=ON"
]
;
cmakeFlags = optionals (withScripting) [
"-DKICAD_SCRIPTING=ON"
"-DKICAD_SCRIPTING_MODULES=ON"
"-DKICAD_SCRIPTING_PYTHON3=ON"
"-DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON"
]
++ optional (!withScripting)
"-DKICAD_SCRIPTING=OFF"
++ optional (withNgspice) "-DKICAD_SPICE=ON"
++ optional (!withOCE) "-DKICAD_USE_OCE=OFF"
++ optional (!withOCC) "-DKICAD_USE_OCC=OFF"
++ optionals (withOCE) [
"-DKICAD_USE_OCE=ON"
"-DOCE_DIR=${opencascade}"
]
++ optionals (withOCC) [
"-DKICAD_USE_OCC=ON"
"-DOCC_INCLUDE_DIR=${opencascade-occt}/include/opencascade"
]
++ optionals (debug) [
"-DCMAKE_BUILD_TYPE=Debug"
"-DKICAD_STDLIB_DEBUG=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 = [
libGLU
@ -100,6 +140,7 @@ stdenv.mkDerivation rec {
zlib
libX11
wxGTK
wxGTK.gtk
pcre
libXdmcp
gettext
@ -110,7 +151,6 @@ stdenv.mkDerivation rec {
curl
openssl
boost
gtk3
]
++ optionals (withScripting) [ swig python wxPython ]
++ optional (withNgspice) libngspice

View file

@ -25,6 +25,8 @@
, withScripting ? true
, python3
, debug ? false
, sanitizeAddress ? false
, sanitizeThreads ? false
, with3d ? true
, withI18n ? true
, srcs ? { }
@ -146,28 +148,28 @@ let
};
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;
in
stdenv.mkDerivation rec {
# Common libraries, referenced during runtime, via the wrapper.
passthru.libraries = callPackages ./libraries.nix { inherit libSrc libVersion; };
passthru.i18n = callPackage ./i18n.nix {
src = i18nSrc;
version = i18nVersion;
};
passthru.libraries = callPackages ./libraries.nix { inherit libSrc; };
passthru.i18n = callPackage ./i18n.nix { src = i18nSrc; };
base = callPackage ./base.nix {
inherit stable baseName;
inherit kicadSrc kicadVersion;
inherit (passthru) i18n;
inherit wxGTK python wxPython;
inherit debug withI18n withOCC withOCE withNgspice withScripting;
inherit withI18n withOCC withOCE withNgspice withScripting;
inherit debug sanitizeAddress sanitizeThreads;
};
inherit pname;
version = kicadVersion;
version = if (stable) then kicadVersion else builtins.substring 0 10 src.src.rev;
src = base;
dontUnpack = true;
@ -193,14 +195,31 @@ stdenv.mkDerivation rec {
# wrapGAppsHook did these two as well, no idea if it matters...
"--prefix XDG_DATA_DIRS : ${cups}/share"
"--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 KICAD_SYMBOL_DIR ${symbols}/share/kicad/library"
"--set-default KICAD_TEMPLATE_DIR ${templates}/share/kicad/template"
"--prefix KICAD_TEMPLATE_DIR : ${symbols}/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" ]
# infinisil's workaround for #39493
@ -238,6 +257,7 @@ stdenv.mkDerivation rec {
postInstall = ''
mkdir -p $out/share
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/mime $out/share/mime
'';
@ -260,8 +280,7 @@ stdenv.mkDerivation rec {
The Programs handle Schematic Capture, and PCB Layout with Gerber output.
'';
license = lib.licenses.gpl3Plus;
# berce seems inactive...
maintainers = with lib.maintainers; [ evils kiwi berce ];
maintainers = with lib.maintainers; [ evils kiwi ];
# kicad is cross platform
platforms = lib.platforms.all;
# despite that, nipkgs' wxGTK for darwin is "wxmac"

View file

@ -2,13 +2,13 @@
, cmake
, gettext
, src
, version
}:
stdenv.mkDerivation {
inherit src version;
inherit src;
pname = "kicad-i18n";
version = builtins.substring 0 10 src.rev;
nativeBuildInputs = [ cmake gettext ];
meta = with lib; {

View file

@ -2,13 +2,12 @@
, cmake
, gettext
, libSrc
, libVersion
}:
let
mkLib = name:
stdenv.mkDerivation {
pname = "kicad-${name}";
version = libVersion;
version = builtins.substring 0 10 (libSrc name).rev;
src = libSrc name;

View file

@ -3,17 +3,17 @@
{
"kicad" = {
kicadVersion = {
version = "5.1.9";
version = "5.1.10";
src = {
rev = "73d0e3b20dec05c4350efa5b69916eb29a7bfcb5";
sha256 = "1cqh3bc9y140hbryfk9qavs2y3lj5sm9q0qjxcf4mm472afzckky";
rev = "88a1d61d58fdd62149bd1e00984e01540148ca1b";
sha256 = "10ix560bqy0lprnik1bprxw9ix4g8w2ipvyikx551ak9ryvgwjcc";
};
};
libVersion = {
version = "5.1.9";
version = "5.1.10";
libSources = {
i18n.rev = "04f3231f60d55400cb81564b2cd465a57d5192d5";
i18n.sha256 = "04jq1dcag6i2ljjfqrib65mn4wg4c4nmi7i946l3bywc0rkqsx1f";
i18n.rev = "f081afe79be4660d5c49a9d674e3cb666d76d4d0";
i18n.sha256 = "0y51l0r62cnxkvpc21732p3cx7pjvaqjih8193502hlv9kv1j9p6";
symbols.rev = "6dec5004b6a2679c19d4857bda2f90c5ab3a5726";
symbols.sha256 = "0n25rq32jwyigfw26faqraillwv6zbi2ywy26dkz5zqlf5xp56ad";
templates.rev = "1ccbaf3704e8ff4030d0915f71e051af621ef7d7";
@ -27,23 +27,23 @@
};
"kicad-unstable" = {
kicadVersion = {
version = "2020-12-23";
version = "2021-05-13";
src = {
rev = "912657dd238ad78cfc5d9d5e426ea850d5554fb3";
sha256 = "1p5kr4d4zpajwdmya1f351y1ix8qmvsx1hrnvhzh7yc3g72kgxah";
rev = "8513ca974c28d76d9f74a7dc96601d98e66e87fd";
sha256 = "1xlj6jwzwxsa14djqhj0csziii21mr9czvdj6fxqp6px84cifjsh";
};
};
libVersion = {
version = "2020-12-23";
version = "2021-05-13";
libSources = {
i18n.rev = "e89d9a89bec59199c1ade56ee2556591412ab7b0";
i18n.sha256 = "04zaqyhj3qr4ymyd3k5vjpcna64j8klpsygcgjcv29s3rdi8glfl";
symbols.rev = "e538abb015b4f289910a6f26b2f1b9cb8bf2efdb";
symbols.sha256 = "117y4cm46anlrnw6y6mdjgl1a5gab6h6m7cwx3q7qb284m9bs5gi";
templates.rev = "32a4f6fab863976fdcfa232e3e08fdcf3323a954";
templates.sha256 = "13r94dghrh9slpj7nkzv0zqv5hk49s6pxm4q5ndqx0y8037ivmhk";
footprints.rev = "15ffd67e01257d4d8134dbd6708cb58977eeccbe";
footprints.sha256 = "1ad5k3wh2zqfibrar7pd3g363jk2q51dvraxnq3zlxa2x4znh7mw";
symbols.rev = "32de73ea01347a005790119eb4102c550815685c";
symbols.sha256 = "0gj10v06rkxlxngc40d1sfmlcagy5p7jfxid0lch4w0wxfjmks7z";
templates.rev = "073d1941c428242a563dcb5301ff5c7479fe9c71";
templates.sha256 = "14p06m2zvlzzz2w74y83f2zml7mgv5dhy2nyfkpblanxawrzxv1x";
footprints.rev = "8fa36dfa3423d8777472e3475c1c2b0b2069624f";
footprints.sha256 = "138xfkr0prxw2djkwc1m4mlp9km99v12sivbqhm1jkq5yxngdbin";
packages3d.rev = "d8b7e8c56d535f4d7e46373bf24c754a8403da1f";
packages3d.sha256 = "0dh8ixg0w43wzj5h3164dz6l1vl4llwxhi3qcdgj1lgvrs28aywd";
};

View file

@ -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
, nixosTests }:
stdenv.mkDerivation rec {
pname = "herbstluftwm";
version = "0.9.2";
version = "0.9.3";
src = fetchurl {
url = "https://herbstluftwm.org/tarballs/herbstluftwm-${version}.tar.gz";
sha256 = "0avfhr68f6fjnafjdcyxcx7dkg38f2nadmhpj971qyqzfq2f6i38";
sha256 = "01f1bv9axjhw1l2gwhdwahljssj0h8q7a1bqwbpnwvln0ayv39qb";
};
outputs = [
@ -36,6 +36,7 @@ stdenv.mkDerivation rec {
libXinerama
libXrandr
libXft
libXrender
freetype
];

View file

@ -24,11 +24,11 @@
stdenv.mkDerivation rec {
pname = "gnome-calendar";
version = "40.0";
version = "40.1";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
sha256 = "0d74hng9jdmwdcjgj4xfrcink2gwkbp1k1mad4wanaf7q31c6f38";
sha256 = "2M30n57uHDo8aZHDL4VjxKfE2w23ymPOUcyRjkM7M6U=";
};
patches = [

View file

@ -1,46 +1,45 @@
{ lib, stdenv
{ lib
, stdenv
, fetchurl
, gnome
, meson
, ninja
, vala
, pkg-config
, vala
, gettext
, itstool
, python3
, appstream-glib
, desktop-file-utils
, wrapGAppsHook
, glib
, gtk3
, python3
, libxml2
, gtk-vnc
, gettext
, desktop-file-utils
, appstream-glib
, gobject-introspection
, freerdp
, wrapGAppsHook
, gtk-frdp
, gnome
}:
stdenv.mkDerivation rec {
pname = "gnome-connections";
version = "3.38.1";
version = "40.0.1";
src = fetchurl {
url = "mirror://gnome/sources/connections/${lib.versions.majorMinor version}/connections-${version}.tar.xz";
hash = "sha256-5c7uBFkh9Vsw6bWWUDjNTMDrrFqI5JEgYlsWpfyuTpA=";
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
hash = "sha256-vpvLoHzz+vWs4M5UzSL4YJtNx3ZuJe5f2cGAw5WbTRE=";
};
nativeBuildInputs = [
desktop-file-utils
gettext
glib # glib-compile-resources
meson
appstream-glib
ninja
pkg-config
python3
vala
gettext
itstool
python3
appstream-glib
desktop-file-utils
glib # glib-compile-resources
wrapGAppsHook
# for gtk-frdp subproject
gobject-introspection
];
buildInputs = [
@ -48,9 +47,7 @@ stdenv.mkDerivation rec {
gtk-vnc
gtk3
libxml2
# for gtk-frdp subproject
freerdp
gtk-frdp
];
postPatch = ''
@ -60,8 +57,7 @@ stdenv.mkDerivation rec {
passthru = {
updateScript = gnome.updateScript {
packageName = "connections";
attrPath = "gnome-connections";
packageName = pname;
};
};

View file

@ -1,4 +1,5 @@
{ lib, stdenv
{ lib
, stdenv
, fetchurl
, fetchpatch
, meson
@ -9,13 +10,14 @@
, gettext
, gnome
, glib
, gtk3
, gtk4
, wayland
, libadwaita
, libpeas
, gnome-online-accounts
, gsettings-desktop-schemas
, libportal
, evolution-data-server
, libxml2
, libsoup
, libical
, librest
, json-glib
@ -23,26 +25,13 @@
stdenv.mkDerivation rec {
pname = "gnome-todo";
version = "3.28.1";
version = "40.0";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7";
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
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 = [
meson
ninja
@ -54,23 +43,30 @@ stdenv.mkDerivation rec {
buildInputs = [
glib
gtk3
gtk4
wayland # required by gtk header
libadwaita
libpeas
gnome-online-accounts
gsettings-desktop-schemas
gnome.adwaita-icon-theme
# Plug-ins
evolution-data-server
libxml2
libsoup
libportal # background
evolution-data-server # eds
libical
librest
json-glib
librest # todoist
json-glib # todoist
];
# Fix parallel building: missing dependency from src/gtd-application.c
# Probably remove for 3.30+ https://gitlab.gnome.org/GNOME/gnome-todo/issues/170
preBuild = "ninja src/gtd-vcs-identifier.h";
postPatch = ''
chmod +x build-aux/meson/meson_post_install.py
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 = {
updateScript = gnome.updateScript {

View file

@ -12,17 +12,20 @@
, libvncserver
, libsecret
, libnotify
, libxkbcommon
, gdk-pixbuf
, freerdp
, fuse3
, gnome
}:
stdenv.mkDerivation rec {
pname = "gnome-remote-desktop";
version = "0.1.9";
version = "40.1";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
hash = "sha256-8iZtp4tBRT7NNRKuzwop3rcMvq16RG/I2sAlEIsJ0M8=";
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
hash = "sha256-mvpuUlVwo3IJP5cwM4JwkDiU87H5+KnfX1eDbqHSnek=";
};
nativeBuildInputs = [
@ -36,11 +39,13 @@ stdenv.mkDerivation rec {
buildInputs = [
cairo
freerdp
fuse3
gdk-pixbuf # For libnotify
glib
libnotify
libsecret
libvncserver
libxkbcommon
pipewire
systemd
];
@ -54,6 +59,13 @@ stdenv.mkDerivation rec {
"-Dsystemd_user_unit_dir=${placeholder "out"}/lib/systemd/user"
];
passthru = {
updateScript = gnome.updateScript {
packageName = pname;
attrPath = "gnome.${pname}";
};
};
meta = with lib; {
homepage = "https://wiki.gnome.org/Projects/Mutter/RemoteDesktop";
description = "GNOME Remote Desktop server";

View file

@ -1,20 +1,23 @@
{ lib, stdenv, fetchurl, fetchpatch, meson, ninja, gettext, pkg-config, spidermonkey_68, glib
, gnome, gnome-menus, substituteAll }:
{ lib
, stdenv
, fetchurl
, meson
, ninja
, gettext
, pkg-config
, glib
, gnome
, gnome-menus
, substituteAll
}:
stdenv.mkDerivation rec {
pname = "gnome-shell-extensions";
version = "40.0";
version = "40.1";
src = fetchurl {
url = "mirror://gnome/sources/gnome-shell-extensions/${lib.versions.major version}/${pname}-${version}.tar.xz";
sha256 = "15hak4prx2nx1svfii39clxy1lll8crdf7p91if85jcsh6r8ab8p";
};
passthru = {
updateScript = gnome.updateScript {
packageName = pname;
attrPath = "gnome.${pname}";
};
sha256 = "T7/OCtQ1e+5zrn3Bjqoe9MqnOF5PlPavuN/HJR/RqL8=";
};
patches = [
@ -22,24 +25,19 @@ stdenv.mkDerivation rec {
src = ./fix_gmenu.patch;
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;
# 60 is required for tests
# https://gitlab.gnome.org/GNOME/gnome-shell-extensions/blob/3.34.0/meson.build#L23
checkInputs = [ spidermonkey_68 ];
nativeBuildInputs = [
meson
ninja
pkg-config
gettext
glib
];
nativeBuildInputs = [ meson ninja pkg-config gettext glib ];
mesonFlags = [ "-Dextension_set=all" ];
mesonFlags = [
"-Dextension_set=all"
];
preFixup = ''
# The meson build doesn't compile the schemas.
@ -63,11 +61,18 @@ stdenv.mkDerivation rec {
done
'';
passthru = {
updateScript = gnome.updateScript {
packageName = pname;
attrPath = "gnome.${pname}";
};
};
meta = with lib; {
homepage = "https://wiki.gnome.org/Projects/GnomeShell/Extensions";
description = "Modify and extend GNOME Shell functionality and behavior";
maintainers = teams.gnome.members;
license = licenses.gpl2;
license = licenses.gpl2Plus;
platforms = platforms.linux;
};
}

View file

@ -1,6 +1,5 @@
{ fetchurl
, fetchpatch
, fetchgit
, substituteAll
, lib, stdenv
, meson
@ -67,20 +66,14 @@ let
in
stdenv.mkDerivation rec {
pname = "gnome-shell";
version = "40.0-unstable-2021-05-01";
version = "40.1";
outputs = [ "out" "devdoc" ];
src = fetchgit {
url = "https://gitlab.gnome.org/GNOME/gnome-shell.git";
rev = "a8a79c03330427808e776c344f7ebc42782a1b5a";
sha256 = "ivHV0SRpnBqsdC7fu1Xhtd/BA55O0UdbUyDLy5KHNYs=";
fetchSubmodules = true;
src = fetchurl {
url = "mirror://gnome/sources/gnome-shell/${lib.versions.major version}/${pname}-${version}.tar.xz";
sha256 = "sha256-9j4r7Zm9iVjPMT2F9EoBjVn4UqBbqfKap8t0S+xvprc=";
};
# src = fetchurl {
# url = "mirror://gnome/sources/gnome-shell/${lib.versions.major version}/${pname}-${version}.tar.xz";
# sha256 = "sha256-vOcfQC36qcXiab9lv0iiI0PYlubPmiw0ZpOS1/v2hHg=";
# };
patches = [
# Hardcode paths to various dependencies so that they can be found at runtime.

View file

@ -1,8 +1,8 @@
{ fetchurl
, fetchpatch
, substituteAll
, runCommand
, lib, stdenv
, lib
, stdenv
, pkg-config
, gnome
, gettext
@ -45,13 +45,13 @@
let self = stdenv.mkDerivation rec {
pname = "mutter";
version = "40.0";
version = "40.1";
outputs = [ "out" "dev" "man" ];
src = fetchurl {
url = "mirror://gnome/sources/mutter/${lib.versions.major version}/${pname}-${version}.tar.xz";
sha256 = "sha256-enGzEuWmZ8U3SJUYilBqP2tnF2i8s2K2jv3FYnc9GY4=";
sha256 = "sha256-pl8ycpYRM4KWh9QQcmfk4ZKQ5thueAf62H6rCDHB4MA=";
};
patches = [
@ -63,13 +63,6 @@ let self = stdenv.mkDerivation rec {
src = ./fix-paths.patch;
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 = [

View file

@ -7,13 +7,13 @@
stdenv.mkDerivation rec {
pname = "gnome-shell-extension-sound-output-device-chooser";
version = "35";
version = "38";
src = fetchFromGitHub {
owner = "kgshank";
repo = "gse-sound-output-device-chooser";
rev = version;
sha256 = "sha256-Yl5ut6kJAkAAdCBiNFpwDgshXCLMmFH3/zhnFGpyKqs=";
sha256 = "sha256-LZ+C9iK+j7+DEscYCIObxXc0Bn0Z0xSsEFMZxc8REWA=";
};
patches = [
@ -28,11 +28,13 @@ stdenv.mkDerivation rec {
dontBuild = true;
uuid = "sound-output-device-chooser@kgshank.net";
installPhase = ''
runHook preInstall
mkdir -p $out/share/gnome-shell/extensions
cp -r ${uuid} $out/share/gnome-shell/extensions
runHook postInstall
makeFlags = [
"INSTALL_DIR=${placeholder "out"}/share/gnome-shell/extensions"
];
preInstall = ''
mkdir -p ${placeholder "out"}/share/gnome-shell/extensions
'';
meta = with lib; {

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "gnome-shell-system-monitor";
version = "unstable-2021-04-08";
version = "unstable-2021-05-04";
src = fetchFromGitHub {
owner = "paradoxxxzero";
repo = "gnome-shell-system-monitor-applet";
rev = "942603da39de12f50b1f86efbde92d7526d1290e";
sha256 = "0lzb7064bigw2xsqkzr8qfhp9wfmxyi3823j2782v99jpcz423aw";
rev = "bc38ccf49ac0ffae0fc0436f3c2579fc86949f10";
sha256 = "0yb5sb2xv4m18a24h4daahnxgnlmbfa0rfzic0zs082qv1kfi5h8";
};
buildInputs = [

View file

@ -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>
Date: Thu, 16 May 2019 21:15:15 -0400
Subject: [PATCH] meson: add options for tests installation dirs
---
meson_options.txt | 6 ++++++
tests/meson.build | 19 ++++++++++++++-----
2 files changed, 20 insertions(+), 5 deletions(-)
tests/meson.build | 23 ++++++++++++++++-------
2 files changed, 22 insertions(+), 7 deletions(-)
diff --git a/meson_options.txt b/meson_options.txt
index 578bdae..6f5fa23 100644
index b9a2fb5..4b8629f 100644
--- a/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',
value: true,
description: 'Install tests')
@ -23,12 +23,12 @@ index 578bdae..6f5fa23 100644
+ value: '',
+ description: 'Installation directory for binary files in tests')
diff --git a/tests/meson.build b/tests/meson.build
index 1f9bd0e..0253ac3 100644
index 77281f5..c4c7fac 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -22,8 +22,17 @@ unit_tests = [
python = python3.find_python()
gen_installed_test = join_paths(meson.current_source_dir(), 'gen-installed-test.py')
@@ -21,8 +21,17 @@ unit_tests = [
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_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
# available as a subproject
@@ -42,13 +51,13 @@ if mutest_dep.found()
@@ -40,13 +49,13 @@ if mutest_dep.found()
output: wrapper,
command: [
python,
gen_installed_test,
- '--testdir=@0@'.format(installed_test_bindir),
+ '--testdir=@0@'.format(test_bindir),
@ -62,7 +62,7 @@ index 1f9bd0e..0253ac3 100644
)
test(unit,
@@ -57,7 +66,7 @@ if mutest_dep.found()
@@ -55,7 +64,7 @@ if mutest_dep.found()
include_directories: graphene_inc,
c_args: common_cflags,
install: get_option('installed_tests'),
@ -71,6 +71,22 @@ index 1f9bd0e..0253ac3 100644
),
env: ['MUTEST_OUTPUT=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

View file

@ -16,7 +16,7 @@
stdenv.mkDerivation rec {
pname = "graphene";
version = "1.10.2";
version = "1.10.6";
outputs = [ "out" "devdoc" "installedTests" ];
@ -24,19 +24,14 @@ stdenv.mkDerivation rec {
owner = "ebassi";
repo = pname;
rev = version;
sha256 = "1ljhhjafi1nlndjswx7mg0d01zci90wz77yvz5w8bd9mm8ssw38s";
sha256 = "v6YH3fRMTzhp7wmU8in9ukcavzHmOAW54EK9ZwQyFxc=";
};
patches = [
# Add option for changing installation path of installed tests.
./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 = [
docbook_xml_dtd_43
docbook_xsl
@ -57,8 +52,18 @@ stdenv.mkDerivation rec {
mutest
];
mesonFlags = [
"-Dgtk_doc=true"
"-Dinstalled_test_datadir=${placeholder "installedTests"}/share"
"-Dinstalled_test_bindir=${placeholder "installedTests"}/libexec"
];
doCheck = true;
postPatch = ''
patchShebangs tests/gen-installed-test.py
'';
passthru = {
tests = {
installedTests = nixosTests.installed-tests.graphene;

View 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;
};
}

View file

@ -1,6 +1,6 @@
{ lib, stdenv
{ stdenv
, lib
, fetchFromGitHub
, fetchpatch
, meson
, ninja
, pkg-config
@ -12,7 +12,7 @@
stdenv.mkDerivation rec {
pname = "libportal";
version = "0.3";
version = "0.4";
outputs = [ "out" "dev" "devdoc" ];
@ -20,22 +20,9 @@ stdenv.mkDerivation rec {
owner = "flatpak";
repo = pname;
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 = [
meson
ninja

View file

@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "adb-shell";
version = "0.3.1";
version = "0.3.2";
disabled = !isPy3k;
@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "JeffLIrion";
repo = "adb_shell";
rev = "v${version}";
sha256 = "sha256-b+9ySme44TdIlVnF8AHBBGd8pkoeYG99wmDK/nyAreo=";
sha256 = "sha256-+K4fV8dlRpOZC5B7cvkfPRVK/2OBkH9qOmAnOwsm7kQ=";
};
propagatedBuildInputs = [

View file

@ -5,29 +5,29 @@
, pytest-asyncio
, pytest-error-for-skips
, pytest-runner
, pytest-tornasync
, pytest-trio
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "brother";
version = "1.0.0";
version = "1.0.1";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "bieniu";
repo = pname;
rev = version;
sha256 = "sha256-0NfqPlQiOkNhR+H55E9LE4dGa9R8vcSyPNbbIeiRJV8=";
sha256 = "sha256-Cfut6Y4Hln32g4V13xbOo5JdjPv2cH6FCDqvRRyijIA=";
};
nativeBuildInputs = [
pytest-runner
];
postPatch = ''
substituteInPlace pytest.ini \
substituteInPlace setup.cfg \
--replace "--cov --cov-report term-missing " ""
substituteInPlace requirements-test.txt \
--replace "pytest-cov" ""
'';
propagatedBuildInputs = [
@ -37,9 +37,6 @@ buildPythonPackage rec {
checkInputs = [
pytest-asyncio
pytest-error-for-skips
pytest-runner
pytest-tornasync
pytest-trio
pytestCheckHook
];

View file

@ -1,25 +1,55 @@
{ lib, buildPythonPackage, fetchPypi
, pytest, requests-mock, tox
, autobahn, certifi, chardet, cryptography, dateparser, pyopenssl, requests, service-identity, twisted, ujson }:
{ lib
, aiohttp
, buildPythonPackage
, dateparser
, fetchFromGitHub
, pytestCheckHook
, pythonOlder
, requests
, requests-mock
, six
, ujson
, websockets
}:
buildPythonPackage rec {
version = "0.7.9";
pname = "python-binance";
version = "1.0.10";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "476459d91f6cfe0a37ccac38911643ea6cca632499ad8682e0957a075f73d239";
src = fetchFromGitHub {
owner = "sammchardy";
repo = pname;
rev = "v${version}";
sha256 = "09pq2blvky1ah4k8yc6zkp2g5nkn3awc52ad3lxvj6m33akfzxiv";
};
doCheck = false; # Tries to test multiple interpreters with tox
checkInputs = [ pytest requests-mock tox ];
propagatedBuildInputs = [
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";
homepage = "https://github.com/sammchardy/python-binance";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.bhipple ];
license = licenses.mit;
maintainers = with maintainers; [ bhipple ];
};
}

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "webdis";
version = "0.1.12";
version = "0.1.15";
src = fetchFromGitHub {
owner = "nicolasff";
repo = pname;
rev = version;
sha256 = "sha256-pppA/Uyz1ge7UOG1PrqpTQC5sSGMWPw0J+CtaoZpOCM=";
sha256 = "sha256-ViU/CKkmBY8WwQq/oJ2/qETqr2k8JNFtNPhozw5BmEc=";
};
buildInputs = [ hiredis http-parser jansson libevent ];

View file

@ -86,30 +86,30 @@ rec {
headers = "0yx8mkrm15ha977hzh7g2sc5fab9sdvlk1bk3yxignhxrqqbw885";
};
electron_10 = mkElectron "10.4.4" {
x86_64-linux = "e82d347ff4753fd4296550e403390c7a9c448d150ea6bb05bd245fd43ac5a708";
x86_64-darwin = "b8f01dedbd81c58e1dc0fafd316e4c1be07681f7e6d42d3f6f3947cf78d9a8fa";
i686-linux = "2e7847c902e174496e152030932a921ca1cfb2ffcb556e2a01b08d8235eb333d";
armv7l-linux = "303c246816bff2dc7aeb26d37d99fe82e4bbe484e3e96f42731f6350498b1af2";
aarch64-linux = "21ba3370b01870fc498d7e180d034a3e3b59a84af231d2dcd82984d6d09fd5da";
headers = "0qxzsycpdq1g8a2yaw7g43da1f8ijpbhj97vvxza8nnvxiay5apf";
electron_10 = mkElectron "10.4.5" {
x86_64-linux = "d7f6203d09b4419262e985001d4c4f6c1fdfa3150eddb0708df9e124bebd0503";
x86_64-darwin = "e3ae7228010055b1d198d8dbaf0f34882d369d8caf76206a59f198301a3f3913";
i686-linux = "dd6abc0dc00d8f9d0e31c8f2bb70f7bbbaec58af4c446f8b493bbae9a9428e2f";
armv7l-linux = "86bc5f9d3dc94d19e847bf10ab22d98926b616d9febcbdceafd30e35b8f2b2db";
aarch64-linux = "655b36d68332131250f7496de0bb03a1e93f74bb5fc4b4286148855874673dcd";
headers = "1kfgww8wha86yw75k5yfq4mxvjlxgf1jmmzxy0p3hyr000kw26pk";
};
electron_11 = mkElectron "11.4.4" {
x86_64-linux = "154ae71e674b37b6cb5ec56e0f569435cb9303a5b0c0608bd2e1d026803be1a5";
x86_64-darwin = "783962e25433178a1e41b895dbbebc7b82efbe819dbd08c9314d2f4547c73e05";
i686-linux = "fcfeba63e490648156f01bbe51f27123f93762713f6ab5e4433dc9c232708a25";
armv7l-linux = "3b98dabbce5a5a8ba66d2f909174b792eeccddd95fd4396a596130f6817ec0d3";
aarch64-linux = "cf886b382f4e3815487ee1403d4bb6ff434ecd9625e61c9ecf082f482c88617e";
headers = "1wjcygxy6lvmf1lw857rcd499jk8103nvld0q3jj4r90gwbdhfi3";
electron_11 = mkElectron "11.4.5" {
x86_64-linux = "6019703cbd37787ba4f0953cb82415c3fac47c8dba3a3af925b00636792d0f89";
x86_64-darwin = "0f28a1fb4fb6e05f3b602c7e5d8646084344257ba9db977fead9229111a8f599";
i686-linux = "886a348e1e984b5ea3e4090168fff4ae9f262b1a158e49ff62c544add6d98bec";
armv7l-linux = "009eeae8463a6e5ad8cdefd4ec645f38604881f7cbbcdd5e5dabb6955ef5d002";
aarch64-linux = "3cc0f9abb03cd9b9de42a749b38748485d85ba511b205ce8de3e56a903c62211";
headers = "10a0nf40crjq14p15g8s3ncj1w0dq1kqhfsm3aq5dppj2gx0k8dn";
};
electron_12 = mkElectron "12.0.5" {
x86_64-linux = "e89c97f7ee43bf08f2ddaba12c3b78fb26a738c0ea7608561f5e06c8ef37e22b";
x86_64-darwin = "c5a5e8128478e2dd09fc7222fb0f562ed3aefa3c12470f1811345be03e9d3b76";
i686-linux = "6ef8d93be6b05b66cb7c1f1640228dc1215d02851e190e7f16e4313d8ccd6135";
armv7l-linux = "7312956ee48b1a8c02d778cac00e644e8cb27706cf4b387e91c3b062a1599a75";
aarch64-linux = "7b2dc425ce70b94ef71b74ed59416e70c4285ae13ef7ea03505c1aafab44904f";
headers = "1aqjhams0zvgq2bm9hc578ylmahi6qggzjfc69kh9vpv2sylimy9";
electron_12 = mkElectron "12.0.6" {
x86_64-linux = "3c632a25ed6502de00d089ee493475b89dd24c2a85ffa00130a5f06001898f27";
x86_64-darwin = "416348dad569d64d34396be6590ca15761dce91b77aab8219112464d55d00575";
i686-linux = "2182f2a7e0564b615db3ef99204df8fd3dbd8b0da2fa2eccc960885d9360f018";
armv7l-linux = "9482309c023a9c367a9403ad750d44a87d68510179fb767707c161672dcd6ffb";
aarch64-linux = "3033c5dbfbdb5226f6dc528333d237fcb500c2301b1a547ba8a89e54ebc111ab";
headers = "1la0bfigy2vq7jxrcddj4z5i2xk3cj974ymy0nmbhfnjbwqr7hg2";
};
}

View file

@ -1,4 +1,4 @@
{ lib, rustPlatform, fetchFromGitHub }:
{ lib, stdenv, rustPlatform, fetchFromGitHub, libiconv }:
rustPlatform.buildRustPackage rec {
pname = "flip-link";
@ -13,6 +13,8 @@ rustPlatform.buildRustPackage rec {
cargoSha256 = "13rgpbwaz2b928rg15lbaszzjymph54pwingxpszp5paihx4iayr";
buildInputs = lib.optional stdenv.isDarwin libiconv;
meta = with lib; {
description = "Adds zero-cost stack overflow protection to your embedded programs";
homepage = "https://github.com/knurling-rs/flip-link";

View file

@ -16,13 +16,13 @@
python3.pkgs.buildPythonApplication rec {
pname = "d-feet";
version = "0.3.15";
version = "0.3.16";
format = "other";
src = fetchurl {
url = "mirror://gnome/sources/d-feet/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1cgxgpj546jgpyns6z9nkm5k48lid8s36mvzj8ydkjqws2d19zqz";
sha256 = "hzPOS5qaVOwYWx2Fv02p2dEQUogqiAdg/2D5d5stHMs=";
};
nativeBuildInputs = [

View file

@ -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";
homepage = "https://aka.ms/vsls-docs";
license = licenses.unfree;
maintainers = with maintainers; [ jraygauthier ];
maintainers = with maintainers; [ jraygauthier V ];
platforms = [ "x86_64-linux" ];
};
})

View file

@ -1,13 +1,13 @@
{ lib, stdenv, fetchurl, php }:
{ lib, stdenv, fetchurl, php, nix-update-script }:
stdenv.mkDerivation rec {
version = "4.8.0";
version = "4.8.1";
pname = "adminer";
# not using fetchFromGitHub as the git repo relies on submodules that are included in the tar file
src = fetchurl {
url = "https://github.com/vrana/adminer/releases/download/v${version}/adminer-${version}.tar.gz";
sha256 = "sha256-T2LEUoIbFrMta+wP7PNci0QkFYrJZmWP3RP/JzgqUoc=";
sha256 = "sha256-2rkNq79sc5RBFxWuiaSlpWr0rwrnEFlnW1WcoxjoP2M=";
};
nativeBuildInputs = [
@ -32,6 +32,12 @@ stdenv.mkDerivation rec {
runHook postInstall
'';
passthru = {
updateScript = nix-update-script {
attrPath = pname;
};
};
meta = with lib; {
description = "Database management in a single PHP file";
homepage = "https://www.adminer.org";

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, zlib, flex, bison, readline }:
{ lib, stdenv, fetchFromGitHub, zlib, flex, bison, readline, darwin }:
stdenv.mkDerivation rec {
pname = "foma";
@ -13,9 +13,14 @@ stdenv.mkDerivation rec {
sourceRoot = "source/foma";
nativeBuildInputs = [ flex bison ];
nativeBuildInputs = [ flex bison ]
++ lib.optional stdenv.isDarwin darwin.cctools;
buildInputs = [ zlib readline ];
makeFlags = [
"CC=${stdenv.cc.targetPrefix}cc"
];
patchPhase = ''
substituteInPlace Makefile \
--replace '-ltermcap' ' ' \

View file

@ -11,13 +11,13 @@
rustPlatform.buildRustPackage rec {
pname = "starship";
version = "0.53.0";
version = "0.54.0";
src = fetchFromGitHub {
owner = "starship";
repo = pname;
rev = "v${version}";
sha256 = "sha256-g4w14fktJB8TItgm3nSgG+lpdXdNTpX52J+FsIbU+YY=";
sha256 = "sha256-8vrLvP8NevVpmqxqJHsySGXRTDX45c8FrfB7W7fdQvg=";
};
nativeBuildInputs = [ installShellFiles ] ++ lib.optionals stdenv.isLinux [ pkg-config ];
@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
done
'';
cargoSha256 = "sha256-9wpr1gs9EehmFzCW2kKDx+LKoDUC27fmhjpcH/fIcyY=";
cargoSha256 = "sha256-lIZsYhyef9LsGME01Kb5TGamGpLyZiPrdIb+jUqvbOg=";
preCheck = ''
HOME=$TMPDIR

View file

@ -2,27 +2,24 @@
python3Packages.buildPythonApplication rec {
pname = "trash-cli";
version = "0.21.4.18";
version = "0.21.5.11";
src = fetchFromGitHub {
owner = "andreafrancia";
repo = "trash-cli";
rev = version;
sha256 = "16xmg2d9rfmm5l1dxj3dydijpv3kwswrqsbj1sihyyka4s915g61";
sha256 = "0ifv717ywq2y0s6m9rkry1fnsr3mg9n2b2zcwaf9r5cxpw90bmym";
};
propagatedBuildInputs = [ python3Packages.psutil ];
checkInputs = with python3Packages; [
mock
pytest
pytestCheckHook
];
# Run tests, skipping `test_user_specified` since its result depends on the
# mount path.
checkPhase = ''
pytest -k 'not test_user_specified'
'';
# Skip `test_user_specified` since its result depends on the mount path.
disabledTests = [ "test_user_specified" ];
meta = with lib; {
homepage = "https://github.com/andreafrancia/trash-cli";

View file

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "zellij";
version = "0.10.0";
version = "0.11.0";
src = fetchFromGitHub {
owner = "zellij-org";
repo = pname;
rev = "v${version}";
sha256 = "0x57g8va1b5ix3302qg9i5644w8s4lzfbz61nm7x1vq39i7rkdbk";
sha256 = "sha256-aqiJPYoG1Yi5bK0gos+2OoycrrqdIY2GjpQGE1PK1bw=";
};
cargoSha256 = "03l3v2q7a8gqd88g1h209wqrr98v674467z6pl3im3l382dbwr4s";
cargoSha256 = "sha256-j9eZ2kHK9Mxxcv/yuriJ55xs2waCaWT5XQOSlA+WZXE=";
nativeBuildInputs = [ installShellFiles ];
@ -23,9 +23,9 @@ rustPlatform.buildRustPackage rec {
postInstall = ''
installShellCompletion --cmd $pname \
--bash <($out/bin/zellij generate-completion bash) \
--fish <($out/bin/zellij generate-completion fish) \
--zsh <($out/bin/zellij generate-completion zsh)
--bash <($out/bin/zellij setup --generate-completion bash) \
--fish <($out/bin/zellij setup --generate-completion fish) \
--zsh <($out/bin/zellij setup --generate-completion zsh)
'';
meta = with lib; {

View file

@ -218,6 +218,13 @@ in rec {
};
inherit storeDir stateDir confDir boehmgc;
patches = [
(fetchpatch {
url = "https://github.com/NixOS/nix/commit/8c7e043de2f673bc355d83f1e873baa93f30be62.patch";
sha256 = "sha256-aTcUnZXheewnyCT7yQKnTqQDKS2uDoN9plMQgxJH8Ag=";
})
];
});
nixExperimental = nixUnstable.overrideAttrs (prev: {

View file

@ -13,11 +13,11 @@
stdenv.mkDerivation rec {
pname = "sudo";
version = "1.9.6p1";
version = "1.9.7";
src = fetchurl {
url = "https://www.sudo.ws/dist/${pname}-${version}.tar.gz";
sha256 = "sha256-qenNwFj6/rnNPr+4ZMgXVeUk2YqgIhUnY/JbzoyjypA=";
sha256 = "sha256-K758LWaZuE2VDvmkPwnU2We4vCRLc7wJXEICBo3b5Uk=";
};
prePatch = ''

View file

@ -1,6 +1,7 @@
{ lib, stdenv
, fetchFromGitHub
, rustPlatform
, libiconv
, Security
}:
@ -17,7 +18,7 @@ rustPlatform.buildRustPackage rec {
cargoSha256 = "sha256-L1MKoVacVKcpEG2IfS+eENxFZNiSaTDTxfFbFlvzYl8=";
buildInputs = lib.optional stdenv.isDarwin Security;
buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
meta = with lib; {
description = "A utility that makes sweeping changes to large, shared code bases";

View file

@ -5352,6 +5352,8 @@ in
gtkperf = callPackage ../development/tools/misc/gtkperf { };
gtk-frdp = callPackage ../development/libraries/gtk-frdp {};
gtk-vnc = callPackage ../tools/admin/gtk-vnc {};
gtmess = callPackage ../applications/networking/instant-messengers/gtmess {

View file

@ -141,6 +141,7 @@ rec {
# Packages built with default Erlang version.
erlang = packagesWith interpreters.erlang;
erlangR24 = packagesWith interpreters.erlangR24;
erlangR23 = packagesWith interpreters.erlangR23;
erlangR22 = packagesWith interpreters.erlangR22;
erlangR21 = packagesWith interpreters.erlangR21;