Merge master into staging-next

This commit is contained in:
github-actions[bot] 2023-08-16 18:01:01 +00:00 committed by GitHub
commit 583df4e091
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
87 changed files with 8464 additions and 946 deletions

6
.github/CODEOWNERS vendored
View file

@ -294,8 +294,10 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
/nixos/tests/matrix-conduit.nix @piegamesde /nixos/tests/matrix-conduit.nix @piegamesde
# Dotnet # Dotnet
/pkgs/build-support/dotnet @IvarWithoutBones /pkgs/build-support/dotnet @IvarWithoutBones
/pkgs/development/compilers/dotnet @IvarWithoutBones /pkgs/development/compilers/dotnet @IvarWithoutBones
/pkgs/test/dotnet @IvarWithoutBones
/doc/languages-frameworks/dotnet.section.md @IvarWithoutBones
# Node.js # Node.js
/pkgs/build-support/node/build-npm-package @lilyinstarlight @winterqt /pkgs/build-support/node/build-npm-package @lilyinstarlight @winterqt

View file

@ -210,3 +210,5 @@ buildDotnetGlobalTool {
}; };
} }
``` ```
When packaging a new .NET application in nixpkgs, you can tag the [`@NixOS/dotnet`](https://github.com/orgs/nixos/teams/dotnet) team for help and code review.

View file

@ -221,6 +221,8 @@ rec {
vendors = setTypes types.openVendor { vendors = setTypes types.openVendor {
apple = {}; apple = {};
pc = {}; pc = {};
knuth = {};
# Actually matters, unlocking some MinGW-w64-specific options in GCC. See # Actually matters, unlocking some MinGW-w64-specific options in GCC. See
# bottom of https://sourceforge.net/p/mingw-w64/wiki2/Unicode%20apps/ # bottom of https://sourceforge.net/p/mingw-w64/wiki2/Unicode%20apps/
w64 = {}; w64 = {};

View file

@ -1466,6 +1466,15 @@
githubId = 1482768; githubId = 1482768;
name = "Benjamin Asbach"; name = "Benjamin Asbach";
}; };
asciimoth = {
name = "Andrew";
email = "ascii@moth.contact";
github = "asciimoth";
githubId = 91414737;
keys = [{
fingerprint = "C5C8 4658 CCFD 7E8E 71DE E933 AF3A E54F C3A3 5C9F";
}];
};
ashalkhakov = { ashalkhakov = {
email = "artyom.shalkhakov@gmail.com"; email = "artyom.shalkhakov@gmail.com";
github = "ashalkhakov"; github = "ashalkhakov";
@ -7522,6 +7531,12 @@
githubId = 7558482; githubId = 7558482;
name = "Jack Gerrits"; name = "Jack Gerrits";
}; };
jaduff = {
email = "jdduffpublic@proton.me";
github = "jaduff";
githubId = 10690970;
name = "James Duff";
};
jagajaga = { jagajaga = {
email = "ars.seroka@gmail.com"; email = "ars.seroka@gmail.com";
github = "jagajaga"; github = "jagajaga";
@ -17044,6 +17059,13 @@
githubId = 1292007; githubId = 1292007;
name = "Sébastien Maccagnoni"; name = "Sébastien Maccagnoni";
}; };
tiredofit = {
email = "dave@tiredofit.ca";
github = "tiredofit";
githubId = 23528985;
name = "Dave Conroy";
matrix = "@dave:tiredofit.ca";
};
tirex = { tirex = {
email = "szymon@kliniewski.pl"; email = "szymon@kliniewski.pl";
name = "Szymon Kliniewski"; name = "Szymon Kliniewski";

View file

@ -181,6 +181,19 @@ with lib.maintainers; {
shortName = "Cosmopolitan"; shortName = "Cosmopolitan";
}; };
dotnet = {
members = [
ivar
mdarocha
corngood
raphaelr
jamiemagee
anpin
];
scope = "Maintainers of the .NET build tools and packages";
shortName = "dotnet";
};
deepin = { deepin = {
members = [ members = [
rewine rewine

View file

@ -7,6 +7,7 @@ You can quickly check your edits with the following:
```ShellSession ```ShellSession
$ cd /path/to/nixpkgs $ cd /path/to/nixpkgs
$ $EDITOR doc/nixos/manual/... # edit the manual
$ nix-build nixos/release.nix -A manual.x86_64-linux $ nix-build nixos/release.nix -A manual.x86_64-linux
``` ```
@ -14,24 +15,96 @@ If the build succeeds, the manual will be in `./result/share/doc/nixos/index.htm
There's also [a convenient development daemon](https://nixos.org/manual/nixpkgs/unstable/#sec-contributing-devmode). There's also [a convenient development daemon](https://nixos.org/manual/nixpkgs/unstable/#sec-contributing-devmode).
**Contributing to the man pages** The above instructions don't deal with the appendix of available `configuration.nix` options, and the manual pages related to NixOS. These are built, and written in a different location and in a different format, as explained in the next sections.
The man pages are written in [DocBook] which is XML. ## Contributing to the `configuration.nix` options documentation {#sec-contributing-options}
To see what your edits look like: The documentation for all the different `configuration.nix` options is automatically generated by reading the `description`s of all the NixOS options defined at `nixos/modules/`. If you want to improve such `description`, find it in the `nixos/modules/` directory, and edit it and open a pull request.
To see how your changes render on the web, run again:
```ShellSession
$ nix-build nixos/release.nix -A manual.x86_64-linux
```
And you'll see the changes to the appendix in the path `result/share/doc/nixos/options.html`.
You can also build only the `configuration.nix(5)` manual page, via:
```ShellSession ```ShellSession
$ cd /path/to/nixpkgs $ cd /path/to/nixpkgs
$ nix-build nixos/release.nix -A manpages.x86_64-linux $ nix-build nixos/release.nix -A nixos-configuration-reference-manpage.x86_64-linux
``` ```
You can then read the man page you edited by running And observe the result via:
```ShellSession ```ShellSession
$ man --manpath=result/share/man nixos-rebuild # Replace nixos-rebuild with the command whose manual you edited $ man --local-file result/share/man/man5/configuration.nix.5
``` ```
If you're on a different architecture that's supported by NixOS (check nixos/release.nix) then replace `x86_64-linux` with the architecture. If you're on a different architecture that's supported by NixOS (check file `nixos/release.nix` on Nixpkgs' repository) then replace `x86_64-linux` with the architecture. `nix-build` will complain otherwise, but should also tell you which architecture you have + the supported ones.
`nix-build` will complain otherwise, but should also tell you which architecture you have + the supported ones.
[DocBook]: https://en.wikipedia.org/wiki/DocBook ## Contributing to `nixos-*` tools' manpages {#sec-contributing-nixos-tools}
The manual pages for the tools available in the installation image can be found in Nixpkgs by running (e.g for `nixos-rebuild`):
```ShellSession
$ git ls | grep nixos-rebuild.8
```
Man pages are written in [`mdoc(7)` format](https://mandoc.bsd.lv/man/mdoc.7.html) and should be portable between mandoc and groff for rendering (except for minor differences, notably different spacing rules.)
For a preview, run `man --local-file path/to/file.8`.
Being written in `mdoc`, these manpages use semantic markup. This following subsections provides a guideline on where to apply which semantic elements.
### Command lines and arguments {#ssec-contributing-nixos-tools-cli-and-args}
In any manpage, commands, flags and arguments to the *current* executable should be marked according to their semantics. Commands, flags and arguments passed to *other* executables should not be marked like this and should instead be considered as code examples and marked with `Ql`.
- Use `Fl` to mark flag arguments, `Ar` for their arguments.
- Repeating arguments should be marked by adding an ellipsis (spelled with periods, `...`).
- Use `Cm` to mark literal string arguments, e.g. the `boot` command argument passed to `nixos-rebuild`.
- Optional flags or arguments should be marked with `Op`. This includes optional repeating arguments.
- Required flags or arguments should not be marked.
- Mutually exclusive groups of arguments should be enclosed in curly brackets, preferably created with `Bro`/`Brc` blocks.
When an argument is used in an example it should be marked up with `Ar` again to differentiate it from a constant. For example, a command with a `--host name` option that calls ssh to retrieve the host's local time would signify this thusly:
```
This will run
.Ic ssh Ar name Ic time
to retrieve the remote time.
```
### Paths, NixOS options, environment variables {#ssec-contributing-nixos-tools-options-and-environment}
Constant paths should be marked with `Pa`, NixOS options with `Va`, and environment variables with `Ev`.
Generated paths, e.g. `result/bin/run-hostname-vm` (where `hostname` is a variable or arguments) should be marked as `Ql` inline literals with their variable components marked appropriately.
- When `hostname` refers to an argument, it becomes `.Ql result/bin/run- Ns Ar hostname Ns -vm`
- When `hostname` refers to a variable, it becomes `.Ql result/bin/run- Ns Va hostname Ns -vm`
### Code examples and other commands {#ssec-contributing-nixos-tools-code-examples}
In free text names and complete invocations of other commands (e.g. `ssh` or `tar -xvf src.tar`) should be marked with `Ic`, fragments of command lines should be marked with `Ql`.
Larger code blocks or those that cannot be shown inline should use indented literal display block markup for their contents, i.e.
```
.Bd -literal -offset indent
...
.Ed
```
Contents of code blocks may be marked up further, e.g. if they refer to arguments that will be substituted into them:
```
.Bd -literal -offset indent
{
config.networking.hostname = "\c
.Ar hostname Ns \c
";
}
.Ed
```

View file

@ -184,8 +184,8 @@ in rec {
''; '';
# Generate the NixOS manpages. # Generate the `man configuration.nix` package
manpages = runCommand "nixos-manpages" nixos-configuration-reference-manpage = runCommand "nixos-configuration-reference-manpage"
{ nativeBuildInputs = [ { nativeBuildInputs = [
buildPackages.installShellFiles buildPackages.installShellFiles
buildPackages.nixos-render-docs buildPackages.nixos-render-docs
@ -194,8 +194,6 @@ in rec {
} }
'' ''
# Generate manpages. # Generate manpages.
mkdir -p $out/share/man/man8
installManPage ${./manpages}/*
mkdir -p $out/share/man/man5 mkdir -p $out/share/man/man5
nixos-render-docs -j $NIX_BUILD_CORES options manpage \ nixos-render-docs -j $NIX_BUILD_CORES options manpage \
--revision ${lib.escapeShellArg revision} \ --revision ${lib.escapeShellArg revision} \

View file

@ -1,57 +0,0 @@
# NixOS manpages
This is the collection of NixOS manpages, excluding `configuration.nix(5)`.
Man pages are written in [`mdoc(7)` format](https://mandoc.bsd.lv/man/mdoc.7.html) and should be portable between mandoc and groff for rendering (though minor differences may occur, mandoc and groff seem to have slightly different spacing rules.)
For previewing edited files, you can just run `man -l path/to/file.8` and you will see it rendered.
Being written in `mdoc` these manpages use semantic markup. This file provides a guideline on where to apply which of the semantic elements of `mdoc`.
### Command lines and arguments
In any manpage, commands, flags and arguments to the *current* executable should be marked according to their semantics. Commands, flags and arguments passed to *other* executables should not be marked like this and should instead be considered as code examples and marked with `Ql`.
- Use `Fl` to mark flag arguments, `Ar` for their arguments.
- Repeating arguments should be marked by adding ellipses (`...`).
- Use `Cm` to mark literal string arguments, e.g. the `boot` command argument passed to `nixos-rebuild`.
- Optional flags or arguments should be marked with `Op`. This includes optional repeating arguments.
- Required flags or arguments should not be marked.
- Mutually exclusive groups of arguments should be enclosed in curly brackets, preferably created with `Bro`/`Brc` blocks.
When an argument is used in an example it should be marked up with `Ar` again to differentiate it from a constant. For example, a command with a `--host name` flag that calls ssh to retrieve the host's local time would signify this thusly:
```
This will run
.Ic ssh Ar name Ic time
to retrieve the remote time.
```
### Paths, NixOS options, environment variables
Constant paths should be marked with `Pa`, NixOS options with `Va`, and environment variables with `Ev`.
Generated paths, e.g. `result/bin/run-hostname-vm` (where `hostname` is a variable or arguments) should be marked as `Ql` inline literals with their variable components marked appropriately.
- Taking `hostname` from an argument become `.Ql result/bin/run- Ns Ar hostname Ns -vm`
- Taking `hostname` from a variable otherwise defined becomes `.Ql result/bin/run- Ns Va hostname Ns -vm`
### Code examples and other commands
In free text names and complete invocations of other commands (e.g. `ssh` or `tar -xvf src.tar`) should be marked with `Ic`, fragments of command lines should be marked with `Ql`.
Larger code blocks or those that cannot be shown inline should use indented literal display block markup for their contents, i.e.
```
.Bd -literal -offset indent
...
.Ed
```
Contents of code blocks may be marked up further, e.g. if they refer to arguments that will be substituted into them:
```
.Bd -literal -offset indent
{
options.hostname = "\c
.Ar hostname Ns \c
";
}
.Ed
```

View file

@ -9,12 +9,19 @@ let
makeProg = args: pkgs.substituteAll (args // { makeProg = args: pkgs.substituteAll (args // {
dir = "bin"; dir = "bin";
isExecutable = true; isExecutable = true;
nativeBuildInputs = [
pkgs.installShellFiles
];
postInstall = ''
installManPage ${args.manPage}
'';
}); });
nixos-build-vms = makeProg { nixos-build-vms = makeProg {
name = "nixos-build-vms"; name = "nixos-build-vms";
src = ./nixos-build-vms/nixos-build-vms.sh; src = ./nixos-build-vms/nixos-build-vms.sh;
inherit (pkgs) runtimeShell; inherit (pkgs) runtimeShell;
manPage = ./manpages/nixos-build-vms.8;
}; };
nixos-install = makeProg { nixos-install = makeProg {
@ -27,6 +34,7 @@ let
nixos-enter nixos-enter
pkgs.util-linuxMinimal pkgs.util-linuxMinimal
]; ];
manPage = ./manpages/nixos-install.8;
}; };
nixos-rebuild = pkgs.nixos-rebuild.override { nix = config.nix.package.out; }; nixos-rebuild = pkgs.nixos-rebuild.override { nix = config.nix.package.out; };
@ -40,6 +48,7 @@ let
btrfs = "${pkgs.btrfs-progs}/bin/btrfs"; btrfs = "${pkgs.btrfs-progs}/bin/btrfs";
inherit (config.system.nixos-generate-config) configuration desktopConfiguration; inherit (config.system.nixos-generate-config) configuration desktopConfiguration;
xserverEnabled = config.services.xserver.enable; xserverEnabled = config.services.xserver.enable;
manPage = ./manpages/nixos-generate-config.8;
}; };
inherit (pkgs) nixos-option; inherit (pkgs) nixos-option;
@ -57,6 +66,7 @@ let
} // optionalAttrs (config.system.configurationRevision != null) { } // optionalAttrs (config.system.configurationRevision != null) {
configurationRevision = config.system.configurationRevision; configurationRevision = config.system.configurationRevision;
}); });
manPage = ./manpages/nixos-version.8;
}; };
nixos-enter = makeProg { nixos-enter = makeProg {
@ -66,6 +76,7 @@ let
path = makeBinPath [ path = makeBinPath [
pkgs.util-linuxMinimal pkgs.util-linuxMinimal
]; ];
manPage = ./manpages/nixos-enter.8;
}; };
in in

View file

@ -346,7 +346,7 @@ in
system.build.manual = manual; system.build.manual = manual;
environment.systemPackages = [] environment.systemPackages = []
++ optional cfg.man.enable manual.manpages ++ optional cfg.man.enable manual.nixos-configuration-reference-manpage
++ optionals cfg.doc.enable [ manual.manualHTML nixos-help ]; ++ optionals cfg.doc.enable [ manual.manualHTML nixos-help ];
}) })

View file

@ -1,8 +1,17 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
with lib;
let let
inherit
(lib)
escapeShellArg
hasAttr
literalExpression
mkEnableOption
mkIf
mkOption
types
;
format = pkgs.formats.json { }; format = pkgs.formats.json { };
cfg = config.services.influxdb2; cfg = config.services.influxdb2;
configFile = format.generate "config.json" cfg.settings; configFile = format.generate "config.json" cfg.settings;
@ -24,14 +33,60 @@ in
description = lib.mdDoc ''configuration options for influxdb2, see <https://docs.influxdata.com/influxdb/v2.0/reference/config-options> for details.''; description = lib.mdDoc ''configuration options for influxdb2, see <https://docs.influxdata.com/influxdb/v2.0/reference/config-options> for details.'';
type = format.type; type = format.type;
}; };
provision = {
enable = mkEnableOption "initial database setup and provisioning";
initialSetup = {
organization = mkOption {
type = types.str;
example = "main";
description = "Primary organization name";
};
bucket = mkOption {
type = types.str;
example = "example";
description = "Primary bucket name";
};
username = mkOption {
type = types.str;
default = "admin";
description = "Primary username";
};
retention = mkOption {
type = types.str;
default = "0";
description = ''
The duration for which the bucket will retain data (0 is infinite).
Accepted units are `ns` (nanoseconds), `us` or `µs` (microseconds), `ms` (milliseconds),
`s` (seconds), `m` (minutes), `h` (hours), `d` (days) and `w` (weeks).
'';
};
passwordFile = mkOption {
type = types.path;
description = "Password for primary user. Don't use a file from the nix store!";
};
tokenFile = mkOption {
type = types.path;
description = "API Token to set for the admin user. Don't use a file from the nix store!";
};
};
};
}; };
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
assertions = [{ assertions = [
assertion = !(builtins.hasAttr "bolt-path" cfg.settings) && !(builtins.hasAttr "engine-path" cfg.settings); {
message = "services.influxdb2.config: bolt-path and engine-path should not be set as they are managed by systemd"; assertion = !(hasAttr "bolt-path" cfg.settings) && !(hasAttr "engine-path" cfg.settings);
}]; message = "services.influxdb2.config: bolt-path and engine-path should not be set as they are managed by systemd";
}
];
systemd.services.influxdb2 = { systemd.services.influxdb2 = {
description = "InfluxDB is an open-source, distributed, time series database"; description = "InfluxDB is an open-source, distributed, time series database";
@ -52,7 +107,62 @@ in
LimitNOFILE = 65536; LimitNOFILE = 65536;
KillMode = "control-group"; KillMode = "control-group";
Restart = "on-failure"; Restart = "on-failure";
LoadCredential = [
"admin-password:${cfg.provision.initialSetup.passwordFile}"
"admin-token:${cfg.provision.initialSetup.tokenFile}"
];
}; };
path = [pkgs.influxdb2-cli];
# Mark if this is the first startup so postStart can do the initial setup
preStart = mkIf cfg.provision.enable ''
if ! test -e "$STATE_DIRECTORY/influxd.bolt"; then
touch "$STATE_DIRECTORY/.first_startup"
fi
'';
postStart = let
initCfg = cfg.provision.initialSetup;
in mkIf cfg.provision.enable (
''
set -euo pipefail
export INFLUX_HOST="http://"${escapeShellArg (cfg.settings.http-bind-address or "localhost:8086")}
# Wait for the influxdb server to come online
count=0
while ! influx ping &>/dev/null; do
if [ "$count" -eq 300 ]; then
echo "Tried for 30 seconds, giving up..."
exit 1
fi
if ! kill -0 "$MAINPID"; then
echo "Main server died, giving up..."
exit 1
fi
sleep 0.1
count=$((count++))
done
# Do the initial database setup. Pass /dev/null as configs-path to
# avoid saving the token as the active config.
if test -e "$STATE_DIRECTORY/.first_startup"; then
influx setup \
--configs-path /dev/null \
--org ${escapeShellArg initCfg.organization} \
--bucket ${escapeShellArg initCfg.bucket} \
--username ${escapeShellArg initCfg.username} \
--password "$(< "$CREDENTIALS_DIRECTORY/admin-password")" \
--token "$(< "$CREDENTIALS_DIRECTORY/admin-token")" \
--retention ${escapeShellArg initCfg.retention} \
--force >/dev/null
rm -f "$STATE_DIRECTORY/.first_startup"
fi
''
);
}; };
users.extraUsers.influxdb2 = { users.extraUsers.influxdb2 = {
@ -63,5 +173,5 @@ in
users.extraGroups.influxdb2 = {}; users.extraGroups.influxdb2 = {};
}; };
meta.maintainers = with lib.maintainers; [ nickcao ]; meta.maintainers = with lib.maintainers; [ nickcao oddlama ];
} }

View file

@ -94,6 +94,16 @@ in
instance will require manual migration of data. instance will require manual migration of data.
''; '';
}; };
global.allow_check_for_updates = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
Whether to allow Conduit to automatically contact
<https://conduit.rs> hourly to check for important Conduit news.
Disabled by default because nixpkgs handles updates.
'';
};
}; };
}; };
default = {}; default = {};

View file

@ -292,7 +292,7 @@ in {
}; };
client_secret_path = mkOption { client_secret_path = mkOption {
type = types.nullOr types.path; type = types.nullOr types.str;
default = null; default = null;
description = lib.mdDoc '' description = lib.mdDoc ''
Path to OpenID Connect client secret file. Expands environment variables in format ''${VAR}. Path to OpenID Connect client secret file. Expands environment variables in format ''${VAR}.

View file

@ -1,12 +1,10 @@
# This module adds Memtest86+/Memtest86 to the GRUB boot menu. # This module adds Memtest86+ to the GRUB boot menu.
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
with lib; with lib;
let let
memtest86 = pkgs.memtest86plus; memtest86 = pkgs.memtest86plus;
efiSupport = config.boot.loader.grub.efiSupport;
cfg = config.boot.loader.grub.memtest86; cfg = config.boot.loader.grub.memtest86;
in in
@ -19,11 +17,8 @@ in
default = false; default = false;
type = types.bool; type = types.bool;
description = lib.mdDoc '' description = lib.mdDoc ''
Make Memtest86+ (or MemTest86 if EFI support is enabled), Make Memtest86+, a memory testing program, available from the GRUB
a memory testing program, available from the boot menu.
GRUB boot menu. MemTest86 is an unfree program, so
this requires `allowUnfree` to be set to
`true`.
''; '';
}; };
@ -63,34 +58,12 @@ in
}; };
}; };
config = mkMerge [ config = mkIf cfg.enable {
(mkIf (cfg.enable && efiSupport) { boot.loader.grub.extraEntries = ''
assertions = [ menuentry "Memtest86+" {
{ linux @bootRoot@/memtest.bin ${toString cfg.params}
assertion = cfg.params == []; }
message = "Parameters are not available for MemTest86"; '';
} boot.loader.grub.extraFiles."memtest.bin" = "${memtest86}/memtest.bin";
]; };
boot.loader.grub.extraFiles = {
"memtest86.efi" = "${pkgs.memtest86-efi}/BOOTX64.efi";
};
boot.loader.grub.extraEntries = ''
menuentry "Memtest86" {
chainloader /memtest86.efi
}
'';
})
(mkIf (cfg.enable && !efiSupport) {
boot.loader.grub.extraEntries = ''
menuentry "Memtest86+" {
linux16 @bootRoot@/memtest.bin ${toString cfg.params}
}
'';
boot.loader.grub.extraFiles."memtest.bin" = "${memtest86}/memtest.bin";
})
];
} }

View file

@ -32,7 +32,7 @@ let
inherit (config.system.nixos) distroName; inherit (config.system.nixos) distroName;
memtest86 = optionalString cfg.memtest86.enable pkgs.memtest86-efi; memtest86 = optionalString cfg.memtest86.enable pkgs.memtest86plus;
netbootxyz = optionalString cfg.netbootxyz.enable pkgs.netbootxyz-efi; netbootxyz = optionalString cfg.netbootxyz.enable pkgs.netbootxyz-efi;
@ -147,10 +147,8 @@ in {
default = false; default = false;
type = types.bool; type = types.bool;
description = lib.mdDoc '' description = lib.mdDoc ''
Make MemTest86 available from the systemd-boot menu. MemTest86 is a Make MemTest86+ available from the systemd-boot menu. MemTest86+ is a
program for testing memory. MemTest86 is an unfree program, so program for testing memory.
this requires `allowUnfree` to be set to
`true`.
''; '';
}; };
@ -193,8 +191,8 @@ in {
default = {}; default = {};
example = literalExpression '' example = literalExpression ''
{ "memtest86.conf" = ''' { "memtest86.conf" = '''
title MemTest86 title MemTest86+
efi /efi/memtest86/memtest86.efi efi /efi/memtest86/memtest.efi
'''; } '''; }
''; '';
description = lib.mdDoc '' description = lib.mdDoc ''
@ -213,7 +211,7 @@ in {
type = types.attrsOf types.path; type = types.attrsOf types.path;
default = {}; default = {};
example = literalExpression '' example = literalExpression ''
{ "efi/memtest86/memtest86.efi" = "''${pkgs.memtest86-efi}/BOOTX64.efi"; } { "efi/memtest86/memtest.efi" = "''${pkgs.memtest86plus}/memtest.efi"; }
''; '';
description = lib.mdDoc '' description = lib.mdDoc ''
A set of files to be copied to {file}`/boot`. A set of files to be copied to {file}`/boot`.
@ -276,11 +274,8 @@ in {
boot.loader.supportsInitrdSecrets = true; boot.loader.supportsInitrdSecrets = true;
boot.loader.systemd-boot.extraFiles = mkMerge [ boot.loader.systemd-boot.extraFiles = mkMerge [
# TODO: This is hard-coded to use the 64-bit EFI app, but it could probably
# be updated to use the 32-bit EFI app on 32-bit systems. The 32-bit EFI
# app filename is BOOTIA32.efi.
(mkIf cfg.memtest86.enable { (mkIf cfg.memtest86.enable {
"efi/memtest86/BOOTX64.efi" = "${pkgs.memtest86-efi}/BOOTX64.efi"; "efi/memtest86/memtest.efi" = "${pkgs.memtest86plus.efi}";
}) })
(mkIf cfg.netbootxyz.enable { (mkIf cfg.netbootxyz.enable {
"efi/netbootxyz/netboot.xyz.efi" = "${pkgs.netbootxyz-efi}"; "efi/netbootxyz/netboot.xyz.efi" = "${pkgs.netbootxyz-efi}";
@ -291,7 +286,7 @@ in {
(mkIf cfg.memtest86.enable { (mkIf cfg.memtest86.enable {
"${cfg.memtest86.entryFilename}" = '' "${cfg.memtest86.entryFilename}" = ''
title MemTest86 title MemTest86
efi /efi/memtest86/BOOTX64.efi efi /efi/memtest86/memtest.efi
''; '';
}) })
(mkIf cfg.netbootxyz.enable { (mkIf cfg.netbootxyz.enable {

View file

@ -143,7 +143,7 @@ in rec {
manualHTML = buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manualHTML); manualHTML = buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manualHTML);
manual = manualHTML; # TODO(@oxij): remove eventually manual = manualHTML; # TODO(@oxij): remove eventually
manualEpub = (buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manualEpub)); manualEpub = (buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manualEpub));
manpages = buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manpages); nixos-configuration-reference-manpage = buildFromConfig ({ ... }: { }) (config: config.system.build.manual.nixos-configuration-reference-manpage);
options = (buildFromConfig ({ ... }: { }) (config: config.system.build.manual.optionsJSON)).x86_64-linux; options = (buildFromConfig ({ ... }: { }) (config: config.system.build.manual.optionsJSON)).x86_64-linux;

View file

@ -367,6 +367,7 @@ in {
iftop = handleTest ./iftop.nix {}; iftop = handleTest ./iftop.nix {};
incron = handleTest ./incron.nix {}; incron = handleTest ./incron.nix {};
influxdb = handleTest ./influxdb.nix {}; influxdb = handleTest ./influxdb.nix {};
influxdb2 = handleTest ./influxdb2.nix {};
initrd-network-openvpn = handleTest ./initrd-network-openvpn {}; initrd-network-openvpn = handleTest ./initrd-network-openvpn {};
initrd-network-ssh = handleTest ./initrd-network-ssh {}; initrd-network-ssh = handleTest ./initrd-network-ssh {};
initrd-luks-empty-passphrase = handleTest ./initrd-luks-empty-passphrase.nix {}; initrd-luks-empty-passphrase = handleTest ./initrd-luks-empty-passphrase.nix {};

36
nixos/tests/influxdb2.nix Normal file
View file

@ -0,0 +1,36 @@
import ./make-test-python.nix ({ pkgs, ...} : {
name = "influxdb2";
meta = with pkgs.lib.maintainers; {
maintainers = [ offline ];
};
nodes.machine = { lib, ... }: {
environment.systemPackages = [ pkgs.influxdb2-cli ];
services.influxdb2.enable = true;
services.influxdb2.provision = {
enable = true;
initialSetup = {
organization = "default";
bucket = "default";
passwordFile = pkgs.writeText "admin-pw" "ExAmPl3PA55W0rD";
tokenFile = pkgs.writeText "admin-token" "verysecureadmintoken";
};
};
};
testScript = { nodes, ... }:
let
tokenArg = "--token verysecureadmintoken";
in ''
machine.wait_for_unit("influxdb2.service")
machine.fail("curl --fail -X POST 'http://localhost:8086/api/v2/signin' -u admin:wrongpassword")
machine.succeed("curl --fail -X POST 'http://localhost:8086/api/v2/signin' -u admin:ExAmPl3PA55W0rD")
out = machine.succeed("influx org list ${tokenArg}")
assert "default" in out
out = machine.succeed("influx bucket list ${tokenArg} --org default")
assert "default" in out
'';
})

View file

@ -118,14 +118,11 @@ in
nodes.machine = { pkgs, lib, ... }: { nodes.machine = { pkgs, lib, ... }: {
imports = [ common ]; imports = [ common ];
boot.loader.systemd-boot.memtest86.enable = true; boot.loader.systemd-boot.memtest86.enable = true;
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
"memtest86-efi"
];
}; };
testScript = '' testScript = ''
machine.succeed("test -e /boot/loader/entries/memtest86.conf") machine.succeed("test -e /boot/loader/entries/memtest86.conf")
machine.succeed("test -e /boot/efi/memtest86/BOOTX64.efi") machine.succeed("test -e /boot/efi/memtest86/memtest.efi")
''; '';
}; };
@ -152,15 +149,12 @@ in
imports = [ common ]; imports = [ common ];
boot.loader.systemd-boot.memtest86.enable = true; boot.loader.systemd-boot.memtest86.enable = true;
boot.loader.systemd-boot.memtest86.entryFilename = "apple.conf"; boot.loader.systemd-boot.memtest86.entryFilename = "apple.conf";
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
"memtest86-efi"
];
}; };
testScript = '' testScript = ''
machine.fail("test -e /boot/loader/entries/memtest86.conf") machine.fail("test -e /boot/loader/entries/memtest86.conf")
machine.succeed("test -e /boot/loader/entries/apple.conf") machine.succeed("test -e /boot/loader/entries/apple.conf")
machine.succeed("test -e /boot/efi/memtest86/BOOTX64.efi") machine.succeed("test -e /boot/efi/memtest86/memtest.efi")
''; '';
}; };

View file

@ -9,16 +9,16 @@ let
in buildGoModule rec { in buildGoModule rec {
pname = "go-ethereum"; pname = "go-ethereum";
version = "1.12.0"; version = "1.12.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ethereum"; owner = "ethereum";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-u1p9k12tY79kA/2Hu109czQZnurHuDJQf/w7J0c8SuU="; sha256 = "sha256-iCLOrf6/f0f7sD0YjmBtlcOcZRDIp9IZkBadTKj1Qjw=";
}; };
vendorHash = "sha256-k5MbOiJDvWFnaAPViNRHeqFa64XPZ3ImkkvkmTTscNA="; vendorHash = "sha256-ChmQjhz4dQdwcY/269Hi5XAn8/+0z/AF7Kd9PJ8WqHg=";
doCheck = false; doCheck = false;

View file

@ -2,18 +2,18 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "xplr"; pname = "xplr";
version = "0.21.2"; version = "0.21.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "sayanarijit"; owner = "sayanarijit";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-MCOkl95X5YZTAC0VHtSY5xWf1R3987cxepSM7na+LdA="; sha256 = "sha256-lqFhLCOLiuSQWhbcZUEj2xFRlZ+x1ZTVc8IJw7tJjhE=";
}; };
buildInputs = lib.optional stdenv.isDarwin libiconv; buildInputs = lib.optional stdenv.isDarwin libiconv;
cargoHash = "sha256-1uAnIuxDDv3Z/fMs2Cu/aFWrnugGcEKlNjhILqDpOMI="; cargoHash = "sha256-3hrpg2cMvIuFy6mH1/1igIpU4nbzFQLCAhiIRZbTuaI=";
checkFlags = [ checkFlags = [
# failure: path::tests::test_relative_to_parent # failure: path::tests::test_relative_to_parent

View file

@ -63,21 +63,26 @@ def get_file_revision(revision, file_path):
return base64.b64decode(resp) return base64.b64decode(resp)
def get_matching_chromedriver(version): def get_chromedriver(channel):
"""Gets the matching chromedriver version for the given Chromium version.""" """Get the latest chromedriver builds given a channel"""
# See https://chromedriver.chromium.org/downloads/version-selection # See https://chromedriver.chromium.org/downloads/version-selection#h.4wiyvw42q63v
build = re.sub('.[0-9]+$', '', version) chromedriver_versions_url = f'https://googlechromelabs.github.io/chrome-for-testing/last-known-good-versions-with-downloads.json'
chromedriver_version_url = f'https://chromedriver.storage.googleapis.com/LATEST_RELEASE_{build}' print(f'GET {chromedriver_versions_url}')
with urlopen(chromedriver_version_url) as http_response: with urlopen(chromedriver_versions_url) as http_response:
chromedriver_version = http_response.read().decode() chromedrivers = json.load(http_response)
def get_chromedriver_url(system): channel = chromedrivers['channels'][channel]
return ('https://chromedriver.storage.googleapis.com/' + downloads = channel['downloads']['chromedriver']
f'{chromedriver_version}/chromedriver_{system}.zip')
def get_chromedriver_url(platform):
for download in downloads:
if download['platform'] == platform:
return download['url']
return { return {
'version': chromedriver_version, 'version': channel['version'],
'sha256_linux': nix_prefetch_url(get_chromedriver_url('linux64')), 'sha256_linux': nix_prefetch_url(get_chromedriver_url('linux64')),
'sha256_darwin': nix_prefetch_url(get_chromedriver_url('mac64')), 'sha256_darwin': nix_prefetch_url(get_chromedriver_url('mac-x64')),
'sha256_darwin_aarch64': nix_prefetch_url(get_chromedriver_url('mac_arm64')) 'sha256_darwin_aarch64': nix_prefetch_url(get_chromedriver_url('mac-arm64'))
} }
@ -212,7 +217,7 @@ with urlopen(RELEASES_URL) as resp:
channel['deps'] = get_channel_dependencies(channel['version']) channel['deps'] = get_channel_dependencies(channel['version'])
if channel_name == 'stable': if channel_name == 'stable':
channel['chromedriver'] = get_matching_chromedriver(channel['version']) channel['chromedriver'] = get_chromedriver('Stable')
elif channel_name == 'ungoogled-chromium': elif channel_name == 'ungoogled-chromium':
ungoogled_repo_url = 'https://github.com/ungoogled-software/ungoogled-chromium.git' ungoogled_repo_url = 'https://github.com/ungoogled-software/ungoogled-chromium.git'
channel['deps']['ungoogled-patches'] = { channel['deps']['ungoogled-patches'] = {

View file

@ -0,0 +1,53 @@
{ lib
, fetchFromGitHub
, buildNpmPackage
, nodePackages
, nix-update-script
}:
let
version = "0.9";
in
buildNpmPackage {
pname = "documenso";
inherit version;
src = fetchFromGitHub {
owner = "documenso";
repo = "documenso";
rev = "v${version}";
hash = "sha256-uKOJVZ0GRHo/CYvd/Ix/tq1WDhutRji1tSGdcITsNlo=";
};
preBuild = ''
# somehow for linux, npm is not finding the prisma package with the
# packages installed with the lockfile.
# This generates a prisma version incompatibility warning and is a kludge
# until the upstream package-lock is modified.
${nodePackages.prisma}/bin/prisma generate
'';
npmDepsHash = "sha256-+JbvFMi8xoyxkuL9k96K1Vq0neciCGkkyZUPd15ES2E=";
installPhase = ''
runHook preInstall
mkdir $out
cp -r node_modules $out/
cp package-lock.json $out
cp apps/web/package.json $out
cp -r apps/web/public $out/
cp -r apps/web/.next $out/
runHook postInstall
'';
passthru.updateScript = nix-update-script {};
meta = with lib; {
description = "The Open Source DocuSign Alternative.";
homepage = "https://github.com/documenso/documenso";
license = licenses.agpl3Only;
maintainers = with maintainers; [ happysalada ];
platforms = platforms.unix;
};
}

View file

@ -3,23 +3,23 @@
{ {
"kicad" = { "kicad" = {
kicadVersion = { kicadVersion = {
version = "7.0.6"; version = "7.0.7";
src = { src = {
rev = "c1a1259ded090202d87d49f4eb4e42f367764622"; rev = "dc7665e950aa0d42de36e928af48be3b060ba5d1";
sha256 = "1bifg73id0grn37a4n5wpq440z9xz14q0fvkva5vajx0xfd34llv"; sha256 = "1xbzf29rhqh6kl0vggdn2dblgp927096fc1lr3y4yw63b8n0qq50";
}; };
}; };
libVersion = { libVersion = {
version = "7.0.6"; version = "7.0.7";
libSources = { libSources = {
symbols.rev = "b591556d93f52d3394b45f3f4c7d1b89f0caacc7"; symbols.rev = "c7df225d1c79b3ea842c77d928ce1f9bc1a63c5b";
symbols.sha256 = "0p60dvig7xx8svzsgp871r0aix2m95bmzg3snz372nmgnza2nnvf"; symbols.sha256 = "1wr754m4ykidds3i14gqhvyrj3mbkchp2hkfnr0rjsdaqf4zmqdf";
templates.rev = "39d8fccb7400713f3f917799d8b770ad3e786963"; templates.rev = "1561dd81d116a661a17147c3b941a3e96335eecc";
templates.sha256 = "1qi20mrsfn4fxmr1fyphmil2i9p2nzmwk5rlfchc5aq2194nj3lq"; templates.sha256 = "1qi20mrsfn4fxmr1fyphmil2i9p2nzmwk5rlfchc5aq2194nj3lq";
footprints.rev = "5fca0686ef0d6c4a9eafb307e346c7b9444e8045"; footprints.rev = "ecb85886616b7a6bb957699037f6fb680ce01d30";
footprints.sha256 = "0fqnviaxsai0xwyq8xq5ks26j4vd390ns6h6lr0fx2ikv1ghaml5"; footprints.sha256 = "0xnnivlqgcyaz9qay73p43jnvmvshp2b3fbh3569j7rmgi5pn8x0";
packages3d.rev = "6acf40ee68422ea952c3ba8078bbe4cc05d64bff"; packages3d.rev = "4fb0672db1d405b661d0cde8edb5d54ac0a95fc7";
packages3d.sha256 = "0dmssyhqd94d9wj8w7g7xjan560b2rwcs540sgl0rc77cw2jify8"; packages3d.sha256 = "141r5wd8s1bgyf77kvb9q14cpsiwwv4zmfzwbgcd42rflsk2lcbc";
}; };
}; };
}; };

View file

@ -7,13 +7,13 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "gex"; pname = "gex";
version = "0.6.1"; version = "0.6.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Piturnah"; owner = "Piturnah";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-OCC2kHPHWFwqdE0THNZbH7d3gxTBD5MUMWY6PO5GuHU"; hash = "sha256-iCK3fiVchbfQh5JPHzBN/b24dkoXKW5dJdCsyoG0Kvw=";
}; };
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
@ -22,7 +22,7 @@ rustPlatform.buildRustPackage rec {
libgit2_1_6 libgit2_1_6
]; ];
cargoHash = "sha256-28sMY47LAdaGmPNmxeu/w1Pn6AV3JlWbxFcit5pLkI0"; cargoHash = "sha256-5w8VzYoevWesMGQJe4rDbugCFQrE1LDNb69CaJ2bQ0w=";
meta = with lib; { meta = with lib; {
description = "Git Explorer: cross-platform git workflow improvement tool inspired by Magit"; description = "Git Explorer: cross-platform git workflow improvement tool inspired by Magit";

View file

@ -212,6 +212,9 @@ in stdenv.mkDerivation {
''} ''}
cp -rv out/linux.*/${buildType}/bin/src "$modsrc" cp -rv out/linux.*/${buildType}/bin/src "$modsrc"
mkdir -p "$out/share/virtualbox"
cp -rv src/VBox/Main/UnattendedTemplates "$out/share/virtualbox"
''; '';
preFixup = optionalString (!headless) '' preFixup = optionalString (!headless) ''

View file

@ -2,8 +2,9 @@
, rustPlatform , rustPlatform
, fetchFromGitHub , fetchFromGitHub
, pkg-config , pkg-config
, wrapGAppsHook
, gtk3 , gtk3
, gdk-pixbuf , librsvg
, withWayland ? false , withWayland ? false
, gtk-layer-shell , gtk-layer-shell
, stdenv , stdenv
@ -22,9 +23,9 @@ rustPlatform.buildRustPackage rec {
cargoHash = "sha256-dC7yVJdR7mO0n+sxWwigM1Q4tbDv5ZuOINHHlUIPdA0="; cargoHash = "sha256-dC7yVJdR7mO0n+sxWwigM1Q4tbDv5ZuOINHHlUIPdA0=";
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config wrapGAppsHook ];
buildInputs = [ gtk3 gdk-pixbuf ] ++ lib.optional withWayland gtk-layer-shell; buildInputs = [ gtk3 librsvg ] ++ lib.optional withWayland gtk-layer-shell;
buildNoDefaultFeatures = true; buildNoDefaultFeatures = true;
buildFeatures = [ buildFeatures = [

View file

@ -1,5 +1,5 @@
{ lib, stdenv { lib, stdenv
, fetchFromGitHub
, coreutils , coreutils
, makeWrapper , makeWrapper
, sway-unwrapped , sway-unwrapped
@ -14,13 +14,27 @@
, python3Packages , python3Packages
}: }:
let
version = "unstable-2023-06-30";
src = fetchFromGitHub {
owner = "OctopusET";
repo = "sway-contrib";
rev = "7e138bfc112872b79ac9fd766bc57c0f125b96d4";
hash = "sha256-u4sw1NeAhl4FJCG2YOeY45SHoN7tw6cSJwEL5iqr0uQ=";
};
meta = with lib; {
homepage = "https://github.com/OctopusET/sway-contrib";
license = licenses.mit;
platforms = platforms.all;
};
in
{ {
grimshot = stdenv.mkDerivation rec { grimshot = stdenv.mkDerivation rec {
pname = "grimshot"; inherit version src;
version = sway-unwrapped.version;
src = sway-unwrapped.src; pname = "grimshot";
dontBuild = true; dontBuild = true;
dontConfigure = true; dontConfigure = true;
@ -31,9 +45,9 @@ grimshot = stdenv.mkDerivation rec {
nativeBuildInputs = [ makeWrapper installShellFiles ]; nativeBuildInputs = [ makeWrapper installShellFiles ];
buildInputs = [ bash ]; buildInputs = [ bash ];
installPhase = '' installPhase = ''
installManPage contrib/grimshot.1 installManPage grimshot.1
install -Dm 0755 contrib/grimshot $out/bin/grimshot install -Dm 0755 grimshot $out/bin/grimshot
wrapProgram $out/bin/grimshot --set PATH \ wrapProgram $out/bin/grimshot --set PATH \
"${lib.makeBinPath [ "${lib.makeBinPath [
sway-unwrapped sway-unwrapped
@ -58,21 +72,17 @@ grimshot = stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "A helper for screenshots within sway"; description = "A helper for screenshots within sway";
homepage = "https://github.com/swaywm/sway/tree/master/contrib"; maintainers = with maintainers; [ evils ];
license = licenses.mit;
platforms = platforms.all;
maintainers = sway-unwrapped.meta.maintainers ++ (with maintainers; [ evils ]);
}; };
}; };
inactive-windows-transparency = python3Packages.buildPythonApplication rec { inactive-windows-transparency = python3Packages.buildPythonApplication rec {
inherit version src;
# long name is long # long name is long
lname = "inactive-windows-transparency"; lname = "inactive-windows-transparency";
pname = "sway-${lname}"; pname = "sway-${lname}";
version = sway-unwrapped.version;
src = sway-unwrapped.src;
format = "other"; format = "other";
dontBuild = true; dontBuild = true;
@ -81,12 +91,15 @@ inactive-windows-transparency = python3Packages.buildPythonApplication rec {
propagatedBuildInputs = [ python3Packages.i3ipc ]; propagatedBuildInputs = [ python3Packages.i3ipc ];
installPhase = '' installPhase = ''
install -Dm 0755 $src/contrib/${lname}.py $out/bin/${lname}.py install -Dm 0755 $src/${lname}.py $out/bin/${lname}.py
''; '';
meta = sway-unwrapped.meta // { meta = with lib; {
description = "It makes inactive sway windows transparent"; description = "It makes inactive sway windows transparent";
homepage = "https://github.com/swaywm/sway/tree/${sway-unwrapped.version}/contrib"; mainProgram = "${lname}.py";
maintainers = with maintainers; [
evils # packaged this as a side-effect of grimshot but doesn't use it
];
}; };
}; };

View file

@ -1,6 +1,7 @@
{ lib { lib
, stdenv , stdenv
, fetchFromGitHub , fetchFromGitHub
, fetchpatch
, nix-update-script , nix-update-script
, pkg-config , pkg-config
, meson , meson
@ -39,6 +40,15 @@ stdenv.mkDerivation rec {
sha256 = "sha256-s4Df2eLnr+RnbTwPzjt9bVA+xZ9xca2hiFdGlRUZRfU="; sha256 = "sha256-s4Df2eLnr+RnbTwPzjt9bVA+xZ9xca2hiFdGlRUZRfU=";
}; };
patches = [
# Fix log spam with new GLib
# https://github.com/elementary/files/pull/2257
(fetchpatch {
url = "https://github.com/elementary/files/commit/7bd542fa0a646b5cb0972f5575c56a9ee4d9dce7.patch";
hash = "sha256-C+oSx0xn3YPuwEC0K+3ZmKeQrroKreJo1tfcpLGQ1S4=";
})
];
nativeBuildInputs = [ nativeBuildInputs = [
desktop-file-utils desktop-file-utils
meson meson

View file

@ -11,17 +11,17 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "unison-code-manager"; pname = "unison-code-manager";
version = "M5b"; version = "M5c";
src = if stdenv.isDarwin then src = if stdenv.isDarwin then
fetchurl { fetchurl {
url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-macos.tar.gz"; url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-macos.tar.gz";
hash = "sha256-Uknt1NrywmGs8YovlnN8TU8iaYgT1jeYP4SQCuK1u+I="; hash = "sha256-LTpsKwiV0ZxReLcuzoJYuMP1jN6v8M/z6mUqH9s5A+g=";
} }
else else
fetchurl { fetchurl {
url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-linux.tar.gz"; url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-linux.tar.gz";
hash = "sha256-CZLGA4fFFysxHkwedC8RBLmHWwr3BM8xqps7hN3TC/g="; hash = "sha256-6gSX8HOv/K4zFTz1O4VvrpWR9+iQyLOO6vIRv6oVw/c=";
}; };
# The tarball is just the prebuilt binary, in the archive root. # The tarball is just the prebuilt binary, in the archive root.
@ -46,8 +46,9 @@ stdenv.mkDerivation (finalAttrs: {
description = "Modern, statically-typed purely functional language"; description = "Modern, statically-typed purely functional language";
homepage = "https://unisonweb.org/"; homepage = "https://unisonweb.org/";
license = with licenses; [ mit bsd3 ]; license = with licenses; [ mit bsd3 ];
mainProgram = "ucm";
maintainers = [ maintainers.virusdave ]; maintainers = [ maintainers.virusdave ];
platforms = [ "x86_64-darwin" "x86_64-linux" "aarch64-darwin" ]; platforms = [ "x86_64-darwin" "x86_64-linux" "aarch64-darwin" ];
mainProgram = "ucm"; sourceProvenance = with sourceTypes; [ binaryNativeCode ];
}; };
}) })

View file

@ -401,10 +401,10 @@ index 1bda59849b..392bc2cb2e 100644
] ]
endif endif
diff --git a/src/security/apparmor/meson.build b/src/security/apparmor/meson.build diff --git a/src/security/apparmor/meson.build b/src/security/apparmor/meson.build
index 990f00b4f3..e5a7a14e1d 100644 index b9257c816d..98701755d8 100644
--- a/src/security/apparmor/meson.build --- a/src/security/apparmor/meson.build
+++ b/src/security/apparmor/meson.build +++ b/src/security/apparmor/meson.build
@@ -19,22 +19,22 @@ foreach name : apparmor_gen_profiles @@ -57,7 +57,7 @@ foreach name : apparmor_gen_profiles
output: name, output: name,
configuration: apparmor_gen_profiles_conf, configuration: apparmor_gen_profiles_conf,
install: true, install: true,
@ -412,25 +412,32 @@ index 990f00b4f3..e5a7a14e1d 100644
+ install_dir: install_prefix + apparmor_dir, + install_dir: install_prefix + apparmor_dir,
) )
endforeach endforeach
install_data( @@ -68,13 +68,13 @@ foreach name : apparmor_gen_abstractions
[ 'libvirt-qemu', 'libvirt-lxc' ], command: apparmor_gen_cmd,
- install_dir: apparmor_dir / 'abstractions', capture: true,
+ install_dir: install_prefix + apparmor_dir / 'abstractions', install: true,
) - install_dir: apparmor_dir / 'abstractions',
+ install_dir: install_prefix + apparmor_dir / 'abstractions',
)
endforeach
install_data( install_data(
[ 'TEMPLATE.qemu', 'TEMPLATE.lxc' ], [ 'TEMPLATE.qemu', 'TEMPLATE.lxc' ],
- install_dir: apparmor_dir / 'libvirt', - install_dir: apparmor_dir / 'libvirt',
+ install_dir: install_prefix + apparmor_dir / 'libvirt', + install_dir: install_prefix + apparmor_dir / 'libvirt',
) )
install_data( if not conf.has('WITH_APPARMOR_3')
'usr.lib.libvirt.virt-aa-helper.local', @@ -83,7 +83,7 @@ if not conf.has('WITH_APPARMOR_3')
- install_dir: apparmor_dir / 'local', # files in order to limit the amount of filesystem clutter.
+ install_dir: install_prefix + apparmor_dir / 'local', install_data(
rename: 'usr.lib.libvirt.virt-aa-helper', 'usr.lib.libvirt.virt-aa-helper.local',
) - install_dir: apparmor_dir / 'local',
+ install_dir: install_prefix + apparmor_dir / 'local',
rename: 'usr.lib.libvirt.virt-aa-helper',
)
endif
diff --git a/src/storage/meson.build b/src/storage/meson.build diff --git a/src/storage/meson.build b/src/storage/meson.build
index 26e7ff1a1a..ad5c6eddc3 100644 index 26e7ff1a1a..ad5c6eddc3 100644
--- a/src/storage/meson.build --- a/src/storage/meson.build

View file

@ -114,13 +114,13 @@ stdenv.mkDerivation rec {
# NOTE: You must also bump: # NOTE: You must also bump:
# <nixpkgs/pkgs/development/python-modules/libvirt/default.nix> # <nixpkgs/pkgs/development/python-modules/libvirt/default.nix>
# SysVirt in <nixpkgs/pkgs/top-level/perl-packages.nix> # SysVirt in <nixpkgs/pkgs/top-level/perl-packages.nix>
version = "9.5.0"; version = "9.6.0";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = pname; owner = pname;
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-u+J1ejv7JH6Lcwk8zDVUS8Vk806WvG59rLAZr0UOqj0="; sha256 = "sha256-dQr6bUaZOX1MN+MZxbsPqbv3bsyyWBM0SBYlSnV04K0=";
fetchSubmodules = true; fetchSubmodules = true;
}; };

View file

@ -17,13 +17,13 @@
stdenv.mkDerivation (finalAttrs: rec { stdenv.mkDerivation (finalAttrs: rec {
pname = "proj"; pname = "proj";
version = "9.2.0"; version = "9.2.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "OSGeo"; owner = "OSGeo";
repo = "PROJ"; repo = "PROJ";
rev = version; rev = version;
hash = "sha256-NC5H7ufIXit+PVDwNDhz5cv44fduTytsdmNOWyqDDYQ="; hash = "sha256-cUnnJ9gOh65xBbfamfDkN7ajRdRLO5nUXRLeaBBMchg=";
}; };
patches = [ patches = [
@ -64,7 +64,7 @@ stdenv.mkDerivation (finalAttrs: rec {
}; };
meta = with lib; { meta = with lib; {
changelog = "https://github.com/OSGeo/PROJ/blob/${src.rev}/docs/source/news.rst"; changelog = "https://github.com/OSGeo/PROJ/blob/${src.rev}/NEWS";
description = "Cartographic Projections Library"; description = "Cartographic Projections Library";
homepage = "https://proj.org/"; homepage = "https://proj.org/";
license = licenses.mit; license = licenses.mit;

View file

@ -1,55 +1,37 @@
From 831063f8206cab1ad3e90b204a1c3f8c87c3d5cc Mon Sep 17 00:00:00 2001 From 54b1dbc550b3daa2a7834a9bfd73a0c2f8aeba6a Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com> From: Even Rouault <even.rouault@spatialys.com>
Date: Tue, 5 Jul 2022 19:40:53 +0200 Date: Tue, 5 Jul 2022 19:40:53 +0200
Subject: [PATCH] proj-config.cmake generation: only add find_dependency(CURL) Subject: [PATCH] proj-config.cmake generation: only add find_dependency(CURL)
for static builds for static builds
--- ---
cmake/project-config.cmake.in | 30 +++++++++++++++++------------- cmake/project-config.cmake.in | 12 ++++++++----
1 file changed, 17 insertions(+), 13 deletions(-) 1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/cmake/project-config.cmake.in b/cmake/project-config.cmake.in diff --git a/cmake/project-config.cmake.in b/cmake/project-config.cmake.in
index 40dbaaa2..c1ecd601 100644 index 3f359668..db886396 100644
--- a/cmake/project-config.cmake.in --- a/cmake/project-config.cmake.in
+++ b/cmake/project-config.cmake.in +++ b/cmake/project-config.cmake.in
@@ -15,20 +15,24 @@ include(CMakeFindDependencyMacro) @@ -19,11 +19,15 @@ include(CMakeFindDependencyMacro)
# Cf https://gitlab.kitware.com/cmake/cmake/-/issues/17612
cmake_policy(PUSH) cmake_policy(PUSH)
cmake_policy(SET CMP0012 NEW) cmake_policy(SET CMP0012 NEW)
-if("@ENABLE_TIFF@") -if("@ENABLE_TIFF@")
- find_dependency(TIFF) - set(PROJ_CONFIG_FIND_TIFF_DEP ON)
+if(NOT "@BUILD_SHARED_LIBS@") +if(NOT "@BUILD_SHARED_LIBS@")
+ if("@ENABLE_TIFF@") + if("@ENABLE_TIFF@")
+ find_dependency(TIFF) + set(PROJ_CONFIG_FIND_TIFF_DEP ON)
+ endif() + endif()
endif() endif()
-if("@CURL_ENABLED@") -if("@CURL_ENABLED@")
- # Chainload CURL usage requirements - set(PROJ_CONFIG_FIND_CURL_DEP ON)
- find_dependency(CURL)
- # Target CURL::libcurl only defined since CMake 3.12
- if(NOT TARGET CURL::libcurl)
- add_library(CURL::libcurl INTERFACE IMPORTED)
- set_target_properties(CURL::libcurl PROPERTIES
- INTERFACE_INCLUDE_DIRECTORIES "${CURL_INCLUDE_DIRS}"
- INTERFACE_LINK_LIBRARIES "${CURL_LIBRARIES}"
- )
- endif()
+if(NOT "@BUILD_SHARED_LIBS@") +if(NOT "@BUILD_SHARED_LIBS@")
+ if("@CURL_ENABLED@") + if("@CURL_ENABLED@")
+ # Chainload CURL usage requirements + set(PROJ_CONFIG_FIND_CURL_DEP ON)
+ find_dependency(CURL)
+ # Target CURL::libcurl only defined since CMake 3.12
+ if(NOT TARGET CURL::libcurl)
+ add_library(CURL::libcurl INTERFACE IMPORTED)
+ set_target_properties(CURL::libcurl PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${CURL_INCLUDE_DIRS}"
+ INTERFACE_LINK_LIBRARIES "${CURL_LIBRARIES}"
+ )
+ endif()
+ endif() + endif()
endif() endif()
cmake_policy(POP) cmake_policy(POP)
-- --
2.39.2 2.41.0

View file

@ -170,6 +170,7 @@ let
extraPrefix = "src/3rdparty/"; extraPrefix = "src/3rdparty/";
hash = "sha256-s4GsGMJTBNWw2gTJuIEP3tqT82AmTsR2mbj59m2p6rM="; hash = "sha256-s4GsGMJTBNWw2gTJuIEP3tqT82AmTsR2mbj59m2p6rM=";
}) })
./qtwebengine-link-pulseaudio.patch
] ++ lib.optionals stdenv.isDarwin [ ] ++ lib.optionals stdenv.isDarwin [
./qtwebengine-darwin-no-platform-check.patch ./qtwebengine-darwin-no-platform-check.patch
./qtwebengine-mac-dont-set-dsymutil-path.patch ./qtwebengine-mac-dont-set-dsymutil-path.patch

View file

@ -0,0 +1,8 @@
--- a/src/core/config/common.pri
+++ b/src/core/config/common.pri
@@ -47,3 +47,5 @@
!qtConfig(webengine-nodejs10): gn_args += use_rollup=false
gn_args += enable_ipc_logging=false
+
+gn_args += link_pulseaudio=true

View file

@ -9,6 +9,7 @@
, zlib, minizip, libjpeg, libpng, libtiff, libwebp, libopus , zlib, minizip, libjpeg, libpng, libtiff, libwebp, libopus
, jsoncpp, protobuf, libvpx, srtp, snappy, nss, libevent , jsoncpp, protobuf, libvpx, srtp, snappy, nss, libevent
, alsa-lib , alsa-lib
, pulseaudio
, libcap , libcap
, pciutils , pciutils
, systemd , systemd
@ -145,6 +146,7 @@ qtModule {
# Audio formats # Audio formats
alsa-lib alsa-lib
pulseaudio
# Text rendering # Text rendering
fontconfig freetype fontconfig freetype

View file

@ -135,6 +135,7 @@ qtModule {
# environment variable, since NixOS relies on it working. # environment variable, since NixOS relies on it working.
# See https://github.com/NixOS/nixpkgs/issues/226484 for more context. # See https://github.com/NixOS/nixpkgs/issues/226484 for more context.
../patches/qtwebengine-xkb-includes.patch ../patches/qtwebengine-xkb-includes.patch
../patches/qtwebengine-link-pulseaudio.patch
]; ];
postPatch = '' postPatch = ''

View file

@ -0,0 +1,10 @@
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -341,6 +341,7 @@
devtools_fast_bundle=false
devtools_skip_typecheck=false
enable_jxl_decoder=false # temporarily because libjxl causes internal compiler error on armv7
+ link_pulseaudio=true
)
extend_gn_list(gnArgArg

View file

@ -16,6 +16,10 @@ stdenv.mkDerivation rec {
}) })
]; ];
postPatch = ''
substituteInPlace inifiles.ml --replace 'String.lowercase ' 'String.lowercase_ascii '
'';
nativeBuildInputs = [ ocaml findlib ]; nativeBuildInputs = [ ocaml findlib ];
propagatedBuildInputs = [ ocaml_pcre ]; propagatedBuildInputs = [ ocaml_pcre ];

View file

@ -20,7 +20,6 @@ buildDunePackage rec {
pname = "torch"; pname = "torch";
version = "0.17"; version = "0.17";
duneVersion = "3";
minimalOCamlVersion = "4.08"; minimalOCamlVersion = "4.08";
src = fetchFromGitHub { src = fetchFromGitHub {
@ -57,7 +56,6 @@ buildDunePackage rec {
preBuild = "export LIBTORCH=${torch.dev}/"; preBuild = "export LIBTORCH=${torch.dev}/";
doCheck = !stdenv.isAarch64; doCheck = !stdenv.isAarch64;
checkPhase = "dune runtest";
meta = with lib; { meta = with lib; {
inherit (src.meta) homepage; inherit (src.meta) homepage;

View file

@ -12,7 +12,7 @@
}: }:
buildPecl rec { buildPecl rec {
pname = "datadog_trace"; pname = "ddtrace";
version = "0.89.0"; version = "0.89.0";
src = fetchFromGitHub { src = fetchFromGitHub {

View file

@ -0,0 +1,30 @@
{ lib
, buildPecl
, fetchFromGitHub
}:
let
version = "0.18.0";
in buildPecl {
inherit version;
pname = "vld";
src = fetchFromGitHub {
owner = "derickr";
repo = "vld";
rev = version;
hash = "sha256-1xMStPM3Z5qIkrRGfCKcYT6UdF1j150nt7IleirjdBM=";
};
# Tests relies on PHP 7.0
doCheck = false;
meta = {
changelog = "https://github.com/derickr/vld/releases/tag/${version}";
description = "The Vulcan Logic Dumper hooks into the Zend Engine and dumps all the opcodes (execution units) of a script.";
homepage = "https://github.com/derickr/vld";
license = lib.licenses.bsd2;
maintainers = with lib.maintainers; [ gaelreyrol ];
};
}

View file

@ -23,7 +23,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "cartopy"; pname = "cartopy";
version = "0.21.1"; version = "0.22.0";
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -32,22 +32,9 @@ buildPythonPackage rec {
src = fetchPypi { src = fetchPypi {
inherit version; inherit version;
pname = "Cartopy"; pname = "Cartopy";
hash = "sha256-idVklxLIWCIxxuEYJaBMhfbwzulNu4nk2yPqvKHMJQo="; hash = "sha256-swD5ASCTHUPxHvh8Bk6h2s7BtZpJQKp26/gs8JVIu0k=";
}; };
patches = [
# https://github.com/SciTools/cartopy/pull/2163
(fetchpatch {
url = "https://github.com/SciTools/cartopy/commit/7fb57e294914dbda0ebe8caaeac4deffe5e71639.patch";
hash = "sha256-qc14q+v2IMC+1NQ+OqLjUfJA3Sr5txniqS7CTQ6c7LI=";
})
# https://github.com/SciTools/cartopy/pull/2130
(fetchpatch {
url = "https://github.com/SciTools/cartopy/commit/6b4572ba1a8a877f28e25dfe9559c14b7a565958.patch";
hash = "sha256-0u6VJMrvoD9bRLHiQV4HQCKDyWEb9dDS2A3rjm6uqYw=";
})
];
nativeBuildInputs = [ nativeBuildInputs = [
cython cython
geos # for geos-config geos # for geos-config
@ -56,7 +43,8 @@ buildPythonPackage rec {
]; ];
buildInputs = [ buildInputs = [
geos proj geos
proj
]; ];
propagatedBuildInputs = [ propagatedBuildInputs = [
@ -83,8 +71,10 @@ buildPythonPackage rec {
''; '';
pytestFlagsArray = [ pytestFlagsArray = [
"--pyargs" "cartopy" "--pyargs"
"-m" "'not network and not natural_earth'" "cartopy"
"-m"
"'not network and not natural_earth'"
]; ];
disabledTests = [ disabledTests = [

View file

@ -12,6 +12,8 @@ buildPythonPackage rec {
inherit (certbot) src version; inherit (certbot) src version;
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
sourceRoot = "${src.name}/certbot-dns-cloudflare";
propagatedBuildInputs = [ propagatedBuildInputs = [
acme acme
certbot certbot
@ -22,9 +24,12 @@ buildPythonPackage rec {
pytestCheckHook pytestCheckHook
]; ];
pytestFlagsArray = [ "-o cache_dir=$(mktemp -d)" ]; pytestFlagsArray = [
"-o cache_dir=$(mktemp -d)"
sourceRoot = "${src.name}/certbot-dns-cloudflare"; # Monitor https://github.com/certbot/certbot/issues/9606 for a solution
"-W 'ignore:pkg_resources is deprecated as an API:DeprecationWarning'"
];
meta = certbot.meta // { meta = certbot.meta // {
description = "Cloudflare DNS Authenticator plugin for Certbot"; description = "Cloudflare DNS Authenticator plugin for Certbot";

View file

@ -13,6 +13,8 @@ buildPythonPackage rec {
inherit (certbot) src version; inherit (certbot) src version;
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
sourceRoot = "${src.name}/certbot-dns-google";
propagatedBuildInputs = [ propagatedBuildInputs = [
acme acme
certbot certbot
@ -24,9 +26,12 @@ buildPythonPackage rec {
pytestCheckHook pytestCheckHook
]; ];
pytestFlagsArray = [ "-o cache_dir=$(mktemp -d)" ]; pytestFlagsArray = [
"-o cache_dir=$(mktemp -d)"
sourceRoot = "${src.name}/certbot-dns-google"; # Monitor https://github.com/certbot/certbot/issues/9606 for a solution
"-W 'ignore:pkg_resources is deprecated as an API:DeprecationWarning'"
];
meta = certbot.meta // { meta = certbot.meta // {
description = "Google Cloud DNS Authenticator plugin for Certbot"; description = "Google Cloud DNS Authenticator plugin for Certbot";

View file

@ -12,6 +12,8 @@ buildPythonPackage rec {
inherit (certbot) src version; inherit (certbot) src version;
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
sourceRoot = "${src.name}/certbot-dns-rfc2136";
propagatedBuildInputs = [ propagatedBuildInputs = [
acme acme
certbot certbot
@ -22,9 +24,12 @@ buildPythonPackage rec {
pytestCheckHook pytestCheckHook
]; ];
pytestFlagsArray = [ "-o cache_dir=$(mktemp -d)" ]; pytestFlagsArray = [
"-o cache_dir=$(mktemp -d)"
sourceRoot = "${src.name}/certbot-dns-rfc2136"; # Monitor https://github.com/certbot/certbot/issues/9606 for a solution
"-W 'ignore:pkg_resources is deprecated as an API:DeprecationWarning'"
];
meta = certbot.meta // { meta = certbot.meta // {
description = "RFC 2136 DNS Authenticator plugin for Certbot"; description = "RFC 2136 DNS Authenticator plugin for Certbot";

View file

@ -22,7 +22,12 @@ buildPythonPackage rec {
pytestCheckHook pytestCheckHook
]; ];
pytestFlagsArray = [ "-o cache_dir=$(mktemp -d)" ]; pytestFlagsArray = [
"-o cache_dir=$(mktemp -d)"
# Monitor https://github.com/certbot/certbot/issues/9606 for a solution
"-W 'ignore:pkg_resources is deprecated as an API:DeprecationWarning'"
];
sourceRoot = "${src.name}/certbot-dns-route53"; sourceRoot = "${src.name}/certbot-dns-route53";

View file

@ -69,14 +69,14 @@ in
buildPythonPackage rec { buildPythonPackage rec {
pname = "jupyterhub"; pname = "jupyterhub";
version = "4.0.1"; version = "4.0.2";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-jig/9Z5cQBZxIHfSVJ7XSs2RWjKDb+ACGGeKh4G9ft4="; hash = "sha256-1ORQ7tjZDfvPDsoI8A8gk6C8503FH3z8C3BX9gI0Gh0=";
}; };
# Most of this only applies when building from source (e.g. js/css assets are # Most of this only applies when building from source (e.g. js/css assets are

View file

@ -2,13 +2,13 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "libvirt"; pname = "libvirt";
version = "9.5.0"; version = "9.6.0";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "libvirt"; owner = "libvirt";
repo = "libvirt-python"; repo = "libvirt-python";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-DhScwkbyCluLc/V26Y6wbZfzo1WBcLswBVzLCGs0PPs="; hash = "sha256-DIyvd13BeKP4HzgHz1FGUTau19MJgBKPiHnpK5nq0os=";
}; };
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];

View file

@ -17,14 +17,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pyproj"; pname = "pyproj";
version = "3.5.0"; version = "3.6.0";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.9";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "pyproj4"; owner = "pyproj4";
repo = "pyproj"; repo = "pyproj";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-Vsje8gEJWNt2P1WOFm/IZSpJo04N0CXWxcmfADmP/M4="; hash = "sha256-XMJg1azsvMtVnKuIulrrZ1Of3CFk2/EgQjkN1g0FpmQ=";
}; };
# force pyproj to use ${proj} # force pyproj to use ${proj}

View file

@ -15,14 +15,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "srsly"; pname = "srsly";
version = "2.4.6"; version = "2.4.7";
format = "pyproject"; format = "pyproject";
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-R7QfMjq6TJwzEav2DkQ8A6nv6cafZdxALRc8Mvd0Sm8="; hash = "sha256-k8LMRYh3gmHMsj3QVDsk3tgQFd2KtOwTfNfQSWUDXQg=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -2,45 +2,45 @@
, buildPythonPackage , buildPythonPackage
, pythonOlder , pythonOlder
, fetchPypi , fetchPypi
, fetchpatch
, click , click
, click-default-group , click-default-group
, docformatter , docformatter
, jinja2 , jinja2
, toposort , toposort
, typing-extensions
, lxml , lxml
, requests , requests
, pytestCheckHook , pytestCheckHook
, setuptools
, wheel
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "xsdata"; pname = "xsdata";
version = "22.12"; version = "23.8";
format = "pyproject";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.8";
format = "setuptools";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-o9Xxt7b/+MkW94Jcg26ihaTn0/OpTcu+0OY7oV3JRGY="; hash = "sha256-VfA9TIgjbwRyZq/+VQug3RlHat/OagHz4K76x8gHjlY=";
}; };
patches = [
# https://github.com/tefra/xsdata/pull/741
(fetchpatch {
name = "use-docformatter-1.5.1.patch";
url = "https://github.com/tefra/xsdata/commit/040692db47e6e51028fd959c793e757858c392d7.patch";
excludes = [ "setup.cfg" ];
hash = "sha256-ncecMJLJUiUb4lB8ys+nyiGU/UmayK++o89h3sAwREQ=";
})
];
postPatch = '' postPatch = ''
substituteInPlace setup.cfg \ substituteInPlace pyproject.toml \
--replace "--benchmark-skip" "" --replace "--benchmark-skip" ""
''; '';
nativeBuildInputs = [
setuptools
wheel
];
propagatedBuildInputs = [
typing-extensions
];
passthru.optional-dependencies = { passthru.optional-dependencies = {
cli = [ cli = [
click click

View file

@ -7,16 +7,16 @@
buildGoModule rec { buildGoModule rec {
pname = "rain"; pname = "rain";
version = "1.4.3"; version = "1.4.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "aws-cloudformation"; owner = "aws-cloudformation";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-j+7SjmDhLoMUoUv5mtCpsLo8BgAeuQiLhOJ1EFqbtmQ="; sha256 = "sha256-f93BbtMTJFzql3PvkbWZYOnjRoBWcsU3OX1bCBStTqs=";
}; };
vendorHash = "sha256-n1Hxd2SE8JhLqII+neOzeB94KQ7b/Gm1kXCtP8AuWYk="; vendorHash = "sha256-Z0AB24PdtDREicWjDnVcTM4hhWpF1hpF7Rg/YFgXLN0=";
subPackages = [ "cmd/rain" ]; subPackages = [ "cmd/rain" ];

View file

@ -2,18 +2,18 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "ferium"; pname = "ferium";
version = "4.4.0"; version = "4.4.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "gorilla-devs"; owner = "gorilla-devs";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-eaYXWOoeqCtdpxIFQxu3wJfYg8ZkuGB32/b2yzVW/Mc="; sha256 = "sha256-3ILDR6CmR/CTzZfUEPD10TQZRSDKSqHmwxU3GPHIyK8=";
}; };
buildInputs = lib.optionals stdenv.isDarwin [ Security ]; buildInputs = lib.optionals stdenv.isDarwin [ Security ];
cargoHash = "sha256-5frotS85hwa24WRK6cVx1fmnolscKjRPkWoY6cnkbO8="; cargoHash = "sha256-00rzn8eWcxRfPvIT2+EVQLd6e8gnMWx78QrwURpxstg=";
# Disable the GUI file picker so that GTK/XDG dependencies aren't used # Disable the GUI file picker so that GTK/XDG dependencies aren't used
buildNoDefaultFeatures = true; buildNoDefaultFeatures = true;

View file

@ -7,21 +7,21 @@
let let
pname = "osu-lazer-bin"; pname = "osu-lazer-bin";
version = "2023.811.0"; version = "2023.815.0";
name = "${pname}-${version}"; name = "${pname}-${version}";
osu-lazer-bin-src = { osu-lazer-bin-src = {
aarch64-darwin = { aarch64-darwin = {
url = "https://github.com/ppy/osu/releases/download/${version}/osu.app.Apple.Silicon.zip"; url = "https://github.com/ppy/osu/releases/download/${version}/osu.app.Apple.Silicon.zip";
sha256 = "sha256-T8Zyl93AV5eYdBDQHIRgJIHse4nNnJYVHsgnH/TbJpM="; sha256 = "sha256-lijX8UOSWZPzQdA+DOPcgKW3PxKFbNtBSUrq903zx7E=";
}; };
x86_64-darwin = { x86_64-darwin = {
url = "https://github.com/ppy/osu/releases/download/${version}/osu.app.Intel.zip"; url = "https://github.com/ppy/osu/releases/download/${version}/osu.app.Intel.zip";
sha256 = "sha256-uT3tx4cljjb1/4ewuYiFp1g6hEJeaRQofrySh6ebrdA="; sha256 = "sha256-XuQ82h/ebo7oWcWq4vUOguh6FUsWO+xFpz7Z++DjkzY=";
}; };
x86_64-linux = { x86_64-linux = {
url = "https://github.com/ppy/osu/releases/download/${version}/osu.AppImage"; url = "https://github.com/ppy/osu/releases/download/${version}/osu.AppImage";
sha256 = "sha256-PRFnn+4znylKyvDx+wz9MwY4XqpMIk8Tlpon5ATwmWo="; sha256 = "sha256-wRWJQQ4rn3A8Dd53gPt62pOtd9KRmYXxuejd8RGOAdw=";
}; };
}.${stdenv.system} or (throw "${pname}-${version}: ${stdenv.system} is unsupported."); }.${stdenv.system} or (throw "${pname}-${version}: ${stdenv.system} is unsupported.");

View file

@ -17,13 +17,13 @@
buildDotnetModule rec { buildDotnetModule rec {
pname = "osu-lazer"; pname = "osu-lazer";
version = "2023.811.0"; version = "2023.815.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ppy"; owner = "ppy";
repo = "osu"; repo = "osu";
rev = version; rev = version;
sha256 = "sha256-LRVec2nwT7Benzov59qxVWzFXO/MsotRUHPIUosH2fw="; sha256 = "sha256-Lm/unDa1ADc2zprrgP/a2bOzHb02CwU9gcvhmTOXKIM=";
}; };
projectFile = "osu.Desktop/osu.Desktop.csproj"; projectFile = "osu.Desktop/osu.Desktop.csproj";

View file

@ -134,7 +134,7 @@
(fetchNuGet { pname = "ppy.ManagedBass"; version = "2022.1216.0"; sha256 = "19nnj1hq2v21mrplnivjr9c4y3wg4hhfnc062sjgzkmiv1cchvf8"; }) (fetchNuGet { pname = "ppy.ManagedBass"; version = "2022.1216.0"; sha256 = "19nnj1hq2v21mrplnivjr9c4y3wg4hhfnc062sjgzkmiv1cchvf8"; })
(fetchNuGet { pname = "ppy.ManagedBass.Fx"; version = "2022.1216.0"; sha256 = "1vw573mkligpx9qiqasw1683cqaa1kgnxhlnbdcj9c4320b1pwjm"; }) (fetchNuGet { pname = "ppy.ManagedBass.Fx"; version = "2022.1216.0"; sha256 = "1vw573mkligpx9qiqasw1683cqaa1kgnxhlnbdcj9c4320b1pwjm"; })
(fetchNuGet { pname = "ppy.ManagedBass.Mix"; version = "2022.1216.0"; sha256 = "185bpvgbnd8y20r7vxb1an4pd1aal9b7b5wvmv3knz0qg8j0chd9"; }) (fetchNuGet { pname = "ppy.ManagedBass.Mix"; version = "2022.1216.0"; sha256 = "185bpvgbnd8y20r7vxb1an4pd1aal9b7b5wvmv3knz0qg8j0chd9"; })
(fetchNuGet { pname = "ppy.osu.Framework"; version = "2023.811.0"; sha256 = "121jdz1zxivr4nddjjwnf4996awaxbcb7mxp279495z3gg44x9kb"; }) (fetchNuGet { pname = "ppy.osu.Framework"; version = "2023.815.0"; sha256 = "0xda8fd70x6ljbaqliikbjff84arjm3va5ibdv5p9sijn5arhzy8"; })
(fetchNuGet { pname = "ppy.osu.Framework.NativeLibs"; version = "2022.525.0"; sha256 = "1zsqj3xng06bb46vg79xx35n2dsh3crqg951r1ga2gxqzgzy4nk0"; }) (fetchNuGet { pname = "ppy.osu.Framework.NativeLibs"; version = "2022.525.0"; sha256 = "1zsqj3xng06bb46vg79xx35n2dsh3crqg951r1ga2gxqzgzy4nk0"; })
(fetchNuGet { pname = "ppy.osu.Framework.SourceGeneration"; version = "2023.720.0"; sha256 = "001vvxyv483ibid25fdknvij77x0y983mp4psx2lbg3x2al7yxax"; }) (fetchNuGet { pname = "ppy.osu.Framework.SourceGeneration"; version = "2023.720.0"; sha256 = "001vvxyv483ibid25fdknvij77x0y983mp4psx2lbg3x2al7yxax"; })
(fetchNuGet { pname = "ppy.osu.Game.Resources"; version = "2023.719.0"; sha256 = "1isy0jd8xkjw72m4akh85nmlcfp6na1ksghyajs4amiagjgvvn47"; }) (fetchNuGet { pname = "ppy.osu.Game.Resources"; version = "2023.719.0"; sha256 = "1isy0jd8xkjw72m4akh85nmlcfp6na1ksghyajs4amiagjgvvn47"; })

View file

@ -0,0 +1,52 @@
{ autoPatchelfHook
, cups
, dpkg
, fetchurl
, lib
, stdenv
}:
stdenv.mkDerivation (finalAttrs: {
pname = "fflinuxprint";
version = "1.1.3-4";
src = fetchurl {
url = "https://support-fb.fujifilm.com/driver_downloads/fflinuxprint_${finalAttrs.version}_amd64.deb";
hash = "sha256-Q0qB4gvEWa10KGt6SngVqraxFePxIQ62nTrFZ44vyrU=";
curlOpts = "--user-agent Mozilla/5.0"; # HTTP 410 otherwise
};
sourceRoot = ".";
unpackCmd = "dpkg-deb -x $curSrc .";
nativeBuildInputs = [
autoPatchelfHook
dpkg
];
buildInputs = [
cups
];
dontConfigure = true;
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir -p $out/share/cups/model
mv {etc,usr/lib} $out
mv usr/share/ppd/fujifilm/* $out/share/cups/model
runHook postInstall
'';
meta = {
description = "FujiFILM Linux Printer Driver";
homepage = "https://support-fb.fujifilm.com";
license = lib.licenses.unfree;
maintainers = with lib.maintainers; [ jaduff ];
platforms = lib.platforms.linux;
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
};
})

View file

@ -6,6 +6,7 @@
, nix , nix
, lib , lib
, nixosTests , nixosTests
, installShellFiles
}: }:
let let
fallback = import ./../../../../nixos/modules/installer/tools/nix-fallback-paths.nix; fallback = import ./../../../../nixos/modules/installer/tools/nix-fallback-paths.nix;
@ -20,6 +21,12 @@ substituteAll {
nix_i686_linux = fallback.i686-linux; nix_i686_linux = fallback.i686-linux;
nix_aarch64_linux = fallback.aarch64-linux; nix_aarch64_linux = fallback.aarch64-linux;
path = lib.makeBinPath [ coreutils gnused gnugrep ]; path = lib.makeBinPath [ coreutils gnused gnugrep ];
nativeBuildInputs = [
installShellFiles
];
postInstall = ''
installManPage ${./nixos-rebuild.8}
'';
# run some a simple installer tests to make sure nixos-rebuild still works for them # run some a simple installer tests to make sure nixos-rebuild still works for them
passthru.tests = { passthru.tests = {

File diff suppressed because it is too large Load diff

View file

@ -1,14 +1,23 @@
{ lib, rustPlatform, fetchFromGitLab, pkg-config, sqlite, stdenv, darwin, nixosTests, rocksdb_6_23 }: { lib
, rustPlatform
, fetchFromGitLab
, pkg-config
, sqlite
, stdenv
, darwin
, nixosTests
, rocksdb
}:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "matrix-conduit"; pname = "matrix-conduit";
version = "0.5.0"; version = "0.6.0";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "famedly"; owner = "famedly";
repo = "conduit"; repo = "conduit";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-GSCpmn6XRbmnfH31R9c6QW3/pez9KHPjI99dR+ln0P4="; hash = "sha256-TpNssMHvSKcxJMas5lQNWEbIv09u4/niBN2C27Mp0JY=";
}; };
# We have to use importCargoLock here because `cargo vendor` currently doesn't support workspace # We have to use importCargoLock here because `cargo vendor` currently doesn't support workspace
@ -18,7 +27,7 @@ rustPlatform.buildRustPackage rec {
outputHashes = { outputHashes = {
"heed-0.10.6" = "sha256-rm02pJ6wGYN4SsAbp85jBVHDQ5ITjZZd+79EC2ubRsY="; "heed-0.10.6" = "sha256-rm02pJ6wGYN4SsAbp85jBVHDQ5ITjZZd+79EC2ubRsY=";
"reqwest-0.11.9" = "sha256-wH/q7REnkz30ENBIK5Rlxnc1F6vOyuEANMHFmiVPaGw="; "reqwest-0.11.9" = "sha256-wH/q7REnkz30ENBIK5Rlxnc1F6vOyuEANMHFmiVPaGw=";
"ruma-0.7.4" = "sha256-ztobLdOXSGyK1YcPMMIycO3ZmnjxG5mLkHltf0Fbs8s="; "ruma-0.8.2" = "sha256-GkHLY5unh7uyFNe0RS+3xQ4Ou8qBhzd+kEnCC7xUnMo=";
}; };
}; };
@ -37,8 +46,10 @@ rustPlatform.buildRustPackage rec {
darwin.apple_sdk.frameworks.Security darwin.apple_sdk.frameworks.Security
]; ];
ROCKSDB_INCLUDE_DIR = "${rocksdb_6_23}/include"; env = {
ROCKSDB_LIB_DIR = "${rocksdb_6_23}/lib"; ROCKSDB_INCLUDE_DIR = "${rocksdb}/include";
ROCKSDB_LIB_DIR = "${rocksdb}/lib";
};
# tests failed on x86_64-darwin with SIGILL: illegal instruction # tests failed on x86_64-darwin with SIGILL: illegal instruction
doCheck = !(stdenv.isx86_64 && stdenv.isDarwin); doCheck = !(stdenv.isx86_64 && stdenv.isDarwin);

View file

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "matterircd"; pname = "matterircd";
version = "0.27.0"; version = "0.27.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "42wim"; owner = "42wim";
repo = "matterircd"; repo = "matterircd";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-gJHFAvgEZ26Jj3MfaUB7u/8jWtVHa9mjWfo+hFfo9u0="; sha256 = "sha256-bDM+P9UwH4cpieOQQfEi2xIKTRQ1zInW9iFK3yAU1Xk=";
}; };
vendorHash = null; vendorHash = null;

View file

@ -5,7 +5,7 @@
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "dmarc-metrics-exporter"; pname = "dmarc-metrics-exporter";
version = "0.9.1"; version = "0.9.4";
disabled = python3.pythonOlder "3.8"; disabled = python3.pythonOlder "3.8";
@ -15,7 +15,7 @@ python3.pkgs.buildPythonApplication rec {
owner = "jgosmann"; owner = "jgosmann";
repo = "dmarc-metrics-exporter"; repo = "dmarc-metrics-exporter";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-o22Jn2x2mFczjQTttKEfrzGBAKpXSe9JT8kIA5WGjmA="; hash = "sha256-doKG191rQvUpjOb3HvkzZP9XbtQXYGFtDJIdDSFRLSU=";
}; };
pythonRelaxDeps = true; pythonRelaxDeps = true;

View file

@ -8,6 +8,7 @@
, rustPlatform , rustPlatform
, stdenv , stdenv
, libiconv , libiconv
, nixosTests
}: }:
let let
@ -107,6 +108,8 @@ in buildGoModule {
ldflags = [ "-X main.commit=v${version}" "-X main.version=${version}" ]; ldflags = [ "-X main.commit=v${version}" "-X main.version=${version}" ];
passthru.tests = { inherit (nixosTests) influxdb2; };
meta = with lib; { meta = with lib; {
description = "An open-source distributed time series database"; description = "An open-source distributed time series database";
license = licenses.mit; license = licenses.mit;

View file

@ -0,0 +1,57 @@
{ lib
, stdenv
, fetchFromGitHub
, substituteAll
, python3
, ghostscript
, coreutils
, pdftk
, poppler_utils
}:
let
python-env = python3.withPackages (ps: with ps; [ tkinter ]);
in
stdenv.mkDerivation {
pname = "pdf-sign";
version = "unstable-2023-08-08";
src = fetchFromGitHub {
owner = "svenssonaxel";
repo = "pdf-sign";
rev = "98742c6b12ebe2ca3ba375c695f43b52fe38b362";
hash = "sha256-5GRk0T1iLqmvWI8zvZE3OWEHPS0/zN/Ie9brjZiFpqc=";
};
patches = [
(substituteAll {
src = ./use-nix-paths.patch;
gs = "${ghostscript}/bin/gs";
mv = "${coreutils}/bin/mv";
pdftk = "${pdftk}/bin/pdftk";
pdfinfo = "${poppler_utils}/bin/pdfinfo";
})
];
buildInputs = [ python-env ];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp pdf-sign pdf-create-empty $out/bin
patchShebangs $out/bin
runHook postInstall
'';
meta = {
description = "A tool to visually sign PDF files";
homepage = "https://github.com/svenssonaxel/pdf-sign";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ tomasajt ];
platforms = lib.platforms.unix;
};
}

View file

@ -0,0 +1,93 @@
diff --git a/pdf-create-empty b/pdf-create-empty
index e4768af..5caf34c 100755
--- a/pdf-create-empty
+++ b/pdf-create-empty
@@ -20,7 +20,7 @@ def main(args):
except:
die('Invalid dimensions')
subprocess.run([
- 'gs', '-dBATCH', '-dNOPAUSE', '-dSAFER', '-dQUIET',
+ '@gs@', '-dBATCH', '-dNOPAUSE', '-dSAFER', '-dQUIET',
f'-sOutputFile={o}',
'-sDEVICE=pdfwrite',
f'-dDEVICEWIDTHPOINTS={w}', f'-dDEVICEHEIGHTPOINTS={h}',
diff --git a/pdf-sign b/pdf-sign
index 64be231..37d508d 100755
--- a/pdf-sign
+++ b/pdf-sign
@@ -17,7 +17,7 @@ def main(args):
if args.flatten:
outFile=intmp('input.pdf')
subprocess.run([
- 'pdftk', filePath,
+ '@pdftk@', filePath,
'output', outFile,
'flatten'
], check=True)
@@ -28,7 +28,7 @@ def main(args):
if args.page < -pageCount or args.page==0 or pageCount < args.page:
die('Page number out of range')
pageNumber=Cell(args.page if 0 < args.page else pageCount+args.page+1)
- pagePDF=Cell(lambda: subprocess.run(['pdftk', inputPDF(), 'cat', str(pageNumber()), 'output', intmp('page.pdf')], check=True) and intmp('page.pdf'))
+ pagePDF=Cell(lambda: subprocess.run(['@pdftk@', inputPDF(), 'cat', str(pageNumber()), 'output', intmp('page.pdf')], check=True) and intmp('page.pdf'))
pageSize=Cell(lambda: pdfGetSize(pagePDF()))
# The chosen signature
if not args.signature and args.batch:
@@ -52,7 +52,7 @@ def main(args):
dy=h*(1-signaturePositionY())/resize - sh/2
outFile=intmp('signature-positioned.pdf')
subprocess.run([
- 'gs', '-dBATCH', '-dNOPAUSE', '-dSAFER', '-dQUIET',
+ '@gs@', '-dBATCH', '-dNOPAUSE', '-dSAFER', '-dQUIET',
f'-sOutputFile={outFile}',
'-sDEVICE=pdfwrite',
f'-dDEVICEWIDTHPOINTS={w}', f'-dDEVICEHEIGHTPOINTS={h}', '-dFIXEDMEDIA',
@@ -62,7 +62,7 @@ def main(args):
return outFile
# The signed page
signedPagePDF=Cell(lambda: subprocess.run([
- 'pdftk',
+ '@pdftk@',
pagePDF(),
'stamp', signaturePositionedPDF(),
'output', intmp('signed-page.pdf'),
@@ -80,7 +80,7 @@ def main(args):
(w, h)=displaySize()
outFile=intmp('display.png')
subprocess.run([
- 'gs', '-dBATCH', '-dNOPAUSE', '-dSAFER', '-dQUIET',
+ '@gs@', '-dBATCH', '-dNOPAUSE', '-dSAFER', '-dQUIET',
f'-sOutputFile={outFile}',
'-sDEVICE=pngalpha',
'-dMaxBitmap=2147483647',
@@ -258,7 +258,7 @@ def main(args):
if args.existing=='backup':
backupFilePath=f'{signedFilePath}.backup{time.strftime("%Y%m%d_%H%M%S")}'
subprocess.run([
- 'mv',
+ '@mv@',
signedFilePath,
backupFilePath,
], check=True)
@@ -269,7 +269,7 @@ def main(args):
assert args.existing=='overwrite'
pnr=pageNumber()
subprocess.run([
- 'pdftk',
+ '@pdftk@',
f'A={inputPDF()}',
f'B={signedPagePDF()}',
'cat',
@@ -352,10 +352,10 @@ def tkthrottle(frequency, root):
return decorator
def pdfCountPages(filePath):
- return int(fromCmdOutput(["pdfinfo", filePath], "^.*\nPages: +([0-9]+)\n.*$")[1])
+ return int(fromCmdOutput(["@pdfinfo@", filePath], "^.*\nPages: +([0-9]+)\n.*$")[1])
def pdfGetSize(filePath):
- [ignored, w, h, *ignored2]=fromCmdOutput(['pdfinfo', filePath], '^.*\nPage size: +([0-9.]+) x ([0-9.]+) pts( \([A-Za-z0-9]+\))?\n.*$')
+ [ignored, w, h, *ignored2]=fromCmdOutput(['@pdfinfo@', filePath], '^.*\nPage size: +([0-9.]+) x ([0-9.]+) pts( \([A-Za-z0-9]+\))?\n.*$')
return (float(w), float(h))
def m(pattern, string):

View file

@ -19,6 +19,6 @@ rustPlatform.buildRustPackage rec {
description = "Terminal viewer for 3a format"; description = "Terminal viewer for 3a format";
homepage = "https://github.com/DomesticMoth/aaa"; homepage = "https://github.com/DomesticMoth/aaa";
license = with licenses; [ gpl3Only ]; license = with licenses; [ gpl3Only ];
maintainers = with maintainers; [ DomesticMoth ]; maintainers = with maintainers; [ asciimoth ];
}; };
} }

View file

@ -0,0 +1,22 @@
{ lib, buildGoModule, fetchFromGitHub }:
buildGoModule rec {
pname = "crypto-tracker";
version = "0.1.8";
src = fetchFromGitHub {
owner = "Nox04";
repo = "crypto-tracker";
rev = "v${version}";
hash = "sha256-8tTaXpHZWcDq0Jfa9Hf258VYwfimLhYjCAzD4X/Ow0s=";
};
vendorHash = "sha256-ORdDrZ61u76mz2oZyxfdf7iuo9SnuQeDxESt9lORhgQ=";
meta = with lib; {
description = "Program to retrieve the latest price for several cryptocurrencies using the CoinMarketCap API";
homepage = "https://github.com/Nox04/crypto-tracker";
license = licenses.mit;
maintainers = with maintainers; [ tiredofit ];
};
}

View file

@ -5,13 +5,13 @@
buildGoModule rec { buildGoModule rec {
pname = "mmctl"; pname = "mmctl";
version = "7.10.4"; version = "7.10.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "mattermost"; owner = "mattermost";
repo = "mmctl"; repo = "mmctl";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-N3WvVVx4djmW6+Nh2XAgv0fJgVVp2I0I3vnUuoEUXjo="; sha256 = "sha256-FQdxFvYJ+YrOc1p3/Ju3ZOGFH32WeZjHXtsIYG+O0U0=";
}; };
vendorHash = null; vendorHash = null;

View file

@ -7,13 +7,13 @@
buildGoModule rec { buildGoModule rec {
pname = "ollama"; pname = "ollama";
version = "0.0.13"; version = "0.0.14";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jmorganca"; owner = "jmorganca";
repo = "ollama"; repo = "ollama";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-O8++opfUMQErE3/qeicnCzTGcmT+mA4Kugpp7ZTptZI="; hash = "sha256-QFik6Vlo06s2Nz5tsS3yvm3JYhCTIZHMiphtqz99sTI=";
}; };
buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk_11_0.frameworks; [ buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk_11_0.frameworks; [
@ -22,7 +22,7 @@ buildGoModule rec {
MetalKit MetalKit
]); ]);
vendorHash = "sha256-jlJf2RtcsnyhyCeKkRSrpg4GGB2r5hOa3ZmM+UZcIxI="; vendorHash = "sha256-eAvedN47InwUcsWLtnzxuLnmyeOoxHEDtQy9kjsFJnE=";
ldflags = [ "-s" "-w" ]; ldflags = [ "-s" "-w" ];

View file

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "svu"; pname = "svu";
version = "1.10.2"; version = "1.11.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "caarlos0"; owner = "caarlos0";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "37AT+ygN7u3KfFqr26M9c7aTt15z8m4PBrSd+G5mJcE="; sha256 = "sha256-FmSBh2XxwxmIbX2TILnk+YUYbMQQbOb89uvnpl4b+7Y=";
}; };
vendorHash = "sha256-+e1oL08KvBSNaRepGR2SBBrEDJaGxl5V9rOBysGEfQs="; vendorHash = "sha256-+e1oL08KvBSNaRepGR2SBBrEDJaGxl5V9rOBysGEfQs=";

View file

@ -2,16 +2,16 @@
buildNpmPackage rec { buildNpmPackage rec {
pname = "twspace-crawler"; pname = "twspace-crawler";
version = "1.12.7"; version = "1.12.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "HitomaruKonpaku"; owner = "HitomaruKonpaku";
repo = "twspace-crawler"; repo = "twspace-crawler";
rev = "bc1626996076f4e73890dc80b2fe99d578a7c641"; # version not tagged rev = "3909facc10fe0308d425b609675919e1b9d1b06e"; # version not tagged
hash = "sha256-/2wdl7VCcO8WRAYFtr1wtu80TwyLI3Hi8XzmrzOzhUQ="; hash = "sha256-qAkrNWy7ofT2klgxU4lbZNfiPvF9gLpgkhaTW1xMcAc=";
}; };
npmDepsHash = "sha256-pPpUQ6o0P7iTcdLwWqwItJFVhYH9rC+bLKo4Gz7DiRE="; npmDepsHash = "sha256-m0xszerBSx6Ovs/S55lT4CqPRls7aSw4bjONV7BZ8xE=";
meta = with lib; { meta = with lib; {
description = "Script to monitor & download Twitter Spaces 24/7"; description = "Script to monitor & download Twitter Spaces 24/7";

6637
pkgs/tools/networking/veilid/Cargo.lock generated Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,55 @@
{ lib
, stdenv
, AppKit
, Security
, fetchFromGitLab
, rustPlatform
, protobuf
, capnproto
}:
rustPlatform.buildRustPackage rec {
pname = "veilid";
version = "0.1.7";
src = fetchFromGitLab {
owner = "veilid";
repo = pname;
rev = "v${version}";
fetchSubmodules = true;
sha256 = "sha256-wG8uxmohIOb8V+5gqhjM4hHG/6uHg0ehAtP2z5eoflU=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"bugsalot-0.2.2" = "sha256-9zLzK22dOB7w+ejk1SfkA98z4rEzrB6mAVUpPFuDUnY=";
};
};
nativeBuildInputs = [
capnproto
protobuf
];
buildInputs = lib.optionals stdenv.isDarwin [ AppKit Security ];
cargoBuildFlags = [
"--workspace"
];
doCheck = false;
outputs = [ "out" "lib" "dev" ];
postInstall = ''
moveToOutput "lib" "$lib"
'';
meta = with lib; {
description = "An open-source, peer-to-peer, mobile-first, networked application framework";
homepage = "https://veilid.com";
license = licenses.mpl20;
maintainers = with maintainers; [ bbigras ];
};
}

View file

@ -20,8 +20,7 @@ in
inherit (config.system.build) inherit (config.system.build)
nixos-install nixos-generate-config nixos-enter; nixos-install nixos-generate-config nixos-enter;
# Required for --help. inherit (config.system.build.manual) nixos-configuration-reference-manpage;
inherit (config.system.build.manual) manpages;
}; };
extraOutputsToInstall = ["man"]; extraOutputsToInstall = ["man"];

View file

@ -1,14 +1,33 @@
{ lib, stdenv, boost, cmake, pkg-config, nix }: { lib
, stdenv
, boost
, cmake
, pkg-config
, installShellFiles
, nix
}:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "nixos-option"; name = "nixos-option";
src = ./.; src = ./.;
postInstall = ''
installManPage ${./nixos-option.8}
'';
strictDeps = true; strictDeps = true;
nativeBuildInputs = [ cmake pkg-config ]; nativeBuildInputs = [
buildInputs = [ boost nix ]; cmake
cmakeFlags = [ "-DNIX_DEV_INCLUDEPATH=${nix.dev}/include/nix" ]; pkg-config
installShellFiles
];
buildInputs = [
boost
nix
];
cmakeFlags = [
"-DNIX_DEV_INCLUDEPATH=${nix.dev}/include/nix"
];
meta = with lib; { meta = with lib; {
license = licenses.lgpl2Plus; license = licenses.lgpl2Plus;

View file

@ -11,13 +11,13 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "ugrep"; pname = "ugrep";
version = "3.12.3"; version = "3.12.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Genivia"; owner = "Genivia";
repo = "ugrep"; repo = "ugrep";
rev = "v${finalAttrs.version}"; rev = "v${finalAttrs.version}";
hash = "sha256-KP8SpeHGOdIKnA+xavdkoj3XRU572RZtFH0DaW28m+k="; hash = "sha256-bf/MWJKqHuwqVyCtI8rBiYyEFvBpHq89YXtatQEqDHo=";
}; };
buildInputs = [ buildInputs = [

View file

@ -589,6 +589,8 @@ with pkgs;
dnf5 = callPackage ../tools/package-management/dnf5 { }; dnf5 = callPackage ../tools/package-management/dnf5 { };
documenso = callPackage ../applications/office/documenso { };
dsq = callPackage ../tools/misc/dsq { }; dsq = callPackage ../tools/misc/dsq { };
dt = callPackage ../tools/text/dt { }; dt = callPackage ../tools/text/dt { };
@ -1674,6 +1676,8 @@ with pkgs;
cope = callPackage ../tools/misc/cope { }; cope = callPackage ../tools/misc/cope { };
crypto-tracker = callPackage ../tools/misc/crypto-tracker { };
ejson2env = callPackage ../tools/admin/ejson2env { }; ejson2env = callPackage ../tools/admin/ejson2env { };
davinci-resolve = callPackage ../applications/video/davinci-resolve { }; davinci-resolve = callPackage ../applications/video/davinci-resolve { };
@ -11761,6 +11765,8 @@ with pkgs;
pdf-quench = callPackage ../applications/misc/pdf-quench { }; pdf-quench = callPackage ../applications/misc/pdf-quench { };
pdf-sign = callPackage ../tools/graphics/pdf-sign { };
pdfarranger = callPackage ../applications/misc/pdfarranger { }; pdfarranger = callPackage ../applications/misc/pdfarranger { };
briss = callPackage ../tools/graphics/briss { }; briss = callPackage ../tools/graphics/briss { };
@ -40838,6 +40844,8 @@ with pkgs;
brlaser = callPackage ../misc/cups/drivers/brlaser { }; brlaser = callPackage ../misc/cups/drivers/brlaser { };
fflinuxprint = callPackage ../misc/cups/drivers/fflinuxprint { };
fxlinuxprint = callPackage ../misc/cups/drivers/fxlinuxprint { }; fxlinuxprint = callPackage ../misc/cups/drivers/fxlinuxprint { };
brscan4 = callPackage ../applications/graphics/sane/backends/brscan4 { }; brscan4 = callPackage ../applications/graphics/sane/backends/brscan4 { };
@ -41070,6 +41078,10 @@ with pkgs;
vazir-fonts = callPackage ../data/fonts/vazir-fonts { }; vazir-fonts = callPackage ../data/fonts/vazir-fonts { };
veilid = callPackage ../tools/networking/veilid {
inherit (darwin.apple_sdk.frameworks) AppKit Security;
};
vhs = callPackage ../applications/misc/vhs { }; vhs = callPackage ../applications/misc/vhs { };
vgmstream = callPackage ../applications/audio/vgmstream { }; vgmstream = callPackage ../applications/audio/vgmstream { };

View file

@ -304,6 +304,8 @@ lib.makeScope pkgs.newScope (self: with self; {
uv = callPackage ../development/php-packages/uv { }; uv = callPackage ../development/php-packages/uv { };
vld = callPackage ../development/php-packages/vld { };
xdebug = callPackage ../development/php-packages/xdebug { }; xdebug = callPackage ../development/php-packages/xdebug { };
yaml = callPackage ../development/php-packages/yaml { }; yaml = callPackage ../development/php-packages/yaml { };