Merge branch 'master' into staging-next

This commit is contained in:
Anderson Torres 2023-09-11 23:25:38 +00:00 committed by GitHub
commit 3fc613c5ba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
173 changed files with 3065 additions and 3978 deletions

View File

@ -20,7 +20,7 @@ jobs:
if: github.repository_owner == 'NixOS' && github.event.pull_request.merged == true && (github.event_name != 'labeled' || startsWith('backport', github.event.label.name))
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Create backport PRs

View File

@ -18,8 +18,8 @@ jobs:
runs-on: ubuntu-latest
# we don't limit this action to only NixOS repo since the checks are cheap and useful developer feedback
steps:
- uses: actions/checkout@v3
- uses: cachix/install-nix-action@v22
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v23
- uses: cachix/cachix-action@v12
with:
# This cache is for the nixpkgs repo checks and should not be trusted or used elsewhere.

View File

@ -3,8 +3,10 @@
name: Check pkgs/by-name
# The pre-built tool is fetched from a channel,
# making it work predictable on all PRs
on: pull_request
# making it work predictable on all PRs.
on:
# Using pull_request_target instead of pull_request avoids having to approve first time contributors
pull_request_target
# The tool doesn't need any permissions, it only outputs success or not based on the checkout
permissions: {}
@ -15,8 +17,11 @@ jobs:
# as specified in nixos/release-combined.nix
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: cachix/install-nix-action@v22
- uses: actions/checkout@v4
with:
# pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- uses: cachix/install-nix-action@v23
- name: Determining channel to use for dependencies
run: |
echo "Determining which channel to use for PR base branch $GITHUB_BASE_REF"

View File

@ -12,11 +12,11 @@ jobs:
runs-on: ubuntu-latest
if: github.repository_owner == 'NixOS'
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
# pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- uses: cachix/install-nix-action@v22
- uses: cachix/install-nix-action@v23
with:
# explicitly enable sandbox
extra_nix_config: sandbox = true

View File

@ -24,11 +24,11 @@ jobs:
- name: print list of changed files
run: |
cat "$HOME/changed_files"
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
# pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- uses: cachix/install-nix-action@v22
- uses: cachix/install-nix-action@v23
with:
# nixpkgs commit is pinned so that it doesn't break
# editorconfig-checker 2.4.0

View File

@ -14,11 +14,11 @@ jobs:
runs-on: ubuntu-latest
if: github.repository_owner == 'NixOS'
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
# pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- uses: cachix/install-nix-action@v22
- uses: cachix/install-nix-action@v23
with:
# explicitly enable sandbox
extra_nix_config: sandbox = true

View File

@ -15,11 +15,11 @@ jobs:
runs-on: ubuntu-latest
if: github.repository_owner == 'NixOS'
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
# pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- uses: cachix/install-nix-action@v22
- uses: cachix/install-nix-action@v23
with:
# explicitly enable sandbox
extra_nix_config: sandbox = true

View File

@ -40,7 +40,7 @@ jobs:
into: staging-23.05
name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
uses: devmasx/merge-branch@1.4.0

View File

@ -38,7 +38,7 @@ jobs:
into: staging
name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
uses: devmasx/merge-branch@1.4.0

View File

@ -16,8 +16,8 @@ jobs:
if: github.repository_owner == 'NixOS' && github.ref == 'refs/heads/master' # ensure workflow_dispatch only runs on master
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: cachix/install-nix-action@v22
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v23
with:
nix_path: nixpkgs=channel:nixpkgs-unstable
- name: setup

View File

@ -1,42 +1,42 @@
# wafHook {#wafHook}
# wafHook {#waf-hook}
[Waf](https://waf.io) is a Python-based software building system.
In Nixpkgs, `wafHook` overrides the default configure, build, and install phases.
## Variables controlling wafHook {#variablesControllingWafHook}
## Variables controlling wafHook {#waf-hook-variables-controlling}
### `wafHook` Exclusive Variables {#wafHookExclusiveVariables}
### `wafHook` Exclusive Variables {#waf-hook-exclusive-variables}
The variables below are exclusive of `wafHook`.
#### `wafPath` {#wafPath}
#### `wafPath` {#waf-path}
Location of the `waf` tool. It defaults to `./waf`, to honor software projects that include it directly inside their source trees.
If `wafPath` doesn't exist, then `wafHook` will copy the `waf` provided from Nixpkgs to it.
#### `wafFlags` {#wafFlags}
#### `wafFlags` {#waf-flags}
Controls the flags passed to waf tool during build and install phases. For settings specific to build or install phases, use `wafBuildFlags` or `wafInstallFlags` respectively.
#### `dontAddWafCrossFlags` {#dontAddWafCrossFlags}
#### `dontAddWafCrossFlags` {#dont-add-waf-cross-flags}
When set to `true`, don't add cross compilation flags during configure phase.
#### `dontUseWafConfigure` {#dontUseWafConfigure}
#### `dontUseWafConfigure` {#dont-use-waf-configure}
When set to true, don't use the predefined `wafConfigurePhase`.
#### `dontUseWafBuild` {#dontUseWafBuild}
#### `dontUseWafBuild` {#dont-use-waf-build}
When set to true, don't use the predefined `wafBuildPhase`.
#### `dontUseWafInstall` {#dontUseWafInstall}
#### `dontUseWafInstall` {#dont-use-waf-install}
When set to true, don't use the predefined `wafInstallPhase`.
### Similar variables {#similarVariables}
### Similar variables {#waf-hook-similar-variables}
The following variables are similar to their `stdenv.mkDerivation` counterparts.
@ -49,7 +49,7 @@ The following variables are similar to their `stdenv.mkDerivation` counterparts.
| `wafInstallFlags` | `installFlags` |
| `wafInstallTargets` | `installTargets` |
### Honored variables {#honoredVariables}
### Honored variables {#waf-hook-honored-variables}
The following variables commonly used by `stdenv.mkDerivation` are honored by `wafHook`.

View File

@ -4,7 +4,7 @@
In Nixpkgs, `zig.hook` overrides the default build, check and install phases.
## Example code snippet {#example-code-snippet}
## Example code snippet {#zig-hook-example-code-snippet}
```nix
{ lib
@ -27,25 +27,25 @@ stdenv.mkDerivation {
}
```
## Variables controlling zig.hook {#variables-controlling-zig-hook}
## Variables controlling zig.hook {#zig-hook-variables-controlling}
### `zig.hook` Exclusive Variables {#zigHookExclusiveVariables}
### `zig.hook` Exclusive Variables {#zig-hook-exclusive-variables}
The variables below are exclusive to `zig.hook`.
#### `dontUseZigBuild` {#dontUseZigBuild}
#### `dontUseZigBuild` {#dont-use-zig-build}
Disables using `zigBuildPhase`.
#### `dontUseZigCheck` {#dontUseZigCheck}
#### `dontUseZigCheck` {#dont-use-zig-check}
Disables using `zigCheckPhase`.
#### `dontUseZigInstall` {#dontUseZigInstall}
#### `dontUseZigInstall` {#dont-use-zig-install}
Disables using `zigInstallPhase`.
### Similar variables {#similarVariables}
### Similar variables {#zig-hook-similar-variables}
The following variables are similar to their `stdenv.mkDerivation` counterparts.
@ -55,7 +55,7 @@ The following variables are similar to their `stdenv.mkDerivation` counterparts.
| `zigCheckFlags` | `checkFlags` |
| `zigInstallFlags` | `installFlags` |
### Variables honored by zig.hook {#variables-honored-by-zig-hook}
### Variables honored by zig.hook {#zig-hook-variables-honored}
The following variables commonly used by `stdenv.mkDerivation` are honored by `zig.hook`.

View File

@ -189,10 +189,10 @@ rec {
* }
*
*> [url "ssh://git@github.com/"]
*> insteadOf = https://github.com/
*> insteadOf = "https://github.com"
*>
*> [user]
*> name = edolstra
*> name = "edolstra"
*/
toGitINI = attrs:
with builtins;
@ -209,9 +209,17 @@ rec {
else
''${section} "${subsection}"'';
mkValueString = v:
let
escapedV = ''
"${
replaceStrings [ "\n" " " ''"'' "\\" ] [ "\\n" "\\t" ''\"'' "\\\\" ] v
}"'';
in mkValueStringDefault { } (if isString v then escapedV else v);
# generation for multiple ini values
mkKeyValue = k: v:
let mkKeyValue = mkKeyValueDefault { } " = " k;
let mkKeyValue = mkKeyValueDefault { inherit mkValueString; } " = " k;
in concatStringsSep "\n" (map (kv: "\t" + mkKeyValue kv) (lib.toList v));
# converts { a.b.c = 5; } to { "a.b".c = 5; } for toINI

View File

@ -948,6 +948,51 @@ runTests {
'';
};
testToGitINI = {
expr = generators.toGitINI {
user = {
email = "user@example.org";
name = "John Doe";
signingKey = "00112233445566778899AABBCCDDEEFF";
};
gpg.program = "path-to-gpg";
tag.gpgSign = true;
include.path = "~/path/to/config.inc";
includeIf."gitdif:~/src/dir".path = "~/path/to/conditional.inc";
extra = {
boolean = true;
integer = 38;
name = "value";
subsection.value = "test";
};};
expected = ''
[extra]
${"\t"}boolean = true
${"\t"}integer = 38
${"\t"}name = "value"
[extra "subsection"]
${"\t"}value = "test"
[gpg]
${"\t"}program = "path-to-gpg"
[include]
${"\t"}path = "~/path/to/config.inc"
[includeIf "gitdif:~/src/dir"]
${"\t"}path = "~/path/to/conditional.inc"
[tag]
${"\t"}gpgSign = true
[user]
${"\t"}email = "user@example.org"
${"\t"}name = "John Doe"
${"\t"}signingKey = "00112233445566778899AABBCCDDEEFF"
'';
};
/* right now only invocation check */
testToJSONSimple =
let val = {

View File

@ -9245,6 +9245,12 @@
github = "KnairdA";
githubId = 498373;
};
knarkzel = {
email = "knarkzel@gmail.com";
name = "Knarkzel";
github = "Knarkzel";
githubId = 85593302;
};
knedlsepp = {
email = "josef.kemetmueller@gmail.com";
github = "knedlsepp";
@ -12742,6 +12748,12 @@
githubId = 16027994;
name = "Nathan Viets";
};
nyanbinary = {
email = "vextium@skiff.com";
github = "nyabinary";
githubId = 97130632;
name = "Niko";
};
nyanloutre = {
email = "paul@nyanlout.re";
github = "nyanloutre";
@ -18479,6 +18491,12 @@
githubId = 20464732;
name = "Willi Butz";
};
willswats = {
email = "williamstuwatson@gmail.com";
github = "willswats";
githubId = 86304139;
name = "William Watson";
};
wilsonehusin = {
name = "Wilson E. Husin";
email = "wilsonehusin@gmail.com";

View File

@ -91,6 +91,8 @@
- `getent` has been moved from `glibc`'s `bin` output to its own dedicated output, reducing closure size for many dependents. Dependents using the `getent` alias should not be affected; others should move from using `glibc.bin` or `getBin glibc` to `getent` (which also improves compatibility with non-glibc platforms).
- The `users.users.<name>.passwordFile` has been renamed to `users.users.<name>.hashedPasswordFile` to avoid possible confusions. The option is in fact the file-based version of `hashedPassword`, not `password`, and expects a file containing the {manpage}`crypt(3)` hash of the user password.
- The `services.ananicy.extraRules` option now has the type of `listOf attrs` instead of `string`.
- JACK tools (`jack_*` except `jack_control`) have moved from the `jack2` package to `jack-example-tools`
@ -265,6 +267,8 @@ The module update takes care of the new config syntax and the data itself (user
- Certificate generation via the `security.acme` now limits the concurrent number of running certificate renewals and generation jobs, to avoid spiking resource usage when processing many certificates at once. The limit defaults to *5* and can be adjusted via `maxConcurrentRenewals`. Setting it to *0* disables the limits altogether.
- New `boot.bcache.enable` (default enabled) allows completely removing `bcache` mount support.
## Nixpkgs internals {#sec-release-23.11-nixpkgs-internals}
- The use of `sourceRoot = "source";`, `sourceRoot = "source/subdir";`, and similar lines in package derivations using the default `unpackPhase` is deprecated as it requires `unpackPhase` to always produce a directory named "source". Use `sourceRoot = src.name`, `sourceRoot = "${src.name}/subdir";`, or `setSourceRoot = "sourceRoot=$(echo */subdir)";` or similar instead.

View File

@ -18,11 +18,11 @@ let
passwordDescription = ''
The options {option}`hashedPassword`,
{option}`password` and {option}`passwordFile`
{option}`password` and {option}`hashedPasswordFile`
controls what password is set for the user.
{option}`hashedPassword` overrides both
{option}`password` and {option}`passwordFile`.
{option}`password` overrides {option}`passwordFile`.
{option}`password` and {option}`hashedPasswordFile`.
{option}`password` overrides {option}`hashedPasswordFile`.
If none of these three options are set, no password is assigned to
the user, and the user will not be able to do password logins.
If the option {option}`users.mutableUsers` is true, the
@ -250,18 +250,26 @@ let
'';
};
passwordFile = mkOption {
hashedPasswordFile = mkOption {
type = with types; nullOr str;
default = null;
default = cfg.users.${name}.passwordFile;
defaultText = literalExpression "null";
description = lib.mdDoc ''
The full path to a file that contains the user's password. The password
file is read on each system activation. The file should contain
exactly one line, which should be the password in an encrypted form
that is suitable for the `chpasswd -e` command.
The full path to a file that contains the hash of the user's
password. The password file is read on each system activation. The
file should contain exactly one line, which should be the password in
an encrypted form that is suitable for the `chpasswd -e` command.
${passwordDescription}
'';
};
passwordFile = mkOption {
type = with types; nullOr (passwdEntry str);
default = null;
visible = false;
description = lib.mdDoc "Deprecated alias of hashedPasswordFile";
};
initialHashedPassword = mkOption {
type = with types; nullOr (passwdEntry str);
default = null;
@ -447,7 +455,7 @@ let
users = mapAttrsToList (_: u:
{ inherit (u)
name uid group description home homeMode createHome isSystemUser
password passwordFile hashedPassword
password hashedPasswordFile hashedPassword
autoSubUidGidRange subUidRanges subGidRanges
initialPassword initialHashedPassword expires;
shell = utils.toShellPath u.shell;
@ -756,7 +764,7 @@ in {
&&
(allowsLogin cfg.hashedPassword
|| cfg.password != null
|| cfg.passwordFile != null
|| cfg.hashedPasswordFile != null
|| cfg.openssh.authorizedKeys.keys != []
|| cfg.openssh.authorizedKeys.keyFiles != [])
) cfg.users ++ [
@ -845,9 +853,13 @@ in {
The password hash of user "${user.name}" may be invalid. You must set a
valid hash or the user will be locked out of their account. Please
check the value of option `users.users."${user.name}".hashedPassword`.''
else null
));
else null)
++ flip mapAttrsToList cfg.users (name: user:
if user.passwordFile != null then
''The option `users.users."${name}".passwordFile' has been renamed '' +
''to `users.users."${name}".hashedPasswordFile'.''
else null)
);
};
}

View File

@ -189,7 +189,7 @@ security.acme.defaults.email = "admin+acme@example.com";
security.acme.certs."example.com" = {
domain = "*.example.com";
dnsProvider = "rfc2136";
credentialsFile = "/var/lib/secrets/certs.secret";
environmentFile = "/var/lib/secrets/certs.secret";
# We don't need to wait for propagation since this is a local DNS server
dnsPropagationCheck = false;
};
@ -256,7 +256,7 @@ security.acme.acceptTerms = true;
security.acme.defaults.email = "admin+acme@example.com";
security.acme.defaults = {
dnsProvider = "rfc2136";
credentialsFile = "/var/lib/secrets/certs.secret";
environmentFile = "/var/lib/secrets/certs.secret";
# We don't need to wait for propagation since this is a local DNS server
dnsPropagationCheck = false;
};

View File

@ -362,8 +362,14 @@ let
"/var/lib/acme/.lego/${cert}/${certDir}:/tmp/certificates"
];
# Only try loading the credentialsFile if the dns challenge is enabled
EnvironmentFile = mkIf useDns data.credentialsFile;
# Only try loading the environmentFile if the dns challenge is enabled
EnvironmentFile = mkIf useDns data.environmentFile;
Environment = mkIf useDns
(mapAttrsToList (k: v: ''"${k}=%d/${k}"'') data.credentialFiles);
LoadCredential = mkIf useDns
(mapAttrsToList (k: v: "${k}:${v}") data.credentialFiles);
# Run as root (Prefixed with +)
ExecStartPost = "+" + (pkgs.writeShellScript "acme-postrun" ''
@ -496,6 +502,10 @@ let
defaultText = if isDefaults then default else literalExpression "config.security.acme.defaults.${name}";
};
in {
imports = [
(mkRenamedOptionModule [ "credentialsFile" ] [ "environmentFile" ])
];
options = {
validMinDays = mkOption {
type = types.int;
@ -607,9 +617,9 @@ let
'';
};
credentialsFile = mkOption {
environmentFile = mkOption {
type = types.nullOr types.path;
inherit (defaultAndText "credentialsFile" null) default defaultText;
inherit (defaultAndText "environmentFile" null) default defaultText;
description = lib.mdDoc ''
Path to an EnvironmentFile for the cert's service containing any required and
optional environment variables for your selected dnsProvider.
@ -619,6 +629,24 @@ let
example = "/var/src/secrets/example.org-route53-api-token";
};
credentialFiles = mkOption {
type = types.attrsOf (types.path);
inherit (defaultAndText "credentialFiles" {}) default defaultText;
description = lib.mdDoc ''
Environment variables suffixed by "_FILE" to set for the cert's service
for your selected dnsProvider.
To find out what values you need to set, consult the documentation at
<https://go-acme.github.io/lego/dns/> for the corresponding dnsProvider.
This allows to securely pass credential files to lego by leveraging systemd
credentials.
'';
example = literalExpression ''
{
"RFC2136_TSIG_SECRET_FILE" = "/run/secrets/tsig-secret-example.org";
}
'';
};
dnsPropagationCheck = mkOption {
type = types.bool;
inherit (defaultAndText "dnsPropagationCheck" true) default defaultText;
@ -929,6 +957,13 @@ in {
`security.acme.certs.${cert}.listenHTTP` must be provided.
'';
}
{
assertion = all (hasSuffix "_FILE") (attrNames data.credentialFiles);
message = ''
Option `security.acme.certs.${cert}.credentialFiles` can only be
used for variables suffixed by "_FILE".
'';
}
]) cfg.certs));
users.users.acme = {

View File

@ -1303,7 +1303,7 @@ in
security.pam.enableEcryptfs = mkEnableOption (lib.mdDoc "eCryptfs PAM module (mounting ecryptfs home directory on login)");
security.pam.enableFscrypt = mkEnableOption (lib.mdDoc ''
Enables fscrypt to automatically unlock directories with the user's login password.
fscrypt to automatically unlock directories with the user's login password.
This also enables a service at security.pam.services.fscrypt which is used by
fscrypt to verify the user's password when setting up a new protector. If you

View File

@ -33,8 +33,7 @@ let
${cfg.extraConfig}
EOL
ssh-keygen -q -f mock-hostkey -N ""
sshd -t -f $out -h mock-hostkey
sshd -G -f $out
'';
cfg = config.services.openssh;

View File

@ -1,16 +1,16 @@
{ config, lib, pkgs, buildEnv, ... }:
{ config, lib, options, pkgs, buildEnv, ... }:
with lib;
let
defaultUser = "healthchecks";
cfg = config.services.healthchecks;
opt = options.services.healthchecks;
pkg = cfg.package;
boolToPython = b: if b then "True" else "False";
environment = {
PYTHONPATH = pkg.pythonPath;
STATIC_ROOT = cfg.dataDir + "/static";
DB_NAME = "${cfg.dataDir}/healthchecks.sqlite";
} // cfg.settings;
environmentFile = pkgs.writeText "healthchecks-environment" (lib.generators.toKeyValue { } environment);
@ -98,17 +98,24 @@ in
description = lib.mdDoc ''
Environment variables which are read by healthchecks `(local)_settings.py`.
Settings which are explicitly covered in options bewlow, are type-checked and/or transformed
Settings which are explicitly covered in options below, are type-checked and/or transformed
before added to the environment, everything else is passed as a string.
See <https://healthchecks.io/docs/self_hosted_configuration/>
for a full documentation of settings.
We add two variables to this list inside the packages `local_settings.py.`
- STATIC_ROOT to set a state directory for dynamically generated static files.
- SECRET_KEY_FILE to read SECRET_KEY from a file at runtime and keep it out of /nix/store.
We add additional variables to this list inside the packages `local_settings.py.`
- `STATIC_ROOT` to set a state directory for dynamically generated static files.
- `SECRET_KEY_FILE` to read `SECRET_KEY` from a file at runtime and keep it out of
/nix/store.
- `_FILE` variants for several values that hold sensitive information in
[Healthchecks configuration](https://healthchecks.io/docs/self_hosted_configuration/) so
that they also can be read from a file and kept out of /nix/store. To see which values
have support for a `_FILE` variant, run:
- `nix-instantiate --eval --expr '(import <nixpkgs> {}).healthchecks.secrets'`
- or `nix eval 'nixpkgs#healthchecks.secrets'` if the flake support has been enabled.
'';
type = types.submodule {
type = types.submodule (settings: {
freeformType = types.attrsOf types.str;
options = {
ALLOWED_HOSTS = lib.mkOption {
@ -143,8 +150,28 @@ in
'';
apply = boolToPython;
};
DB = mkOption {
type = types.enum [ "sqlite" "postgres" "mysql" ];
default = "sqlite";
description = lib.mdDoc "Database engine to use.";
};
DB_NAME = mkOption {
type = types.str;
default =
if settings.config.DB == "sqlite"
then "${cfg.dataDir}/healthchecks.sqlite"
else "hc";
defaultText = lib.literalExpression ''
if config.${settings.options.DB} == "sqlite"
then "''${config.${opt.dataDir}}/healthchecks.sqlite"
else "hc"
'';
description = lib.mdDoc "Database name.";
};
};
};
});
};
};
@ -168,7 +195,7 @@ in
StateDirectoryMode = mkIf (cfg.dataDir == "/var/lib/healthchecks") "0750";
};
in
{
{
healthchecks-migration = {
description = "Healthchecks migrations";
wantedBy = [ "healthchecks.target" ];

View File

@ -1,25 +0,0 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.xserver.windowManager.oroborus;
in
{
###### interface
options = {
services.xserver.windowManager.oroborus.enable = mkEnableOption (lib.mdDoc "oroborus");
};
###### implementation
config = mkIf cfg.enable {
services.xserver.windowManager.session = singleton {
name = "oroborus";
start = ''
${pkgs.oroborus}/bin/oroborus &
waitPID=$!
'';
};
environment.systemPackages = [ pkgs.oroborus ];
};
}

View File

@ -902,6 +902,9 @@ let
"RelayTarget"
"RelayAgentCircuitId"
"RelayAgentRemoteId"
"BootServerAddress"
"BootServerName"
"BootFilename"
])
(assertInt "PoolOffset")
(assertMinimum "PoolOffset" 0)

View File

@ -1,6 +1,10 @@
{ config, lib, pkgs, ... }:
{
{ config, lib, pkgs, ... }: let
cfg = config.boot.bcache;
in {
options.boot.bcache.enable = lib.mkEnableOption (lib.mdDoc "bcache mount support") // {
default = true;
example = false;
};
options.boot.initrd.services.bcache.enable = lib.mkEnableOption (lib.mdDoc "bcache support in the initrd") // {
description = lib.mdDoc ''
*This will only be used when systemd is used in stage 1.*
@ -9,7 +13,7 @@
'';
};
config = {
config = lib.mkIf cfg.enable {
environment.systemPackages = [ pkgs.bcache-tools ];

View File

@ -67,7 +67,7 @@ in {
$out/bin/mdadm --version
'';
extraFiles."/etc/mdadm.conf" = mdadm_conf;
extraFiles."/etc/mdadm.conf".source = pkgs.writeText "mdadm.conf" mdadm_conf.text;
systemd = {
contents."/etc/mdadm.conf".text = mdadm_conf.text;

View File

@ -18,7 +18,7 @@
dnsConfig = nodes: {
dnsProvider = "exec";
dnsPropagationCheck = false;
credentialsFile = pkgs.writeText "wildcard.env" ''
environmentFile = pkgs.writeText "wildcard.env" ''
EXEC_PATH=${dnsScript nodes}
EXEC_POLLING_INTERVAL=1
EXEC_PROPAGATION_TIMEOUT=1

View File

@ -32,6 +32,9 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: {
};
specialisation.boot-swraid.configuration.virtualisation.rootDevice = "/dev/disk/by-label/testraid";
# This protects against a regression. We do not have to switch to it.
# It's sufficient to trigger its evaluation.
specialisation.build-old-initrd.configuration.boot.initrd.systemd.enable = lib.mkForce false;
};
testScript = ''

View File

@ -28,12 +28,11 @@
stdenv.mkDerivation rec {
pname = "cardinal";
version = "23.02";
version = "23.07";
src = fetchurl {
url =
"https://github.com/DISTRHO/Cardinal/releases/download/${version}/cardinal-${version}+deps.tar.xz";
sha256 = "sha256-5vEWTkEXIMG/re7Ex+YKh+ETLDuc2nihTPpYSg5LdRo=";
url = "https://github.com/DISTRHO/Cardinal/releases/download/${version}/cardinal+deps-${version}.tar.xz";
hash = "sha256-Ng2E6ML9lffmdGgn9piIF3ko4uvV/uLDb3d7ytrfcLU=";
};
prePatch = ''
@ -51,6 +50,7 @@ stdenv.mkDerivation rec {
makeWrapper
python3
];
buildInputs = [
dbus
fftwFloat
@ -76,6 +76,9 @@ stdenv.mkDerivation rec {
wrapProgram $out/bin/Cardinal \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libjack2 ]}
wrapProgram $out/bin/CardinalMini \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libjack2 ]}
# this doesn't work and is mainly just a test tool for the developers anyway.
rm -f $out/bin/CardinalNative
'';

View File

@ -60,7 +60,7 @@ rustPlatform.buildRustPackage rec {
++ lib.optionals withSixel [ libsixel ]
++ lib.optionals (withAudioBackend == "alsa") [ alsa-lib ]
++ lib.optionals (withAudioBackend == "pulseaudio") [ libpulseaudio ]
++ lib.optionals (withAudioBackend == "rodio") [ alsa-lib ]
++ lib.optionals (withAudioBackend == "rodio" && stdenv.isLinux) [ alsa-lib ]
++ lib.optionals (withAudioBackend == "portaudio") [ portaudio ]
++ lib.optionals (withAudioBackend == "jackaudio") [ libjack2 ]
++ lib.optionals (withAudioBackend == "rodiojack") [ alsa-lib libjack2 ]

View File

@ -1224,8 +1224,8 @@ let
mktplcRef = {
name = "elixir-ls";
publisher = "JakeBecker";
version = "0.15.2";
sha256 = "sha256-Zu/AcV0KY3QV0hyZsGrQdbc/Qc0pKNHVkHZVJ3PL0ps=";
version = "0.16.0";
sha256 = "sha256-PZUyOZ/U6OkGid+PYY2G/pAe5R5eumUibKNel9HBI+s=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/JakeBecker.elixir-ls/changelog";

View File

@ -842,6 +842,16 @@ in
};
};
same_cdi = mkLibretroCore {
core = "same_cdi";
extraNativeBuildInputs = [ python3 ];
extraBuildInputs = [ alsa-lib libGLU libGL portaudio xorg.libX11 ];
meta = {
description = "SAME_CDI is a libretro core to play CD-i games";
license = with lib.licenses; [ bsd3 gpl2Plus ];
};
};
scummvm = mkLibretroCore rec {
core = "scummvm";
version = "unstable-2022-04-06";

View File

@ -412,6 +412,12 @@
"rev": "75d501a87ec2074e8d2f7256fb0359513c263c29",
"hash": "sha256-yAHVTgOt8SGyPXihp4YNKKAvxl9VBBAvHyzLW86zSCw="
},
"same_cdi": {
"owner": "libretro",
"repo": "same_cdi",
"rev": "54cf493c2dee4c46666059c452f8aaaa0bd7c8e0",
"hash": "sha256-/+4coMzj/o82Q04Z65DQiPaykK6N56W6PRQLtyJOd8E="
},
"sameboy": {
"owner": "libretro",
"repo": "sameboy",

View File

@ -81,6 +81,7 @@ CORES = {
"puae": {"repo": "libretro-uae"},
"quicknes": {"repo": "QuickNES_Core"},
"sameboy": {"repo": "sameboy"},
"same_cdi": {"repo": "same_cdi"},
"scummvm": {"repo": "scummvm"},
"smsplus-gx": {"repo": "smsplus-gx"},
"snes9x": {"repo": "snes9x", "owner": "snes9xgit"},

View File

@ -0,0 +1,26 @@
{ lib
, fetchFromGitHub
, rustPlatform
}:
rustPlatform.buildRustPackage rec {
pname = "lutgen";
version = "0.8.3";
src = fetchFromGitHub {
owner = "ozwaldorf";
repo = "lutgen-rs";
rev = "v${version}";
hash = "sha256-9olBUPOi6ZQorgPxQX2lqZSlYjEPMwfhUF/Ze34v0nc=";
};
cargoHash = "sha256-hMbrzjfLSawrm+GmtLx7sQ7atr1aV2RU9rJXgun6HR8=";
meta = with lib; {
description = "A blazingly fast interpolated LUT generator and applicator for arbitrary and popular color palettes";
homepage = "https://github.com/ozwaldorf/lutgen-rs";
maintainers = with maintainers; [ zzzsy ];
mainProgram = "lutgen";
license = licenses.mit;
};
}

View File

@ -1,13 +1,13 @@
{ lib, stdenv, mkDerivation, fetchFromGitLab, qmake, qtbase, qttools, qtserialport, libGLU }:
mkDerivation rec {
pname = "OSCAR";
version = "1.4.0";
version = "1.5.0";
src = fetchFromGitLab {
owner = "pholy";
repo = "OSCAR-code";
rev = "v${version}";
sha256 = "sha256-bgETkpyL0yhCD1FfTVN0s9RNOPkDp88W/1Gdxvu+Ons=";
sha256 = "sha256-eaj2/ioh9dXxWv7X/IZv7m/oVcU6t7r+mK5YrrViF2w=";
};
buildInputs = [ qtbase qttools qtserialport libGLU ];

View File

@ -10,12 +10,12 @@
stdenv.mkDerivation rec {
pname = "authy";
# curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/authy?channel=stable' | jq '.download_url,.version'
version = "2.3.0";
rev = "19";
version = "2.4.1";
rev = "21";
src = fetchurl {
url = "https://api.snapcraft.io/api/v1/snaps/download/H8ZpNgIoPyvmkgxOWw5MSzsXK1wRZiHn_${rev}.snap";
hash = "sha256-WN/vcY3kfF/HQZ7opyIdDevU5oDYDGjshS7XVU7yrj8=";
hash = "sha256-a5z6Lwdgody88f7has/f2AMg9m9fGWsJSexZM6KUGOY=";
};
nativeBuildInputs = [ autoPatchelfHook makeWrapper squashfsTools ];

View File

@ -9,13 +9,13 @@
buildGoModule rec {
pname = "mob";
version = "4.4.5";
version = "4.4.6";
src = fetchFromGitHub {
owner = "remotemobprogramming";
repo = pname;
rev = "v${version}";
sha256 = "sha256-/Kr5K0QkjARWKR8YhDsOQ2CoUzUu5LWUq6smhB0yDCM=";
sha256 = "sha256-UunFfP0Rn4t8lSJiubbqZ0bImK9OhIdC0gSGbkg6Ohw=";
};
vendorHash = null;

View File

@ -19,17 +19,18 @@ python3.pkgs.buildPythonApplication {
hash = "sha256-6y/7RR7O2xYKXdxaFtkRfnSlwygp/LRDUozUJo6ue7s=";
};
patches = [
# pythonRelaxDepsHook will not work in this package until
# https://github.com/NixOS/nixpkgs/pull/248516 hits master
./relax_deps.patch
];
nativeBuildInputs = with python3.pkgs; [
poetry-core
pythonRelaxDepsHook
qt6.wrapQtAppsHook
];
pythonRelaxDeps = true;
# ERROR: Could not find a version that satisfies the requirement PySide6 (from retool) (from versions: none)
# ERROR: No matching distribution found for PySide6
pythonRemoveDeps = [ "PySide6" ];
buildInputs = [
qt6.qtbase
] ++

View File

@ -1,25 +0,0 @@
diff --git a/pyproject.toml b/pyproject.toml
index 6e62347..34600a0 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -13,12 +13,14 @@ packages = [
[tool.poetry.dependencies]
python = ">=3.10,<3.12"
-strictyaml = "^1.6.2"
-lxml = "^4.9.2"
-PySide6 = "^6.4.2"
-validators = "^0.20.0"
-alive-progress = "^3.0.1"
-psutil = "^5.9.4"
+strictyaml = "*"
+lxml = "*"
+# ERROR: Could not find a version that satisfies the requirement PySide6 (from retool) (from versions: none)
+# ERROR: No matching distribution found for PySide6
+# PySide6 = "*"
+validators = "*"
+alive-progress = "*"
+psutil = "*"
[tool.poetry.scripts]
retool = "retool:main"

View File

@ -8,13 +8,13 @@
python3.pkgs.buildPythonApplication rec {
pname = "waypaper";
version = "1.5";
version = "1.9";
src = fetchFromGitHub {
owner = "anufrievroman";
repo = "waypaper";
rev = "refs/tags/${version}";
hash = "sha256-lK4TygR9cwEHcnrC0E5vE7Jor6afEiM9TmEgGXj+hNA=";
hash = "sha256-6hv+f2fbrbLodJIRHl5MYTkiZ51iZOAK42Vg73zSw/E=";
};
nativeBuildInputs = [

View File

@ -2,17 +2,17 @@
buildGoModule rec {
pname = "argocd";
version = "2.8.0";
version = "2.8.3";
src = fetchFromGitHub {
owner = "argoproj";
repo = "argo-cd";
rev = "v${version}";
sha256 = "sha256-/BMagPR74pANVYcmvdJZmV4tB48cEyAy0FKtBlpoLDE=";
hash = "sha256-sVaUItort09n2aShrE0MqOKQps44qNQv0Nox4P21xqg=";
};
proxyVendor = true; # darwin/linux hash mismatch
vendorHash = "sha256-xiCgQqP2XF+b2JQTBFqJ3h2klc6GjqyXoNUwatO0Ul8=";
vendorHash = "sha256-WeDIvw9KHDL5h/MQ9H1rOZkAlUOzROGw/gwpZB2jvOg=";
# Set target as ./cmd per cli-local
# https://github.com/argoproj/argo-cd/blob/master/Makefile#L227

View File

@ -8,16 +8,16 @@
buildGoModule rec {
pname = "karmor";
version = "0.13.15";
version = "0.13.16";
src = fetchFromGitHub {
owner = "kubearmor";
repo = "kubearmor-client";
rev = "v${version}";
hash = "sha256-irpfZFswZjowKDnHmoutTo6960jl5C3Dq+NurjOk3p8=";
hash = "sha256-MEP7OlmsPe5qpdFBEOzCsJqLdZ5t7bMwPE/JhP9bGTY=";
};
vendorHash = "sha256-raMR27DqgT/Hjp3yAMAKLbfOjIZs0K0XsncgmIP6vxk=";
vendorHash = "sha256-5r5UqWRmqrLcpTeYpezGxIMj9JnPaohhd1i7VvaBVGM=";
nativeBuildInputs = [ installShellFiles ];
@ -51,6 +51,6 @@ buildGoModule rec {
homepage = "https://kubearmor.io";
changelog = "https://github.com/kubearmor/kubearmor-client/releases/v${version}";
license = licenses.asl20;
maintainers = with maintainers; [ urandom ];
maintainers = with maintainers; [ urandom kashw2 ];
};
}

View File

@ -45,14 +45,14 @@ let
pname = "slack";
x86_64-darwin-version = "4.33.84";
x86_64-darwin-sha256 = "1qkcj0w5rqfdj8l7p7gv2ck0rgkm5sc8490f8mnbflgvjj9y0gsb";
x86_64-darwin-version = "4.34.115";
x86_64-darwin-sha256 = "1l2swrjxm47xyb8skwzy7clmr3qdckx9xs1x204jbrz1xk7yd7l5";
x86_64-linux-version = "4.33.84";
x86_64-linux-sha256 = "0cjl3m9gprxkm57889l1avkl21pyc7bzhcgm4j5yf938dp699zhd";
x86_64-linux-version = "4.34.115";
x86_64-linux-sha256 = "0gyyjyvrvn13i5308fg34z6b3yzr7vmmh1148a9xh79ngq2pqv47";
aarch64-darwin-version = "4.33.84";
aarch64-darwin-sha256 = "0aw4wn4xx304dyzz7v9lmdgwg1345lhizil8yq9cjqy5kas3zj34";
aarch64-darwin-version = "4.34.115";
aarch64-darwin-sha256 = "09qcz57yxjfw8sdqbvmkd25hs4c7frmpf6v94hr4d1szy1rfv11k";
version = {
x86_64-darwin = x86_64-darwin-version;
@ -81,6 +81,7 @@ let
meta = with lib; {
description = "Desktop client for Slack";
homepage = "https://slack.com";
changelog = "https://slack.com/release-notes";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
maintainers = with maintainers; [ mmahut maxeaubrey ];

View File

@ -6,7 +6,7 @@
, pipewire
, libpulseaudio
, xdg-utils
, electron_26
, electron_25
, makeDesktopItem
, nix-update-script
}:
@ -56,7 +56,7 @@ buildNpmPackage rec {
install -Dm644 sources/assets/icons/app.png $out/share/icons/hicolor/256x256/apps/webcord.png
# Add xdg-utils to path via suffix, per PR #181171
makeWrapper '${electron_26}/bin/electron' $out/bin/webcord \
makeWrapper '${electron_25}/bin/electron' $out/bin/webcord \
--prefix LD_LIBRARY_PATH : ${libPath}:$out/opt/webcord \
--suffix PATH : "${lib.makeBinPath [ xdg-utils ]}" \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland}}" \

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, mkYarnPackage, nixosTests, writeText, python3 }:
{ lib, stdenv, fetchFromGitHub, fetchYarnDeps, mkYarnPackage, nixosTests, writeText, python3 }:
let
version = "0.4.1";
@ -22,7 +22,12 @@ let
assets = mkYarnPackage {
inherit src version;
packageJSON = ./package.json;
yarnNix = ./yarndeps.nix;
offlineCache = fetchYarnDeps {
yarnLock = "${src}/yarn.lock";
hash = "sha256-3ebT19LrbYuypdJaoB3tClVVP0Fi8tHx3Xi6ge/DpA4=";
};
# Copied from package.json, see also
# https://github.com/NixOS/nixpkgs/pull/214952
packageResolutions = {

View File

@ -1,20 +0,0 @@
#!/usr/bin/env nix-shell
#!nix-shell -I nixpkgs=../../../.. -i bash -p wget yarn2nix-moretea.yarn2nix jq
# This script is based upon:
# pkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh
set -euo pipefail
if [[ $# -ne 1 || $1 == -* ]]; then
echo "Regenerates the Yarn dependency lock files for the powerdns-admin package."
echo "Usage: $0 <git release version>"
exit 1
fi
WEB_SRC="https://raw.githubusercontent.com/ngoduykhanh/PowerDNS-Admin/v$1"
wget "$WEB_SRC/package.json" -O - | jq ".name = \"powerdns-admin-assets\" | .version = \"$1\"" > package.json
wget "$WEB_SRC/yarn.lock" -O yarn.lock
yarn2nix --lockfile=yarn.lock > yarndeps.nix
rm yarn.lock

File diff suppressed because it is too large Load Diff

View File

@ -12,11 +12,11 @@
stdenv.mkDerivation rec {
pname = "appflowy";
version = "0.3.0";
version = "0.3.1";
src = fetchzip {
url = "https://github.com/AppFlowy-IO/appflowy/releases/download/${version}/AppFlowy_x86_64-unknown-linux-gnu_ubuntu-20.04.tar.gz";
sha256 = "sha256-05RQtvf6I4/sjGtMDfc5U4esxfFFeTwIuxFAkbr6p4A";
hash = "sha256-jIekGA+MG9tvjEyHAI3dcD7lI1JL/qPqRpVO9gRhcTw=";
stripRoot = false;
};

View File

@ -177,6 +177,10 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Office suite that combines text, spreadsheet and presentation editors allowing to create, view and edit local documents";
longDescription = ''
The latest versions of OnlyOffice are currently broken on wlroots environments (e.g. Hyprland, Sway).
If you are using a different environment, you can get the latest version using `onlyoffice-bin_latest`.
'';
homepage = "https://www.onlyoffice.com/";
downloadPage = "https://github.com/ONLYOFFICE/DesktopEditors/releases";
changelog = "https://github.com/ONLYOFFICE/DesktopEditors/blob/master/CHANGELOG.md";

View File

@ -0,0 +1,215 @@
{ stdenv
, lib
, fetchurl
, buildFHSEnv
# Alphabetic ordering below
, alsa-lib
, at-spi2-atk
, atk
, autoPatchelfHook
, cairo
, curl
, dbus
, dconf
, dpkg
, fontconfig
, gcc-unwrapped
, gdk-pixbuf
, glib
, glibc
, gsettings-desktop-schemas
, gst_all_1
, gtk2
, gtk3
, libpulseaudio
, libudev0-shim
, libdrm
, makeWrapper
, mesa
, nspr
, nss
, pulseaudio
, qt5
, wrapGAppsHook
, xkeyboard_config
, xorg
}:
let
# Note on fonts:
#
# OnlyOffice does not distribute unfree fonts, but makes it easy to pick up
# any fonts you install. See:
#
# * https://helpcenter.onlyoffice.com/en/installation/docs-community-install-fonts-linux.aspx
# * https://www.onlyoffice.com/blog/2020/04/how-to-add-new-fonts-to-onlyoffice-desktop-editors/
#
# As recommended there, you should download
#
# arial.ttf, calibri.ttf, cour.ttf, symbol.ttf, times.ttf, wingding.ttf
#
# into `~/.local/share/fonts/`, otherwise the default template fonts, and
# things like bullet points, will not look as expected.
# TODO: Find out which of these fonts we'd be allowed to distribute along
# with this package, or how to make this easier for users otherwise.
# Not using the `noto-fonts-cjk` package from nixpkgs, because it was
# reported that its `.ttc` file is not picked up by OnlyOffice, see:
# https://github.com/NixOS/nixpkgs/pull/116343#discussion_r593979816
noto-fonts-cjk = fetchurl {
url =
let
version = "v20201206-cjk";
in
"https://github.com/googlefonts/noto-cjk/raw/${version}/NotoSansCJKsc-Regular.otf";
sha256 = "sha256-aJXSVNJ+p6wMAislXUn4JQilLhimNSedbc9nAuPVxo4=";
};
runtimeLibs = lib.makeLibraryPath [
curl
glibc
gcc-unwrapped.lib
libudev0-shim
pulseaudio
];
derivation = stdenv.mkDerivation rec {
pname = "onlyoffice-desktopeditors";
version = "7.4.1";
minor = null;
src = fetchurl {
url = "https://github.com/ONLYOFFICE/DesktopEditors/releases/download/v${version}/onlyoffice-desktopeditors_amd64.deb";
sha256 = "sha256-vaBF3GJyLBldWdEruOeVpRvwGNwaRl7IKPguDLRoe8M=";
};
nativeBuildInputs = [
autoPatchelfHook
dpkg
makeWrapper
wrapGAppsHook
];
buildInputs = [
alsa-lib
at-spi2-atk
atk
cairo
dbus
dconf
fontconfig
gdk-pixbuf
glib
gsettings-desktop-schemas
gst_all_1.gst-plugins-base
gst_all_1.gstreamer
gtk2
gtk3
libpulseaudio
libdrm
nspr
nss
mesa # libgbm
qt5.qtbase
qt5.qtdeclarative
qt5.qtsvg
qt5.qtwayland
xorg.libX11
xorg.libxcb
xorg.libXcomposite
xorg.libXcursor
xorg.libXdamage
xorg.libXext
xorg.libXfixes
xorg.libXi
xorg.libXrandr
xorg.libXrender
xorg.libXScrnSaver
xorg.libXtst
];
dontWrapQtApps = true;
unpackPhase = ''
dpkg-deb --fsys-tarfile $src | tar -x --no-same-permissions --no-same-owner
'';
preConfigure = ''
cp --no-preserve=mode,ownership ${noto-fonts-cjk} opt/onlyoffice/desktopeditors/fonts/
'';
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,lib,share}
mv usr/bin/* $out/bin
mv usr/share/* $out/share/
mv opt/onlyoffice/desktopeditors $out/share
for f in $out/share/desktopeditors/asc-de-*.png; do
size=$(basename "$f" ".png" | cut -d"-" -f3)
res="''${size}x''${size}"
mkdir -pv "$out/share/icons/hicolor/$res/apps"
ln -s "$f" "$out/share/icons/hicolor/$res/apps/onlyoffice-desktopeditors.png"
done;
substituteInPlace $out/bin/onlyoffice-desktopeditors \
--replace "/opt/onlyoffice/" "$out/share/"
ln -s $out/share/desktopeditors/DesktopEditors $out/bin/DesktopEditors
runHook postInstall
'';
preFixup = ''
gappsWrapperArgs+=(
--prefix LD_LIBRARY_PATH : "${runtimeLibs}" \
--set QT_XKB_CONFIG_ROOT "${xkeyboard_config}/share/X11/xkb" \
--set QTCOMPOSE "${xorg.libX11.out}/share/X11/locale" \
--set QT_QPA_PLATFORM "xcb"
# the bundled version of qt does not support wayland
)
'';
passthru.updateScript = ./update.sh;
};
in
# In order to download plugins, OnlyOffice uses /usr/bin/curl so we have to wrap it.
# Curl still needs to be in runtimeLibs because the library is used directly in other parts of the code.
buildFHSEnv {
name = derivation.name;
targetPkgs = pkgs': [
curl
derivation
];
runScript = "/bin/onlyoffice-desktopeditors";
extraInstallCommands = ''
mv $out/bin/$name $out/bin/onlyoffice-desktopeditors
mkdir -p $out/share
ln -s ${derivation}/share/icons $out/share
cp -r ${derivation}/share/applications $out/share
substituteInPlace $out/share/applications/onlyoffice-desktopeditors.desktop \
--replace "/usr/bin/onlyoffice-desktopeditors" "$out/bin/onlyoffice-desktopeditors"
'';
meta = with lib; {
description = "Office suite that combines text, spreadsheet and presentation editors allowing to create, view and edit local documents";
longDescription = ''
This version is broken on wlroots environments (e.g. Hyprland, Sway).
If you are using one of these environments, please use `onlyoffice-bin` instead.
'';
homepage = "https://www.onlyoffice.com/";
downloadPage = "https://github.com/ONLYOFFICE/DesktopEditors/releases";
changelog = "https://github.com/ONLYOFFICE/DesktopEditors/blob/master/CHANGELOG.md";
platforms = [ "x86_64-linux" ];
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.agpl3Plus;
maintainers = with maintainers; [ nh2 gtrunsec ];
};
}

View File

@ -3,16 +3,16 @@
rustPlatform.buildRustPackage rec {
pname = "elan";
version = "2.0.1";
version = "3.0.0";
src = fetchFromGitHub {
owner = "leanprover";
repo = "elan";
rev = "v${version}";
sha256 = "sha256-gnE0uISKfUqUdmrHI6F7nLOFcsQALjRy584nMRrC68w=";
sha256 = "sha256-VrCEwAoWKhb1qfJUv3OreTzuKEVQADwZpEQIVEhjwHA=";
};
cargoHash = "sha256-rjxJ4bGep5OJUWME+EV5CqEsFY1SuoU07ANL0cbD+DU=";
cargoHash = "sha256-SMKFSu5C5mc3U266hEa6RB3GH5te3jIrUZAzj3YNa2E=";
nativeBuildInputs = [ pkg-config makeWrapper ];
@ -61,7 +61,9 @@ rustPlatform.buildRustPackage rec {
meta = with lib; {
description = "Small tool to manage your installations of the Lean theorem prover";
homepage = "https://github.com/leanprover/elan";
changelog = "https://github.com/leanprover/elan/blob/v${version}/CHANGELOG.md";
license = with licenses; [ asl20 /* or */ mit ];
maintainers = with maintainers; [ gebner ];
mainProgram = "elan";
};
}

View File

@ -0,0 +1,60 @@
{ lib
, stdenv
, cmake
, fetchFromGitHub
, git
, gmp
, perl
}:
stdenv.mkDerivation rec {
pname = "lean4";
version = "4.0.0";
src = fetchFromGitHub {
owner = "leanprover";
repo = "lean4";
rev = "v${version}";
hash = "sha256-3Ni+NiD0iSsOruUyRpBd+aC0TZNYfOLhwqCpPHPruPg=";
};
postPatch = ''
substituteInPlace src/CMakeLists.txt \
--replace 'set(GIT_SHA1 "")' 'set(GIT_SHA1 "${src.rev}")'
# Remove tests that fails in sandbox.
# It expects `sourceRoot` to be a git repository.
rm -rf src/lake/examples/git/
'';
preConfigure = ''
patchShebangs stage0/src/bin/ src/bin/
'';
nativeBuildInputs = [
cmake
];
buildInputs = [
gmp
];
nativeCheckInputs = [
git
perl
];
cmakeFlags = [
"-DUSE_GITHASH=OFF"
];
meta = with lib; {
description = "Automatic and interactive theorem prover";
homepage = "https://leanprover.github.io/";
changelog = "https://github.com/leanprover/lean4/blob/${src.rev}/RELEASES.md";
license = licenses.asl20;
platforms = platforms.all;
maintainers = with maintainers; [ marsam ];
mainProgram = "lean";
};
}

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, jre, makeDesktopItem, makeWrapper, unzip, language ? "en_US" }:
{ lib, stdenv, fetchurl, xorg, jre, makeDesktopItem, makeWrapper, unzip, language ? "en_US" }:
let
pname = "geogebra";
version = "5-0-785-0";
@ -55,7 +55,11 @@ let
installPhase = ''
install -D geogebra/* -t "$out/libexec/geogebra/"
# The bundled jogl (required for 3D graphics) links to libXxf86vm
# OpenGL versions newer than 3.0 cause "javax.media.opengl.GLException: Not a GL2 implementation"
makeWrapper "$out/libexec/geogebra/geogebra" "$out/bin/geogebra" \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ xorg.libXxf86vm ]}" \
--set MESA_GL_VERSION_OVERRIDE 3.0 \
--set JAVACMD "${jre}/bin/java" \
--set GG_PATH "$out/libexec/geogebra" \
--add-flags "--language=${language}"

View File

@ -1,52 +0,0 @@
{ lib
, stdenv
, fetchFromGitHub
, autoreconfHook
, imlib2
, libX11
, libXaw
, libXext
, libast
, pkg-config
, nixosTests
}:
stdenv.mkDerivation rec {
pname = "eterm";
version = "0.9.6+date=2020-03-03";
src = fetchFromGitHub {
owner = "mej";
repo = pname;
rev = "e8fb85b56da21113aaf0f5f7987ae647c4413b6c";
sha256 = "sha256-pfXYrd6BamBTcnarvXj+C6D1WyGtj87GrW+Dl6AeiDE=";
};
nativeBuildInputs = [
autoreconfHook
pkg-config
];
buildInputs = [
imlib2
libX11
libXaw
libXext
libast
];
passthru.tests.test = nixosTests.terminal-emulators.eterm;
meta = with lib; {
homepage = "https://github.com/mej/Eterm"; # http://www.eterm.org is gone
description = "Terminal emulator";
license = licenses.bsd2;
maintainers = [ maintainers.AndersonTorres ];
platforms = platforms.linux;
knownVulnerabilities = [
''Usage of ANSI escape sequences causes unexpected newline-termination,
leading to unexpected command execution. More info at:
- https://www.cve.org/CVERecord?id=CVE-2021-33477
- https://www.openwall.com/lists/oss-security/2021/05/17/1''
];
};
}

View File

@ -3,6 +3,8 @@
, fetchFromGitHub
, git
, python3
, stdenv
, installShellFiles
, testers
}:
@ -25,6 +27,7 @@ python3.pkgs.buildPythonApplication rec {
nativeBuildInputs = with python3.pkgs; [
poetry-core
pythonRelaxDepsHook
installShellFiles
];
propagatedBuildInputs = with python3.pkgs; [
@ -77,6 +80,18 @@ python3.pkgs.buildPythonApplication rec {
"test_commitizen_debug_excepthook"
];
postInstall =
let
argcomplete = lib.getExe' python3.pkgs.argcomplete "register-python-argcomplete";
in
lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform)
''
installShellCompletion --cmd cz \
--bash <(${argcomplete} --shell bash $out/bin/cz) \
--zsh <(${argcomplete} --shell zsh $out/bin/cz) \
--fish <(${argcomplete} --shell fish $out/bin/cz)
'';
passthru = {
tests.version = testers.testVersion {
package = commitizen;

View File

@ -225,9 +225,6 @@ in stdenv'.mkDerivation (finalAttrs: {
# See the explanation in addOpenGLRunpath.
postFixup = lib.optionalString stdenv.isLinux ''
addOpenGLRunpath $out/bin/mpv
'' + lib.optionalString (stdenv.isDarwin && javascriptSupport) ''
${stdenv.cc.targetPrefix}install_name_tool -change "build/release/libmujs.dylib" \
"${mujs}/lib/libmujs.dylib" $out/bin/mpv
'';
passthru = {

View File

@ -0,0 +1,34 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pdm-backend
, more-itertools
, click
}:
buildPythonPackage rec {
pname = "hyprshade";
version = "0.9.3";
format = "pyproject";
src = fetchFromGitHub {
owner = "loqusion";
repo = "hyprshade";
rev = "refs/tags/v${version}";
hash = "sha256-ou072V9nZUqf5DEolkMQy979SjaZs4iOuoszw50k4Y8=";
};
nativeBuildInputs = [
pdm-backend
];
propagatedBuildInputs = [ more-itertools click ];
meta = with lib; {
homepage = "https://github.com/loqusion/hyprshade";
description = "Hyprland shade configuration tool";
license = licenses.mit;
maintainers = with maintainers; [ willswats ];
platforms = platforms.linux;
};
}

View File

@ -1,61 +0,0 @@
{ lib
, stdenv
, fetchurl
, freetype
, fribidi
, libICE
, libSM
, libXaw
, libXext
, libXft
, libXinerama
, libXmu
, libXpm
, libXrandr
, libXrender
, libXt
, pkg-config
, xorgproto
}:
stdenv.mkDerivation rec {
pname = "oroborus";
version = "2.0.20";
src = fetchurl {
url = "mirror://debian/pool/main/o/oroborus/oroborus_${version}.tar.gz";
hash = "sha256-UiClQLz2gSxnc/vlg9nqP1T0UsusVb7cqt66jDqae4k=a";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [
freetype
fribidi
libICE
libSM
libXaw
libXext
libXft
libXinerama
libXmu
libXpm
libXrandr
libXrender
libXt
xorgproto
];
# Workaround build failure on -fno-common toolchains:
# ld: workspaces.o:src/keyboard.h:93: multiple definition of
# `NumLockMask'; client.o:src/keyboard.h:93: first defined here
env.NIX_CFLAGS_COMPILE = "-fcommon";
meta = with lib; {
homepage = "https://web.archive.org/web/20191129172107/https://www.oroborus.org/";
description = "A really minimalistic X window manager";
license = licenses.gpl2Plus;
maintainers = [ maintainers.AndersonTorres ];
platforms = platforms.linux;
};
}

View File

@ -80,7 +80,8 @@ let
else if targetPlatform.libc == "nblibc" then "${sharedLibraryLoader}/libexec/ld.elf_so"
else if targetPlatform.system == "i686-linux" then "${sharedLibraryLoader}/lib/ld-linux.so.2"
else if targetPlatform.system == "x86_64-linux" then "${sharedLibraryLoader}/lib/ld-linux-x86-64.so.2"
else if targetPlatform.system == "powerpc64le-linux" then "${sharedLibraryLoader}/lib/ld64.so.2"
# ELFv1 (.1) or ELFv2 (.2) ABI
else if targetPlatform.isPower64 then "${sharedLibraryLoader}/lib/ld64.so.*"
# ARM with a wildcard, which can be "" or "-armhf".
else if (with targetPlatform; isAarch32 && isLinux) then "${sharedLibraryLoader}/lib/ld-linux*.so.3"
else if targetPlatform.system == "aarch64-linux" then "${sharedLibraryLoader}/lib/ld-linux-aarch64.so.1"

View File

@ -6,7 +6,7 @@
let
pname = "engage";
version = "0.1.2";
version = "0.1.3";
in
rustPlatform.buildRustPackage {
inherit pname version;
@ -15,10 +15,10 @@ rustPlatform.buildRustPackage {
src = fetchgit {
url = "https://or.computer.surgery/charles/${pname}";
rev = "v${version}";
hash = "sha256-7zLFgTLeAIaMMoj0iThH/5UhnV9OUGe9CVwbbShCieo=";
hash = "sha256-B7pDJDoQiigaxcia0LfG7zHEzYtvhCUNpbmfR2ny4ZE=";
};
cargoHash = "sha256-+4uqC0VoBSmkS9hYC1lzWeJmK873slZT04TljHPE+Eo=";
cargoHash = "sha256-Akk7fh7/eyN8gyuh3y3aeeKD2STtrEx+trOm5ww9lgw=";
nativeBuildInputs = [
installShellFiles

View File

@ -0,0 +1,50 @@
{ lib
, fetchFromGitHub
, python3
}:
python3.pkgs.buildPythonApplication rec {
pname = "ghunt";
version = "2.0.1";
format = "setuptools";
src = fetchFromGitHub {
owner = "mxrch";
repo = "ghunt";
rev = "refs/tags/v${version}";
hash = "sha256-7awLKX+1fVbufg3++lUUCZg4p07c2yGeefiPFcE1Ij4=";
};
propagatedBuildInputs = with python3.pkgs; [
alive-progress
autoslot
beautifulsoup4
beautifultable
geopy
httpx
humanize
imagehash
inflection
jsonpickle
pillow
protobuf
python-dateutil
rich
trio
];
# Project has no tests
doCheck = false;
pythonImportsCheck = [
"ghunt"
];
meta = with lib; {
description = "Offensive Google framework";
homepage = "https://github.com/mxrch/ghunt";
changelog = "https://github.com/mxrch/GHunt/releases/tag/v${version}";
license = licenses.agpl3Only;
maintainers = with maintainers; [ fab ];
};
}

View File

@ -0,0 +1,47 @@
{ lib
, stdenv
, dpkg
, fetchurl
, autoPatchelfHook
, webkitgtk
}:
stdenv.mkDerivation (finalAttrs: {
name = "headphones-toolbox";
version = "0.0.3";
src = fetchurl {
url = "https://github.com/george-norton/headphones-toolbox/releases/download/headphones-toolbox-beta-v4r2/ploopy-headphones-toolbox_${finalAttrs.version}_amd64.deb";
hash = "sha256-r+ybcD6koSIJ/6cck3RNXmf758sRnhS1Y4kaYCNbveA=";
};
nativeBuildInputs = [
dpkg
autoPatchelfHook
];
buildInputs = [
webkitgtk
];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
mv usr/bin $out
mv usr/lib $out
mv usr/share $out
runHook postInstall
'';
meta = with lib; {
description = "A UI for configuring Ploopy Headphones";
homepage = "https://github.com/george-norton/headphones-toolbox";
maintainers = with maintainers; [ knarkzel nyanbinary ];
license = licenses.gpl3Only;
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
platforms = [ "x86_64-linux" ];
mainProgram = "headphones-toolbox";
};
})

View File

@ -11,16 +11,15 @@
, zlib
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "the-legend-of-edgar";
version = "1.36";
version = "1.36-unstable-2023-07-11";
src = fetchFromGitHub {
name = "${pname}-${version}-src";
owner = "riksweeney";
repo = "edgar";
rev = version;
hash = "sha256-u2mg4hpcjPXzuZjYKIC4lgqGJPFRB9baHvaiu/YafZw=";
rev = "8344b385b65e8226455c7e88bd5aca57caa3c520";
hash = "sha256-dOLKMsyQkVZ7gBiURfr/tFbu3xSqei8A/M2HSZgAFnI=";
};
nativeBuildInputs = [
@ -46,13 +45,11 @@ stdenv.mkDerivation rec {
"BIN_DIR=${placeholder "out"}/bin/"
];
# TODO: remove the setting below when the next version arrives
# https://github.com/riksweeney/edgar/pull/57
preBuild = ''
export CFLAGS=$(sdl2-config --cflags)
'';
hardeningDisable = [
"fortify"
];
meta = with lib; {
meta = {
homepage = "https://www.parallelrealities.co.uk/games/edgar";
description = "A 2D platform game with a persistent world";
longDescription = ''
@ -67,9 +64,10 @@ stdenv.mkDerivation rec {
Amiga and SNES. Edgar must battle his way across the world, solving
puzzles and defeating powerful enemies to achieve his quest.
'';
license = licenses.gpl1Plus;
maintainers = with maintainers; [ AndersonTorres ];
platforms = platforms.unix;
license = lib.licenses.gpl1Plus;
mainProgram = "edgar";
maintainers = with lib.maintainers; [ AndersonTorres ];
platforms = lib.platforms.unix;
broken = stdenv.isDarwin;
};
}
})

View File

@ -7,7 +7,7 @@
, qtbase
, qtimageformats
, qtwebengine
, qtx11extras ? null # qt5 only
, qtx11extras
, libarchive
, libXdmcp
, libpthreadstubs
@ -17,17 +17,16 @@
let
isQt5 = lib.versions.major qtbase.version == "5";
in
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "zeal";
version = "0.6.1.20230320";
version = "0.6.1.20230907"; # unstable-date format not suitable for cmake
src = fetchFromGitHub {
owner = "zealdocs";
repo = "zeal";
rev = "a617ae5e06b95cec99bae058650e55b98613916d";
hash = "sha256-WL2uqA0sZ5Q3lZIA9vkLVyfec/jBkfGcWb6XQ7AuM94=";
rev = "20249153077964d01c7c36b9f4042a40e8c8fbf1";
hash = "sha256-AyfpMq0R0ummTGvyUHOh/XBUeVfkFwo1VyyLSGoTN8w=";
};
# we only need this if we are using a version that hasn't been released. We
@ -36,33 +35,40 @@ stdenv.mkDerivation rec {
# line.
postPatch = ''
sed -i CMakeLists.txt \
-e 's@^project.*@project(Zeal VERSION ${version})@'
-e 's@^project.*@project(Zeal VERSION ${finalAttrs.version})@'
'' + lib.optionalString (!isQt5) ''
substituteInPlace src/app/CMakeLists.txt \
--replace "COMPONENTS Widgets" "COMPONENTS Widgets QmlIntegration"
'';
nativeBuildInputs = [ cmake extra-cmake-modules pkg-config wrapQtAppsHook ];
nativeBuildInputs = [
cmake
extra-cmake-modules
pkg-config
wrapQtAppsHook
];
buildInputs = [
libXdmcp
libarchive
libpthreadstubs
qtbase
qtimageformats
qtwebengine
libarchive
libXdmcp
libpthreadstubs
xcbutilkeysyms
] ++ lib.optionals isQt5 [ qtx11extras ];
]
++ lib.optionals isQt5 [ qtx11extras ];
meta = with lib; {
meta = {
description = "A simple offline API documentation browser";
longDescription = ''
Zeal is a simple offline API documentation browser inspired by Dash (macOS
app), available for Linux and Windows.
'';
homepage = "https://zealdocs.org/";
license = licenses.gpl3;
maintainers = with maintainers; [ skeidel peterhoeg ];
platforms = platforms.linux;
changelog = "https://github.com/zealdocs/zeal/releases";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ skeidel peterhoeg AndersonTorres ];
inherit (qtbase.meta) platforms;
};
}
})

View File

@ -199,6 +199,9 @@ let
wrapProgram $bin/bin/crystal \
--suffix PATH : ${lib.makeBinPath [ pkg-config llvmPackages.clang which ]} \
--suffix CRYSTAL_PATH : lib:$lib/crystal \
--suffix PKG_CONFIG_PATH : ${
lib.makeSearchPathOutput "dev" "lib/pkgconfig" finalAttrs.buildInputs
} \
--suffix CRYSTAL_LIBRARY_PATH : ${
lib.makeLibraryPath finalAttrs.buildInputs
}

View File

@ -1,15 +1,16 @@
{ lib, callPackage, stdenv, makeWrapper, fetchurl, ocaml, findlib, dune_3
, ncurses
, fix, menhir, menhirLib, menhirSdk, merlin-extend, ppxlib, utop, cppo, ppx_derivers
, dune-build-info
}:
stdenv.mkDerivation rec {
pname = "ocaml${ocaml.version}-reason";
version = "3.8.2";
version = "3.9.0";
src = fetchurl {
url = "https://github.com/reasonml/reason/releases/download/${version}/reason-${version}.tbz";
sha256 = "sha256-etzEXbILje+CrfJxIhH7jthEMoSJdS6O33QoG8HrLvI=";
hash = "sha256-vPAIHs89Bc5o6Ch2obwqSEl8eCJbizEPLPJLM/NWhBY=";
};
strictDeps = true;
@ -24,6 +25,7 @@ stdenv.mkDerivation rec {
];
buildInputs = [
dune-build-info
fix
menhirSdk
ppxlib

View File

@ -5,18 +5,19 @@
, cmake
, libserialport
, pkg-config
, testers
, IOKit
}:
stdenv.mkDerivation {
stdenv.mkDerivation (finalAttrs: {
pname = "blisp";
version = "unstable-2023-06-03";
version = "0.0.4";
src = fetchFromGitHub {
owner = "pine64";
repo = "blisp";
rev = "048a72408218788d519a87bcdfb23bcf9ed91a84";
hash = "sha256-hipJrr0D4uEN2hk8ooXeg0gv0X3w4U9ReXbC4oPEPwI=";
rev = "v${finalAttrs.version}";
hash = "sha256-cN35VLbdQFA3KTZ8PxgpbsLGXqfFhw5eh3nEBRZqAm4=";
};
nativeBuildInputs = [ cmake pkg-config ];
@ -31,12 +32,16 @@ stdenv.mkDerivation {
"-DBLISP_USE_SYSTEM_LIBRARIES=ON"
];
passthru.tests.version = testers.testVersion {
package = finalAttrs.finalPackage;
version = "v${finalAttrs.version}";
};
meta = with lib; {
description = "ISP tool & library for Bouffalo Labs RISC-V Microcontrollers and SoCs";
description = "An In-System-Programming (ISP) tool & library for Bouffalo Labs RISC-V Microcontrollers and SoCs";
license = licenses.mit;
mainProgram = "blisp";
homepage = "https://github.com/pine64/blisp";
maintainers = [ maintainers.fortuneteller2k ];
};
}
# TODO: update when next stable release supports building without vendored
# libraries
})

View File

@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchurl
, fixDarwinDylibNames
, readline
, gitUpdater
}:
@ -16,6 +17,8 @@ stdenv.mkDerivation rec {
buildInputs = [ readline ];
nativeBuildInputs = lib.optionals stdenv.isDarwin [ fixDarwinDylibNames ];
makeFlags = [ "prefix=$(out)" ];
installFlags = [ "install-shared" ];

View File

@ -57,10 +57,10 @@ in {
sourceVersion = {
major = "3";
minor = "8";
patch = "17";
patch = "18";
suffix = "";
};
hash = "sha256-LlSwxoGR8WVS9t4ul6I5ZUBXKiGfa7soWRoTfOzEkKk=";
hash = "sha256-P/txzTSaMmunsvrcfn34a6V33ZxJF+UqhAGtvadAXj8=";
inherit (darwin) configd;
inherit passthruFun;
};
@ -70,10 +70,10 @@ in {
sourceVersion = {
major = "3";
minor = "9";
patch = "17";
patch = "18";
suffix = "";
};
hash = "sha256-MM4FfETyg/jtk2Bsy9uNUd1Sa9xMYszl4Nwhe/o+jO4=";
hash = "sha256-AVl9sBMsHPezMe/2iuCbWiNaPDyqnJRMKcrH0cTEwAo=";
inherit (darwin) configd;
inherit passthruFun;
};
@ -96,9 +96,9 @@ in {
major = "3";
minor = "12";
patch = "0";
suffix = "b4";
suffix = "rc2";
};
hash = "sha256-8FcQw2ruWFD1wnab52uAvyEq7DUUOP34rcIMOMg2H6w=";
hash = "sha256-EesQN25rr3vqUwAfUYHq7heXeIxNtug6Bh5CI1eSdnQ=";
inherit (darwin) configd;
inherit passthruFun;
};

View File

@ -7,13 +7,13 @@
stdenv.mkDerivation rec {
pname = "level-zero";
version = "1.13.5";
version = "1.14.0";
src = fetchFromGitHub {
owner = "oneapi-src";
repo = "level-zero";
rev = "refs/tags/v${version}";
hash = "sha256-XpLbbcB8M63q+0Vj7NrERSXVIjy5KQrVZMvYijUbJhw=";
hash = "sha256-7hFGY255dLgDo93+Nx2we/cfEtwaiaajdVg1VTst1/U=";
};
nativeBuildInputs = [ cmake addOpenGLRunpath ];

View File

@ -66,16 +66,16 @@ let
projectArch = "x86_64";
};
};
platforms."aarch64-linux".sha256 = "0xzgcnh45x3sqg0jndp9g08zy9bvzvmvfz8imj12j55vkm6f7kl6";
platforms."x86_64-linux".sha256 = "1942mwlyrz5pxlx9kcnz85rqbz8q8slkivx0001z30l7a6pizgg5";
platforms."aarch64-linux".sha256 = "1d3ign2bhv1821k0jgmakzgqlpwy358iggrgxnbxswa42ckk9m6d";
platforms."x86_64-linux".sha256 = "188hd7b11963f23y9rb0n747ssffdc80cdr1hpgwn55cmwhd8gbj";
platformInfo = builtins.getAttr stdenv.targetPlatform.system platforms;
in
stdenv.mkDerivation rec {
pname = "cef-binary";
version = "116.0.20";
gitRevision = "d6abd3c";
chromiumVersion = "116.0.5845.180";
version = "116.0.21";
gitRevision = "9c7dc32";
chromiumVersion = "116.0.5845.181";
src = fetchurl {
url = "https://cef-builds.spotifycdn.com/cef_binary_${version}+g${gitRevision}+chromium-${chromiumVersion}_${platformInfo.platformStr}_minimal.tar.bz2";

View File

@ -0,0 +1,112 @@
From 5430196765402655715f759e3de0166ad3fbe1fe Mon Sep 17 00:00:00 2001
From: Sefa Eyeoglu <contact@scrumplex.net>
Date: Fri, 28 Jul 2023 12:26:58 +0200
Subject: [PATCH] cmake: use find_package where needed
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
---
CMakeLists.txt | 62 ++++----------------------------------------------
1 file changed, 4 insertions(+), 58 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bb3c49a..e9d6d56 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -98,66 +98,13 @@ endif ()
# === OpenXR ===
# Building CMake subprojects is a real pain (IMO), so just build this here
-set(XrDir libs/openxr-sdk)
-set(XrDirLoader libs/openxr-sdk/src/loader)
-set(XrDirCommon libs/openxr-sdk/src/common)
-if (ANDROID)
- # Whatever consumes this library must then link to an OpenXR loader, such as the Oculus one
- add_library(OpenXR STATIC scripts/empty.c) # Doesn't do anything
-else ()
-add_library(OpenXR STATIC
- ${XrDirLoader}/api_layer_interface.cpp
- ${XrDirLoader}/api_layer_interface.hpp
- ${XrDirLoader}/loader_core.cpp
- ${XrDirLoader}/loader_instance.cpp
- ${XrDirLoader}/loader_instance.hpp
- ${XrDirLoader}/loader_logger.cpp
- ${XrDirLoader}/loader_logger.hpp
- ${XrDirLoader}/loader_logger_recorders.cpp
- ${XrDirLoader}/loader_logger_recorders.hpp
- ${XrDirLoader}/manifest_file.cpp
- ${XrDirLoader}/manifest_file.hpp
- ${XrDirLoader}/runtime_interface.cpp
- ${XrDirLoader}/runtime_interface.hpp
-
- ${XrDirLoader}/xr_generated_loader.hpp
- ${XrDirLoader}/xr_generated_loader.cpp
- ${XrDir}/src/xr_generated_dispatch_table.h
- ${XrDir}/src/xr_generated_dispatch_table.c
-
- ${XrDirCommon}/filesystem_utils.cpp
- ${XrDirCommon}/object_info.cpp
-
- ${XrDir}/src/external/jsoncpp/src/lib_json/json_reader.cpp
- ${XrDir}/src/external/jsoncpp/src/lib_json/json_value.cpp
- ${XrDir}/src/external/jsoncpp/src/lib_json/json_writer.cpp
-)
-endif()
-target_include_directories(OpenXR PRIVATE ${XrDirCommon} ${XrDir}/src ${XrDir}/src/external/jsoncpp/include)
-target_include_directories(OpenXR PUBLIC ${XrDir}/include)
-# Platform-dependent flags
-if (WIN32)
- target_compile_definitions(OpenXR PRIVATE -DXR_OS_WINDOWS -DXR_USE_PLATFORM_WIN32
- -DXR_USE_GRAPHICS_API_D3D11 -DXR_USE_GRAPHICS_API_D3D12 -DXR_USE_GRAPHICS_API_OPENGL)
- target_link_libraries(OpenXR PUBLIC advapi32 pathcch OpenGL32)
-else()
- # TODO Turtle1331 should we include -DXR_USE_PLATFORM_(XLIB|XCB|WAYLAND) here?
- target_compile_definitions(OpenXR PRIVATE -DXR_OS_LINUX
- -DXR_USE_GRAPHICS_API_OPENGL -DXR_USE_GRAPHICS_API_VULKAN)
- target_link_libraries(OpenXR PUBLIC -ldl)
-endif()
-target_link_libraries(OpenXR PUBLIC Vulkan)
-
-if (ANDROID)
- target_compile_definitions(OpenXR PUBLIC -DXR_USE_PLATFORM_ANDROID -DXR_USE_GRAPHICS_API_OPENGL_ES)
-endif()
+find_package(OpenXR REQUIRED)
# === glm ===
# Since we used to use LibOVR's maths library, we need a replacement
# glm is an obvious choice
-add_library(glm INTERFACE)
-target_include_directories(glm INTERFACE libs/glm) # No separate include directory :(
+find_package(glm REQUIRED)
# === DrvOpenXR ===
add_library(DrvOpenXR STATIC
@@ -189,7 +136,7 @@ add_library(DrvOpenXR STATIC
)
target_include_directories(DrvOpenXR PUBLIC DrvOpenXR/pub ${CMAKE_BINARY_DIR})
target_include_directories(DrvOpenXR PRIVATE DrvOpenXR OpenOVR)
-target_link_libraries(DrvOpenXR PUBLIC OpenVR OpenXR glm)
+target_link_libraries(DrvOpenXR PUBLIC OpenVR OpenXR::openxr_loader glm::glm)
target_compile_definitions(DrvOpenXR PRIVATE ${GRAPHICS_API_SUPPORT_FLAGS} -D_CRT_SECURE_NO_WARNINGS)
source_group(Public REGULAR_EXPRESSION DrvOpenXR/pub/*)
@@ -357,7 +304,7 @@ target_include_directories(OCCore PUBLIC OpenOVR ${CMAKE_BINARY_DIR}) # TODO ma
target_include_directories(OCCore PRIVATE BundledLibs OpenVRHeaders)
target_compile_definitions(OCCore PRIVATE ${GRAPHICS_API_SUPPORT_FLAGS})
-target_link_libraries(OCCore OpenVR OpenXR Vulkan glm)
+target_link_libraries(OCCore OpenVR OpenXR::openxr_loader Vulkan glm::glm)
if (NOT WIN32 AND NOT ANDROID)
find_package(OpenGL REQUIRED) # for glGetError()
@@ -411,7 +358,6 @@ endif ()
if (WIN32)
else ()
target_compile_options(DrvOpenXR PRIVATE -fPIC)
- target_compile_options(OpenXR PRIVATE -fPIC)
target_compile_options(OCCore PRIVATE -fPIC)
endif ()
--
2.41.0

View File

@ -0,0 +1,59 @@
{ lib
, stdenv
, fetchFromGitLab
, cmake
, glm
, libGL
, openxr-loader
, python3
, vulkan-headers
, vulkan-loader
, xorg
}:
stdenv.mkDerivation {
pname = "opencomposite";
version = "unstable-2023-07-02";
src = fetchFromGitLab {
owner = "znixian";
repo = "OpenOVR";
rev = "a59b16204a1ee61a59413667a516375071a113f0";
hash = "sha256-JSVd/+A/WldP+A2vOOG4lbwb4QCE/PymEm4VbjUxWrw=";
};
patches = [
# Force OpenComposite to use our OpenXR and glm, instead of its Git submodules
./cmake-use-find_package-where-needed.patch
];
nativeBuildInputs = [
cmake
];
buildInputs = [
glm
libGL
openxr-loader
python3
vulkan-headers
vulkan-loader
xorg.libX11
];
installPhase = ''
runHook preInstall
mkdir -p $out/lib/opencomposite
cp -r bin/ $out/lib/opencomposite
runHook postInstall
'';
meta = with lib; {
description = "Reimplementation of OpenVR, translating calls to OpenXR";
homepage = "https://gitlab.com/znixian/OpenOVR";
license = with licenses; [ gpl3Only ];
maintainers = with maintainers; [ Scrumplex ];
};
}

View File

@ -0,0 +1,18 @@
{ writeShellApplication
, monado
, opencomposite
}:
writeShellApplication {
name = "opencomposite-helper";
text = ''
# Tell Proton to use OpenComposite instead of OpenVR
export VR_OVERRIDE=${opencomposite}/lib/opencomposite
# Help OpenComposite find the OpenXR runtime
export XR_RUNTIME_JSON=${monado}/share/openxr/1/openxr_monado.json
# Tell Steam Pressure Vessel to allow access to Monado
export PRESSURE_VESSEL_FILESYSTEMS_RW=$XDG_RUNTIME_DIR/monado_comp_ipc
exec "$@"
'';
}

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "fastjet-contrib";
version = "1.049";
version = "1.052";
src = fetchurl {
url = "https://fastjet.hepforge.org/contrib/downloads/fjcontrib-${version}.tar.gz";
sha256 = "sha256-ri7WIGvGJ4tl6ZpPeN8O6ykR8wGij7V7UMVzwNWGmYc=";
sha256 = "sha256-veY8KMvfmSvt6k3e38PNUsn+wkGnZ8xFXdStEOghDDk=";
};
buildInputs = [ fastjet ];

View File

@ -107,6 +107,7 @@ mapAliases {
ssb-server = throw "ssb-server was removed because it was broken"; # added 2023-08-21
stf = throw "stf was removed because it was broken"; # added 2023-08-21
surge = pkgs.surge-cli; # Added 2023-09-08
swagger = throw "swagger was removed because it was broken and abandoned upstream"; # added 2023-09-09
thelounge = pkgs.thelounge; # Added 2023-05-22
three = throw "three was removed because it was no longer needed"; # Added 2023-09-08
inherit (pkgs) titanium; # added 2023-08-17

View File

@ -241,7 +241,6 @@
, "svelte-check"
, "svelte-language-server"
, "svgo"
, "swagger"
, "tailwindcss"
, {"tedicross": "git+https://github.com/TediCross/TediCross.git#v0.8.7"}
, "teck-programmer"

View File

@ -107819,666 +107819,6 @@ in
bypassCache = true;
reconstructLock = true;
};
swagger = nodeEnv.buildNodePackage {
name = "swagger";
packageName = "swagger";
version = "0.7.5";
src = fetchurl {
url = "https://registry.npmjs.org/swagger/-/swagger-0.7.5.tgz";
sha512 = "xUTG61hCAq4/nNoHE/5oYcXoP6CAb1zS9JB+Ps+355rYZHvU5Ecil1IK6H+Fn1R/JKXot0ND0Lpe4D3+41zMUA==";
};
dependencies = [
sources."URIjs-1.16.1"
sources."abbrev-1.1.1"
sources."ansi-align-2.0.0"
sources."ansi-escapes-1.4.0"
sources."ansi-regex-2.1.1"
sources."ansi-styles-2.2.1"
(sources."anymatch-2.0.0" // {
dependencies = [
sources."normalize-path-2.1.1"
];
})
sources."append-field-1.0.0"
sources."argparse-1.0.10"
sources."arr-diff-4.0.0"
sources."arr-flatten-1.1.0"
sources."arr-union-3.1.0"
sources."array-unique-0.3.2"
sources."asap-2.0.6"
sources."assign-symbols-1.0.0"
sources."async-1.5.2"
sources."async-each-1.0.6"
sources."asynckit-0.4.0"
sources."atob-2.1.2"
sources."balanced-match-1.0.2"
(sources."base-0.11.2" // {
dependencies = [
sources."define-property-1.0.0"
];
})
sources."binary-extensions-1.13.1"
sources."bindings-1.5.0"
(sources."body-parser-1.12.4" // {
dependencies = [
sources."debug-2.2.0"
sources."depd-1.0.1"
sources."ee-first-1.1.0"
sources."ms-0.7.1"
sources."on-finished-2.2.1"
sources."qs-2.4.2"
];
})
(sources."boxen-1.3.0" // {
dependencies = [
sources."ansi-styles-3.2.1"
sources."chalk-2.4.2"
sources."supports-color-5.5.0"
];
})
sources."brace-expansion-1.1.11"
(sources."braces-2.3.2" // {
dependencies = [
sources."extend-shallow-2.0.1"
sources."is-extendable-0.1.1"
];
})
sources."buffer-from-1.1.2"
(sources."busboy-0.2.14" // {
dependencies = [
sources."isarray-0.0.1"
sources."readable-stream-1.1.14"
sources."string_decoder-0.10.31"
];
})
sources."bytes-1.0.0"
sources."cache-base-1.0.1"
sources."call-bind-1.0.2"
sources."camelcase-4.1.0"
sources."capture-stack-trace-1.0.2"
sources."chalk-1.1.3"
sources."charenc-0.0.2"
sources."chokidar-2.1.8"
sources."ci-info-1.6.0"
(sources."class-utils-0.3.6" // {
dependencies = [
sources."define-property-0.2.5"
(sources."is-accessor-descriptor-0.1.6" // {
dependencies = [
sources."kind-of-3.2.2"
];
})
(sources."is-data-descriptor-0.1.4" // {
dependencies = [
sources."kind-of-3.2.2"
];
})
sources."is-descriptor-0.1.6"
sources."kind-of-5.1.0"
];
})
sources."cli-boxes-1.0.0"
sources."cli-cursor-1.0.2"
sources."cli-width-1.1.1"
sources."clone-2.1.2"
sources."code-point-at-1.1.0"
sources."collection-visit-1.0.0"
sources."color-convert-1.9.3"
sources."color-name-1.1.3"
sources."combined-stream-1.0.8"
sources."commander-2.20.3"
sources."component-emitter-1.3.0"
sources."concat-map-0.0.1"
sources."concat-stream-1.6.2"
sources."configstore-3.1.5"
sources."connect-3.7.0"
sources."content-type-1.0.5"
sources."cookiejar-2.1.4"
sources."copy-descriptor-0.1.1"
sources."core-js-2.6.12"
sources."core-util-is-1.0.3"
sources."create-error-class-3.0.2"
(sources."cross-spawn-5.1.0" // {
dependencies = [
sources."lru-cache-4.1.5"
];
})
sources."crypt-0.0.2"
sources."crypto-random-string-1.0.0"
sources."dag-map-1.0.2"
sources."debug-2.6.9"
sources."decode-uri-component-0.2.2"
sources."deep-extend-0.6.0"
sources."define-property-2.0.2"
sources."delayed-stream-1.0.0"
sources."depd-2.0.0"
sources."destroy-1.2.0"
sources."dezalgo-1.0.4"
(sources."dicer-0.2.5" // {
dependencies = [
sources."isarray-0.0.1"
sources."readable-stream-1.1.14"
sources."string_decoder-0.10.31"
];
})
sources."diff-1.4.0"
sources."dot-prop-4.2.1"
sources."duplexer3-0.1.5"
sources."ee-first-1.1.1"
sources."encodeurl-1.0.2"
sources."escape-html-1.0.3"
sources."escape-string-regexp-1.0.5"
sources."esprima-4.0.1"
sources."etag-1.8.1"
sources."execa-0.7.0"
sources."exit-hook-1.1.1"
(sources."expand-brackets-2.1.4" // {
dependencies = [
sources."define-property-0.2.5"
sources."extend-shallow-2.0.1"
(sources."is-accessor-descriptor-0.1.6" // {
dependencies = [
sources."kind-of-3.2.2"
];
})
(sources."is-data-descriptor-0.1.4" // {
dependencies = [
sources."kind-of-3.2.2"
];
})
sources."is-descriptor-0.1.6"
sources."is-extendable-0.1.1"
sources."kind-of-5.1.0"
];
})
sources."extend-3.0.0"
sources."extend-shallow-3.0.2"
(sources."extglob-2.0.4" // {
dependencies = [
sources."define-property-1.0.0"
sources."extend-shallow-2.0.1"
sources."is-extendable-0.1.1"
];
})
sources."fast-safe-stringify-2.1.1"
sources."figures-1.7.0"
sources."file-uri-to-path-1.0.0"
(sources."fill-range-4.0.0" // {
dependencies = [
sources."extend-shallow-2.0.1"
sources."is-extendable-0.1.1"
];
})
sources."finalhandler-1.1.2"
sources."for-in-1.0.2"
sources."form-data-4.0.0"
(sources."formidable-2.1.2" // {
dependencies = [
sources."qs-6.11.2"
];
})
sources."fragment-cache-0.2.1"
sources."fresh-0.5.2"
sources."fs-extra-0.24.0"
sources."fs.realpath-1.0.0"
sources."fsevents-1.2.13"
sources."function-bind-1.1.1"
sources."get-intrinsic-1.2.1"
sources."get-stream-3.0.0"
sources."get-value-2.0.6"
sources."glob-7.2.3"
(sources."glob-parent-3.1.0" // {
dependencies = [
sources."is-glob-3.1.0"
];
})
sources."global-dirs-0.1.1"
sources."got-6.7.1"
sources."graceful-fs-4.2.11"
(sources."graphlib-2.1.8" // {
dependencies = [
sources."lodash-4.17.21"
];
})
sources."growl-1.9.2"
(sources."handlebars-4.7.8" // {
dependencies = [
sources."minimist-1.2.8"
sources."source-map-0.6.1"
];
})
sources."has-1.0.3"
sources."has-ansi-2.0.0"
sources."has-flag-3.0.0"
sources."has-proto-1.0.1"
sources."has-symbols-1.0.3"
sources."has-value-1.0.0"
(sources."has-values-1.0.0" // {
dependencies = [
sources."kind-of-4.0.0"
];
})
sources."hexoid-1.0.0"
(sources."http-errors-2.0.0" // {
dependencies = [
sources."statuses-2.0.1"
];
})
sources."iconv-lite-0.4.8"
sources."ignore-by-default-1.0.1"
sources."import-lazy-2.1.0"
sources."imurmurhash-0.1.4"
sources."inflight-1.0.6"
sources."inherits-2.0.4"
sources."ini-1.3.8"
sources."inquirer-0.10.1"
sources."is-accessor-descriptor-1.0.0"
sources."is-binary-path-1.0.1"
sources."is-buffer-1.1.6"
sources."is-ci-1.2.1"
sources."is-data-descriptor-1.0.0"
sources."is-descriptor-1.0.2"
sources."is-extendable-1.0.1"
sources."is-extglob-2.1.1"
sources."is-fullwidth-code-point-1.0.0"
sources."is-glob-4.0.3"
sources."is-installed-globally-0.1.0"
(sources."is-invalid-path-0.1.0" // {
dependencies = [
sources."is-extglob-1.0.0"
sources."is-glob-2.0.1"
];
})
sources."is-npm-1.0.0"
(sources."is-number-3.0.0" // {
dependencies = [
sources."kind-of-3.2.2"
];
})
sources."is-obj-1.0.1"
sources."is-path-inside-1.0.1"
sources."is-plain-object-2.0.4"
sources."is-redirect-1.0.0"
sources."is-retry-allowed-1.2.0"
sources."is-stream-1.1.0"
sources."is-valid-path-0.1.1"
sources."is-windows-1.0.2"
sources."isarray-1.0.0"
sources."isexe-2.0.0"
sources."isobject-3.0.1"
(sources."jade-0.26.3" // {
dependencies = [
sources."commander-0.6.1"
sources."mkdirp-0.3.0"
];
})
sources."js-string-escape-1.0.1"
sources."js-yaml-3.14.1"
sources."json-refs-2.1.7"
(sources."json-schema-deref-sync-0.6.0" // {
dependencies = [
sources."lodash-4.17.21"
];
})
sources."jsonfile-2.4.0"
sources."kind-of-6.0.3"
sources."latest-version-3.1.0"
sources."lodash-3.10.1"
sources."lodash-compat-3.10.2"
sources."lodash._arraypool-2.4.1"
sources."lodash._basebind-2.4.1"
sources."lodash._baseclone-2.4.1"
sources."lodash._basecreate-2.4.1"
sources."lodash._basecreatecallback-2.4.1"
sources."lodash._basecreatewrapper-2.4.1"
sources."lodash._createwrapper-2.4.1"
sources."lodash._getarray-2.4.1"
sources."lodash._isnative-2.4.1"
sources."lodash._maxpoolsize-2.4.1"
sources."lodash._objecttypes-2.4.1"
sources."lodash._releasearray-2.4.1"
sources."lodash._setbinddata-2.4.1"
sources."lodash._shimkeys-2.4.1"
sources."lodash._slice-2.4.1"
sources."lodash.assign-2.4.1"
sources."lodash.bind-2.4.1"
sources."lodash.clonedeep-2.4.1"
sources."lodash.foreach-2.4.1"
sources."lodash.forown-2.4.1"
sources."lodash.get-4.4.2"
sources."lodash.identity-2.4.1"
sources."lodash.isarray-2.4.1"
sources."lodash.isequal-4.5.0"
sources."lodash.isfunction-2.4.1"
sources."lodash.isobject-2.4.1"
sources."lodash.keys-2.4.1"
sources."lodash.noop-2.4.1"
sources."lodash.support-2.4.1"
sources."lowercase-keys-1.0.1"
sources."lru-cache-2.7.3"
sources."make-dir-1.3.0"
sources."map-cache-0.2.2"
sources."map-visit-1.0.0"
sources."md5-2.2.1"
sources."media-typer-0.3.0"
sources."memory-cache-0.2.0"
sources."methods-1.1.2"
sources."micromatch-3.1.10"
sources."mime-1.6.0"
sources."mime-db-1.52.0"
sources."mime-types-2.1.35"
sources."minimatch-3.1.2"
sources."minimist-0.0.8"
sources."mixin-deep-1.3.2"
sources."mkdirp-0.5.1"
(sources."mocha-2.5.3" // {
dependencies = [
sources."commander-2.3.0"
sources."debug-2.2.0"
sources."escape-string-regexp-1.0.2"
sources."glob-3.2.11"
sources."minimatch-0.3.0"
sources."ms-0.7.1"
sources."supports-color-1.2.0"
];
})
sources."mpath-0.5.2"
sources."ms-2.0.0"
(sources."multer-1.4.4" // {
dependencies = [
sources."minimist-1.2.8"
sources."mkdirp-0.5.6"
];
})
sources."mute-stream-0.0.5"
sources."nan-2.17.0"
sources."nanomatch-1.2.13"
sources."native-promise-only-0.8.1"
sources."neo-async-2.6.2"
(sources."nodemon-1.19.4" // {
dependencies = [
sources."debug-3.2.7"
sources."ms-2.1.3"
sources."supports-color-5.5.0"
];
})
sources."nopt-1.0.10"
sources."normalize-path-3.0.0"
sources."npm-run-path-2.0.2"
sources."number-is-nan-1.0.1"
sources."object-assign-4.1.1"
(sources."object-copy-0.1.0" // {
dependencies = [
sources."define-property-0.2.5"
sources."is-accessor-descriptor-0.1.6"
sources."is-data-descriptor-0.1.4"
(sources."is-descriptor-0.1.6" // {
dependencies = [
sources."kind-of-5.1.0"
];
})
sources."kind-of-3.2.2"
];
})
sources."object-inspect-1.12.3"
sources."object-visit-1.0.1"
sources."object.pick-1.3.0"
sources."on-finished-2.3.0"
sources."once-1.4.0"
sources."onetime-1.1.0"
sources."p-finally-1.0.0"
sources."package-json-4.0.1"
sources."parseurl-1.3.3"
sources."pascalcase-0.1.1"
sources."path-dirname-1.0.2"
sources."path-is-absolute-1.0.1"
sources."path-is-inside-1.0.2"
sources."path-key-2.0.1"
(sources."path-loader-1.0.12" // {
dependencies = [
sources."debug-4.3.4"
sources."lru-cache-6.0.0"
sources."mime-2.6.0"
sources."ms-2.1.2"
sources."qs-6.11.2"
sources."readable-stream-3.6.2"
sources."semver-7.5.4"
sources."superagent-7.1.6"
sources."yallist-4.0.0"
];
})
(sources."path-to-regexp-1.8.0" // {
dependencies = [
sources."isarray-0.0.1"
];
})
sources."pify-3.0.0"
sources."posix-character-classes-0.1.1"
sources."prepend-http-1.0.4"
sources."process-nextick-args-2.0.1"
sources."pseudomap-1.0.2"
sources."pstree.remy-1.1.8"
sources."punycode-2.3.0"
sources."qs-4.0.0"
sources."range-parser-1.2.1"
(sources."raw-body-2.0.2" // {
dependencies = [
sources."bytes-2.1.0"
];
})
(sources."rc-1.2.8" // {
dependencies = [
sources."minimist-1.2.8"
];
})
sources."readable-stream-2.3.8"
sources."readdirp-2.2.1"
sources."readline2-1.0.1"
sources."reduce-component-1.0.1"
sources."regex-not-1.0.2"
sources."registry-auth-token-3.4.0"
sources."registry-url-3.1.0"
sources."remove-trailing-separator-1.1.0"
sources."repeat-element-1.1.4"
sources."repeat-string-1.6.1"
sources."resolve-url-0.2.1"
sources."restore-cursor-1.0.1"
sources."ret-0.1.15"
sources."rimraf-2.7.1"
sources."run-async-0.1.0"
sources."rx-lite-3.1.2"
sources."safe-buffer-5.1.2"
sources."safe-regex-1.1.0"
sources."sanitize-filename-1.6.3"
sources."semver-5.7.2"
sources."semver-diff-2.1.0"
(sources."send-0.18.0" // {
dependencies = [
sources."ms-2.1.3"
sources."on-finished-2.4.1"
sources."statuses-2.0.1"
];
})
sources."serve-static-1.15.0"
(sources."set-value-2.0.1" // {
dependencies = [
sources."extend-shallow-2.0.1"
sources."is-extendable-0.1.1"
];
})
sources."setprototypeof-1.2.0"
sources."shebang-command-1.2.0"
sources."shebang-regex-1.0.0"
sources."side-channel-1.0.4"
sources."sigmund-1.0.1"
sources."signal-exit-3.0.7"
sources."slash-1.0.0"
(sources."snapdragon-0.8.2" // {
dependencies = [
sources."define-property-0.2.5"
sources."extend-shallow-2.0.1"
(sources."is-accessor-descriptor-0.1.6" // {
dependencies = [
sources."kind-of-3.2.2"
];
})
(sources."is-data-descriptor-0.1.4" // {
dependencies = [
sources."kind-of-3.2.2"
];
})
sources."is-descriptor-0.1.6"
sources."is-extendable-0.1.1"
sources."kind-of-5.1.0"
];
})
(sources."snapdragon-node-2.1.1" // {
dependencies = [
sources."define-property-1.0.0"
];
})
(sources."snapdragon-util-3.0.1" // {
dependencies = [
sources."kind-of-3.2.2"
];
})
sources."source-map-0.5.7"
sources."source-map-resolve-0.5.3"
sources."source-map-url-0.4.1"
sources."spark-md5-1.0.1"
sources."split-string-3.1.0"
sources."sprintf-js-1.0.3"
(sources."static-extend-0.1.2" // {
dependencies = [
sources."define-property-0.2.5"
(sources."is-accessor-descriptor-0.1.6" // {
dependencies = [
sources."kind-of-3.2.2"
];
})
(sources."is-data-descriptor-0.1.4" // {
dependencies = [
sources."kind-of-3.2.2"
];
})
sources."is-descriptor-0.1.6"
sources."kind-of-5.1.0"
];
})
sources."statuses-1.5.0"
sources."streamsearch-0.1.2"
sources."string-3.3.3"
(sources."string-width-2.1.1" // {
dependencies = [
sources."ansi-regex-3.0.1"
sources."is-fullwidth-code-point-2.0.0"
sources."strip-ansi-4.0.0"
];
})
sources."string_decoder-1.1.1"
sources."strip-ansi-3.0.1"
sources."strip-eof-1.0.0"
sources."strip-json-comments-2.0.1"
(sources."superagent-1.8.5" // {
dependencies = [
sources."component-emitter-1.2.1"
sources."cookiejar-2.0.6"
sources."form-data-1.0.0-rc3"
sources."formidable-1.0.17"
sources."isarray-0.0.1"
sources."mime-1.3.4"
sources."qs-2.3.3"
sources."readable-stream-1.0.27-1"
sources."string_decoder-0.10.31"
];
})
sources."supports-color-2.0.0"
sources."swagger-converter-0.2.0"
sources."swagger-editor-2.10.5"
(sources."swagger-test-templates-1.6.0" // {
dependencies = [
sources."lodash-4.17.21"
];
})
(sources."swagger-tools-0.9.16" // {
dependencies = [
sources."swagger-converter-0.1.7"
];
})
sources."term-size-1.2.0"
sources."through-2.3.8"
sources."timed-out-4.0.1"
sources."to-iso-string-0.0.2"
(sources."to-object-path-0.3.0" // {
dependencies = [
sources."kind-of-3.2.2"
];
})
sources."to-regex-3.0.2"
sources."to-regex-range-2.1.1"
sources."toidentifier-1.0.1"
sources."touch-3.1.0"
sources."traverse-0.6.7"
sources."truncate-utf8-bytes-1.0.2"
sources."type-is-1.6.18"
sources."typedarray-0.0.6"
sources."uglify-js-3.17.4"
sources."undefsafe-2.0.5"
(sources."union-value-1.0.1" // {
dependencies = [
sources."is-extendable-0.1.1"
];
})
sources."unique-string-1.0.0"
sources."unpipe-1.0.0"
(sources."unset-value-1.0.0" // {
dependencies = [
(sources."has-value-0.3.1" // {
dependencies = [
sources."isobject-2.1.0"
];
})
sources."has-values-0.1.4"
];
})
sources."unzip-response-2.0.1"
sources."upath-1.2.0"
(sources."update-notifier-2.5.0" // {
dependencies = [
sources."ansi-styles-3.2.1"
sources."chalk-2.4.2"
sources."supports-color-5.5.0"
];
})
sources."uri-js-3.0.2"
sources."urix-0.1.0"
sources."url-parse-lax-1.0.0"
sources."use-3.1.1"
sources."utf8-byte-length-1.0.4"
sources."util-deprecate-1.0.2"
sources."utils-merge-1.0.1"
sources."valid-url-1.0.9"
sources."validator-10.11.0"
sources."which-1.3.1"
sources."widest-line-2.0.1"
sources."wordwrap-1.0.0"
sources."wrappy-1.0.2"
sources."write-file-atomic-2.4.3"
sources."xdg-basedir-3.0.0"
sources."xtend-4.0.2"
sources."yallist-2.1.2"
sources."z-schema-3.25.1"
];
buildInputs = globalBuildInputs;
meta = {
description = "The Swagger command-line. Provides Swagger utilities and project lifecycle support.";
homepage = "https://github.com/swagger-api/swagger-node#readme";
license = "Apache 2.0";
};
production = true;
bypassCache = true;
reconstructLock = true;
};
tailwindcss = nodeEnv.buildNodePackage {
name = "tailwindcss";
packageName = "tailwindcss";

View File

@ -0,0 +1,22 @@
{ lib, fetchurl, buildDunePackage }:
buildDunePackage rec {
pname = "pp_loc";
version = "2.1.0";
minimalOCamlVersion = "4.08";
src = fetchurl {
url = "https://github.com/Armael/pp_loc/releases/download/v${version}/pp_loc-${version}.tbz";
hash = "sha256-L3NlBdQx6BpP6FGtMQ/ynsTNIMj9N+8FDZ5vEFC6p8s=";
};
doCheck = true;
meta = {
description = "Quote and highlight input fragments at a given source location";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.vbgl ];
homepage = "https://armael.github.io/pp_loc/pp_loc/";
};
}

View File

@ -0,0 +1,31 @@
{ buildPecl, lib, fetchFromGitHub, php, zlib, pkg-config }:
buildPecl rec {
pname = "memcache";
version = "8.2";
src = fetchFromGitHub {
owner = "websupport-sk";
repo = "pecl-memcache";
rev = version;
hash = "sha256-77GvQ59XUpIZmdYZP6IhtjdkYwXKuNBSG+LBScz2BtI=";
};
internalDeps = [
php.extensions.session
];
configureFlags = [
"--with-zlib-dir=${zlib.dev}"
];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ zlib ];
meta = with lib; {
description = "PHP extension for interfacing with memcached";
license = licenses.php301;
homepage = "https://github.com/websupport-sk/pecl-memcache";
maintainers = teams.php.members ++ [ maintainers.krzaczek ];
};
}

View File

@ -0,0 +1,42 @@
{ lib
, aiofiles
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
, requests
}:
buildPythonPackage rec {
pname = "acunetix";
version = "0.0.7";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "hikariatama";
repo = "acunetix";
# https://github.com/hikariatama/acunetix/issues/1
rev = "67584746731b9f7abd1cf10ff8161eb3085800ce";
hash = "sha256-ycdCz8CNSP0USxv657jf6Vz4iF//reCeO2tG+und86A=";
};
propagatedBuildInputs = [
aiofiles
requests
];
# Module has no tests
doCheck = false;
pythonImportsCheck = [
"acunetix"
];
meta = with lib; {
description = "Acunetix Web Vulnerability Scanner SDK for Python";
homepage = "https://github.com/hikariatama/acunetix";
license = licenses.agpl3Only;
maintainers = with maintainers; [ fab ];
};
}

View File

@ -7,7 +7,7 @@
buildPythonPackage rec {
pname = "aioaladdinconnect";
version = "0.1.57";
version = "0.1.58";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -15,7 +15,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "AIOAladdinConnect";
inherit version;
hash = "sha256-NPcrGViqrUcjuzqmsI0bXxqxcyoZ9Xp/5z4BPemdjrY=";
hash = "sha256-ymynaOKvnqqHIEuQc+5CagsaH5cHnQit8ileoUO6G+I=";
};
propagatedBuildInputs = [

View File

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "aiovodafone";
version = "0.0.8";
version = "0.1.0";
format = "pyproject";
disabled = pythonOlder "3.10";
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "chemelli74";
repo = "aiovodafone";
rev = "refs/tags/v${version}";
hash = "sha256-o21zaK3dJfURFAt8fPaOd95H7tuqLnFPC01RGHBIz4M=";
hash = "sha256-VO+lQK+0bSQqnFiLzRMnVTpTJRjv2fZhDbIoTiMFWFI=";
};
postPatch = ''

View File

@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "ansible-compat";
version = "4.1.8";
version = "4.1.10";
format = "pyproject";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-9YE19dEj4I/bfhGEm4KUXhkA+MiZughZ1LQbJcdsqVU=";
hash = "sha256-K+jHtRDS4V7tHp70QyCdZ9muyPQnAmuIk21FNf9Zhj0=";
};
nativeBuildInputs = [

View File

@ -0,0 +1,47 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, flit-core
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "autoslot";
version = "2022.12.1";
format = "pyproject";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "cjrh";
repo = "autoslot";
rev = "refs/tags/v${version}";
hash = "sha256-fG4rRwRubJt2aXChEsMybEKal6LscZI7GA2uwtK5Vtg=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace 'requires = ["flit"]' 'requires = ["flit_core"]' \
--replace 'build-backend = "flit.buildapi"' 'build-backend = "flit_core.buildapi"'
'';
nativeBuildInputs = [
flit-core
];
nativeCheckInputs = [
pytestCheckHook
];
pythonImportsCheck = [
"autoslot"
];
meta = with lib; {
description = "Automatic __slots__ for your Python classes";
homepage = "https://github.com/cjrh/autoslot";
license = licenses.asl20;
maintainers = with maintainers; [ fab ];
};
}

View File

@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "bleak-retry-connector";
version = "3.1.2";
version = "3.1.3";
format = "pyproject";
disabled = pythonOlder "3.7";
@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "Bluetooth-Devices";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-q+J4PUBm42jBcLbiywWwDZxUI0Gsl8GjnLPwniWp+Kw=";
hash = "sha256-Nd/9mUtEEhCiJSF677lsE5UhMrbWiIl3ktQ7FjtyYlQ=";
};
postPatch = ''

View File

@ -17,7 +17,7 @@
buildPythonPackage rec {
pname = "bluetooth-adapters";
version = "0.16.0";
version = "0.16.1";
format = "pyproject";
disabled = pythonOlder "3.9";
@ -26,7 +26,7 @@ buildPythonPackage rec {
owner = "Bluetooth-Devices";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-gbnsTRiT/4YumyaJ1h4VRzDAf8/oSkD3yL9mdACvWWk=";
hash = "sha256-GJhrL6J/L1+tqa7fN5xwE+8IFZZ9kff2g+04H5M7beY=";
};
postPatch = ''

View File

@ -10,14 +10,14 @@
buildPythonPackage rec {
pname = "clarifai-grpc";
version = "9.5.0";
version = "9.8.0";
format = "setuptools";
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-amMUgRXtvcrALfWwat7W0W60FJQnEeMvHhyxxBCMqUg=";
hash = "sha256-hUx+dUx0Lkz6sEZizHqH8ONk2r19D9MIVuefhBmjEiQ=";
};
propagatedBuildInputs = [

View File

@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "dbus-fast";
version = "2.0.0";
version = "2.2.0";
format = "pyproject";
disabled = pythonOlder "3.7";
@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "Bluetooth-Devices";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-Dzr7CSoJhO/F75Ro686lKXCOzP2AxtR6wJOp70IOvUk=";
hash = "sha256-47Z8szHVBz8Sx7g+WiKfLzg3MIFTyMjPLDlgGfPb//U=";
};
# The project can build both an optimized cython version and an unoptimized

View File

@ -0,0 +1,47 @@
{ lib
, buildPythonPackage
, colorama
, fetchFromGitHub
, packaging
, poetry-core
, pydantic
, redis
, structlog
}:
buildPythonPackage rec {
pname = "diffsync";
version = "1.8.0";
format = "pyproject";
src = fetchFromGitHub {
owner = "networktocode";
repo = "diffsync";
rev = "refs/tags/v${version}";
hash = "sha256-2OhckgJK1qimF0AcYSa8L+AkzfiN5VojWj0x6kwbgyk=";
};
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
colorama
packaging
pydantic
redis
structlog
];
pythonImportsCheck = [
"diffsync"
];
meta = with lib; {
description = "Utility library for comparing and synchronizing different datasets";
homepage = "https://github.com/networktocode/diffsync";
changelog = "https://github.com/networktocode/diffsync/blob/v${version}/CHANGELOG.md";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ clerie ];
};
}

View File

@ -9,7 +9,7 @@
buildPythonPackage rec {
pname = "flux-led";
version = "1.0.2";
version = "1.0.4";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -18,7 +18,7 @@ buildPythonPackage rec {
owner = "Danielhiversen";
repo = "flux_led";
rev = "refs/tags/${version}";
hash = "sha256-DfC92gqPP9Lky4gX2v8/AbZgM7uRCKjRQC2nS/sDHsY=";
hash = "sha256-enYo2hZ1C8jqO+8xZhSmIOJQAyrtVUJ9S/e2Bxzhv0I=";
};
propagatedBuildInputs = [

View File

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "griffe";
version = "0.36.1";
version = "0.36.2";
format = "pyproject";
disabled = pythonOlder "3.8";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "mkdocstrings";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-miv7CDpBJ5hUyPzQWLqSndmUYR9Lmaonrilod6uhBo8=";
hash = "sha256-21u6QnmFoa3rCeFMkxdEh4OYtE4QmBr5O9PwV5tKgxg=";
};
SETUPTOOLS_SCM_PRETEND_VERSION = version;

View File

@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "hatasmota";
version = "0.7.1";
version = "0.7.2";
format = "setuptools";
disabled = pythonOlder "3.6";
@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "emontnemery";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-biQEAuRxz8q0d40IFElf06Iu6RzwikV4kYZOoj9gbWA=";
hash = "sha256-edZ8Y2fk2Kfhjs/c44vP55uPsFCnDt+wiD+q9821y7U=";
};
propagatedBuildInputs = [

View File

@ -0,0 +1,29 @@
{ lib
, buildPythonPackage
, fetchPypi
, intervaltree
}:
buildPythonPackage rec {
pname = "ipymarkup";
version = "0.9.0";
format = "setuptools";
src = fetchPypi {
inherit pname version;
hash = "sha256-P0v6EP1mKTIBr4SEp+a8tyO/LjPZpqoAiCZxr5yiaRE=";
};
propagatedBuildInputs = [ intervaltree ];
pythonImportCheck = [ "ipymarkup" ];
# Upstream has no tests:
doCheck = false;
meta = with lib; {
description = "Collection of NLP visualizations for NER and syntax tree markup";
homepage = "https://github.com/natasha/ipymarkup";
license = licenses.mit;
maintainers = with maintainers; [ npatsakula ];
};
}

View File

@ -0,0 +1,35 @@
{ lib
, buildPythonPackage
, fetchPypi
, pymorphy2
, razdel
, navec
, slovnet
, yagry
, ipymarkup
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "natasha";
version = "1.6.0";
format = "setuptools";
src = fetchPypi {
inherit pname version;
hash = "sha256-Rgguazgq06a8B9jeRnfHD5VTR+Xrd+8OCsQUfaGLEq0=";
};
propagatedBuildInputs = [ pymorphy2 navec razdel slovnet yagry ipymarkup ];
nativeCheckInputs = [ pytestCheckHook ];
pytestFlagsArray = [ "tests/" ];
pythonImportCheck = [ "natasha" ];
meta = with lib; {
description = "NLP framework for Russian language";
homepage = "https://github.com/natasha/natasha";
license = licenses.mit;
maintainers = with maintainers; [ npatsakula ];
};
}

View File

@ -0,0 +1,32 @@
{ lib
, buildPythonPackage
, fetchPypi
, numpy
, razdel
, gensim
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "navec";
version = "0.10.0";
format = "setuptools";
src = fetchPypi {
inherit pname version;
hash = "sha256-TyNHSxwnmvbGBfhOeHPofEfKWLDFOKP50w2QxgnJ/SE=";
};
propagatedBuildInputs = [ numpy razdel ];
nativeCheckInputs = [ pytestCheckHook gensim ];
# TODO: remove when gensim usage will be fixed in `navec`.
disabledTests = [ "test_gensim" ];
pythonImportCheck = [ "navec" ];
meta = with lib; {
description = "Compact high quality word embeddings for Russian language";
homepage = "https://github.com/natasha/navec";
license = licenses.mit;
maintainers = with maintainers; [ npatsakula ];
};
}

View File

@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "pipenv-poetry-migrate";
version = "0.4.0";
version = "0.5.0";
format = "pyproject";
disabled = pythonOlder "3.8";
@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "yhino";
repo = "pipenv-poetry-migrate";
rev = "refs/tags/v${version}";
hash = "sha256-QNp+KYOJIKV1fROmIhnWgDXFU8CymXkS2p90bOEPeoQ=";
hash = "sha256-z5pBkB5J8FnuebMW4bPpk0cT2nd5bH/4PBR12g0lEQw=";
};
nativeBuildInputs = [

View File

@ -2,20 +2,38 @@
, buildPythonPackage
, fetchFromGitHub
, pytestCheckHook
, pythonOlder
, setuptools
, setuptools-scm
, ujson
}:
buildPythonPackage rec {
pname = "python-lsp-jsonrpc";
version = "1.0.0";
version = "1.1.1";
format = "pyproject";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "python-lsp";
repo = pname;
rev = "v${version}";
sha256 = "0h4bs8s4axcm0p02v59amz9sq3nr4zhzdgwq7iaw6awl27v1hd0i";
rev = "refs/tags/v${version}";
hash = "sha256-XTvnDTaP5oweGSq1VItq+SEv7S/LrQq4YP1XQc3bxbk=";
};
SETUPTOOLS_SCM_PRETEND_VERSION = version;
postPatch = ''
substituteInPlace pyproject.toml \
--replace "--cov-report html --cov-report term --junitxml=pytest.xml --cov pylsp_jsonrpc --cov test" ""
'';
nativeBuildInputs = [
setuptools
setuptools-scm
];
propagatedBuildInputs = [
ujson
];
@ -24,17 +42,14 @@ buildPythonPackage rec {
pytestCheckHook
];
postPatch = ''
substituteInPlace setup.cfg \
--replace "--cov-report html --cov-report term --junitxml=pytest.xml" "" \
--replace "--cov pylsp_jsonrpc --cov test" ""
'';
pythonImportsCheck = [ "pylsp_jsonrpc" ];
pythonImportsCheck = [
"pylsp_jsonrpc"
];
meta = with lib; {
description = "Python server implementation of the JSON RPC 2.0 protocol.";
description = "Python server implementation of the JSON RPC 2.0 protocol";
homepage = "https://github.com/python-lsp/python-lsp-jsonrpc";
changelog = "https://github.com/python-lsp/python-lsp-jsonrpc/blob/v${version}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};

Some files were not shown because too many files have changed in this diff Show More