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
# Dotnet
/pkgs/build-support/dotnet @IvarWithoutBones
/pkgs/development/compilers/dotnet @IvarWithoutBones
/pkgs/build-support/dotnet @IvarWithoutBones
/pkgs/development/compilers/dotnet @IvarWithoutBones
/pkgs/test/dotnet @IvarWithoutBones
/doc/languages-frameworks/dotnet.section.md @IvarWithoutBones
# Node.js
/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 {
apple = {};
pc = {};
knuth = {};
# Actually matters, unlocking some MinGW-w64-specific options in GCC. See
# bottom of https://sourceforge.net/p/mingw-w64/wiki2/Unicode%20apps/
w64 = {};

View File

@ -1466,6 +1466,15 @@
githubId = 1482768;
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 = {
email = "artyom.shalkhakov@gmail.com";
github = "ashalkhakov";
@ -7522,6 +7531,12 @@
githubId = 7558482;
name = "Jack Gerrits";
};
jaduff = {
email = "jdduffpublic@proton.me";
github = "jaduff";
githubId = 10690970;
name = "James Duff";
};
jagajaga = {
email = "ars.seroka@gmail.com";
github = "jagajaga";
@ -17044,6 +17059,13 @@
githubId = 1292007;
name = "Sébastien Maccagnoni";
};
tiredofit = {
email = "dave@tiredofit.ca";
github = "tiredofit";
githubId = 23528985;
name = "Dave Conroy";
matrix = "@dave:tiredofit.ca";
};
tirex = {
email = "szymon@kliniewski.pl";
name = "Szymon Kliniewski";

View File

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

View File

@ -7,6 +7,7 @@ You can quickly check your edits with the following:
```ShellSession
$ cd /path/to/nixpkgs
$ $EDITOR doc/nixos/manual/... # edit the manual
$ 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).
**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
$ 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
$ 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.
`nix-build` will complain otherwise, but should also tell you which architecture you have + the supported ones.
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.
[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.
manpages = runCommand "nixos-manpages"
# Generate the `man configuration.nix` package
nixos-configuration-reference-manpage = runCommand "nixos-configuration-reference-manpage"
{ nativeBuildInputs = [
buildPackages.installShellFiles
buildPackages.nixos-render-docs
@ -194,8 +194,6 @@ in rec {
}
''
# Generate manpages.
mkdir -p $out/share/man/man8
installManPage ${./manpages}/*
mkdir -p $out/share/man/man5
nixos-render-docs -j $NIX_BUILD_CORES options manpage \
--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 // {
dir = "bin";
isExecutable = true;
nativeBuildInputs = [
pkgs.installShellFiles
];
postInstall = ''
installManPage ${args.manPage}
'';
});
nixos-build-vms = makeProg {
name = "nixos-build-vms";
src = ./nixos-build-vms/nixos-build-vms.sh;
inherit (pkgs) runtimeShell;
manPage = ./manpages/nixos-build-vms.8;
};
nixos-install = makeProg {
@ -27,6 +34,7 @@ let
nixos-enter
pkgs.util-linuxMinimal
];
manPage = ./manpages/nixos-install.8;
};
nixos-rebuild = pkgs.nixos-rebuild.override { nix = config.nix.package.out; };
@ -40,6 +48,7 @@ let
btrfs = "${pkgs.btrfs-progs}/bin/btrfs";
inherit (config.system.nixos-generate-config) configuration desktopConfiguration;
xserverEnabled = config.services.xserver.enable;
manPage = ./manpages/nixos-generate-config.8;
};
inherit (pkgs) nixos-option;
@ -57,6 +66,7 @@ let
} // optionalAttrs (config.system.configurationRevision != null) {
configurationRevision = config.system.configurationRevision;
});
manPage = ./manpages/nixos-version.8;
};
nixos-enter = makeProg {
@ -66,6 +76,7 @@ let
path = makeBinPath [
pkgs.util-linuxMinimal
];
manPage = ./manpages/nixos-enter.8;
};
in

View File

@ -346,7 +346,7 @@ in
system.build.manual = manual;
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 ];
})

View File

@ -1,8 +1,17 @@
{ config, lib, pkgs, ... }:
with lib;
let
inherit
(lib)
escapeShellArg
hasAttr
literalExpression
mkEnableOption
mkIf
mkOption
types
;
format = pkgs.formats.json { };
cfg = config.services.influxdb2;
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.'';
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 {
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";
}];
assertions = [
{
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 = {
description = "InfluxDB is an open-source, distributed, time series database";
@ -52,7 +107,62 @@ in
LimitNOFILE = 65536;
KillMode = "control-group";
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 = {
@ -63,5 +173,5 @@ in
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.
'';
};
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 = {};

View File

@ -292,7 +292,7 @@ in {
};
client_secret_path = mkOption {
type = types.nullOr types.path;
type = types.nullOr types.str;
default = null;
description = lib.mdDoc ''
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, ... }:
with lib;
let
memtest86 = pkgs.memtest86plus;
efiSupport = config.boot.loader.grub.efiSupport;
cfg = config.boot.loader.grub.memtest86;
in
@ -19,11 +17,8 @@ in
default = false;
type = types.bool;
description = lib.mdDoc ''
Make Memtest86+ (or MemTest86 if EFI support is enabled),
a memory testing program, available from the
GRUB boot menu. MemTest86 is an unfree program, so
this requires `allowUnfree` to be set to
`true`.
Make Memtest86+, a memory testing program, available from the GRUB
boot menu.
'';
};
@ -63,34 +58,12 @@ in
};
};
config = mkMerge [
(mkIf (cfg.enable && efiSupport) {
assertions = [
{
assertion = cfg.params == [];
message = "Parameters are not available for MemTest86";
}
];
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";
})
];
config = mkIf cfg.enable {
boot.loader.grub.extraEntries = ''
menuentry "Memtest86+" {
linux @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;
memtest86 = optionalString cfg.memtest86.enable pkgs.memtest86-efi;
memtest86 = optionalString cfg.memtest86.enable pkgs.memtest86plus;
netbootxyz = optionalString cfg.netbootxyz.enable pkgs.netbootxyz-efi;
@ -147,10 +147,8 @@ in {
default = false;
type = types.bool;
description = lib.mdDoc ''
Make MemTest86 available from the systemd-boot menu. MemTest86 is a
program for testing memory. MemTest86 is an unfree program, so
this requires `allowUnfree` to be set to
`true`.
Make MemTest86+ available from the systemd-boot menu. MemTest86+ is a
program for testing memory.
'';
};
@ -193,8 +191,8 @@ in {
default = {};
example = literalExpression ''
{ "memtest86.conf" = '''
title MemTest86
efi /efi/memtest86/memtest86.efi
title MemTest86+
efi /efi/memtest86/memtest.efi
'''; }
'';
description = lib.mdDoc ''
@ -213,7 +211,7 @@ in {
type = types.attrsOf types.path;
default = {};
example = literalExpression ''
{ "efi/memtest86/memtest86.efi" = "''${pkgs.memtest86-efi}/BOOTX64.efi"; }
{ "efi/memtest86/memtest.efi" = "''${pkgs.memtest86plus}/memtest.efi"; }
'';
description = lib.mdDoc ''
A set of files to be copied to {file}`/boot`.
@ -276,11 +274,8 @@ in {
boot.loader.supportsInitrdSecrets = true;
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 {
"efi/memtest86/BOOTX64.efi" = "${pkgs.memtest86-efi}/BOOTX64.efi";
"efi/memtest86/memtest.efi" = "${pkgs.memtest86plus.efi}";
})
(mkIf cfg.netbootxyz.enable {
"efi/netbootxyz/netboot.xyz.efi" = "${pkgs.netbootxyz-efi}";
@ -291,7 +286,7 @@ in {
(mkIf cfg.memtest86.enable {
"${cfg.memtest86.entryFilename}" = ''
title MemTest86
efi /efi/memtest86/BOOTX64.efi
efi /efi/memtest86/memtest.efi
'';
})
(mkIf cfg.netbootxyz.enable {

View File

@ -143,7 +143,7 @@ in rec {
manualHTML = buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manualHTML);
manual = manualHTML; # TODO(@oxij): remove eventually
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;

View File

@ -367,6 +367,7 @@ in {
iftop = handleTest ./iftop.nix {};
incron = handleTest ./incron.nix {};
influxdb = handleTest ./influxdb.nix {};
influxdb2 = handleTest ./influxdb2.nix {};
initrd-network-openvpn = handleTest ./initrd-network-openvpn {};
initrd-network-ssh = handleTest ./initrd-network-ssh {};
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, ... }: {
imports = [ common ];
boot.loader.systemd-boot.memtest86.enable = true;
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
"memtest86-efi"
];
};
testScript = ''
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 ];
boot.loader.systemd-boot.memtest86.enable = true;
boot.loader.systemd-boot.memtest86.entryFilename = "apple.conf";
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
"memtest86-efi"
];
};
testScript = ''
machine.fail("test -e /boot/loader/entries/memtest86.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 {
pname = "go-ethereum";
version = "1.12.0";
version = "1.12.2";
src = fetchFromGitHub {
owner = "ethereum";
repo = pname;
rev = "v${version}";
sha256 = "sha256-u1p9k12tY79kA/2Hu109czQZnurHuDJQf/w7J0c8SuU=";
sha256 = "sha256-iCLOrf6/f0f7sD0YjmBtlcOcZRDIp9IZkBadTKj1Qjw=";
};
vendorHash = "sha256-k5MbOiJDvWFnaAPViNRHeqFa64XPZ3ImkkvkmTTscNA=";
vendorHash = "sha256-ChmQjhz4dQdwcY/269Hi5XAn8/+0z/AF7Kd9PJ8WqHg=";
doCheck = false;

View File

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

View File

@ -63,21 +63,26 @@ def get_file_revision(revision, file_path):
return base64.b64decode(resp)
def get_matching_chromedriver(version):
"""Gets the matching chromedriver version for the given Chromium version."""
# See https://chromedriver.chromium.org/downloads/version-selection
build = re.sub('.[0-9]+$', '', version)
chromedriver_version_url = f'https://chromedriver.storage.googleapis.com/LATEST_RELEASE_{build}'
with urlopen(chromedriver_version_url) as http_response:
chromedriver_version = http_response.read().decode()
def get_chromedriver_url(system):
return ('https://chromedriver.storage.googleapis.com/' +
f'{chromedriver_version}/chromedriver_{system}.zip')
def get_chromedriver(channel):
"""Get the latest chromedriver builds given a channel"""
# See https://chromedriver.chromium.org/downloads/version-selection#h.4wiyvw42q63v
chromedriver_versions_url = f'https://googlechromelabs.github.io/chrome-for-testing/last-known-good-versions-with-downloads.json'
print(f'GET {chromedriver_versions_url}')
with urlopen(chromedriver_versions_url) as http_response:
chromedrivers = json.load(http_response)
channel = chromedrivers['channels'][channel]
downloads = channel['downloads']['chromedriver']
def get_chromedriver_url(platform):
for download in downloads:
if download['platform'] == platform:
return download['url']
return {
'version': chromedriver_version,
'version': channel['version'],
'sha256_linux': nix_prefetch_url(get_chromedriver_url('linux64')),
'sha256_darwin': nix_prefetch_url(get_chromedriver_url('mac64')),
'sha256_darwin_aarch64': nix_prefetch_url(get_chromedriver_url('mac_arm64'))
'sha256_darwin': nix_prefetch_url(get_chromedriver_url('mac-x64')),
'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'])
if channel_name == 'stable':
channel['chromedriver'] = get_matching_chromedriver(channel['version'])
channel['chromedriver'] = get_chromedriver('Stable')
elif channel_name == 'ungoogled-chromium':
ungoogled_repo_url = 'https://github.com/ungoogled-software/ungoogled-chromium.git'
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" = {
kicadVersion = {
version = "7.0.6";
version = "7.0.7";
src = {
rev = "c1a1259ded090202d87d49f4eb4e42f367764622";
sha256 = "1bifg73id0grn37a4n5wpq440z9xz14q0fvkva5vajx0xfd34llv";
rev = "dc7665e950aa0d42de36e928af48be3b060ba5d1";
sha256 = "1xbzf29rhqh6kl0vggdn2dblgp927096fc1lr3y4yw63b8n0qq50";
};
};
libVersion = {
version = "7.0.6";
version = "7.0.7";
libSources = {
symbols.rev = "b591556d93f52d3394b45f3f4c7d1b89f0caacc7";
symbols.sha256 = "0p60dvig7xx8svzsgp871r0aix2m95bmzg3snz372nmgnza2nnvf";
templates.rev = "39d8fccb7400713f3f917799d8b770ad3e786963";
symbols.rev = "c7df225d1c79b3ea842c77d928ce1f9bc1a63c5b";
symbols.sha256 = "1wr754m4ykidds3i14gqhvyrj3mbkchp2hkfnr0rjsdaqf4zmqdf";
templates.rev = "1561dd81d116a661a17147c3b941a3e96335eecc";
templates.sha256 = "1qi20mrsfn4fxmr1fyphmil2i9p2nzmwk5rlfchc5aq2194nj3lq";
footprints.rev = "5fca0686ef0d6c4a9eafb307e346c7b9444e8045";
footprints.sha256 = "0fqnviaxsai0xwyq8xq5ks26j4vd390ns6h6lr0fx2ikv1ghaml5";
packages3d.rev = "6acf40ee68422ea952c3ba8078bbe4cc05d64bff";
packages3d.sha256 = "0dmssyhqd94d9wj8w7g7xjan560b2rwcs540sgl0rc77cw2jify8";
footprints.rev = "ecb85886616b7a6bb957699037f6fb680ce01d30";
footprints.sha256 = "0xnnivlqgcyaz9qay73p43jnvmvshp2b3fbh3569j7rmgi5pn8x0";
packages3d.rev = "4fb0672db1d405b661d0cde8edb5d54ac0a95fc7";
packages3d.sha256 = "141r5wd8s1bgyf77kvb9q14cpsiwwv4zmfzwbgcd42rflsk2lcbc";
};
};
};

View File

@ -7,13 +7,13 @@
rustPlatform.buildRustPackage rec {
pname = "gex";
version = "0.6.1";
version = "0.6.2";
src = fetchFromGitHub {
owner = "Piturnah";
repo = pname;
rev = "v${version}";
hash = "sha256-OCC2kHPHWFwqdE0THNZbH7d3gxTBD5MUMWY6PO5GuHU";
hash = "sha256-iCK3fiVchbfQh5JPHzBN/b24dkoXKW5dJdCsyoG0Kvw=";
};
nativeBuildInputs = [ pkg-config ];
@ -22,7 +22,7 @@ rustPlatform.buildRustPackage rec {
libgit2_1_6
];
cargoHash = "sha256-28sMY47LAdaGmPNmxeu/w1Pn6AV3JlWbxFcit5pLkI0";
cargoHash = "sha256-5w8VzYoevWesMGQJe4rDbugCFQrE1LDNb69CaJ2bQ0w=";
meta = with lib; {
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"
mkdir -p "$out/share/virtualbox"
cp -rv src/VBox/Main/UnattendedTemplates "$out/share/virtualbox"
'';
preFixup = optionalString (!headless) ''

View File

@ -2,8 +2,9 @@
, rustPlatform
, fetchFromGitHub
, pkg-config
, wrapGAppsHook
, gtk3
, gdk-pixbuf
, librsvg
, withWayland ? false
, gtk-layer-shell
, stdenv
@ -22,9 +23,9 @@ rustPlatform.buildRustPackage rec {
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;
buildFeatures = [

View File

@ -1,5 +1,5 @@
{ lib, stdenv
, fetchFromGitHub
, coreutils
, makeWrapper
, sway-unwrapped
@ -14,13 +14,27 @@
, 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 {
pname = "grimshot";
version = sway-unwrapped.version;
inherit version src;
src = sway-unwrapped.src;
pname = "grimshot";
dontBuild = true;
dontConfigure = true;
@ -31,9 +45,9 @@ grimshot = stdenv.mkDerivation rec {
nativeBuildInputs = [ makeWrapper installShellFiles ];
buildInputs = [ bash ];
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 \
"${lib.makeBinPath [
sway-unwrapped
@ -58,21 +72,17 @@ grimshot = stdenv.mkDerivation rec {
meta = with lib; {
description = "A helper for screenshots within sway";
homepage = "https://github.com/swaywm/sway/tree/master/contrib";
license = licenses.mit;
platforms = platforms.all;
maintainers = sway-unwrapped.meta.maintainers ++ (with maintainers; [ evils ]);
maintainers = with maintainers; [ evils ];
};
};
inactive-windows-transparency = python3Packages.buildPythonApplication rec {
inherit version src;
# long name is long
lname = "inactive-windows-transparency";
pname = "sway-${lname}";
version = sway-unwrapped.version;
src = sway-unwrapped.src;
format = "other";
dontBuild = true;
@ -81,12 +91,15 @@ inactive-windows-transparency = python3Packages.buildPythonApplication rec {
propagatedBuildInputs = [ python3Packages.i3ipc ];
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";
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
, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, pkg-config
, meson
@ -39,6 +40,15 @@ stdenv.mkDerivation rec {
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 = [
desktop-file-utils
meson

View File

@ -11,17 +11,17 @@
stdenv.mkDerivation (finalAttrs: {
pname = "unison-code-manager";
version = "M5b";
version = "M5c";
src = if stdenv.isDarwin then
fetchurl {
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
fetchurl {
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.
@ -46,8 +46,9 @@ stdenv.mkDerivation (finalAttrs: {
description = "Modern, statically-typed purely functional language";
homepage = "https://unisonweb.org/";
license = with licenses; [ mit bsd3 ];
mainProgram = "ucm";
maintainers = [ maintainers.virusdave ];
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
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
+++ 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,
configuration: apparmor_gen_profiles_conf,
install: true,
@ -412,25 +412,32 @@ index 990f00b4f3..e5a7a14e1d 100644
+ install_dir: install_prefix + apparmor_dir,
)
endforeach
install_data(
[ 'libvirt-qemu', 'libvirt-lxc' ],
- install_dir: apparmor_dir / 'abstractions',
+ install_dir: install_prefix + apparmor_dir / 'abstractions',
)
@@ -68,13 +68,13 @@ foreach name : apparmor_gen_abstractions
command: apparmor_gen_cmd,
capture: true,
install: true,
- install_dir: apparmor_dir / 'abstractions',
+ install_dir: install_prefix + apparmor_dir / 'abstractions',
)
endforeach
install_data(
[ 'TEMPLATE.qemu', 'TEMPLATE.lxc' ],
- install_dir: apparmor_dir / 'libvirt',
+ install_dir: install_prefix + apparmor_dir / 'libvirt',
)
install_data(
'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',
)
if not conf.has('WITH_APPARMOR_3')
@@ -83,7 +83,7 @@ if not conf.has('WITH_APPARMOR_3')
# files in order to limit the amount of filesystem clutter.
install_data(
'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
index 26e7ff1a1a..ad5c6eddc3 100644
--- a/src/storage/meson.build

View File

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

View File

@ -17,13 +17,13 @@
stdenv.mkDerivation (finalAttrs: rec {
pname = "proj";
version = "9.2.0";
version = "9.2.1";
src = fetchFromGitHub {
owner = "OSGeo";
repo = "PROJ";
rev = version;
hash = "sha256-NC5H7ufIXit+PVDwNDhz5cv44fduTytsdmNOWyqDDYQ=";
hash = "sha256-cUnnJ9gOh65xBbfamfDkN7ajRdRLO5nUXRLeaBBMchg=";
};
patches = [
@ -64,7 +64,7 @@ stdenv.mkDerivation (finalAttrs: rec {
};
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";
homepage = "https://proj.org/";
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>
Date: Tue, 5 Jul 2022 19:40:53 +0200
Subject: [PATCH] proj-config.cmake generation: only add find_dependency(CURL)
for static builds
---
cmake/project-config.cmake.in | 30 +++++++++++++++++-------------
1 file changed, 17 insertions(+), 13 deletions(-)
cmake/project-config.cmake.in | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
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
+++ 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(SET CMP0012 NEW)
-if("@ENABLE_TIFF@")
- find_dependency(TIFF)
- set(PROJ_CONFIG_FIND_TIFF_DEP ON)
+if(NOT "@BUILD_SHARED_LIBS@")
+ if("@ENABLE_TIFF@")
+ find_dependency(TIFF)
+ set(PROJ_CONFIG_FIND_TIFF_DEP ON)
+ endif()
endif()
-if("@CURL_ENABLED@")
- # Chainload CURL usage requirements
- 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()
- set(PROJ_CONFIG_FIND_CURL_DEP ON)
+if(NOT "@BUILD_SHARED_LIBS@")
+ if("@CURL_ENABLED@")
+ # Chainload CURL usage requirements
+ 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()
+ set(PROJ_CONFIG_FIND_CURL_DEP ON)
+ endif()
endif()
cmake_policy(POP)
--
2.39.2
2.41.0

View File

@ -170,6 +170,7 @@ let
extraPrefix = "src/3rdparty/";
hash = "sha256-s4GsGMJTBNWw2gTJuIEP3tqT82AmTsR2mbj59m2p6rM=";
})
./qtwebengine-link-pulseaudio.patch
] ++ lib.optionals stdenv.isDarwin [
./qtwebengine-darwin-no-platform-check.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
, jsoncpp, protobuf, libvpx, srtp, snappy, nss, libevent
, alsa-lib
, pulseaudio
, libcap
, pciutils
, systemd
@ -145,6 +146,7 @@ qtModule {
# Audio formats
alsa-lib
pulseaudio
# Text rendering
fontconfig freetype

View File

@ -135,6 +135,7 @@ qtModule {
# environment variable, since NixOS relies on it working.
# See https://github.com/NixOS/nixpkgs/issues/226484 for more context.
../patches/qtwebengine-xkb-includes.patch
../patches/qtwebengine-link-pulseaudio.patch
];
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 ];
propagatedBuildInputs = [ ocaml_pcre ];

View File

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

View File

@ -12,7 +12,7 @@
}:
buildPecl rec {
pname = "datadog_trace";
pname = "ddtrace";
version = "0.89.0";
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 {
pname = "cartopy";
version = "0.21.1";
version = "0.22.0";
disabled = pythonOlder "3.8";
@ -32,22 +32,9 @@ buildPythonPackage rec {
src = fetchPypi {
inherit version;
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 = [
cython
geos # for geos-config
@ -56,7 +43,8 @@ buildPythonPackage rec {
];
buildInputs = [
geos proj
geos
proj
];
propagatedBuildInputs = [
@ -83,8 +71,10 @@ buildPythonPackage rec {
'';
pytestFlagsArray = [
"--pyargs" "cartopy"
"-m" "'not network and not natural_earth'"
"--pyargs"
"cartopy"
"-m"
"'not network and not natural_earth'"
];
disabledTests = [

View File

@ -12,6 +12,8 @@ buildPythonPackage rec {
inherit (certbot) src version;
disabled = pythonOlder "3.6";
sourceRoot = "${src.name}/certbot-dns-cloudflare";
propagatedBuildInputs = [
acme
certbot
@ -22,9 +24,12 @@ buildPythonPackage rec {
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 // {
description = "Cloudflare DNS Authenticator plugin for Certbot";

View File

@ -13,6 +13,8 @@ buildPythonPackage rec {
inherit (certbot) src version;
disabled = pythonOlder "3.6";
sourceRoot = "${src.name}/certbot-dns-google";
propagatedBuildInputs = [
acme
certbot
@ -24,9 +26,12 @@ buildPythonPackage rec {
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 // {
description = "Google Cloud DNS Authenticator plugin for Certbot";

View File

@ -12,6 +12,8 @@ buildPythonPackage rec {
inherit (certbot) src version;
disabled = pythonOlder "3.6";
sourceRoot = "${src.name}/certbot-dns-rfc2136";
propagatedBuildInputs = [
acme
certbot
@ -22,9 +24,12 @@ buildPythonPackage rec {
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 // {
description = "RFC 2136 DNS Authenticator plugin for Certbot";

View File

@ -22,7 +22,12 @@ buildPythonPackage rec {
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";

View File

@ -69,14 +69,14 @@ in
buildPythonPackage rec {
pname = "jupyterhub";
version = "4.0.1";
version = "4.0.2";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
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

View File

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

View File

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

View File

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

View File

@ -2,45 +2,45 @@
, buildPythonPackage
, pythonOlder
, fetchPypi
, fetchpatch
, click
, click-default-group
, docformatter
, jinja2
, toposort
, typing-extensions
, lxml
, requests
, pytestCheckHook
, setuptools
, wheel
}:
buildPythonPackage rec {
pname = "xsdata";
version = "22.12";
version = "23.8";
format = "pyproject";
disabled = pythonOlder "3.7";
format = "setuptools";
disabled = pythonOlder "3.8";
src = fetchPypi {
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 = ''
substituteInPlace setup.cfg \
substituteInPlace pyproject.toml \
--replace "--benchmark-skip" ""
'';
nativeBuildInputs = [
setuptools
wheel
];
propagatedBuildInputs = [
typing-extensions
];
passthru.optional-dependencies = {
cli = [
click

View File

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

View File

@ -2,18 +2,18 @@
rustPlatform.buildRustPackage rec {
pname = "ferium";
version = "4.4.0";
version = "4.4.1";
src = fetchFromGitHub {
owner = "gorilla-devs";
repo = pname;
rev = "v${version}";
sha256 = "sha256-eaYXWOoeqCtdpxIFQxu3wJfYg8ZkuGB32/b2yzVW/Mc=";
sha256 = "sha256-3ILDR6CmR/CTzZfUEPD10TQZRSDKSqHmwxU3GPHIyK8=";
};
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
buildNoDefaultFeatures = true;

View File

@ -7,21 +7,21 @@
let
pname = "osu-lazer-bin";
version = "2023.811.0";
version = "2023.815.0";
name = "${pname}-${version}";
osu-lazer-bin-src = {
aarch64-darwin = {
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 = {
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 = {
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.");

View File

@ -17,13 +17,13 @@
buildDotnetModule rec {
pname = "osu-lazer";
version = "2023.811.0";
version = "2023.815.0";
src = fetchFromGitHub {
owner = "ppy";
repo = "osu";
rev = version;
sha256 = "sha256-LRVec2nwT7Benzov59qxVWzFXO/MsotRUHPIUosH2fw=";
sha256 = "sha256-Lm/unDa1ADc2zprrgP/a2bOzHb02CwU9gcvhmTOXKIM=";
};
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.Fx"; version = "2022.1216.0"; sha256 = "1vw573mkligpx9qiqasw1683cqaa1kgnxhlnbdcj9c4320b1pwjm"; })
(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.SourceGeneration"; version = "2023.720.0"; sha256 = "001vvxyv483ibid25fdknvij77x0y983mp4psx2lbg3x2al7yxax"; })
(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
, lib
, nixosTests
, installShellFiles
}:
let
fallback = import ./../../../../nixos/modules/installer/tools/nix-fallback-paths.nix;
@ -20,6 +21,12 @@ substituteAll {
nix_i686_linux = fallback.i686-linux;
nix_aarch64_linux = fallback.aarch64-linux;
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
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 {
pname = "matrix-conduit";
version = "0.5.0";
version = "0.6.0";
src = fetchFromGitLab {
owner = "famedly";
repo = "conduit";
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
@ -18,7 +27,7 @@ rustPlatform.buildRustPackage rec {
outputHashes = {
"heed-0.10.6" = "sha256-rm02pJ6wGYN4SsAbp85jBVHDQ5ITjZZd+79EC2ubRsY=";
"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
];
ROCKSDB_INCLUDE_DIR = "${rocksdb_6_23}/include";
ROCKSDB_LIB_DIR = "${rocksdb_6_23}/lib";
env = {
ROCKSDB_INCLUDE_DIR = "${rocksdb}/include";
ROCKSDB_LIB_DIR = "${rocksdb}/lib";
};
# tests failed on x86_64-darwin with SIGILL: illegal instruction
doCheck = !(stdenv.isx86_64 && stdenv.isDarwin);

View File

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

View File

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

View File

@ -8,6 +8,7 @@
, rustPlatform
, stdenv
, libiconv
, nixosTests
}:
let
@ -107,6 +108,8 @@ in buildGoModule {
ldflags = [ "-X main.commit=v${version}" "-X main.version=${version}" ];
passthru.tests = { inherit (nixosTests) influxdb2; };
meta = with lib; {
description = "An open-source distributed time series database";
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";
homepage = "https://github.com/DomesticMoth/aaa";
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 {
pname = "mmctl";
version = "7.10.4";
version = "7.10.5";
src = fetchFromGitHub {
owner = "mattermost";
repo = "mmctl";
rev = "v${version}";
sha256 = "sha256-N3WvVVx4djmW6+Nh2XAgv0fJgVVp2I0I3vnUuoEUXjo=";
sha256 = "sha256-FQdxFvYJ+YrOc1p3/Ju3ZOGFH32WeZjHXtsIYG+O0U0=";
};
vendorHash = null;

View File

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

View File

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

View File

@ -2,16 +2,16 @@
buildNpmPackage rec {
pname = "twspace-crawler";
version = "1.12.7";
version = "1.12.8";
src = fetchFromGitHub {
owner = "HitomaruKonpaku";
repo = "twspace-crawler";
rev = "bc1626996076f4e73890dc80b2fe99d578a7c641"; # version not tagged
hash = "sha256-/2wdl7VCcO8WRAYFtr1wtu80TwyLI3Hi8XzmrzOzhUQ=";
rev = "3909facc10fe0308d425b609675919e1b9d1b06e"; # version not tagged
hash = "sha256-qAkrNWy7ofT2klgxU4lbZNfiPvF9gLpgkhaTW1xMcAc=";
};
npmDepsHash = "sha256-pPpUQ6o0P7iTcdLwWqwItJFVhYH9rC+bLKo4Gz7DiRE=";
npmDepsHash = "sha256-m0xszerBSx6Ovs/S55lT4CqPRls7aSw4bjONV7BZ8xE=";
meta = with lib; {
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)
nixos-install nixos-generate-config nixos-enter;
# Required for --help.
inherit (config.system.build.manual) manpages;
inherit (config.system.build.manual) nixos-configuration-reference-manpage;
};
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 {
name = "nixos-option";
src = ./.;
postInstall = ''
installManPage ${./nixos-option.8}
'';
strictDeps = true;
nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [ boost nix ];
cmakeFlags = [ "-DNIX_DEV_INCLUDEPATH=${nix.dev}/include/nix" ];
nativeBuildInputs = [
cmake
pkg-config
installShellFiles
];
buildInputs = [
boost
nix
];
cmakeFlags = [
"-DNIX_DEV_INCLUDEPATH=${nix.dev}/include/nix"
];
meta = with lib; {
license = licenses.lgpl2Plus;

View File

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

View File

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

View File

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