mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-27 09:23:01 +00:00
Merge master into staging-next
This commit is contained in:
commit
583df4e091
6
.github/CODEOWNERS
vendored
6
.github/CODEOWNERS
vendored
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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 = {};
|
||||
|
@ -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";
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
```
|
||||
|
@ -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} \
|
||||
|
@ -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
|
||||
```
|
@ -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
|
||||
|
@ -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 ];
|
||||
})
|
||||
|
||||
|
@ -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 ];
|
||||
}
|
||||
|
@ -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 = {};
|
||||
|
@ -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}.
|
||||
|
@ -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";
|
||||
};
|
||||
}
|
||||
|
@ -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 {
|
||||
|
@ -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;
|
||||
|
||||
|
||||
|
@ -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
36
nixos/tests/influxdb2.nix
Normal 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
|
||||
'';
|
||||
})
|
@ -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")
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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
|
||||
|
@ -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'] = {
|
||||
|
53
pkgs/applications/office/documenso/default.nix
Normal file
53
pkgs/applications/office/documenso/default.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -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";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -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";
|
||||
|
@ -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) ''
|
||||
|
@ -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 = [
|
||||
|
@ -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
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -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
|
||||
|
@ -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 ];
|
||||
};
|
||||
})
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
};
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
@ -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
|
||||
|
@ -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 = ''
|
||||
|
@ -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
|
@ -16,6 +16,10 @@ stdenv.mkDerivation rec {
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace inifiles.ml --replace 'String.lowercase ' 'String.lowercase_ascii '
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ ocaml findlib ];
|
||||
propagatedBuildInputs = [ ocaml_pcre ];
|
||||
|
||||
|
@ -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;
|
||||
|
@ -12,7 +12,7 @@
|
||||
}:
|
||||
|
||||
buildPecl rec {
|
||||
pname = "datadog_trace";
|
||||
pname = "ddtrace";
|
||||
version = "0.89.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
|
30
pkgs/development/php-packages/vld/default.nix
Normal file
30
pkgs/development/php-packages/vld/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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 = [
|
||||
|
@ -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";
|
||||
|
@ -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";
|
||||
|
@ -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";
|
||||
|
@ -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";
|
||||
|
||||
|
@ -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
|
||||
|
@ -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 ];
|
||||
|
@ -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}
|
||||
|
@ -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 = [
|
||||
|
@ -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
|
||||
|
@ -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" ];
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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.");
|
||||
|
||||
|
@ -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";
|
||||
|
2
pkgs/games/osu-lazer/deps.nix
generated
2
pkgs/games/osu-lazer/deps.nix
generated
@ -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"; })
|
||||
|
52
pkgs/misc/cups/drivers/fflinuxprint/default.nix
Normal file
52
pkgs/misc/cups/drivers/fflinuxprint/default.nix
Normal 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 ];
|
||||
};
|
||||
})
|
@ -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 = {
|
||||
|
1427
pkgs/servers/matrix-conduit/Cargo.lock
generated
1427
pkgs/servers/matrix-conduit/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
57
pkgs/tools/graphics/pdf-sign/default.nix
Normal file
57
pkgs/tools/graphics/pdf-sign/default.nix
Normal 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;
|
||||
};
|
||||
}
|
||||
|
93
pkgs/tools/graphics/pdf-sign/use-nix-paths.patch
Normal file
93
pkgs/tools/graphics/pdf-sign/use-nix-paths.patch
Normal 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):
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
22
pkgs/tools/misc/crypto-tracker/default.nix
Normal file
22
pkgs/tools/misc/crypto-tracker/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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;
|
||||
|
@ -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" ];
|
||||
|
||||
|
@ -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=";
|
||||
|
@ -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
6637
pkgs/tools/networking/veilid/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
55
pkgs/tools/networking/veilid/default.nix
Normal file
55
pkgs/tools/networking/veilid/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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"];
|
||||
|
@ -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;
|
||||
|
@ -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 = [
|
||||
|
@ -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 { };
|
||||
|
@ -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 { };
|
||||
|
Loading…
Reference in New Issue
Block a user