Merge branch 'staging-next' into staging

This commit is contained in:
Artturin
2024-07-17 21:29:37 +03:00
91 changed files with 1689 additions and 17013 deletions
+19
View File
@@ -4892,6 +4892,12 @@
github = "Detegr";
githubId = 724433;
};
detroyejr = {
name = "Jonathan De Troye";
email = "detroyejr@outlook.com";
github = "detroyejr";
githubId = 12815411;
};
Dettorer = {
name = "Paul Hervot";
email = "paul.hervot@dettorer.net";
@@ -14441,6 +14447,12 @@
name = "Nicolas Goudry";
keys = [ { fingerprint = "21B6 A59A 4E89 0B1B 83E3 0CDB 01C8 8C03 5450 9AA9"; } ];
};
nicomem = {
email = "nix@nicomem.com";
github = "nicomem";
githubId = 24990385;
name = "Nicolas Mémeint";
};
nicoo = {
email = "nicoo@debian.org";
github = "nbraud";
@@ -22011,6 +22023,13 @@
github = "peterablehmann";
githubId = 36541313;
};
xinyangli = {
email = "lixinyang411@gmail.com";
matrix = "@me:xinyang.life";
github = "xinyangli";
githubId = 16359093;
name = "Xinyang Li";
};
xiorcale = {
email = "quentin.vaucher@pm.me";
github = "xiorcale";
@@ -10,6 +10,9 @@
This also allows configuring runtime settings of AMDVLK and enabling experimental features.
- The `moonlight-qt` package ([Moonlight game streaming](https://moonlight-stream.org/)) now has HDR support on Linux systems.
- `authelia` has been upgraded to version 4.38. This version brings several features and improvements which are detailed in the [release blog post](https://www.authelia.com/blog/4.38-release-notes/).
This release also deprecates some configuration keys, which are likely to be removed in future version 5.0, but they are still supported and expected to be working in the current version.
## New Services {#sec-release-24.11-new-services}
- [Open-WebUI](https://github.com/open-webui/open-webui), a user-friendly WebUI
+48 -13
View File
@@ -1,8 +1,43 @@
{ config, lib, utils, pkgs, ... }:
with lib;
let
inherit (lib)
any
attrNames
attrValues
concatMap
concatStrings
elem
filter
filterAttrs
flatten
flip
foldr
getAttr
hasAttr
id
length
listToAttrs
literalExpression
mapAttrs'
mapAttrsToList
match
mkAliasOptionModuleMD
mkDefault
mkIf
mkMerge
mkOption
mkRenamedOptionModule
optional
optionals
sort
stringAfter
stringLength
trace
types
xor
;
ids = config.ids;
cfg = config.users;
@@ -55,7 +90,7 @@ let
name = mkOption {
type = types.passwdEntry types.str;
apply = x: assert (builtins.stringLength x < 32 || abort "Username '${x}' is longer than 31 characters which is not allowed!"); x;
apply = x: assert (stringLength x < 32 || abort "Username '${x}' is longer than 31 characters which is not allowed!"); x;
description = ''
The name of the user account. If undefined, the name of the
attribute set will be used.
@@ -113,7 +148,7 @@ let
group = mkOption {
type = types.str;
apply = x: assert (builtins.stringLength x < 32 || abort "Group name '${x}' is longer than 31 characters which is not allowed!"); x;
apply = x: assert (stringLength x < 32 || abort "Group name '${x}' is longer than 31 characters which is not allowed!"); x;
default = "";
description = "The user's primary group.";
};
@@ -462,13 +497,13 @@ let
idsAreUnique = set: idAttr: !(foldr (name: args@{ dup, acc }:
let
id = builtins.toString (builtins.getAttr idAttr (builtins.getAttr name set));
exists = builtins.hasAttr id acc;
newAcc = acc // (builtins.listToAttrs [ { name = id; value = true; } ]);
id = toString (getAttr idAttr (getAttr name set));
exists = hasAttr id acc;
newAcc = acc // (listToAttrs [ { name = id; value = true; } ]);
in if dup then args else if exists
then builtins.trace "Duplicate ${idAttr} ${id}" { dup = true; acc = null; }
then trace "Duplicate ${idAttr} ${id}" { dup = true; acc = null; }
else { dup = false; acc = newAcc; }
) { dup = false; acc = {}; } (builtins.attrNames set)).dup;
) { dup = false; acc = {}; } (attrNames set)).dup;
uidsAreUnique = idsAreUnique (filterAttrs (n: u: u.uid != null) cfg.users) "uid";
gidsAreUnique = idsAreUnique (filterAttrs (n: g: g.gid != null) cfg.groups) "gid";
@@ -696,7 +731,7 @@ in {
'';
} else ""; # keep around for backwards compatibility
systemd.services.linger-users = lib.mkIf ((builtins.length lingeringUsers) > 0) {
systemd.services.linger-users = lib.mkIf ((length lingeringUsers) > 0) {
wantedBy = ["multi-user.target"];
after = ["systemd-logind.service"];
requires = ["systemd-logind.service"];
@@ -862,7 +897,7 @@ in {
[
{
assertion = (user.hashedPassword != null)
-> (builtins.match ".*:.*" user.hashedPassword == null);
-> (match ".*:.*" user.hashedPassword == null);
message = ''
The password hash of user "${user.name}" contains a ":" character.
This is invalid and would break the login system because the fields
@@ -927,7 +962,7 @@ in {
given above which can lead to surprising results. To resolve this warning,
set at most one of the options above to a non-`null` value.
'')
++ builtins.filter (x: x != null) (
++ filter (x: x != null) (
flip mapAttrsToList cfg.users (_: user:
# This regex matches a subset of the Modular Crypto Format (MCF)[1]
# informal standard. Since this depends largely on the OS or the
@@ -950,7 +985,7 @@ in {
in
if (allowsLogin user.hashedPassword
&& user.hashedPassword != "" # login without password
&& builtins.match mcf user.hashedPassword == null)
&& match mcf user.hashedPassword == null)
then ''
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
+1 -1
View File
@@ -145,7 +145,7 @@ in {
# https://github.com/krb5/krb5/blob/krb5-1.19.3-final/src/include/kcm.h#L43
listenStreams = [ "/var/run/.heim_org.h5l.kcm-socket" ];
};
krb5.libdefaults.default_ccache_name = "KCM:";
security.krb5.settings.libdefaults.default_ccache_name = "KCM:";
})
(mkIf cfg.sshAuthorizedKeysIntegration {
@@ -27,6 +27,7 @@ let
"bird"
"bitcoin"
"blackbox"
"borgmatic"
"buildkite-agent"
"collectd"
"deluge"
@@ -0,0 +1,34 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.services.prometheus.exporters.borgmatic;
in
{
port = 9996;
extraOpts.configFile = lib.mkOption {
type = lib.types.path;
default = "/etc/borgmatic/config.yaml";
description = ''
The path to the borgmatic config file
'';
};
serviceOpts = {
serviceConfig = {
DynamicUser = false;
ProtectSystem = false;
ProtectHome = lib.mkForce false;
ExecStart = ''
${pkgs.prometheus-borgmatic-exporter}/bin/borgmatic-exporter run \
--port ${toString cfg.port} \
--config ${toString cfg.configFile} \
${lib.concatMapStringsSep " " (f: lib.escapeShellArg f) cfg.extraFlags}
'';
};
};
}
+34 -14
View File
@@ -8,7 +8,6 @@ let
cfg = config.services.authelia;
format = pkgs.formats.yaml { };
configFile = format.generate "config.yml" cfg.settings;
autheliaOpts = with lib; { name, ... }: {
options = {
@@ -156,18 +155,12 @@ let
};
server = {
host = mkOption {
address = mkOption {
type = types.str;
default = "localhost";
example = "0.0.0.0";
default = "tcp://:9091/";
example = "unix:///var/run/authelia.sock?path=authelia&umask=0117";
description = "The address to listen on.";
};
port = mkOption {
type = types.port;
default = 9091;
description = "The port to listen on.";
};
};
log = {
@@ -233,6 +226,23 @@ let
};
};
};
writeOidcJwksConfigFile = oidcIssuerPrivateKeyFile: pkgs.writeText "oidc-jwks.yaml" ''
identity_providers:
oidc:
jwks:
- key: {{ secret "${oidcIssuerPrivateKeyFile}" | mindent 10 "|" | msquote }}
'';
# Remove an attribute in a nested set
# https://discourse.nixos.org/t/modify-an-attrset-in-nix/29919/5
removeAttrByPath = set: pathList:
lib.updateManyAttrsByPath [{
path = lib.init pathList;
update = old:
lib.filterAttrs (n: v: n != (lib.last pathList)) old;
}]
set;
in
{
options.services.authelia.instances = with lib; mkOption {
@@ -281,9 +291,19 @@ in
let
mkInstanceServiceConfig = instance:
let
cleanedSettings =
if (instance.settings.server?host || instance.settings.server?port || instance.settings.server?path) then
# Old settings are used: display a warning and remove the default value of server.address
# as authelia does not allow both old and new settings to be set
lib.warn "Please replace services.authelia.instances.${instance.name}.settings.{host,port,path} with services.authelia.instances.${instance.name}.settings.address, before release 5.0.0"
(removeAttrByPath instance.settings [ "server" "address" ])
else
instance.settings;
execCommand = "${instance.package}/bin/authelia";
configFile = format.generate "config.yml" instance.settings;
configArg = "--config ${builtins.concatStringsSep "," (lib.concatLists [[configFile] instance.settingsFiles])}";
configFile = format.generate "config.yml" cleanedSettings;
oidcJwksConfigFile = lib.optional (instance.secrets.oidcIssuerPrivateKeyFile != null) (writeOidcJwksConfigFile instance.secrets.oidcIssuerPrivateKeyFile);
configArg = "--config ${builtins.concatStringsSep "," (lib.concatLists [[configFile] instance.settingsFiles oidcJwksConfigFile])}";
in
{
description = "Authelia authentication and authorization server";
@@ -291,10 +311,10 @@ in
after = [ "network.target" ];
environment =
(lib.filterAttrs (_: v: v != null) {
AUTHELIA_JWT_SECRET_FILE = instance.secrets.jwtSecretFile;
X_AUTHELIA_CONFIG_FILTERS = lib.mkIf (oidcJwksConfigFile != [ ]) "template";
AUTHELIA_IDENTITY_VALIDATION_RESET_PASSWORD_JWT_SECRET_FILE = instance.secrets.jwtSecretFile;
AUTHELIA_STORAGE_ENCRYPTION_KEY_FILE = instance.secrets.storageEncryptionKeyFile;
AUTHELIA_SESSION_SECRET_FILE = instance.secrets.sessionSecretFile;
AUTHELIA_IDENTITY_PROVIDERS_OIDC_ISSUER_PRIVATE_KEY_FILE = instance.secrets.oidcIssuerPrivateKeyFile;
AUTHELIA_IDENTITY_PROVIDERS_OIDC_HMAC_SECRET_FILE = instance.secrets.oidcHmacSecretFile;
})
// instance.environmentVariables;
+20
View File
@@ -177,6 +177,26 @@ let
'';
};
borgmatic = {
exporterConfig = {
enable = true;
user = "root";
};
metricProvider = {
services.borgmatic.enable = true;
services.borgmatic.settings.source_directories = [ "/home" ];
services.borgmatic.settings.repositories = [ { label = "local"; path = "/var/backup"; } ];
services.borgmatic.settings.keep_daily = 10;
};
exporterTest = ''
succeed("borgmatic rcreate -e none")
succeed("borgmatic")
wait_for_unit("prometheus-borgmatic-exporter.service")
wait_for_open_port(9996)
succeed("curl -sSf localhost:9996/metrics | grep 'borg_total_backups{repository=\"/var/backup\"} 1'")
'';
};
collectd = {
exporterConfig = {
enable = true;
@@ -8,7 +8,7 @@
let
pname = "trezor-suite";
version = "24.6.2";
version = "24.7.2";
suffix = {
aarch64-linux = "linux-arm64";
@@ -18,8 +18,8 @@ let
src = fetchurl {
url = "https://github.com/trezor/trezor-suite/releases/download/v${version}/Trezor-Suite-${version}-${suffix}.AppImage";
hash = { # curl -Lfs https://github.com/trezor/trezor-suite/releases/download/v${version}/latest-linux{-arm64,}.yml | grep ^sha512 | sed 's/: /-/'
aarch64-linux = "sha512-fJnka//9DbvTTq7GEN++6thU8f8BL4cHh1J4P/Tu9Eu94KWCHDG2IwFALOXEvZnwLbxFYiu3Cqldp2RIxYFXTA==";
x86_64-linux = "sha512-/gRQR1EriiwrDj04BTnhXlsawJgHp6TqgHpgVCMO1r+U2zGiFLdNfwG/SYwARE+55X8Umls5hCt/wuCpTEPkEg==";
aarch64-linux = "sha512-RYkRav7U7WUbZuSvwuWf+IvKgkpUYrclW5vzINcVp/Wzqj3Brl0Cb1fC4dFe7c/UyE/K1oQ4++zd2dHJu6gxEQ==";
x86_64-linux = "sha512-WmdH3IC+9tbSLtQirmawi6vgtR7GoFceN2FdZ94rGtCkrvhi9STz5RHfZAljyQfRZ9Xx+DlTChZrsWA6DNqBpg==";
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
};
@@ -33,20 +33,14 @@ in
emacs-conflict = callPackage ./manual-packages/emacs-conflict { };
ess-R-object-popup = callPackage ./manual-packages/ess-R-object-popup { };
evil-markdown = callPackage ./manual-packages/evil-markdown { };
font-lock-plus = callPackage ./manual-packages/font-lock-plus { };
ghc-mod = callPackage ./manual-packages/ghc-mod { };
git-undo = callPackage ./manual-packages/git-undo { };
grid = callPackage ./manual-packages/grid { };
haskell-unicode-input-method = callPackage ./manual-packages/haskell-unicode-input-method { };
helm-words = callPackage ./manual-packages/helm-words { };
idris2-mode = callPackage ./manual-packages/idris2-mode { };
@@ -122,3 +116,9 @@ in
rectMark = self.rect-mark;
sunriseCommander = self.sunrise-commander;
}
### Aliases
// lib.optionalAttrs pkgs.config.allowAliases {
ess-R-object-popup = throw "emacsPackages.ess-R-object-popup was deleted, since the upstream repo looks abandoned."; # Added 2024-07-15
ghc-mod = throw "emacsPackages.ghc-mod was deleted because it is deprecated, use haskell-language-server instead."; # Added 2024-07-17
haskell-unicode-input-method = throw "emacsPackages.haskell-unicode-input-method is contained in emacsPackages.haskell-mode, please use that instead."; # Added 2024-07-17
}
@@ -1,8 +1,8 @@
{ lib
, melpaBuild
, lsp-bridge
, yasnippet
, writeText
{
lib,
melpaBuild,
lsp-bridge,
yasnippet,
}:
melpaBuild {
@@ -10,23 +10,18 @@ melpaBuild {
version = lsp-bridge.version;
src = lsp-bridge.src;
commit = lsp-bridge.src.rev;
packageRequires = [
yasnippet
];
packageRequires = [ yasnippet ];
recipe = writeText "recipe" ''
(acm
:repo "manateelazycat/lsp-bridge"
:fetcher github
:files ("acm/*.el" "acm/icons"))
'';
files = ''("acm/*.el" "acm/icons")'';
meta = with lib; {
meta = {
description = "Asynchronous Completion Menu";
homepage = "https://github.com/manateelazycat/lsp-bridge";
license = licenses.gpl3Only;
maintainers = with maintainers; [ fxttr kira-bruneau ];
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [
fxttr
kira-bruneau
];
};
}
@@ -1,29 +0,0 @@
{ trivialBuild
, fetchFromGitHub
, emacs
, popup
, ess
}:
trivialBuild rec {
pname = "ess-R-object-popup";
version = "1.0";
src = fetchFromGitHub {
owner = "myuhe";
repo = "ess-R-object-popup.el";
rev = "v${version}";
hash = "sha256-YN8ZLXEbwTFdFfovkV2IXV9v6y/PTgCdiRQqbpRaF2E=";
};
packageRequires = [
popup
ess
];
meta = {
homepage = "https://github.com/myuhe/ess-R-object-popup.el";
description = "Popup descriptions of R objects";
inherit (emacs.meta) platforms;
};
}
@@ -1,25 +0,0 @@
{ lib
, melpaBuild
, haskell-mode
, haskellPackages
, writeText
}:
melpaBuild {
pname = "ghc";
inherit (haskellPackages.ghc-mod) version src;
packageRequires = [ haskell-mode ];
propagatedUserEnvPkgs = [ haskellPackages.ghc-mod ];
recipe = writeText "recipe" ''
(ghc-mod :repo "DanielG/ghc-mod" :fetcher github :files ("elisp/*.el"))
'';
meta = {
description = "Extension of haskell-mode that provides completion of symbols and documentation browsing";
license = lib.licenses.bsd3;
};
}
@@ -1,34 +0,0 @@
{ lib
, melpaBuild
, fetchFromGitHub
, writeText
}:
let
rev = "d8d168148c187ed19350bb7a1a190217c2915a63";
in melpaBuild {
pname = "haskell-unicode-input-method";
version = "20110905.2307";
commit = rev;
src = fetchFromGitHub {
owner = "roelvandijk";
repo = "emacs-haskell-unicode-input-method";
inherit rev;
sha256 = "09b7bg2s9aa4s8f2kdqs4xps3jxkq5wsvbi87ih8b6id38blhf78";
};
recipe = writeText "recipe" ''
(haskell-unicode-input-method
:repo "roelvandijk/emacs-haskell-unicode-input-method"
:fetcher github)
'';
packageRequires = [];
meta = {
homepage = "https://melpa.org/#haskell-unicode-input-method/";
license = lib.licenses.free;
};
}
@@ -1,36 +1,22 @@
{ lib
, melpaBuild
, fetchFromGitLab
, writeText
, unstableGitUpdater
{
lib,
melpaBuild,
fetchFromGitLab,
unstableGitUpdater,
}:
let
melpaBuild {
pname = "ligo-mode";
version = "1.7.1-unstable-2024-06-28";
commit = "a62dff504867c4c4d9e0047114568a6e6b1eb291";
in
melpaBuild {
inherit pname version commit;
src = fetchFromGitLab {
owner = "ligolang";
repo = "ligo";
rev = commit;
rev = "a62dff504867c4c4d9e0047114568a6e6b1eb291";
hash = "sha256-YnI2sZCE5rStWsQYY/D+Am1rep4UdK28rlmPMmJeY50=";
};
packageRequires = [ ];
buildInputs = [ ];
checkInputs = [ ];
recipe = writeText "recipe" ''
(ligo-mode :fetcher gitlab
:repo "ligolang/ligo"
:files ("tools/emacs/ligo-mode.el"))
'';
files = ''("tools/emacs/ligo-mode.el")'';
passthru.updateScript = unstableGitUpdater { };
@@ -1,45 +1,44 @@
{ lib
, python3
, melpaBuild
, fetchFromGitHub
, substituteAll
, acm
, markdown-mode
, git
, go
, gopls
, pyright
, ruff
, tempel
, writeScript
, writeText
{
lib,
python3,
melpaBuild,
fetchFromGitHub,
substituteAll,
acm,
markdown-mode,
git,
go,
gopls,
pyright,
ruff,
tempel,
unstableGitUpdater,
}:
let
rev = "9e88e660d717ba597d9fe9366cf4278674734410";
python = python3.withPackages (ps: with ps; [
epc
orjson
paramiko
rapidfuzz
setuptools
sexpdata
six
]);
python = python3.withPackages (
ps: with ps; [
epc
orjson
paramiko
rapidfuzz
setuptools
sexpdata
six
]
);
in
melpaBuild {
pname = "lsp-bridge";
version = "20240629.1404";
version = "0-unstable-2024-06-29";
src = fetchFromGitHub {
owner = "manateelazycat";
repo = "lsp-bridge";
inherit rev;
rev = "9e88e660d717ba597d9fe9366cf4278674734410";
hash = "sha256-qpetTKZDQjoofp8ggothYALQBpwLjuNxCq46Pe4oZZA=";
};
commit = rev;
patches = [
# Hardcode the python dependencies needed for lsp-bridge, so users
# don't have to modify their global environment
@@ -64,17 +63,13 @@ melpaBuild {
tempel
];
recipe = writeText "recipe" ''
(lsp-bridge
:repo "manateelazycat/lsp-bridge"
:fetcher github
:files
("*.el"
"lsp_bridge.py"
"core"
"langserver"
"multiserver"
"resources"))
files = ''
("*.el"
"lsp_bridge.py"
"core"
"langserver"
"multiserver"
"resources")
'';
doCheck = true;
@@ -91,27 +86,15 @@ melpaBuild {
__darwinAllowLocalNetworking = true;
passthru.updateScript = writeScript "update.sh" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p common-updater-scripts coreutils git gnused
set -eu -o pipefail
passthru.updateScript = unstableGitUpdater { hardcodeZeroVersion = true; };
tmpdir="$(mktemp -d)"
git clone --depth=1 https://github.com/manateelazycat/lsp-bridge.git "$tmpdir"
pushd "$tmpdir"
commit=$(git show -s --pretty='format:%H')
# Based on: https://github.com/melpa/melpa/blob/2d8716906a0c9e18d6c979d8450bf1d15dd785eb/package-build/package-build.el#L523-L533
version=$(TZ=UTC git show -s --pretty='format:%cd' --date='format-local:%Y%m%d.%H%M' | sed 's|\.0*|.|')
popd
update-source-version emacsPackages.lsp-bridge $version --rev="$commit"
'';
meta = with lib; {
meta = {
description = "Blazingly fast LSP client for Emacs";
homepage = "https://github.com/manateelazycat/lsp-bridge";
license = licenses.gpl3Only;
maintainers = with maintainers; [ fxttr kira-bruneau ];
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [
fxttr
kira-bruneau
];
};
}
@@ -1,89 +0,0 @@
{ lib
, pkgs
, melpaBuild
, substituteAll
}:
# To use this package with emacs-overlay:
# nixpkgs.overlays = [
# inputs.emacs-overlay.overlay
# (final: prev: {
# emacs30 = prev.emacsGit.overrideAttrs (old: {
# name = "emacs30";
# version = inputs.emacs-upstream.shortRev;
# src = inputs.emacs-upstream;
# });
# emacsWithConfig = prev.emacsWithPackagesFromUsePackage {
# config = let
# readRecursively = dir:
# builtins.concatStringsSep "\n"
# (lib.mapAttrsToList (name: value:
# if value == "regular"
# then builtins.readFile (dir + "/${name}")
# else
# (
# if value == "directory"
# then readRecursively (dir + "/${name}")
# else []
# ))
# (builtins.readDir dir));
# in
# # your home-manager config
# readRecursively ./home/modules/emacs;
# alwaysEnsure = true;
# package = final.emacs30;
# extraEmacsPackages = epkgs: [
# epkgs.use-package
# (epkgs.melpaBuild rec {
# # ...
# })
# ];
# override = epkgs:
# epkgs
# // {
# # ...
# };
# };
# })
# ];
melpaBuild rec {
pname = "mind-wave";
version = "20230523.0332"; # 03:32 UTC
src = pkgs.fetchFromGitHub {
owner = "manateelazycat";
repo = "mind-wave";
rev = "5109162b74872091c5090a28389bef8f7020274c";
sha256 = "sha256-ZyXrpb0GLWSGnMsVIGL9qALSBCeIWNF0UwkCFgCKnu8=";
};
commit = "5109162b74872091c5090a28389bef8f7020274c";
# elisp dependencies
packageRequires = [
pkgs.emacsPackages.markdown-mode
];
buildInputs = [
(pkgs.python3.withPackages (ps:
with ps; [
openai
epc
sexpdata
six
]))
];
recipe = pkgs.writeText "recipe" ''
(mind-wave
:repo "manateelazycat/mind-wave"
:fetcher github
:files
("mind-wave.el"
"mind-wave-epc.el"
"mind_wave.py"
"utils.py"))
'';
doCheck = true;
passthru.updateScript = pkgs.unstableGitUpdater {};
meta = with lib; {
description = " Emacs AI plugin based on ChatGPT API ";
homepage = "https://github.com/manateelazycat/mind-wave";
license = licenses.gpl3Only;
maintainers = with maintainers; [yuzukicat];
};
}
@@ -1,24 +1,22 @@
# Manually packaged until it is upstreamed to melpa
# See https://github.com/devonsparks/wat-mode/issues/1
{ lib, melpaBuild, fetchFromGitHub, writeText }:
{
lib,
melpaBuild,
fetchFromGitHub,
}:
melpaBuild rec {
melpaBuild {
pname = "wat-mode";
version = "20220713.1";
version = "0-unstable-2022-07-13";
src = fetchFromGitHub {
owner = "devonsparks";
repo = pname;
repo = "wat-mode";
rev = "46b4df83e92c585295d659d049560dbf190fe501";
hash = "sha256-jV5V3TRY+D3cPSz3yFwVWn9yInhGOYIaUTPEhsOBxto=";
};
commit = "46b4df83e92c585295d659d049560dbf190fe501";
recipe = writeText "recipe" ''
(wat-mode :repo "devonsparks/wat-mode" :fetcher github)
'';
meta = {
homepage = "https://github.com/devonsparks/wat-mode";
description = "Emacs major mode for WebAssembly's text format";
@@ -1,6 +1,6 @@
{
"name": "rust-analyzer",
"version": "0.3.1850",
"version": "0.3.2029",
"dependencies": {
"@hpcc-js/wasm": "^2.13.0",
"anser": "^2.1.1",
@@ -21,13 +21,13 @@ let
# Use the plugin version as in vscode marketplace, updated by update script.
inherit (vsix) version;
releaseTag = "2024-02-19";
releaseTag = "2024-07-08";
src = fetchFromGitHub {
owner = "rust-lang";
repo = "rust-analyzer";
rev = releaseTag;
hash = "sha256-Oj/RPMridKpYt3eRqUIPg9YNrj6npG8THIGuWjsamnE=";
hash = "sha256-STmaV9Zu74QtkGGrbr9uMhskwagfCjJqOAYapXabiuk=";
};
build-deps =
@@ -67,9 +67,7 @@ let
' package.json | sponge package.json
mkdir -p $vsix
# vsce ask for continue due to missing LICENSE.md
# Should be removed after https://github.com/rust-lang/rust-analyzer/commit/acd5c1f19bf7246107aaae7b6fe3f676a516c6d2
echo y | npx vsce package -o $vsix/${pname}.zip
npx vsce package -o $vsix/${pname}.zip
'';
};
in
@@ -87,7 +85,7 @@ vscode-utils.buildVscodeExtension {
];
preInstall = lib.optionalString setDefaultServerPath ''
jq '.contributes.configuration.properties."rust-analyzer.server.path".default = $s' \
jq '(.contributes.configuration[] | select(.title == "server") | .properties."rust-analyzer.server.path".default) = $s' \
--arg s "${rust-analyzer}/bin/rust-analyzer" \
package.json | sponge package.json
'';
@@ -10,8 +10,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "sourcery";
publisher = "sourcery";
version = "1.19.0";
hash = "sha256-Wit2ozgaVwINL3PvPfmZWQ4WN7seQMWfXwXGgEKecn0=";
version = "1.21.0";
hash = "sha256-CnQiViKPmhnPFrhYC2sJV4Y0v4UyOD5kB0PXK7USfSY=";
};
postPatch = ''
@@ -12,6 +12,7 @@
, python3
, meson
, ninja
, versionCheckHook
, wrapGAppsHook3
, intltool
, itstool
@@ -19,13 +20,13 @@
stdenv.mkDerivation rec {
pname = "xed-editor";
version = "3.6.4";
version = "3.6.5";
src = fetchFromGitHub {
owner = "linuxmint";
repo = "xed";
rev = version;
sha256 = "sha256-EwBcgFHw6Mh+eS5hfTLoywH0dVt/TpNt4y6xQxe/x/Q=";
sha256 = "sha256-FG8SlMyhee0W88Pt3oW1tsFyy/KeCOE+QlDbE6hzjcg=";
};
patches = [
@@ -41,6 +42,7 @@ stdenv.mkDerivation rec {
itstool
ninja
python3
versionCheckHook
wrapGAppsHook3
];
@@ -55,14 +57,7 @@ stdenv.mkDerivation rec {
];
doInstallCheck = true;
installCheckPhase = ''
if [[ "$($out/bin/xed --version)" == "xed - Version ${version}" ]] ; then
echo "${pname} smoke test passed"
else
echo "${pname} smoke test failed"
return 1
fi
'';
versionCheckProgram = "${placeholder "out"}/bin/xed";
meta = with lib; {
description = "Light weight text editor from Linux Mint";
@@ -1,58 +0,0 @@
diff --git a/cq_editor/widgets/debugger.py b/cq_editor/widgets/debugger.py
index b7398fb..d039db5 100644
--- a/cq_editor/widgets/debugger.py
+++ b/cq_editor/widgets/debugger.py
@@ -162,7 +162,7 @@ class Debugger(QObject,ComponentMixin):
def get_breakpoints(self):
- return self.parent().components['editor'].get_breakpoints()
+ return self.parent().components['editor'].debugger.get_breakpoints()
def compile_code(self,cq_script):
@@ -178,12 +178,14 @@ class Debugger(QObject,ComponentMixin):
def _exec(self, code, locals_dict, globals_dict):
with ExitStack() as stack:
- p = Path(self.parent().components['editor'].filename).dirname()
- if self.preferences['Add script dir to path'] and p:
+ fname = self.parent().components['editor'].filename
+ p = Path(fname if fname else '').abspath().dirname()
+ if self.preferences['Add script dir to path'] and p.exists():
sys.path.append(p)
stack.callback(sys.path.remove, p)
- if self.preferences['Change working dir to script dir'] and p:
+ if self.preferences['Change working dir to script dir'] and p.exists():
stack.enter_context(p)
+
exec(code, locals_dict, globals_dict)
def _inject_locals(self,module):
diff --git a/cq_editor/widgets/editor.py b/cq_editor/widgets/editor.py
index 45aa048..2763469 100644
--- a/cq_editor/widgets/editor.py
+++ b/cq_editor/widgets/editor.py
@@ -1,4 +1,4 @@
-from spyder.widgets.sourcecode.codeeditor import CodeEditor
+from spyder.plugins.editor.widgets.codeeditor import CodeEditor
from PyQt5.QtCore import pyqtSignal, QFileSystemWatcher, QTimer
from PyQt5.QtWidgets import QAction, QFileDialog
from PyQt5.QtGui import QFontDatabase
@@ -32,6 +32,8 @@ class Editor(CodeEditor,ComponentMixin):
def __init__(self,parent=None):
+ self._watched_file = None
+
super(Editor,self).__init__(parent)
ComponentMixin.__init__(self)
@@ -83,7 +85,6 @@ class Editor(CodeEditor,ComponentMixin):
# autoreload support
self._file_watcher = QFileSystemWatcher(self)
- self._watched_file = None
# we wait for 50ms after a file change for the file to be written completely
self._file_watch_timer = QTimer(self)
self._file_watch_timer.setInterval(50)
@@ -7,13 +7,13 @@
buildGoModule rec {
pname = "cloudflared";
version = "2024.6.1";
version = "2024.7.1";
src = fetchFromGitHub {
owner = "cloudflare";
repo = "cloudflared";
rev = "refs/tags/${version}";
hash = "sha256-hgZ9+ltS7y5nOPdGFnql4KzgBXh5zgAfXLJy8REOY8o=";
hash = "sha256-VJJN2hWmgjnBy8FhQn3c91BLx8NU3TvRgxKoanFs+GM=";
};
vendorHash = null;
+66 -39
View File
@@ -1,31 +1,46 @@
{ stdenv
, lib
, fetchzip
, autoPatchelfHook
, makeWrapper
, copyDesktopItems
, makeDesktopItem
, gtk3
, xdg-user-dirs
, keybinder3
, libnotify
{
stdenvNoCC,
lib,
fetchzip,
autoPatchelfHook,
makeWrapper,
copyDesktopItems,
makeDesktopItem,
gtk3,
xdg-user-dirs,
keybinder3,
libnotify,
}:
stdenv.mkDerivation rec {
let
dist =
rec {
x86_64-linux = {
urlSuffix = "linux-x86_64.tar.gz";
hash = "sha256-PVlHPjr6aUkTp9x4MVC8cgebmdaUQXX6eV0/LfAmiJc=";
};
x86_64-darwin = {
urlSuffix = "macos-universal.zip";
hash = "sha256-gx+iMo2611uoR549gpBoHlp2h6zQtugPZnU9qbH6VIQ=";
};
aarch64-darwin = x86_64-darwin;
}
."${stdenvNoCC.hostPlatform.system}";
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "appflowy";
version = "0.6.4";
src = fetchzip {
url = "https://github.com/AppFlowy-IO/appflowy/releases/download/${version}/AppFlowy-${version}-linux-x86_64.tar.gz";
hash = "sha256-PVlHPjr6aUkTp9x4MVC8cgebmdaUQXX6eV0/LfAmiJc=";
url = "https://github.com/AppFlowy-IO/appflowy/releases/download/${finalAttrs.version}/AppFlowy-${finalAttrs.version}-${dist.urlSuffix}";
inherit (dist) hash;
stripRoot = false;
};
nativeBuildInputs = [
autoPatchelfHook
makeWrapper
copyDesktopItems
];
] ++ lib.optionals stdenvNoCC.isLinux [ autoPatchelfHook ];
buildInputs = [
gtk3
@@ -36,35 +51,47 @@ stdenv.mkDerivation rec {
dontBuild = true;
dontConfigure = true;
installPhase = ''
runHook preInstall
installPhase =
lib.optionalString stdenvNoCC.isLinux ''
runHook preInstall
cd AppFlowy/
cd AppFlowy/
mkdir -p $out/opt/
mkdir -p $out/bin/
mkdir -p $out/{bin,opt}
# Copy archive contents to the outpout directory
cp -r ./* $out/opt/
# Copy archive contents to the outpout directory
cp -r ./* $out/opt/
# Copy icon
install -Dm444 data/flutter_assets/assets/images/flowy_logo.svg $out/share/icons/hicolor/scalable/apps/appflowy.svg
# Copy icon
install -Dm444 data/flutter_assets/assets/images/flowy_logo.svg $out/share/icons/hicolor/scalable/apps/appflowy.svg
runHook postInstall
'';
runHook postInstall
''
+ lib.optionalString stdenvNoCC.isDarwin ''
runHook preInstall
preFixup = ''
# Add missing libraries to appflowy using the ones it comes with
makeWrapper $out/opt/AppFlowy $out/bin/appflowy \
--set LD_LIBRARY_PATH "$out/opt/lib/" \
--prefix PATH : "${lib.makeBinPath [ xdg-user-dirs ]}"
'';
mkdir -p $out/{Applications,bin}
cp -r ./AppFlowy.app $out/Applications/
desktopItems = [
runHook postInstall
'';
preFixup =
lib.optionalString stdenvNoCC.isLinux ''
# Add missing libraries to appflowy using the ones it comes with
makeWrapper $out/opt/AppFlowy $out/bin/appflowy \
--set LD_LIBRARY_PATH "$out/opt/lib/" \
--prefix PATH : "${lib.makeBinPath [ xdg-user-dirs ]}"
''
+ lib.optionalString stdenvNoCC.isDarwin ''
makeWrapper $out/Applications/AppFlowy.app/Contents/MacOS/AppFlowy $out/bin/appflowy
'';
desktopItems = lib.optionals stdenvNoCC.isLinux [
(makeDesktopItem {
name = pname;
name = "appflowy";
desktopName = "AppFlowy";
comment = meta.description;
comment = finalAttrs.meta.description;
exec = "appflowy";
icon = "appflowy";
categories = [ "Office" ];
@@ -76,9 +103,9 @@ stdenv.mkDerivation rec {
homepage = "https://www.appflowy.io/";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.agpl3Only;
changelog = "https://github.com/AppFlowy-IO/appflowy/releases/tag/${version}";
changelog = "https://github.com/AppFlowy-IO/appflowy/releases/tag/${finalAttrs.version}";
maintainers = with maintainers; [ darkonion0 ];
platforms = [ "x86_64-linux" ];
platforms = [ "x86_64-linux" ] ++ platforms.darwin;
mainProgram = "appflowy";
};
}
})
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "git-credential-oauth";
version = "0.12.1";
version = "0.13.0";
src = fetchFromGitHub {
owner = "hickford";
repo = pname;
rev = "v${version}";
hash = "sha256-iDnTjrVDH8qBYkvNjLHYmTaK8vScluDM4+W/5Rdo+Xc=";
hash = "sha256-hCZZPbkbkZcR2xFTECQWJl2MvSu8MnOznadaj0nKfSo=";
};
nativeBuildInputs = [ installShellFiles ];
+5 -6
View File
@@ -19,13 +19,12 @@
## Extensions
There are two sets of extensions: the one in `extensions-generated.nix` is generated with the script
`query-extension-index.sh`. These are extensions that don't have external requirements and thus can
be easily maintained and updated. The set should only be manipulated through an update based on the
script output.
There are two sets of extensions:
The other set of extensions is in `extensions-manual.nix`. These are extensions with requirements,
which need to be packaged and maintained manually.
- `extensions-generated.nix` are extensions with no external requirements, which can be regenerated running:
> nix run .#azure-cli.passthru.generate-extensions
- `extensions-manual.nix` are extensions with requirements, which need to be manually packaged and maintained.
### Adding an extension to `extensions-manual.nix`
@@ -1,11 +1,13 @@
# This file packages Azure CLI extensions that don't have any requirements.
# Extensions with requirements should be placed in another file, so this one
# can be re-generated during update.
#
# Attributes were generated using the query-extension-index.sh script:
# ./query-extension-index.sh --requirements=false --download --nix --cli-version=<version>
# This file is automatically generated. DO NOT EDIT! Read README.md
{ mkAzExtension }:
{
acat = mkAzExtension rec {
pname = "acat";
version = "1.0.0b1";
url = "https://azcliprod.blob.core.windows.net/cli-extensions/acat-${version}-py3-none-any.whl";
sha256 = "9c228e93fdda531137ba6e5abad2b48577cf58512e4be0dee51cef111267327a";
description = "Microsoft Azure Command-Line Tools Acat Extension";
};
account = mkAzExtension rec {
pname = "account";
version = "0.2.5";
@@ -57,9 +59,9 @@
};
aks-preview = mkAzExtension rec {
pname = "aks-preview";
version = "5.0.0b3";
version = "6.0.0b1";
url = "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-${version}-py2.py3-none-any.whl";
sha256 = "ff3f4cb237c87040662306e3b46bfaabde9ea4e7d3c23be55f3a829baf8404d0";
sha256 = "2e04cfef1cb404760006d73786c57259f8e5c92bc42b9eaca7314301ce0ba1a4";
description = "Provides a preview for upcoming AKS features";
};
akshybrid = mkAzExtension rec {
@@ -169,9 +171,9 @@
};
bastion = mkAzExtension rec {
pname = "bastion";
version = "1.0.1";
version = "1.0.2";
url = "https://azcliprod.blob.core.windows.net/cli-extensions/bastion-${version}-py3-none-any.whl";
sha256 = "dbeef63e7b5c45028b7362709f9b41b250fe8d611b21baa00b8839d86848dc3e";
sha256 = "1637b37374e8956d555ee89e005ceb952aed4e754b93a8ec887a4f90ce4e36f8";
description = "Microsoft Azure Command-Line Tools Bastion Extension";
};
billing-benefits = mkAzExtension rec {
@@ -559,6 +561,13 @@
sha256 = "0680948362e12138c9582e68e471533482749bd660bfe3c8c2a4d856e90927b0";
description = "Microsoft Azure Command-Line Tools StorageImportExport Extension";
};
informatica = mkAzExtension rec {
pname = "informatica";
version = "1.0.0b1";
url = "https://azcliprod.blob.core.windows.net/cli-extensions/informatica-${version}-py3-none-any.whl";
sha256 = "6166ae91c78e74c01af3bd1ead2d62832707e176ea0f7d5d30a5dd485f482462";
description = "Microsoft Azure Command-Line Tools Informatica Extension";
};
init = mkAzExtension rec {
pname = "init";
version = "0.1.0";
@@ -673,9 +682,9 @@
};
monitor-control-service = mkAzExtension rec {
pname = "monitor-control-service";
version = "1.1.0";
version = "1.2.0";
url = "https://azcliprod.blob.core.windows.net/cli-extensions/monitor_control_service-${version}-py3-none-any.whl";
sha256 = "d155c671cd3ba0799c7ecba590804c557e832f3714f7ce247fc1e34fa61f2225";
sha256 = "3151a341845d053a4be45d9b7c04e1e15b88503ab6b110163a12b9aee6fd3cd9";
description = "Microsoft Azure Command-Line Tools MonitorClient Extension";
};
network-analytics = mkAzExtension rec {
@@ -799,9 +808,9 @@
};
redisenterprise = mkAzExtension rec {
pname = "redisenterprise";
version = "0.1.4";
version = "1.0.0";
url = "https://azcliprod.blob.core.windows.net/cli-extensions/redisenterprise-${version}-py3-none-any.whl";
sha256 = "cb59ab44eb12b51ecc62f8a5b6302d166be5d6388cf8ff21bc49f2829128d031";
sha256 = "e43737fefbb1205970254f369b0f0c33fbfd5b82d64eb2025228eb3a07bed3e7";
description = "Microsoft Azure Command-Line Tools RedisEnterprise Extension";
};
reservation = mkAzExtension rec {
@@ -1009,9 +1018,9 @@
};
vm-repair = mkAzExtension rec {
pname = "vm-repair";
version = "1.0.6";
version = "1.0.7";
url = "https://azcliprod.blob.core.windows.net/cli-extensions/vm_repair-${version}-py2.py3-none-any.whl";
sha256 = "c3fe396c4c769095f68fe765505e40ff4671b192e1a6daee584749044a906ca7";
sha256 = "989b15053fe19f1dbb37fd4a31720e2a1ca622ecadaaa4b5c568c44e44c20fa6";
description = "Auto repair commands to fix VMs";
};
vmware = mkAzExtension rec {
+37 -61
View File
@@ -8,6 +8,7 @@
runCommand,
installShellFiles,
python311,
writeScriptBin,
# Whether to include patches that enable placing certain behavior-defining
# configuration files in the Nix store.
@@ -106,19 +107,16 @@ py.pkgs.toPythonApplication (
nativeBuildInputs = [ installShellFiles ];
# Dependencies from:
# https://github.com/Azure/azure-cli/blob/azure-cli-2.62.0/src/azure-cli/setup.py#L52
# Please, keep ordered by upstream file order. It facilitates reviews.
propagatedBuildInputs =
with py.pkgs;
[
antlr4-python3-runtime
applicationinsights
argcomplete
asn1crypto
azure-appconfiguration
azure-batch
azure-cli-core
azure-cli-telemetry
azure-common
azure-core
azure-cosmos
azure-data-tables
azure-datalake-store
@@ -127,29 +125,24 @@ py.pkgs.toPythonApplication (
azure-keyvault-certificates
azure-keyvault-keys
azure-keyvault-secrets
azure-loganalytics
azure-mgmt-advisor
azure-mgmt-apimanagement
azure-mgmt-appconfiguration
azure-mgmt-appcontainers
azure-mgmt-applicationinsights
azure-mgmt-authorization
azure-mgmt-batch
azure-mgmt-batchai
azure-mgmt-batch
azure-mgmt-billing
azure-mgmt-botservice
azure-mgmt-cdn
azure-mgmt-cognitiveservices
azure-mgmt-compute
azure-mgmt-consumption
azure-mgmt-containerinstance
azure-mgmt-containerregistry
azure-mgmt-containerservice
azure-mgmt-core
azure-mgmt-cosmosdb
azure-mgmt-databoxedge
azure-mgmt-datalake-nspkg
azure-mgmt-datalake-store
azure-mgmt-datamigration
azure-mgmt-devtestlabs
azure-mgmt-dns
@@ -164,8 +157,8 @@ py.pkgs.toPythonApplication (
azure-mgmt-keyvault
azure-mgmt-kusto
azure-mgmt-loganalytics
azure-mgmt-managementgroups
azure-mgmt-managedservices
azure-mgmt-managementgroups
azure-mgmt-maps
azure-mgmt-marketplaceordering
azure-mgmt-media
@@ -175,81 +168,55 @@ py.pkgs.toPythonApplication (
azure-mgmt-policyinsights
azure-mgmt-privatedns
azure-mgmt-rdbms
azure-mgmt-recoveryservices
azure-mgmt-recoveryservicesbackup
azure-mgmt-redhatopenshift
azure-mgmt-recoveryservices
azure-mgmt-redis
azure-mgmt-relay
azure-mgmt-redhatopenshift
azure-mgmt-resource
azure-mgmt-search
azure-mgmt-security
azure-mgmt-servicebus
azure-mgmt-servicefabric
azure-mgmt-servicefabricmanagedclusters
azure-mgmt-servicelinker
azure-mgmt-sql
azure-mgmt-servicefabric
azure-mgmt-signalr
azure-mgmt-sqlvirtualmachine
azure-mgmt-sql
azure-mgmt-storage
azure-mgmt-synapse
azure-mgmt-trafficmanager
azure-mgmt-web
azure-monitor-query
azure-multiapi-storage
azure-nspkg
azure-storage-common
azure-storage-blob
azure-synapse-accesscontrol
azure-synapse-artifacts
azure-synapse-managedprivateendpoints
azure-synapse-spark
bcrypt
certifi
cffi
chardet
colorama
cryptography
distro
]
++ lib.optional stdenv.isLinux distro
++ [
fabric
humanfriendly
idna
invoke
isodate
javaproperties
jinja2
jmespath
jsondiff
knack
markupsafe
msal-extensions
msal
msrest
msrestazure
oauthlib
packaging
paramiko
pbr
pkginfo
portalocker
psutil
pycomposefile
pycparser
pygithub
pyjwt
pynacl
pyopenssl
python-dateutil
requests-oauthlib
requests
scp
semver
setuptools
six
sshtunnel
tabulate
urllib3
wcwidth
websocket-client
xmltodict
# Other dependencies
pyopenssl # Used at: https://github.com/Azure/azure-cli/blob/azure-cli-2.62.0/src/azure-cli/azure/cli/command_modules/servicefabric/custom.py#L11
setuptools # ModuleNotFoundError: No module named 'pkg_resources'
]
++ lib.optionals (!withImmutableConfig) [
# pip is required to install extensions locally, but it's not needed if
@@ -311,7 +278,6 @@ py.pkgs.toPythonApplication (
"azure.datalake.store"
"azure.graphrbac"
"azure.keyvault"
"azure.loganalytics"
"azure.mgmt.advisor"
"azure.mgmt.apimanagement"
"azure.mgmt.applicationinsights"
@@ -325,12 +291,10 @@ py.pkgs.toPythonApplication (
"azure.mgmt.cdn"
"azure.mgmt.cognitiveservices"
"azure.mgmt.compute"
"azure.mgmt.consumption"
"azure.mgmt.containerinstance"
"azure.mgmt.containerregistry"
"azure.mgmt.containerservice"
"azure.mgmt.cosmosdb"
"azure.mgmt.datalake.store"
"azure.mgmt.datamigration"
"azure.mgmt.devtestlabs"
"azure.mgmt.dns"
@@ -358,7 +322,6 @@ py.pkgs.toPythonApplication (
"azure.mgmt.recoveryservices"
"azure.mgmt.recoveryservicesbackup"
"azure.mgmt.redis"
"azure.mgmt.relay"
"azure.mgmt.resource"
"azure.mgmt.search"
"azure.mgmt.security"
@@ -370,7 +333,7 @@ py.pkgs.toPythonApplication (
"azure.mgmt.storage"
"azure.mgmt.trafficmanager"
"azure.mgmt.web"
"azure.storage.blob"
"azure.monitor.query"
"azure.storage.common"
];
@@ -413,9 +376,22 @@ py.pkgs.toPythonApplication (
touch $out
'';
};
generate-extensions = writeScriptBin "${pname}-update-extensions" ''
export FILE=extensions-generated.nix
echo "# This file is automatically generated. DO NOT EDIT! Read README.md" > $FILE
echo "{ mkAzExtension }:" >> $FILE
echo "{" >> $FILE
${./query-extension-index.sh} --requirements=false --download --nix --cli-version=${version} \
| xargs -n1 -d '\n' echo " " >> $FILE
echo "" >> $FILE
echo "}" >> $FILE
echo "Extension was saved to \"extensions-generated.nix\" file."
echo "Move it to \"{nixpkgs}/pkgs/by-name/az/azure-cli/extensions-generated.nix\"."
'';
};
meta = with lib; {
meta = {
homepage = "https://github.com/Azure/azure-cli";
description = "Next generation multi-platform command line experience for Azure";
downloadPage = "https://github.com/Azure/azure-cli/releases/tag/azure-cli-${version}";
@@ -438,11 +414,11 @@ py.pkgs.toPythonApplication (
when building `azure-cli`.
'';
changelog = "https://github.com/MicrosoftDocs/azure-docs-cli/blob/main/docs-ref-conceptual/release-notes-azure-cli.md";
sourceProvenance = [ sourceTypes.fromSource ];
license = licenses.mit;
sourceProvenance = [ lib.sourceTypes.fromSource ];
license = lib.licenses.mit;
mainProgram = "az";
maintainers = with maintainers; [ katexochen ] ++ lib.teams.stridtech.members;
platforms = platforms.all;
maintainers = with lib.maintainers; [ katexochen ] ++ lib.teams.stridtech.members;
platforms = lib.platforms.all;
};
}
)
+29 -81
View File
@@ -86,6 +86,8 @@ let
"azure.cli.telemetry"
"azure.cli.core"
];
meta.downloadPage = "https://github.com/Azure/azure-cli/tree/azure-cli-${version}/src/azure-cli-core/";
};
azure-cli-telemetry = buildAzureCliPackage {
@@ -106,56 +108,36 @@ let
cd azure
HOME=$TMPDIR pytest -k 'not test_create_telemetry_note_file_from_scratch'
'';
meta.downloadPage = "https://github.com/Azure/azure-cli/blob/azure-cli-${version}/src/azure-cli-telemetry/";
};
azure-keyvault-keys =
overrideAzureMgmtPackage super.azure-keyvault-keys "4.9.0b3" "tar.gz"
"sha256-qoseyf6WqBEG8vPc1hF17K46AWk8Ba8V9KRed4lOlGo=";
azure-mgmt-applicationinsights =
overrideAzureMgmtPackage super.azure-mgmt-applicationinsights "1.0.0" "zip"
"sha256-woeix9703hn5LAwxugKGf6xvW433G129qxkoi7RV/Fs=";
azure-mgmt-batch =
overrideAzureMgmtPackage super.azure-mgmt-batch "17.3.0" "tar.gz"
"sha256-/JSIGmrNuKlTPzcbb3stPq6heJ65VQFLJKkI1t/nWZE=";
# AttributeError: type object 'WorkspacesOperations' has no attribute 'begin_delete'
azure-mgmt-batchai =
overrideAzureMgmtPackage super.azure-mgmt-batchai "7.0.0b1" "zip"
"sha256-mT6vvjWbq0RWQidugR229E8JeVEiobPD3XA/nDM3I6Y=";
azure-mgmt-botservice =
overrideAzureMgmtPackage super.azure-mgmt-botservice "2.0.0b3" "zip"
"sha256-XZGQOeMw8usyQ1tl8j57fZ3uqLshomHY9jO/rbpQOvM=";
# AttributeError: type object 'CustomDomainsOperations' has no attribute 'disable_custom_https'
azure-mgmt-cdn =
overrideAzureMgmtPackage super.azure-mgmt-cdn "12.0.0" "zip"
"sha256-t8PuIYkjS0r1Gs4pJJJ8X9cz8950imQtbVBABnyMnd0=";
azure-mgmt-compute =
overrideAzureMgmtPackage super.azure-mgmt-compute "31.0.0" "tar.gz"
"sha256-WlscT8GhnssCKhLe0b6LGxVfaXnQP7nvwEZC9gZkS78=";
azure-mgmt-core =
overrideAzureMgmtPackage super.azure-mgmt-core "1.3.2" "zip"
"sha256-B/Sv6COlXXBLBI1h7f3BMYwFHtWfJEAyEmNQvpXp1QE=";
# ImportError: cannot import name 'SqlDedicatedGatewayServiceResourceCreateUpdateProperties' from 'azure.mgmt.cosmosdb.models'
azure-mgmt-cosmosdb =
overrideAzureMgmtPackage super.azure-mgmt-cosmosdb "9.5.1" "tar.gz"
"sha256-TlXTlz8RzwLPeoBVruhmFSM9fL47siegfBdrrIvH7wI=";
azure-mgmt-datalake-store =
overrideAzureMgmtPackage super.azure-mgmt-datalake-store "0.5.0" "zip"
"sha256-k3bTVJVmHRn4rMVgT2ewvFlJOxg1u8SA+aGVL5ABekw=";
# ValueError: The operation 'azure.mgmt.devtestlabs.operations#VirtualMachinesOperations.delete' is invalid.
azure-mgmt-devtestlabs =
overrideAzureMgmtPackage super.azure-mgmt-devtestlabs "4.0.0" "zip"
"sha256-WVScTEBo8mRmsQl7V0qOUJn7LNbIvgoAOVsG07KeJ40=";
azure-mgmt-dns =
overrideAzureMgmtPackage super.azure-mgmt-dns "8.0.0" "zip"
"sha256-QHwtrLM1E/++nKS+Wt216dS64Mt++mE8P31THve/jeg=";
# ImportError: cannot import name 'ResourceSku' from 'azure.mgmt.eventgrid.models'
azure-mgmt-eventgrid =
overrideAzureMgmtPackage super.azure-mgmt-eventgrid "10.2.0b2" "zip"
"sha256-QcHY1wCwQyVOEdUi06/wEa4dqJH5Ccd33gJ1Sju0qZA=";
azure-mgmt-eventhub =
overrideAzureMgmtPackage super.azure-mgmt-eventhub "10.1.0" "zip"
"sha256-MZqhSBkwypvEefhoEWEPsBUFidWYD7qAX6edcBDDSSA=";
azure-mgmt-extendedlocation =
overrideAzureMgmtPackage super.azure-mgmt-extendedlocation "1.0.0b2" "zip"
"sha256-mjfH35T81JQ97jVgElWmZ8P5MwXVxZQv/QJKNLS3T8A=";
azure-mgmt-iotcentral =
overrideAzureMgmtPackage super.azure-mgmt-iotcentral "10.0.0b1" "zip"
"sha256-1CiZuTXYhIb74eGQZUJHHzovYNnnVd3Ydu1UCy2Bu00=";
# ValueError: The operation 'azure.mgmt.kusto.operations#ClustersOperations.delete' is invalid.
azure-mgmt-kusto =
(overrideAzureMgmtPackage super.azure-mgmt-kusto "0.3.0" "zip"
"sha256-nri3eB/UQQ7p4gfNDDmDuvnlhBS1tKGISdCYVuNrrN4="
@@ -166,75 +148,41 @@ let
self.msrestazure
];
});
azure-mgmt-maps =
overrideAzureMgmtPackage super.azure-mgmt-maps "2.0.0" "zip"
"sha256-OE4X92potwCk+YhHiUXDqXIXEcBAByWv38tjz4ToXw4=";
# ValueError: The operation 'azure.mgmt.media.operations#MediaservicesOperations.create_or_update' is invalid.
azure-mgmt-media =
overrideAzureMgmtPackage super.azure-mgmt-media "9.0.0" "zip"
"sha256-TI7l8sSQ2QUgPqiE3Cu/F67Wna+KHbQS3fuIjOb95ZM=";
azure-mgmt-monitor =
overrideAzureMgmtPackage super.azure-mgmt-monitor "5.0.0" "zip"
"sha256-eL9KJowxTF7hZJQQQCNJZ7l+rKPFM8wP5vEigt3ZFGE=";
azure-mgmt-netapp =
overrideAzureMgmtPackage super.azure-mgmt-netapp "10.1.0" "zip"
"sha256-eJiWTOCk2C79Jotku9bKlu3vU6H8004hWrX+h76MjQM=";
azure-mgmt-policyinsights =
overrideAzureMgmtPackage super.azure-mgmt-policyinsights "1.1.0b4" "zip"
"sha256-aB16xyrhNYHJeitvdCeV+kik21B2LC+5/OSDQIGwTpI=";
azure-mgmt-privatedns =
overrideAzureMgmtPackage super.azure-mgmt-privatedns "1.0.0" "zip"
"sha256-tg8W5D97KRWCxfV7rhsIMJbYMD6dmVjiwpInpVzCfEU=";
# AttributeError: module 'azure.mgmt.rdbms.postgresql_flexibleservers.operations' has no attribute 'BackupsOperations'
azure-mgmt-rdbms =
overrideAzureMgmtPackage super.azure-mgmt-rdbms "10.2.0b16" "tar.gz"
"sha256-HDktzv8MOs5VRQArbS3waMhjbwVgZMmvch7PXen5DjE=";
azure-mgmt-recoveryservicesbackup =
overrideAzureMgmtPackage super.azure-mgmt-recoveryservicesbackup "9.1.0" "tar.gz"
"sha256-Hp/UBsDJ7iYn9aNx8BL4dzQvf8bzOyVk/NFNbwZjzQ8=";
azure-mgmt-redis =
overrideAzureMgmtPackage super.azure-mgmt-redis "14.3.0" "tar.gz"
"sha256-eoMbY4oNzYXkn3uFUhxecJQD+BxYkGTbWhAWSgAoLyA=";
# ModuleNotFoundError: No module named 'azure.mgmt.resource.deploymentstacks'
azure-mgmt-resource =
overrideAzureMgmtPackage super.azure-mgmt-resource "23.1.1" "tar.gz"
"sha256-ILawBrVE/bGWB/P2o4EQViXgu2D78wNvOYhcRkbTND4=";
azure-mgmt-search =
overrideAzureMgmtPackage super.azure-mgmt-search "9.0.0" "zip"
"sha256-Gc+qoTa1EE4/YmJvUSqVG+zZ50wfohvWOe/fLJ/vgb0=";
azure-mgmt-security =
overrideAzureMgmtPackage super.azure-mgmt-security "6.0.0" "tar.gz"
"sha256-zq/BhpiZBnEQvYMMXMmLybjzLY6oQMofaTsaX1Kl+LA=";
azure-mgmt-servicefabric =
overrideAzureMgmtPackage super.azure-mgmt-servicefabric "2.1.0" "tar.gz"
"sha256-oIQzBJVUQ2yQhEvIqWgg6INplITm/8mQMv0lcfjF99Y=";
azure-mgmt-servicelinker =
overrideAzureMgmtPackage super.azure-mgmt-servicelinker "1.2.0b2" "tar.gz"
"sha256-PpEFMM8ri9OgAa79dGhvPKy5YFfDZZustBUDieQrtZU=";
# ImportError: cannot import name 'Replica' from 'azure.mgmt.signalr.models'
azure-mgmt-signalr =
overrideAzureMgmtPackage super.azure-mgmt-signalr "2.0.0b1" "tar.gz"
"sha256-oK2ceBEoQ7gAeG6mye+x8HPzQU9bUNRPVJtRW2GL4xg=";
# ImportError: cannot import name 'AdvancedThreatProtectionName' from 'azure.mgmt.sql.models'
azure-mgmt-sql =
overrideAzureMgmtPackage super.azure-mgmt-sql "4.0.0b17" "tar.gz"
"sha256-i9VNbYJ3TgzURbtYYrXw+ez4ubK7BH39/EIL5kqb9Xg=";
# ValueError: The operation 'azure.mgmt.sqlvirtualmachine.operations#SqlVirtualMachinesOperations.begin_create_or_update' is invalid.
azure-mgmt-sqlvirtualmachine =
overrideAzureMgmtPackage super.azure-mgmt-sqlvirtualmachine "1.0.0b5" "zip"
"sha256-ZFgJflgynRSxo+B+Vso4eX1JheWlDQjfJ9QmupXypMc=";
azure-mgmt-storage =
overrideAzureMgmtPackage super.azure-mgmt-storage "21.2.0" "tar.gz"
"sha256-KHyYQLAb6TGBnUA9p+1SvWL9B3sFKd1HDm28T+3ksg0=";
# ModuleNotFoundError: No module named 'azure.mgmt.synapse.operations._kusto_pool_attached_database_configurations_operations'
azure-mgmt-synapse =
overrideAzureMgmtPackage super.azure-mgmt-synapse "2.1.0b5" "zip"
"sha256-5E6Yf1GgNyNVjd+SeFDbhDxnOA6fOAG6oojxtCP4m+k=";
azure-mgmt-trafficmanager =
overrideAzureMgmtPackage super.azure-mgmt-trafficmanager "1.0.0" "zip"
"sha256-R0F2HoA0bE7dTLPycTaOqYBj+ATQFeJFwv4EjtK1lqg=";
azure-storage-common =
overrideAzureMgmtPackage super.azure-storage-common "1.4.2" "tar.gz"
"sha256-Tsh8dTfUV+yVJS4ORkd+LBzPM3dP/v0F2FRGgssK5AE=";
azure-synapse-accesscontrol =
overrideAzureMgmtPackage super.azure-synapse-accesscontrol "0.5.0" "zip"
"sha256-g14ySiByqPgkJGRH8EnIRJO9Q6H2usS5FOeMCQiUuwQ=";
azure-synapse-spark =
overrideAzureMgmtPackage super.azure-synapse-spark "0.2.0" "zip"
"sha256-OQ5brhweEIrtN2iP4I5NacdC9t3YUiGIVhhqSs3FMuI=";
};
};
in
+4 -4
View File
@@ -11,13 +11,13 @@
}:
let
version = "1.13.3";
version = "1.14.0";
src = fetchFromGitHub {
owner = "detachhead";
repo = "basedpyright";
rev = "refs/tags/v${version}";
hash = "sha256-75RT7HsM1Z4b7KIMep73HxyJpyg1cq37OJZ9ebXc47Q=";
hash = "sha256-WNXIlBdnubV8hbhLXNOpoO5llN0h3G820BkX5cgRU1A=";
};
patchedPackageJSON = runCommand "package.json" { } ''
@@ -47,7 +47,7 @@ let
pname = "pyright-internal";
inherit version src;
sourceRoot = "${src.name}/packages/pyright-internal";
npmDepsHash = "sha256-3l5FqDDJnS52IjqDWf4ZLk2AP4gTAp4oQtCxBQSntp8=";
npmDepsHash = "sha256-68+HmPFsiC01c+B0zD/b8FTemzVrc6wnUvcjWj5uWNo=";
dontNpmBuild = true;
# FIXME: Remove this flag when TypeScript 5.5 is released
npmFlags = [ "--legacy-peer-deps" ];
@@ -94,7 +94,7 @@ buildNpmPackage rec {
inherit version src;
sourceRoot = "${src.name}/packages/pyright";
npmDepsHash = "sha256-WybdMzg70V+VxyvlMCiHkEqPO+nZA0b4nODEZQFgI/E=";
npmDepsHash = "sha256-SN1x7D+HZHRmlixTzZFcuG929lEEWpd813EtgwHtdRM=";
postPatch = ''
chmod +w ../../
@@ -40,6 +40,6 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/AngusJohnson/Clipper2";
license = lib.licenses.boost;
maintainers = [ lib.maintainers.cadkin ];
platforms = lib.platforms.linux;
platforms = lib.platforms.all;
};
}
+2 -2
View File
@@ -60,8 +60,8 @@ buildGoModule rec {
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
for shell in bash fish zsh; do
$out/bin/flux completion $shell > flux.$shell
installShellCompletion flux.$shell
installShellCompletion --cmd flux \
--$shell <($out/bin/flux completion $shell)
done
'';
+3 -3
View File
@@ -21,7 +21,7 @@
, ode
, opencascade-occt_7_6
, pkg-config
, python3Packages
, python311Packages
, runCommand # for passthru.tests
, spaceNavSupport ? stdenv.isLinux
, stdenv
@@ -34,7 +34,7 @@
let
opencascade-occt = opencascade-occt_7_6;
boost = python3Packages.boost;
boost = python311Packages.boost;
inherit (libsForQt5)
qtbase
qttools
@@ -43,7 +43,7 @@ let
qtxmlpatterns
soqt
wrapQtAppsHook;
inherit (python3Packages)
inherit (python311Packages)
gitpython
matplotlib
pivy
@@ -0,0 +1,113 @@
// Code generated by github.com/atombender/go-jsonschema, DO NOT EDIT.
package schema
import "encoding/json"
import "fmt"
type Config struct {
// List of addresses to listen on for libp2p traffic.
ListenAddresses []string `json:"listenAddresses,omitempty"`
// Trusted peers in the network.
Peers []ConfigPeersElem `json:"peers,omitempty"`
// This node's private key.
PrivateKey string `json:"privateKey"`
// The services this node provides via the Service Network.
Services ConfigServices `json:"services,omitempty"`
}
type ConfigPeersElem struct {
// PeerID of this peer.
Id string `json:"id"`
// Friendly name for this peer. (optional)
Name string `json:"name,omitempty"`
// Networks to route to this peer. (optional)
Routes []ConfigPeersElemRoutesElem `json:"routes,omitempty"`
}
type ConfigPeersElemRoutesElem struct {
// Network specification.
Net string `json:"net"`
}
// UnmarshalJSON implements json.Unmarshaler.
func (j *ConfigPeersElemRoutesElem) UnmarshalJSON(b []byte) error {
var raw map[string]interface{}
if err := json.Unmarshal(b, &raw); err != nil {
return err
}
if _, ok := raw["net"]; raw != nil && !ok {
return fmt.Errorf("field net in ConfigPeersElemRoutesElem: required")
}
type Plain ConfigPeersElemRoutesElem
var plain Plain
if err := json.Unmarshal(b, &plain); err != nil {
return err
}
*j = ConfigPeersElemRoutesElem(plain)
return nil
}
// UnmarshalJSON implements json.Unmarshaler.
func (j *ConfigPeersElem) UnmarshalJSON(b []byte) error {
var raw map[string]interface{}
if err := json.Unmarshal(b, &raw); err != nil {
return err
}
if _, ok := raw["id"]; raw != nil && !ok {
return fmt.Errorf("field id in ConfigPeersElem: required")
}
type Plain ConfigPeersElem
var plain Plain
if err := json.Unmarshal(b, &plain); err != nil {
return err
}
if v, ok := raw["name"]; !ok || v == nil {
plain.Name = ""
}
if v, ok := raw["routes"]; !ok || v == nil {
plain.Routes = []ConfigPeersElemRoutesElem{}
}
*j = ConfigPeersElem(plain)
return nil
}
// The services this node provides via the Service Network.
type ConfigServices map[string]string
// UnmarshalJSON implements json.Unmarshaler.
func (j *Config) UnmarshalJSON(b []byte) error {
var raw map[string]interface{}
if err := json.Unmarshal(b, &raw); err != nil {
return err
}
if _, ok := raw["privateKey"]; raw != nil && !ok {
return fmt.Errorf("field privateKey in Config: required")
}
type Plain Config
var plain Plain
if err := json.Unmarshal(b, &plain); err != nil {
return err
}
if v, ok := raw["listenAddresses"]; !ok || v == nil {
plain.ListenAddresses = []string{
"/ip4/0.0.0.0/tcp/8001",
"/ip4/0.0.0.0/udp/8001/quic-v1",
"/ip6/::/tcp/8001",
"/ip6/::/udp/8001/quic-v1",
}
}
if v, ok := raw["peers"]; !ok || v == nil {
plain.Peers = []ConfigPeersElem{}
}
if v, ok := raw["services"]; !ok || v == nil {
plain.Services = map[string]string{}
}
*j = Config(plain)
return nil
}
+60
View File
@@ -0,0 +1,60 @@
{
lib,
buildGoModule,
fetchFromGitHub,
writeShellScript,
nix-update,
nix,
}:
buildGoModule rec {
pname = "hyprspace";
version = "0.10.2";
src = fetchFromGitHub {
owner = "hyprspace";
repo = "hyprspace";
rev = "refs/tags/v${version}";
hash = "sha256-zWajCfHFqPa3Z72DHcxBUq4bmcCu1lpEKUbZZewpYOE=";
};
CGO_ENABLED = "0";
vendorHash = "sha256-LJpgGeD47Bs+Cq9Z7WWFa49F8/n3exOyxRcd6EkkL2g=";
ldflags = [
"-s"
"-w"
"-X github.com/hyprspace/hyprspace/cli.appVersion=${version}"
];
preBuild = ''
ln -s ${./config_generated.go} ./schema/config_generated.go
'';
passthru.updateScript = writeShellScript "update" ''
${lib.getExe nix-update} hyprspace
nix () {
${lib.getExe nix} --extra-experimental-features 'flakes nix-command' "$@"
}
cat "$(
nix build --print-out-paths --no-link \
"github:hyprspace/hyprspace?ref=refs/tags/v$(
nix eval .#hyprspace.version --raw
)#vendor"
)/schema/config_generated.go" \
> pkgs/by-name/hy/hyprspace/config_generated.go
'';
meta = {
description = "Lightweight VPN Built on top of Libp2p for Truly Distributed Networks";
homepage = "https://github.com/hyprspace/hyprspace";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
gerg-l
max
];
platforms = lib.platforms.linux;
mainProgram = "hyprspace";
};
}
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "klog-time-tracker";
version = "6.3";
version = "6.4";
src = fetchFromGitHub {
owner = "jotaen";
repo = "klog";
rev = "v${version}";
hash = "sha256-/NbMXJY853XIiEEVPJdZRO5IZEDYaalSekQ4kxnZgIw=";
hash = "sha256-ouWgmSSqGdbZRZRgCoxG4c4fFoJ4Djfmv0JvhBkEQU4=";
};
vendorHash = "sha256-L84eKm1wktClye01JeyF0LOV9A8ip6Fr+/h09VVZ56k=";
+29 -2
View File
@@ -1,4 +1,13 @@
{ lib, buildGoModule, fetchFromGitHub }:
{
buildGoModule,
fetchFromGitHub,
installShellFiles,
kyverno-chainsaw,
lib,
nix-update-script,
stdenv,
testers,
}:
buildGoModule rec {
pname = "kyverno-chainsaw";
@@ -14,14 +23,32 @@ buildGoModule rec {
vendorHash = "sha256-UQCn5GKhhfHsHIOqYYVkKP76e2NTRtwjw2VvCwRPUB4=";
ldflags = [
"-s" "-w"
"-s"
"-w"
"-X github.com/kyverno/chainsaw/pkg/version.BuildVersion=v${version}"
"-X github.com/kyverno/chainsaw/pkg/version.BuildHash=${version}"
"-X github.com/kyverno/chainsaw/pkg/version.BuildTime=1970-01-01_00:00:00"
];
nativeBuildInputs = [ installShellFiles ];
doCheck = false; # requires running kubernetes
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
for shell in bash fish zsh; do
installShellCompletion --cmd kyverno-chainsaw \
--$shell <($out/bin/chainsaw completion $shell)
done
'';
passthru.tests.version = testers.testVersion {
package = kyverno-chainsaw;
command = "chainsaw version";
version = "v${version}";
};
passthru.updateScript = nix-update-script { };
meta = {
changelog = "https://github.com/kyverno/chainsaw/releases/tag/v${version}";
description = "Declarative approach to test Kubernetes operators and controllers";
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "lexido";
version = "1.4.2";
version = "1.4.3";
src = fetchFromGitHub {
owner = "micr0-dev";
repo = "lexido";
rev = "v${version}";
hash = "sha256-nc6UvW16MmLsKt0oSb9nG64N7J3+5CveSwPnGOezhGY=";
hash = "sha256-zJP14dbC/Oz15CA3PRD0RfEYOrfulL2fWYHwFxhLKO4=";
};
vendorHash = "sha256-h3ws9k7W4nNyS1WvZP29NJfJsBOe0D47ykd41C96Xi4=";
vendorHash = "sha256-H5qljaA77AQrUjFsVSWha5pzt4qS9XKagG4GoNRVn88=";
ldflags = [
"-s"
+57
View File
@@ -0,0 +1,57 @@
{ stdenv
, lib
, fetchurl
, makeWrapper
, git
, coreutils
, jdk
, gnuplot
, graphviz
}:
stdenv.mkDerivation rec {
pname = "maelstrom";
version = "0.2.3";
src = fetchurl {
url = "https://github.com/jepsen-io/maelstrom/releases/download/v${version}/maelstrom.tar.bz2";
hash = "sha256-ISS2qma139Jz9eDxLJvULkqDZeu1vyx9ot4uO0LIVho=";
};
installPhase = ''
runHook preInstall
mkdir $out
cp -R lib $out/lib
# see https://github.com/jepsen-io/maelstrom/blob/b91beef83ee40add17dfe0baf2df272869e144cf/pkg/maelstrom
makeWrapper ${jdk}/bin/java $out/bin/maelstrom \
--add-flags -Djava.awt.headless=true \
--add-flags "-jar $out/lib/maelstrom.jar" \
--set PATH ${lib.makeBinPath runtimeDependencies}
runHook postInstall
'';
nativeBuildInputs = [
makeWrapper
];
runtimeDependencies = [
git
coreutils
jdk
gnuplot
graphviz
];
meta = with lib; {
description = "Workbench for writing toy implementations of distributed systems";
homepage = "https://github.com/jepsen-io/maelstrom";
changelog = "https://github.com/jepsen-io/maelstrom/releases/tag/${version}";
mainProgram = "maelstrom";
sourceProvenance = [ sourceTypes.binaryBytecode ];
license = licenses.epl10;
maintainers = [ maintainers.emilioziniades ];
platforms = platforms.linux ++ platforms.darwin;
};
}
+61
View File
@@ -0,0 +1,61 @@
{ lib
, stdenv
, fetchFromGitHub
, curl
, webkitgtk
, libmicrohttpd
, libsecret
, qrencode
, libsodium
, pkg-config
, help2man
, nix-update-script
}:
stdenv.mkDerivation rec {
pname = "oidc-agent";
version = "5.1.0";
src = fetchFromGitHub {
owner = "indigo-dc";
repo = pname;
rev = "v${version}";
sha256 = "sha256-cOK/rZ/jnyALLuhDM3+qvwwe4Fjkv8diQBkw7NfVo0c=";
};
nativeBuildInputs = [
pkg-config
help2man
];
buildInputs = [
curl
webkitgtk
libmicrohttpd
libsecret
qrencode
libsodium
];
enableParallelBuilding = true;
makeFlags = [ "PREFIX=$(out)" "BIN_PATH=$(out)" "LIB_PATH=$(out)/lib" ];
installTargets = [ "install_bin" "install_lib" "install_conf" ];
postFixup = ''
# Override with patched binary to be used by help2man
cp -r $out/bin/* bin
make install_man PREFIX=$out
'';
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "Manage OpenID Connect tokens on the command line";
homepage = "https://github.com/indigo-dc/oidc-agent";
maintainers = with maintainers; [ xinyangli ];
license = licenses.mit;
};
}
+5 -3
View File
@@ -7,19 +7,19 @@
}:
let
pname = "open-webui";
version = "0.3.8";
version = "0.3.10";
src = fetchFromGitHub {
owner = "open-webui";
repo = "open-webui";
rev = "v${version}";
hash = "sha256-kUdy8zSt8RvGlMKa0gxp0tnZbo7/igDeFV2zsel5LXA=";
hash = "sha256-Q8ZUc3fNfWeijPLUtgwkU2rv7SWSfi7Q1QOlt14O3nE= ";
};
frontend = buildNpmPackage {
inherit pname version src;
npmDepsHash = "sha256-sjQJn94GmSdOY1B2bmFTsxjLrc7LSBgDpWNrXIHunsg=";
npmDepsHash = "sha256-nkJksj1FAOMqEDQS1k++E2izv9TT3PkoZLxzHIcHzvA=";
# Disabling `pyodide:fetch` as it downloads packages during `buildPhase`
# Until this is solved, running python packages from the browser will not work.
@@ -95,6 +95,7 @@ python3.pkgs.buildPythonApplication rec {
passlib
peewee
peewee-migrate
psutil
psycopg2
pydub
pyjwt
@@ -114,6 +115,7 @@ python3.pkgs.buildPythonApplication rec {
requests
sentence-transformers
sqlalchemy
tiktoken
unstructured
uvicorn
validators
+160
View File
@@ -0,0 +1,160 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
libsepol,
popt,
libxml2,
libxslt,
openssl,
util-linux,
pcre2,
pcre,
libselinux,
graphviz,
glib,
python3,
swig,
libgcrypt,
opendbx,
xmlbird,
haskellPackages,
libyaml,
yaml-filter,
xmlsec,
bzip2,
valgrind,
asciidoc,
installShellFiles,
rpm,
system-sendmail,
hyperscan,
gnome2,
curl,
procps,
systemd,
perl,
doxygen,
pkg-config,
perl538Packages,
}:
stdenv.mkDerivation rec {
pname = "openscap";
version = "1.3.10";
src = fetchFromGitHub {
owner = "OpenSCAP";
repo = "openscap";
rev = version;
hash = "sha256-P7k+Ygz/XmpTSKBEqbyJsd1bIDVJ1HA/RJdrEtjYD5g=";
};
strictDeps = true;
nativeBuildInputs = [
cmake
asciidoc
doxygen
rpm
swig
util-linux
pkg-config
];
buildInputs =
with perl538Packages;
[
XMLXPath
LinuxACL
XMLTokeParser
]
++ [
perl
popt
openssl
valgrind
pcre2
pcre
libxslt
xmlsec
hyperscan
libselinux
libyaml
xmlbird
installShellFiles
bzip2
yaml-filter
python3
libgcrypt
libxml2
systemd
haskellPackages.pthread
graphviz
system-sendmail
procps
libsepol
curl
glib
gnome2.ORBit2
opendbx
];
prePatch = ''
export SWIG_PERL_DIR=lib/perl
substituteInPlace swig/perl/CMakeLists.txt \
--replace-fail "DESTINATION ''${PERL_VENDORLIB}" "DESTINATION ''${SWIG_PERL_DIR}''${PERL_VERSION}" \
--replace-fail "DESTINATION ''${PERL_VENDORARCH}" "DESTINATION ''${SWIG_PERL_DIR}"
substituteInPlace src/common/oscap_pcre.c \
--replace-fail "#include <pcre2.h>" "#include <${pcre2.dev}/include/pcre2.h>" \
--replace-fail "#include <pcre.h>" "#include <${pcre.dev}/include/pcre.h>"
'';
cmakeFlags = [
"-DPCRE2_INCLUDE_DIRS=${pcre2.dev}/include"
"-DPCRE2_LIBRARIES=${pcre2.out}/lib"
"-DENABLE_DOCS=TRUE"
"-DENABLE_TESTS=TRUE"
"-DENABLE_OSCAP_UTIL=TRUE"
"-DENABLE_OSCAP_UTIL_CHROOT=TRUE"
"-DENABLE_OSCAP_UTIL_SSH=TRUE"
"-DENABLE_OSCAP_UTIL_DOCKER=TRUE"
"-DENABLE_OSCAP_REMEDIATE_SERVICE=TRUE"
"-DOPENSCAP_PROBE_INDEPENDENT_YAMLFILECONTENT=TRUE"
"-DSYSTEMD_UNITDIR=lib/systemd/system"
"-DENABLE_VALGRIND=TRUE"
"-DENABLE_OSCAP_REMEDIATE_SERVICE=TRUE"
"-DPYTHON_SITE_PACKAGES_INSTALL_DIR=${python3.pkgs.python.sitePackages}"
"-DOPENSCAP_INSTALL_DESTINATION=bin"
"-DCMAKE_INSTALL_BINDIR=bin"
"-DCMAKE_INSTALL_MANDIR=share"
"-DENABLE_MITRE=TRUE"
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DCMAKE_INSTALL_INCLUDEDIR=include"
"-DCMAKE_INSTALL_DATADIR=share"
"-DBUILD_TESTING=ON"
"-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON"
"-DCMAKE_POLICY_DEFAULT_CMP0025=NEW"
];
postBuild = ''
make docs
'';
installPhase = ''
make install
installManPage $out/share/man8/*.8
rm -rf $out/share/man8
'';
meta = {
description = "NIST Certified SCAP 1.2 toolkit";
homepage = "https://github.com/OpenSCAP/openscap";
changelog = "https://github.com/OpenSCAP/openscap/blob/${src.rev}/NEWS";
license = lib.licenses.lgpl21Only;
maintainers = with lib.maintainers; [ tochiaha ];
mainProgram = "oscap";
platforms = [ "x86_64-linux" ];
};
}
+151
View File
@@ -0,0 +1,151 @@
{ alsa-lib
, autoPatchelfHook
, buildFHSEnv
, dbus
, elfutils
, expat
, extraEnv ? { }
, fetchFromGitLab
, fetchurl
, glib
, glibc
, lib
, libGL
, libapparmor
, libbsd
, libedit
, libffi_3_3
, libgcrypt
, libglvnd
, makeShellWrapper
, sqlite
, squashfsTools
, stdenv
, tcp_wrappers
, udev
, waylandpp
, writeShellScript
, xkeyboard_config
, xorg
, xz
, zstd
}:
let
pname = "plex-desktop";
version = "1.96.0";
rev = "69";
meta = {
homepage = "https://plex.tv/";
description = "Streaming media player for Plex";
longDescription = ''
Plex for Linux is your client for playback on the Linux
desktop. It features the point and click interface you see in your browser
but uses a more powerful playback engine as well as
some other advance features.
'';
maintainers = with lib.maintainers; [ detroyejr ];
license = lib.licenses.unfree;
platforms = [ "x86_64-linux" ];
mainProgram = "plex-desktop";
};
# The latest unstable version isn't compatible with libraries that ship in the snap.
libglvnd-1_4_0 = libglvnd.overrideAttrs {
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "glvnd";
repo = "libglvnd";
rev = "v1.4.0";
sha256 = "sha256-Y6JHRygXcZtnrdnqi1Lzyvh/635gwZWnMeW9aRCpxxs";
};
};
plex-desktop = stdenv.mkDerivation {
inherit pname version meta;
src = fetchurl {
url = "https://api.snapcraft.io/api/v1/snaps/download/qc6MFRM433ZhI1XjVzErdHivhSOhlpf0_${rev}.snap";
hash = "sha512-rECc8rK1ENAL5mXdabO8ynudCaSzz0yygOyg4gMbCtddgqwSOanP24/oguzPLr3zdRMC3VSf9B3hr2BGQ54tzg==";
};
nativeBuildInputs = [ squashfsTools ];
buildInputs = [
alsa-lib
autoPatchelfHook
dbus
elfutils
expat
glib
glibc
libGL
libapparmor
libbsd
libedit
libffi_3_3
libgcrypt
makeShellWrapper
sqlite
squashfsTools
stdenv.cc.cc
tcp_wrappers
udev
waylandpp
xorg.libXinerama
xz
zstd
];
unpackPhase = ''
runHook preUnpack
unsquashfs "$src"
cd squashfs-root
runHook postUnpack
'';
dontWrapQtApps = true;
installPhase =
''
runHook preInstall
cp -r . $out
ln -s ${libedit}/lib/libedit.so.0 $out/lib/libedit.so.2
rm $out/usr/lib/x86_64-linux-gnu/libasound.so.2
ln -s ${alsa-lib}/lib/libasound.so.2 $out/usr/lib/x86_64-linux-gnu/libasound.so.2
rm $out/usr/lib/x86_64-linux-gnu/libasound.so.2.0.0
ln -s ${alsa-lib}/lib/libasound.so.2.0.0 $out/usr/lib/x86_64-linux-gnu/libasound.so.2.0.0
runHook postInstall
'';
};
in
buildFHSEnv {
name = "${pname}-${version}";
targetPkgs = pkgs: [ xkeyboard_config ];
extraInstallCommands = ''
mkdir -p $out/share/applications $out/share/icons/hicolor/scalable/apps
install -m 444 -D ${plex-desktop}/meta/gui/plex-desktop.desktop $out/share/applications/plex-desktop.desktop
substituteInPlace $out/share/applications/plex-desktop.desktop \
--replace-fail \
'Icon=''${SNAP}/meta/gui/icon.png' \
'Icon=${plex-desktop}/meta/gui/icon.png' \
--replace-fail \
'Exec=plex-desktop' \
'Exec=plex-desktop-${version}'
'';
runScript = writeShellScript "plex-desktop.sh" ''
# Widevine won't download unless this directory exists.
mkdir -p $HOME/.cache/plex/
PLEX_USR_PATH=${lib.makeSearchPath "usr/lib/x86_64-linux-gnu" [ plex-desktop ]}
set -o allexport
LD_LIBRARY_PATH=${lib.makeLibraryPath [ plex-desktop libglvnd-1_4_0 ]}:$PLEX_USR_PATH
LIBGL_DRIVERS_PATH=$PLEX_USR_PATH/dri
${lib.toShellVars extraEnv}
exec ${plex-desktop}/Plex.sh
'';
}
+83
View File
@@ -0,0 +1,83 @@
#!/usr/bin/env nix-shell
#! nix-shell -i bash -p curl jq git gnused gnugrep
# executing this script without arguments will
# - find the newest stable plex-desktop version avaiable on snapcraft (https://snapcraft.io/plex-desktop)
# - read the current plex-desktop version from the current nix expression
# - update the nix expression if the versions differ
# - try to build the updated version, exit if that fails
# - give instructions for upstreaming
# As an optional argument you can specify the snapcraft channel to update to.
# Default is `stable` and only stable updates should be pushed to nixpkgs. For
# testing you may specify `candidate` or `edge`.
channel="${1:-stable}" # stable/candidate/edge
nixpkgs="$(git rev-parse --show-toplevel)"
plex_nix="$nixpkgs/pkgs/by-name/pl/plex-desktop/package.nix"
#
# find the newest stable plex-desktop version avaiable on snapcraft
#
# create bash array from snap info
snap_info=($(
curl -s -H 'X-Ubuntu-Series: 16' \
"https://api.snapcraft.io/api/v1/snaps/details/plex-desktop?channel=$channel" \
| jq --raw-output \
'.revision,.download_sha512,.version,.last_updated'
))
# "revision" is the actual version identifier on snapcraft, the "version" is
# just for human consumption. Revision is just an integer that gets increased
# by one every (stable or unstable) release.
revision="${snap_info[0]}"
# We need to escape the slashes
hash="$(nix-hash --to-sri --type sha512 ${snap_info[1]} | sed 's|/|\\/|g')"
upstream_version="${snap_info[2]}"
last_updated="${snap_info[3]}"
echo "Latest $channel release is $upstream_version from $last_updated."
#
# read the current plex-desktop version from the currently *committed* nix expression
#
current_version=$(
grep 'version\s*=' "$plex_nix" \
| sed -Ene 's/.*"(.*)".*/\1/p'
)
echo "Current version: $current_version"
#
# update the nix expression if the versions differ
#
if [[ "$current_version" == "$upstream_version" ]]; then
echo "Plex is already up-to-date"
exit 0
fi
echo "Updating from ${current_version} to ${upstream_version}, released on ${last_updated}"
# search-and-replace revision, hash and version
sed --regexp-extended \
-e 's/rev\s*=\s*"[0-9]+"\s*;/rev = "'"${revision}"'";/' \
-e 's/hash\s*=\s*"[^"]*"\s*;/hash = "'"${hash}"'";/' \
-e 's/version\s*=\s*".*"\s*;/version = "'"${upstream_version}"'";/' \
-i "$plex_nix"
#
# try to build the updated version
#
if ! nix-build -A plex-desktop "$nixpkgs"; then
echo "The updated plex-desktop failed to build."
exit 1
fi
# Commit changes
git add "$plex_nix"
git commit -m "plex-desktop: ${current_version} -> ${upstream_version}"
+2 -2
View File
@@ -13,13 +13,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "progress-tracker";
version = "1.5.1";
version = "1.5.2";
src = fetchFromGitHub {
owner = "smolBlackCat";
repo = "progress-tracker";
rev = "v${finalAttrs.version}";
hash = "sha256-0FpWUNsXYIQRn6ciLoRbKBuEZT739sAAIfSBxFqfEpk=";
hash = "sha256-SM68TPxCMmLELKuryx4jde9TeK4mxfSrZ+uE/lFdP7M=";
};
nativeBuildInputs = [
@@ -0,0 +1,47 @@
{
lib,
fetchFromGitHub,
python3Packages,
borgmatic,
}:
python3Packages.buildPythonApplication rec {
pname = "prometheus-borgmatic-exporter";
version = "0.2.5";
pyproject = true;
src = fetchFromGitHub {
owner = "maxim-mityutko";
repo = "borgmatic-exporter";
rev = "v${version}";
hash = "sha256-SgP1utu4Eqs9214pYOT9wP0Ms7AUQH1A3czQF8+qBRo=";
};
nativeCheckInputs = with python3Packages; [
pytestCheckHook
pytest-mock
];
buildInputs = [python3Packages.poetry-core];
propagatedBuildInputs =
[ borgmatic ]
++ (with python3Packages; [
flask
arrow
click
loguru
pretty-errors
prometheus-client
timy
waitress
]);
meta = with lib; {
description = "Prometheus exporter for Borgmatic";
homepage = "https://github.com/maxim-mityutko/borgmatic-exporter";
license = licenses.mit;
maintainers = with maintainers; [ flandweber ];
mainProgram = "borgmatic-exporter";
platforms = platforms.unix;
};
}
+3 -3
View File
@@ -2,16 +2,16 @@
buildGoModule rec {
name = "regal";
version = "0.23.1";
version = "0.24.0";
src = fetchFromGitHub {
owner = "StyraInc";
repo = "regal";
rev = "v${version}";
hash = "sha256-ui4SY8HNpS5CV2zh84w8CYZmZAoNOPxIj/eG+KvKlwI=";
hash = "sha256-bSu35IfQBoz2YKlEm8e02ahw9FxQfilR3b2WdjbAubs=";
};
vendorHash = "sha256-I0aJFvJmmnxlqgeETOyg2/mjGX8lUJz99t56Qe+9uZg=";
vendorHash = "sha256-2NzBcOQ1TLUsh8wKiGlPogql+6qNou8//XpCiE7eV5I=";
meta = with lib; {
description = "Linter and language server for Rego";
+3 -3
View File
@@ -5,16 +5,16 @@
}:
rustPlatform.buildRustPackage rec {
pname = "tabiew";
version = "0.4.1";
version = "0.6.0";
src = fetchFromGitHub {
owner = "shshemi";
repo = "tabiew";
rev = "v${version}";
hash = "sha256-/W6ffanDg+p0g5MFUEF9bjWmYPWjZeCGmHqbruju2hk=";
hash = "sha256-Sui2UX2EWXgtkU83tb2QP0EQCImAvWrR2dYkfXjqDdc=";
};
cargoHash = "sha256-dBk6lfUG7MFJCOdDt+LpkewnYS/awqCLPLUCFSyi5Y8=";
cargoHash = "sha256-QEuO5Jtv9xw9W2jI2g3pJENi/CQcFsC3PCc63v2Cd40=";
nativeBuildInputs = [ installShellFiles ];
@@ -9,13 +9,13 @@
stdenv.mkDerivation rec {
pname = "level-zero";
version = "1.17.17";
version = "1.17.19";
src = fetchFromGitHub {
owner = "oneapi-src";
repo = "level-zero";
rev = "refs/tags/v${version}";
hash = "sha256-+8bIY/90dXsCdCMeoxL1+OK2Yhl4XNRI3RPuPouGWHc=";
hash = "sha256-WfnoYLBBXzYQ35Og6UgGFv6ebLMBos49JvJcZANRhd8=";
};
nativeBuildInputs = [ cmake addDriverRunpath ];
+1 -1
View File
@@ -83835,7 +83835,7 @@ in
"rust-analyzer-build-deps-../../applications/editors/vscode/extensions/rust-lang.rust-analyzer/build-deps" = nodeEnv.buildNodePackage {
name = "rust-analyzer";
packageName = "rust-analyzer";
version = "0.3.1850";
version = "0.3.2029";
src = ../../applications/editors/vscode/extensions/rust-lang.rust-analyzer/build-deps;
dependencies = [
sources."@azure/abort-controller-1.1.0"
@@ -1,4 +1,5 @@
{ lib
, ocaml
, buildDunePackage
, lsp
, xdg
@@ -11,18 +12,30 @@
, merlin-lib
, astring
, camlp-streams
, base
}:
# Freeze ocaml-lsp-version at 1.17.0 for OCaml 5.0
# for which merlin 4.16 is not available
let lsp_v =
if lib.versions.majorMinor ocaml.version == "5.0"
then lsp.override { version = "1.17.0"; }
else lsp
; in
let lsp = lsp_v; in
buildDunePackage rec {
pname = "ocaml-lsp-server";
inherit (lsp) version src preBuild;
duneVersion = "3";
buildInputs = lsp.buildInputs ++ [ lsp re ]
++ lib.optional (lib.versionAtLeast version "1.9") spawn
++ lib.optionals (lib.versionAtLeast version "1.10") [ fiber xdg ]
++ lib.optional (lib.versionAtLeast version "1.14.2") ocamlc-loc
++ lib.optionals (lib.versionAtLeast version "1.17.0") [ astring camlp-streams merlin-lib ];
++ lib.optionals (lib.versionAtLeast version "1.17.0") [ astring camlp-streams merlin-lib ]
++ lib.optional (lib.versionAtLeast version "1.18.0") base
;
nativeBuildInputs = [ makeWrapper ];
@@ -9,7 +9,7 @@
, ocaml
, version ?
if lib.versionAtLeast ocaml.version "4.14" then
"1.17.0"
"1.18.0"
else if lib.versionAtLeast ocaml.version "4.13" then
"1.10.5"
else if lib.versionAtLeast ocaml.version "4.12" then
@@ -19,6 +19,11 @@
}:
let params = {
"1.18.0" = {
name = "lsp";
minimalOCamlVersion = "4.14";
sha256 = "sha256-tZ2kPM/S/9J3yeX2laDjnHLA144b8svy9iwae32nXwM=";
};
"1.17.0" = {
name = "lsp";
minimalOCamlVersion = "4.14";
@@ -54,7 +59,6 @@ buildDunePackage rec {
inherit (params) sha256;
};
duneVersion = "3";
inherit (params) minimalOCamlVersion;
buildInputs =
@@ -23,7 +23,7 @@
, ocaml
, version ?
if lib.versionAtLeast ocaml.version "4.14" then
"1.17.0"
"1.18.0"
else if lib.versionAtLeast ocaml.version "4.13" then
"1.10.5"
else if lib.versionAtLeast ocaml.version "4.12" then
@@ -38,7 +38,6 @@ let jsonrpc_v = jsonrpc.override {
buildDunePackage rec {
pname = "lsp";
inherit (jsonrpc_v) version src;
duneVersion = "3";
minimalOCamlVersion =
if lib.versionAtLeast version "1.7.0" then
"4.12"
@@ -0,0 +1,42 @@
{
azure-cli,
azure-core,
buildPythonPackage,
fetchPypi,
isodate,
lib,
setuptools,
typing-extensions,
}:
buildPythonPackage rec {
pname = "azure-monitor-query";
version = "1.3.0";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-629Un2FJr0SExRq/m7tmEjn1eBRfi+9lSFWXbu9CL+Y=";
};
nativeBuildInputs = [ setuptools ];
dependencies = [
azure-core
isodate
typing-extensions
];
pythonImportsCheck = [
"azure"
"azure.monitor.query"
];
meta = {
changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-monitor-query_${version}/sdk/monitor/azure-monitor-query/CHANGELOG.md";
description = "Microsoft Azure Monitor Query Client Library for Python";
homepage = "https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/monitor/azure-monitor-query";
license = lib.licenses.mit;
maintainers = azure-cli.meta.maintainers;
};
}
@@ -1,26 +1,31 @@
{
lib,
buildPythonPackage,
dask,
pythonOlder,
fetchFromGitHub,
# build-system
setuptools,
setuptools-scm,
xarray,
# optional-dependencies
matplotlib,
pint,
pooch,
pytestCheckHook,
pythonOlder,
regex,
rich,
scipy,
setuptools,
setuptools-scm,
shapely,
wheel,
xarray,
# checks
dask,
pytestCheckHook,
scipy,
}:
buildPythonPackage rec {
pname = "cf-xarray";
version = "0.9.3";
version = "0.9.4";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -29,13 +34,12 @@ buildPythonPackage rec {
owner = "xarray-contrib";
repo = "cf-xarray";
rev = "refs/tags/v${version}";
hash = "sha256-7eL8z2r1+X80QqiL/5XzfA+Jlx+WuKvuxIWG4YLCwfg=";
hash = "sha256-zio00ki86DZqWtGnVseDR28He4DW1jjKdwfsxRwFDfg=";
};
build-system = [
setuptools
setuptools-scm
wheel
xarray
];
@@ -6,13 +6,14 @@
gettext,
pytestCheckHook,
pythonOlder,
python,
hatch-vcs,
hatchling,
}:
buildPythonPackage rec {
pname = "humanize";
version = "4.9.0";
version = "4.10.0";
format = "pyproject";
disabled = pythonOlder "3.8";
@@ -21,7 +22,7 @@ buildPythonPackage rec {
owner = "python-humanize";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-sLlgR6c65RmUNZdH2pHuxzo7dm71uUZXGqzcqyxCrk4=";
hash = "sha256-zzasFAaWH284IEnWwWKvCL1lt/ItNfdbWhq1K30gSPU=";
};
nativeBuildInputs = [
@@ -30,12 +31,18 @@ buildPythonPackage rec {
gettext
];
postPatch = ''
# Remove dependency on pytest-cov
substituteInPlace pyproject.toml --replace-fail \
'"ignore:sys.monitoring isn'"'"'t available, using default core:coverage.exceptions.CoverageWarning",' ""
'';
postBuild = ''
scripts/generate-translation-binaries.sh
'';
postInstall = ''
cp -r 'src/humanize/locale' "$out/lib/"*'/site-packages/humanize/'
cp -r 'src/humanize/locale' "$out/${python.sitePackages}/humanize/"
'';
nativeCheckInputs = [
@@ -8,6 +8,7 @@
cryptography,
fetchFromGitHub,
flaky,
hatchling,
httpx,
pytest-asyncio,
pytest-timeout,
@@ -21,7 +22,7 @@
buildPythonPackage rec {
pname = "python-telegram-bot";
version = "21.3";
version = "21.4";
pyproject = true;
disabled = pythonOlder "3.8";
@@ -30,10 +31,10 @@ buildPythonPackage rec {
owner = "python-telegram-bot";
repo = "python-telegram-bot";
rev = "refs/tags/v${version}";
hash = "sha256-eyIRZkt1ea2L20ryogKrmSx/+xL2fhNXcf3vUnuS9vo=";
hash = "sha256-5raEejd8WH9JrFvMIy2AuMGK9O/FJ2rq9PeVqK+IMOU=";
};
build-system = [ setuptools ];
build-system = [ setuptools hatchling ];
dependencies = [
aiolimiter
@@ -2,37 +2,43 @@
lib,
buildPythonPackage,
fetchFromGitHub,
fetchpatch2,
requests,
nose,
mock,
setuptools,
pytestCheckHook,
}:
buildPythonPackage rec {
buildPythonPackage {
pname = "yarg";
version = "0.1.9";
format = "setuptools";
version = "0.1.9-unstable-2022-02-06";
pyproject = true;
src = fetchFromGitHub {
owner = "kura";
repo = pname;
rev = version;
sha256 = "1isq02s404fp9whkm8w2kvb2ik1sz0r258iby0q532zw81lga0d0";
repo = "yarg";
# Latest commit to yarg, which is more up-to-date than the latest release.
rev = "46e2371906bde6e19116664d4841abab414c54fd";
hash = "sha256-N/NDc9GqqwqU9vD1BU6udthzewBMDji9Np/HKRffLxI=";
};
propagatedBuildInputs = [ requests ];
nativeCheckInputs = [
nose
mock
patches = [
# Python 3.12 compatibility patch
(fetchpatch2 {
url = "https://github.com/kura/yarg/commit/8d5532e4da11ab0e9a4453658cf0591dcf80a616.patch?full_index=1";
hash = "sha256-2lbOzEfWTtoZYuRjCQJAFeYUsJoQhhEohflvYOwLXnI=";
})
];
checkPhase = ''
nosetests
'';
meta = with lib; {
dependencies = [ requests ];
build-system = [ setuptools ];
nativeCheckInputs = [ pytestCheckHook ];
meta = {
description = "Easy to use PyPI client";
homepage = "https://yarg.readthedocs.io";
license = licenses.mit;
maintainers = with maintainers; [ psyanticy ];
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ psyanticy ];
};
}
@@ -24,7 +24,6 @@ stdenv.mkDerivation {
nativeBuildInputs = kernel.moduleBuildDependencies;
patches = [
./i686-build-failure.patch
./license.patch
./linux-4.7.patch
# source: https://git.archlinux.org/svntogit/community.git/tree/trunk/004-linux48.patch?h=packages/broadcom-wl-dkms
+24 -7
View File
@@ -1,11 +1,28 @@
--- a/Makefile 2014-06-26 10:42:08.000000000 +0000
+++ b/Makefile 2014-07-17 22:44:01.662297228 +0000
@@ -126,6 +126,8 @@
From 3e28c2a24c3b3b011506bcaa4fee7e8da347c5ff Mon Sep 17 00:00:00 2001
From: Charles Strahan <charles.c.strahan@gmail.com>
Date: Tue, 5 May 2015 15:09:51 -0400
Subject: [PATCH 01/16] linuxPackages.broadcom_sta: since GCC respects
SOURCE_DATE_EPOCH, set in the stdenv, set -Wno-date-time
---
Makefile | 3 ---
1 file changed, 3 deletions(-)
diff --git a/Makefile b/Makefile
index a323a0d..15e85c8 100644
--- a/Makefile
+++ b/Makefile
@@ -140,10 +140,7 @@ wl-objs += src/wl/sys/wl_cfg80211_hybrid.o
EXTRA_CFLAGS += -I$(src)/src/include -I$(src)/src/common/include
EXTRA_CFLAGS += -I$(src)/src/wl/sys -I$(src)/src/wl/phy -I$(src)/src/wl/ppr/include
EXTRA_CFLAGS += -I$(src)/src/shared/bcmwifi/include
#EXTRA_CFLAGS += -DBCMDBG_ASSERT -DBCMDBG_ERR
-#EXTRA_CFLAGS += -DBCMDBG_ASSERT -DBCMDBG_ERR
-ifeq "$(GE_49)" "1"
EXTRA_CFLAGS += -Wno-date-time
-endif
+EXTRA_CFLAGS += -Wno-date-time
+
EXTRA_LDFLAGS := $(src)/lib/wlc_hybrid.o_shipped
KBASE ?= /lib/modules/`uname -r`
--
2.45.1
@@ -1,18 +0,0 @@
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=fe47ae6e1a5005b2e82f7eab57b5c3820453293a
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=4ea1636b04dbd66536fa387bae2eea463efc705b
diff -ru a/src/shared/linux_osl.c b/src/shared/linux_osl.c
--- a/src/shared/linux_osl.c 2015-09-19 01:47:15.000000000 +0300
+++ b/src/shared/linux_osl.c 2015-11-21 15:20:30.585902518 +0200
@@ -932,7 +932,11 @@
uint cycles;
#if defined(__i386__)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0)
+ cycles = (u32)rdtsc();
+#else
rdtscl(cycles);
+#endif
#else
cycles = 0;
#endif
@@ -1,7 +1,18 @@
diff -Naur hybrid-portsrc-x86_32-v5_10_91_9.orig/src/wl/sys/wl_linux.c hybrid-portsrc-x86_32-v5_10_91_9/src/wl/sys/wl_linux.c
--- hybrid-portsrc-x86_32-v5_10_91_9.orig/src/wl/sys/wl_linux.c 2009-04-23 02:48:59.000000000 +0900
+++ hybrid-portsrc-x86_32-v5_10_91_9/src/wl/sys/wl_linux.c 2009-05-08 00:48:20.000000000 +0900
@@ -171,6 +171,8 @@
From 5a964e14474e4482a4d24c015371856560dacabc Mon Sep 17 00:00:00 2001
From: Shea Levy <shea@shealevy.com>
Date: Sat, 4 Jan 2014 20:57:21 -0500
Subject: [PATCH 02/16] linuxPackages.broadcom_sta: apply MIXED/Proprietary
license
---
src/wl/sys/wl_linux.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
index 0d05100..14922c0 100644
--- a/src/wl/sys/wl_linux.c
+++ b/src/wl/sys/wl_linux.c
@@ -148,6 +148,8 @@ static struct wl_if *wl_alloc_if(wl_info_t *wl, int iftype, uint unit, struct wl
static void wl_free_if(wl_info_t *wl, wl_if_t *wlif);
static void wl_get_driver_info(struct net_device *dev, struct ethtool_drvinfo *info);
@@ -10,4 +21,6 @@ diff -Naur hybrid-portsrc-x86_32-v5_10_91_9.orig/src/wl/sys/wl_linux.c hybrid-po
#if defined(WL_CONFIG_RFKILL)
#include <linux/rfkill.h>
static int wl_init_rfkill(wl_info_t *wl);
--
2.45.1
@@ -1,5 +1,15 @@
From 5a0301c2d9c65dbb3c5b8990e635d37f071d26c4 Mon Sep 17 00:00:00 2001
From: georgewhewell <georgerw@gmail.com>
Date: Fri, 2 Jun 2017 14:19:04 +0100
Subject: [PATCH 06/16] linuxPackages.broadcom_sta: fix build for kernel 4.11+
---
src/wl/sys/wl_cfg80211_hybrid.c | 3 +++
src/wl/sys/wl_linux.c | 12 ++++++++++++
2 files changed, 15 insertions(+)
diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
index a9671e2..da36405 100644
index 84f0068..9fd8ed1 100644
--- a/src/wl/sys/wl_cfg80211_hybrid.c
+++ b/src/wl/sys/wl_cfg80211_hybrid.c
@@ -30,6 +30,9 @@
@@ -13,7 +23,7 @@ index a9671e2..da36405 100644
#include <linux/nl80211.h>
#include <net/rtnetlink.h>
diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
index 489c9f5..f8278ad 100644
index 65d7a22..18841d9 100644
--- a/src/wl/sys/wl_linux.c
+++ b/src/wl/sys/wl_linux.c
@@ -117,6 +117,9 @@ int wl_found = 0;
@@ -26,7 +36,7 @@ index 489c9f5..f8278ad 100644
} priv_link_t;
#define WL_DEV_IF(dev) ((wl_if_t*)((priv_link_t*)DEV_PRIV(dev))->wlif)
@@ -2450,6 +2453,9 @@ wl_monitor(wl_info_t *wl, wl_rxsts_t *rxsts, void *p)
@@ -2451,6 +2454,9 @@ wl_monitor(wl_info_t *wl, wl_rxsts_t *rxsts, void *p)
{
struct sk_buff *oskb = (struct sk_buff *)p;
struct sk_buff *skb;
@@ -36,7 +46,7 @@ index 489c9f5..f8278ad 100644
uchar *pdata;
uint len;
@@ -2916,7 +2922,13 @@ wl_monitor(wl_info_t *wl, wl_rxsts_t *rxsts, void *p)
@@ -2917,7 +2923,13 @@ wl_monitor(wl_info_t *wl, wl_rxsts_t *rxsts, void *p)
if (skb == NULL) return;
skb->dev = wl->monitor_dev;
@@ -50,3 +60,6 @@ index 489c9f5..f8278ad 100644
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 22)
skb_reset_mac_header(skb);
#else
--
2.45.1
@@ -1,5 +1,26 @@
From 2e9c7bd146fbc3b4a62940140eafb47df16b6cb4 Mon Sep 17 00:00:00 2001
From: aszlig <aszlig@redmoonstudios.org>
Date: Tue, 18 Jul 2017 21:32:13 +0200
Subject: [PATCH 07/16] linuxPackages.broadcom_sta: fix build for kernel 4.12+
The patch is from Arch Linux at:
https://aur.archlinux.org/cgit/aur.git/tree/linux412.patch?h=broadcom-wl
Tested this by building against the following attributes:
* linuxPackages.broadcom_sta
* linuxPackages_latest.broadcom_sta
* pkgsI686Linux.linuxPackages.broadcom_sta
* pkgsI686Linux.linuxPackages_latest.broadcom_sta
I have not tested whether this works at runtime, because I do not possess the hardware.
---
src/wl/sys/wl_cfg80211_hybrid.c | 29 ++++++++++++++++++++++++++++-
1 file changed, 28 insertions(+), 1 deletion(-)
diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
index da36405..d3741eb 100644
index 9fd8ed1..1893a53 100644
--- a/src/wl/sys/wl_cfg80211_hybrid.c
+++ b/src/wl/sys/wl_cfg80211_hybrid.c
@@ -53,7 +53,11 @@ u32 wl_dbg_level = WL_DBG_ERR;
@@ -66,3 +87,6 @@ index da36405..d3741eb 100644
WL_DBG(("Report roaming result\n"));
set_bit(WL_STATUS_CONNECTED, &wl->status);
--
2.45.1
@@ -1,12 +1,21 @@
From ae88c3c0c91d26ca5e4dc1e498a370747d2c3b03 Mon Sep 17 00:00:00 2001
From: Yegor Timoshenko <yegortimoshenko@riseup.net>
Date: Wed, 31 Jan 2018 22:59:09 +0000
Subject: [PATCH 08/16] linuxPackages.broadcom_sta: fix build for kernel 4.15+
See: https://lkml.org/lkml/2017/11/25/90
---
src/wl/sys/wl_linux.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff -urNZ a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
--- a/src/wl/sys/wl_linux.c 2015-09-18 22:47:30.000000000 +0000
+++ b/src/wl/sys/wl_linux.c 2018-01-31 22:52:10.859856221 +0000
@@ -93,7 +93,11 @@
diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
index 18841d9..83b8859 100644
--- a/src/wl/sys/wl_linux.c
+++ b/src/wl/sys/wl_linux.c
@@ -93,7 +93,11 @@ struct iw_statistics *wl_get_wireless_stats(struct net_device *dev);
#include <wlc_wowl.h>
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
+static void wl_timer(struct timer_list *tl);
+#else
@@ -14,10 +23,10 @@ diff -urNZ a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
+#endif
static void _wl_timer(wl_timer_t *t);
static struct net_device *wl_alloc_linux_if(wl_if_t *wlif);
@@ -2298,9 +2302,15 @@
@@ -2303,9 +2307,15 @@ wl_timer_task(wl_task_t *task)
}
static void
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
+wl_timer(struct timer_list *tl)
@@ -28,13 +37,13 @@ diff -urNZ a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
{
wl_timer_t *t = (wl_timer_t *)data;
+#endif
if (!WL_ALL_PASSIVE_ENAB(t->wl))
_wl_timer(t);
@@ -2352,9 +2362,13 @@
@@ -2357,9 +2367,13 @@ wl_init_timer(wl_info_t *wl, void (*fn)(void *arg), void *arg, const char *tname
bzero(t, sizeof(wl_timer_t));
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
+ timer_setup(&t->timer, wl_timer, 0);
+#else
@@ -45,3 +54,6 @@ diff -urNZ a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
t->wl = wl;
t->fn = fn;
t->arg = arg;
--
2.45.1
@@ -1,17 +1,36 @@
From bc408ef546b08443dabbe8fcdfec5e1e48494ed8 Mon Sep 17 00:00:00 2001
From: aszlig <aszlig@redmoonstudios.org>
Date: Mon, 1 Aug 2016 20:45:47 +0200
Subject: [PATCH 04/16] linuxPackages.broadcom_sta: fix build for kernel 4.7+
Patch is from Arch Linux at:
https://aur.archlinux.org/cgit/aur.git/tree/?h=broadcom-wl
I've tested building against 3.18.36, 4.4.16 and 4.7.0.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Cc: @phreedom, @vcunat
Since Linux 4.7, the enum ieee80211_band is no longer used
This shall cause no problem's since both enums ieee80211_band
and nl80211_band were added in the same commit:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=13ae75b103e07304a34ab40c9136e9f53e06475c
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=13ae75b103e07304a34ab40c9136e9f53e06475c
This patch refactors the references of IEEE80211_BAND_* to NL80211_BAND_*
Reference:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=57fbcce37be7c1d2622b56587c10ade00e96afa3
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=57fbcce37be7c1d2622b56587c10ade00e96afa3
---
src/wl/sys/wl_cfg80211_hybrid.c | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
--- a/src/wl/sys/wl_cfg80211_hybrid.c 2016-06-13 11:57:36.159340297 -0500
+++ b/src/wl/sys/wl_cfg80211_hybrid.c 2016-06-13 11:58:18.442323435 -0500
@@ -236,7 +236,7 @@
diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
index 7b606e0..3b438ba 100644
--- a/src/wl/sys/wl_cfg80211_hybrid.c
+++ b/src/wl/sys/wl_cfg80211_hybrid.c
@@ -236,7 +236,7 @@ static s8 wl_dbg_estr[][WL_DBG_ESTR_MAX] = {
#endif
#define CHAN2G(_channel, _freq, _flags) { \
@@ -20,7 +39,7 @@ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=57f
.center_freq = (_freq), \
.hw_value = (_channel), \
.flags = (_flags), \
@@ -245,7 +245,7 @@
@@ -245,7 +245,7 @@ static s8 wl_dbg_estr[][WL_DBG_ESTR_MAX] = {
}
#define CHAN5G(_channel, _flags) { \
@@ -29,7 +48,7 @@ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=57f
.center_freq = 5000 + (5 * (_channel)), \
.hw_value = (_channel), \
.flags = (_flags), \
@@ -379,7 +379,7 @@
@@ -379,7 +379,7 @@ static struct ieee80211_channel __wl_5ghz_n_channels[] = {
};
static struct ieee80211_supported_band __wl_band_2ghz = {
@@ -38,7 +57,7 @@ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=57f
.channels = __wl_2ghz_channels,
.n_channels = ARRAY_SIZE(__wl_2ghz_channels),
.bitrates = wl_g_rates,
@@ -387,7 +387,7 @@
@@ -387,7 +387,7 @@ static struct ieee80211_supported_band __wl_band_2ghz = {
};
static struct ieee80211_supported_band __wl_band_5ghz_a = {
@@ -47,7 +66,7 @@ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=57f
.channels = __wl_5ghz_a_channels,
.n_channels = ARRAY_SIZE(__wl_5ghz_a_channels),
.bitrates = wl_a_rates,
@@ -395,7 +395,7 @@
@@ -395,7 +395,7 @@ static struct ieee80211_supported_band __wl_band_5ghz_a = {
};
static struct ieee80211_supported_band __wl_band_5ghz_n = {
@@ -56,18 +75,18 @@ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=57f
.channels = __wl_5ghz_n_channels,
.n_channels = ARRAY_SIZE(__wl_5ghz_n_channels),
.bitrates = wl_a_rates,
@@ -1876,8 +1876,8 @@
@@ -1876,8 +1876,8 @@ static s32 wl_alloc_wdev(struct device *dev, struct wireless_dev **rwdev)
wdev->wiphy->max_num_pmkids = WL_NUM_PMKIDS_MAX;
#endif
wdev->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | BIT(NL80211_IFTYPE_ADHOC);
- wdev->wiphy->bands[IEEE80211_BAND_2GHZ] = &__wl_band_2ghz;
- wdev->wiphy->bands[IEEE80211_BAND_5GHZ] = &__wl_band_5ghz_a;
+ wdev->wiphy->bands[NL80211_BAND_2GHZ] = &__wl_band_2ghz;
+ wdev->wiphy->bands[NL80211_BAND_5GHZ] = &__wl_band_5ghz_a;
+ wdev->wiphy->bands[NL80211_BAND_5GHZ] = &__wl_band_5ghz_a;
wdev->wiphy->signal_type = CFG80211_SIGNAL_TYPE_MBM;
wdev->wiphy->cipher_suites = __wl_cipher_suites;
wdev->wiphy->n_cipher_suites = ARRAY_SIZE(__wl_cipher_suites);
@@ -2000,7 +2000,7 @@
@@ -2000,7 +2000,7 @@ static s32 wl_inform_single_bss(struct wl_cfg80211_priv *wl, struct wl_bss_info
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39)
freq = ieee80211_channel_to_frequency(notif_bss_info->channel,
(notif_bss_info->channel <= CH_MAX_2G_CHANNEL) ?
@@ -76,7 +95,7 @@ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=57f
#else
freq = ieee80211_channel_to_frequency(notif_bss_info->channel);
#endif
@@ -2116,7 +2116,7 @@
@@ -2116,7 +2116,7 @@ wl_notify_connect_status(struct wl_cfg80211_priv *wl, struct net_device *ndev,
return err;
}
chan = wf_chspec_ctlchan(chanspec);
@@ -85,7 +104,7 @@ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=57f
freq = ieee80211_channel_to_frequency(chan, band);
channel = ieee80211_get_channel(wiphy, freq);
cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, channel, GFP_KERNEL);
@@ -2250,10 +2250,10 @@
@@ -2250,10 +2250,10 @@ static void wl_ch_to_chanspec(struct ieee80211_channel *chan, struct wl_join_par
join_params->params.chanspec_list[0] =
ieee80211_frequency_to_channel(chan->center_freq);
@@ -98,7 +117,7 @@ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=57f
chanspec |= WL_CHANSPEC_BAND_5G;
}
else {
@@ -2885,7 +2885,7 @@
@@ -2885,7 +2885,7 @@ static s32 wl_update_wiphybands(struct wl_cfg80211_priv *wl)
if (phy == 'n' || phy == 'a' || phy == 'v') {
wiphy = wl_to_wiphy(wl);
@@ -107,3 +126,6 @@ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=57f
}
return err;
--
2.45.1
@@ -1,18 +1,20 @@
From d3f93542326a06d920c6eb89b703384290d37b8b Mon Sep 17 00:00:00 2001
From 8c536235639010135f8dc11a8ec0968f9b200a6e Mon Sep 17 00:00:00 2001
From: Alberto Milone <alberto.milone@canonical.com>
Date: Fri, 2 Sep 2016 17:35:34 +0200
Subject: [PATCH 1/1] Add support for Linux 4.8
Subject: [PATCH 05/16] linuxPackages.broadcom_sta: fix build for kernel 4.8+
Orginal author: Krzysztof Kolasa
Original author: Krzysztof Kolasa
Source: https://git.archlinux.org/svntogit/community.git/tree/trunk/004-linux48.patch?h=packages/broadcom-wl-dkms
---
src/wl/sys/wl_cfg80211_hybrid.c | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
index 2fc71fe..ec5e472 100644
index 3b438ba..84f0068 100644
--- a/src/wl/sys/wl_cfg80211_hybrid.c
+++ b/src/wl/sys/wl_cfg80211_hybrid.c
@@ -2388,8 +2388,16 @@ wl_bss_connect_done(struct wl_cfg80211_priv *wl, struct net_device *ndev,
@@ -2386,8 +2386,16 @@ wl_bss_connect_done(struct wl_cfg80211_priv *wl, struct net_device *ndev,
s32 err = 0;
if (wl->scan_request) {
@@ -29,7 +31,7 @@ index 2fc71fe..ec5e472 100644
wl->scan_request = NULL;
}
@@ -2490,7 +2498,14 @@ wl_notify_scan_status(struct wl_cfg80211_priv *wl, struct net_device *ndev,
@@ -2488,7 +2496,14 @@ wl_notify_scan_status(struct wl_cfg80211_priv *wl, struct net_device *ndev,
scan_done_out:
if (wl->scan_request) {
@@ -44,7 +46,7 @@ index 2fc71fe..ec5e472 100644
wl->scan_request = NULL;
}
rtnl_unlock();
@@ -2909,7 +2924,14 @@ s32 wl_cfg80211_down(struct net_device *ndev)
@@ -2913,7 +2928,14 @@ s32 wl_cfg80211_down(struct net_device *ndev)
s32 err = 0;
if (wl->scan_request) {
@@ -60,5 +62,5 @@ index 2fc71fe..ec5e472 100644
}
--
2.7.4
2.45.1
@@ -1,14 +1,18 @@
commit bcb06af629a36eb84f9a35ac599ec7e51e2d39fb
Author: georgewhewell <georgerw@gmail.com>
Date: Sat May 18 21:22:37 2019 +0100
From 35c712b7ad2b20088a1a4e233f1d22d7f6dc2525 Mon Sep 17 00:00:00 2001
From: georgewhewell <georgerw@gmail.com>
Date: Sat, 18 May 2019 21:36:26 +0100
Subject: [PATCH 09/16] linuxPackages.broadcom_sta: fix build for kernel 5.1+
find src -type f -name \'*.c\' -exec sed -i "s/get_ds()/KERNEL_DS/g" {} \;
---
src/wl/sys/wl_cfg80211_hybrid.c | 2 +-
src/wl/sys/wl_iw.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
index 7b606e0..51c81bc 100644
index 1893a53..4b3298f 100644
--- a/src/wl/sys/wl_cfg80211_hybrid.c
+++ b/src/wl/sys/wl_cfg80211_hybrid.c
@@ -450,7 +450,7 @@ wl_dev_ioctl(struct net_device *dev, u32 cmd, void *arg, u32 len)
@@ -457,7 +457,7 @@ wl_dev_ioctl(struct net_device *dev, u32 cmd, void *arg, u32 len)
ifr.ifr_data = (caddr_t)&ioc;
fs = get_fs();
@@ -30,3 +34,6 @@ index c4c610b..9c3c74e 100644
#if defined(WL_USE_NETDEV_OPS)
ret = dev->netdev_ops->ndo_do_ioctl(dev, &ifr, SIOCDEVPRIVATE);
#else
--
2.45.1
@@ -1,7 +1,9 @@
From 31b7849092c43805c7fbaf7518b99874aa1b310c Mon Sep 17 00:00:00 2001
From a5e450dcdc7bc4ce06379189c3577f8c7a36fbde Mon Sep 17 00:00:00 2001
From: Joan Bruguera <joanbrugueram@gmail.com>
Date: Wed, 12 Jan 2022 20:49:20 +0100
Subject: [PATCH] Tentative fix for broadcom-wl 6.30.223.271 driver for Linux 5.17-rc1
Subject: [PATCH 12/16] linuxPackages.broadcom_sta: fix build for kernel 5.17+
Tentative fix for broadcom-wl 6.30.223.271 driver for Linux 5.17-rc1
Set netdev->dev_addr through dev_addr_mod + PDE_DATA fix
@@ -17,11 +19,11 @@ Applies on top of all the patches applied to broadcom-wl-dkms 6.30.223.271-28 on
See also: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=adeef3e32146a8d2a73c399dc6f5d76a449131b1
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=359745d78351c6f5442435f81549f0207ece28aa
---
src/wl/sys/wl_linux.c | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
src/wl/sys/wl_linux.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
index e491df7..e4614fb 100644
index 26ba9fa..25c4706 100644
--- a/src/wl/sys/wl_linux.c
+++ b/src/wl/sys/wl_linux.c
@@ -93,6 +93,10 @@ struct iw_statistics *wl_get_wireless_stats(struct net_device *dev);
@@ -35,20 +37,7 @@ index e491df7..e4614fb 100644
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
static void wl_timer(struct timer_list *tl);
#else
@@ -490,6 +494,12 @@ wl_if_setup(struct net_device *dev)
#endif
}
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0)
+static inline void eth_hw_addr_set(struct net_device *dev, const void *addr) {
+ memcpy(dev->dev_addr, addr, ETHER_ADDR_LEN);
+}
+#endif
+
static wl_info_t *
wl_attach(uint16 vendor, uint16 device, ulong regs,
uint bustype, void *btparam, uint irq, uchar* bar1_addr, uint32 bar1_size)
@@ -634,7 +644,7 @@ wl_attach(uint16 vendor, uint16 device, ulong regs,
@@ -646,7 +650,7 @@ wl_attach(uint16 vendor, uint16 device, ulong regs,
WL_ERROR(("wl%d: Error setting MAC ADDRESS\n", unit));
}
#endif
@@ -57,7 +46,7 @@ index e491df7..e4614fb 100644
online_cpus = 1;
@@ -1835,7 +1845,7 @@ wl_set_mac_address(struct net_device *dev, void *addr)
@@ -1852,7 +1856,7 @@ wl_set_mac_address(struct net_device *dev, void *addr)
WL_LOCK(wl);
@@ -66,7 +55,7 @@ index e491df7..e4614fb 100644
err = wlc_iovar_op(wl->wlc, "cur_etheraddr", NULL, 0, sa->sa_data, ETHER_ADDR_LEN,
IOV_SET, (WL_DEV_IF(dev))->wlcif);
WL_UNLOCK(wl);
@@ -3010,7 +3020,7 @@ _wl_add_monitor_if(wl_task_t *task)
@@ -3033,7 +3037,7 @@ _wl_add_monitor_if(wl_task_t *task)
else
dev->type = ARPHRD_IEEE80211_RADIOTAP;
@@ -76,5 +65,5 @@ index e491df7..e4614fb 100644
#if defined(WL_USE_NETDEV_OPS)
dev->netdev_ops = &wl_netdev_monitor_ops;
--
2.35.1
2.45.1
@@ -1,7 +1,17 @@
diff -u -r a/src/shared/linux_osl.c b/src/shared/linux_osl.c
--- a/src/shared/linux_osl.c 2022-05-24 20:51:15.662604980 +0000
+++ b/src/shared/linux_osl.c 2022-05-24 21:13:38.264472425 +0000
@@ -599,6 +599,8 @@
From 6c66b0eaaa3e6ebaa84891298715b71f7b2f0b1c Mon Sep 17 00:00:00 2001
From: X9VoiD <oscar.silvestrexx@gmail.com>
Date: Mon, 13 Jun 2022 17:38:18 +0800
Subject: [PATCH 13/16] linuxPackages.broadcom_sta: fix build for kernel 5.18+
---
src/shared/linux_osl.c | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/src/shared/linux_osl.c b/src/shared/linux_osl.c
index dcfc075..5a25b82 100644
--- a/src/shared/linux_osl.c
+++ b/src/shared/linux_osl.c
@@ -599,6 +599,8 @@ osl_dma_alloc_consistent(osl_t *osh, uint size, uint16 align_bits, uint *alloced
va = kmalloc(size, GFP_ATOMIC | __GFP_ZERO);
if (va)
*pap = (ulong)__virt_to_phys(va);
@@ -10,7 +20,7 @@ diff -u -r a/src/shared/linux_osl.c b/src/shared/linux_osl.c
#else
va = pci_alloc_consistent(osh->pdev, size, (dma_addr_t*)pap);
#endif
@@ -612,6 +614,8 @@
@@ -612,6 +614,8 @@ osl_dma_free_consistent(osl_t *osh, void *va, uint size, ulong pa)
#ifdef __ARM_ARCH_7A__
kfree(va);
@@ -19,7 +29,7 @@ diff -u -r a/src/shared/linux_osl.c b/src/shared/linux_osl.c
#else
pci_free_consistent(osh->pdev, size, va, (dma_addr_t)pa);
#endif
@@ -623,7 +627,11 @@
@@ -623,7 +627,11 @@ osl_dma_map(osl_t *osh, void *va, uint size, int direction, void *p, hnddma_seg_
int dir;
ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC)));
@@ -31,7 +41,7 @@ diff -u -r a/src/shared/linux_osl.c b/src/shared/linux_osl.c
#if defined(__ARM_ARCH_7A__) && defined(BCMDMASGLISTOSL)
if (dmah != NULL) {
@@ -641,7 +649,11 @@
@@ -641,7 +649,11 @@ osl_dma_map(osl_t *osh, void *va, uint size, int direction, void *p, hnddma_seg_
ASSERT(totsegs + nsegs <= MAX_DMA_SEGS);
sg->page_link = 0;
sg_set_buf(sg, PKTDATA(osh, skb), PKTLEN(osh, skb));
@@ -43,7 +53,7 @@ diff -u -r a/src/shared/linux_osl.c b/src/shared/linux_osl.c
}
totsegs += nsegs;
totlen += PKTLEN(osh, skb);
@@ -656,7 +668,11 @@
@@ -656,7 +668,11 @@ osl_dma_map(osl_t *osh, void *va, uint size, int direction, void *p, hnddma_seg_
}
#endif
@@ -55,7 +65,7 @@ diff -u -r a/src/shared/linux_osl.c b/src/shared/linux_osl.c
}
void BCMFASTPATH
@@ -665,8 +681,13 @@
@@ -665,8 +681,13 @@ osl_dma_unmap(osl_t *osh, uint pa, uint size, int direction)
int dir;
ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC)));
@@ -69,3 +79,6 @@ diff -u -r a/src/shared/linux_osl.c b/src/shared/linux_osl.c
}
#if defined(BCMDBG_ASSERT)
--
2.45.1
@@ -1,11 +1,13 @@
From dd057e40a167f4febb1a7c77dd32b7d36056952c Mon Sep 17 00:00:00 2001
From 24decccfadc0d95b973e6dd8d476ddde2f0a4b21 Mon Sep 17 00:00:00 2001
From: Herman van Hazendonk <github.com@herrie.org>
Date: Tue, 31 Mar 2020 17:09:55 +0200
Subject: [PATCH] Add fixes for 5.6 kernel
Subject: [PATCH 10/16] linuxPackages.broadcom_sta: fix build for kernel 5.6+
Use ioremap instead of ioremap_nocache and proc_ops instead of file_operations on Linux kernel 5.6 and above.
Signed-off-by: Herman van Hazendonk <github.com@herrie.org>
Source: https://salsa.debian.org/Herrie82-guest/broadcom-sta/-/commit/247307926e5540ad574a17c062c8da76990d056f
---
src/shared/linux_osl.c | 6 +++++-
src/wl/sys/wl_linux.c | 21 ++++++++++++++++++++-
@@ -29,10 +31,10 @@ index 6157d18..dcfc075 100644
void
diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
index 0d05100..6d9dd0d 100644
index 83b8859..646f1d9 100644
--- a/src/wl/sys/wl_linux.c
+++ b/src/wl/sys/wl_linux.c
@@ -582,10 +582,17 @@ wl_attach(uint16 vendor, uint16 device, ulong regs,
@@ -591,10 +591,17 @@ wl_attach(uint16 vendor, uint16 device, ulong regs,
}
wl->bcm_bustype = bustype;
@@ -41,7 +43,7 @@ index 0d05100..6d9dd0d 100644
+ WL_ERROR(("wl%d: ioremap() failed\n", unit));
+ goto fail;
+ }
+ #else
+ #else
if ((wl->regsva = ioremap_nocache(dev->base_addr, PCI_BAR0_WINSZ)) == NULL) {
WL_ERROR(("wl%d: ioremap() failed\n", unit));
goto fail;
@@ -50,7 +52,7 @@ index 0d05100..6d9dd0d 100644
wl->bar1_addr = bar1_addr;
wl->bar1_size = bar1_size;
@@ -772,8 +779,13 @@ wl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
@@ -781,8 +788,13 @@ wl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
if ((val & 0x0000ff00) != 0)
pci_write_config_dword(pdev, 0x40, val & 0xffff00ff);
bar1_size = pci_resource_len(pdev, 2);
@@ -64,7 +66,7 @@ index 0d05100..6d9dd0d 100644
wl = wl_attach(pdev->vendor, pdev->device, pci_resource_start(pdev, 0), PCI_BUS, pdev,
pdev->irq, bar1_addr, bar1_size);
@@ -3335,12 +3347,19 @@ wl_proc_write(struct file *filp, const char __user *buff, size_t length, loff_t
@@ -3363,12 +3375,19 @@ wl_proc_write(struct file *filp, const char __user *buff, size_t length, loff_t
}
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
@@ -85,3 +87,6 @@ index 0d05100..6d9dd0d 100644
static int
wl_reg_proc_entry(wl_info_t *wl)
--
2.45.1
@@ -1,3 +1,30 @@
From 34d611f2dcf7d34db2cb413cc7b4f86f3706fec6 Mon Sep 17 00:00:00 2001
From: Joan Bruguera <joanbrugueram@gmail.com>
Date: Tue, 13 Oct 2020 19:35:55 +0200
Subject: [PATCH 11/16] linuxPackages.broadcom_sta: fix build for kernel 5.9+
Get rid of get_fs/set_fs calls in Broadcom WL driver.
Tentative patch for broadcom-wl 6.30.223.271 driver for Linux 5.10 (tested -rc1 up to 5.10.1)
Applies on top of all the patches applied to broadcom-wl-dkms 6.30.223.271-23 on Arch Linux.
NB: Some checks in wlc_ioctl_internal are likely superfluous,
but I'm not familiar enough with the driver to remove them with confidence.
See also: https://lwn.net/Articles/722267/
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=47058bb54b57962b3958a936ddbc59355e4c5504
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=5e6e9852d6f76e01b2e6803c74258afa5b432bc5
Signed-off-by: Joan Bruguera <joanbrugueram@gmail.com>
---
src/wl/sys/wl_cfg80211_hybrid.c | 26 ++-------------------
src/wl/sys/wl_iw.c | 25 ++-------------------
src/wl/sys/wl_linux.c | 40 ++++++++++++++++++++++++++++-----
src/wl/sys/wl_linux.h | 2 ++
src/wl/sys/wlc_pub.h | 1 +
5 files changed, 42 insertions(+), 52 deletions(-)
diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
index 4b3298f..c45ad48 100644
--- a/src/wl/sys/wl_cfg80211_hybrid.c
@@ -86,7 +113,7 @@ index 9c3c74e..e346b15 100644
static int
diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
index c990c70..5bb9480 100644
index 646f1d9..26ba9fa 100644
--- a/src/wl/sys/wl_linux.c
+++ b/src/wl/sys/wl_linux.c
@@ -1664,10 +1664,7 @@ wl_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
@@ -182,3 +209,6 @@ index 53a98b8..2b5a029 100644
#include "proto/802.11.h"
#include "proto/bcmevent.h"
--
2.45.1
@@ -1,18 +1,22 @@
From dbee29df729e543a89b3f95c1436e982eb0047c1 Mon Sep 17 00:00:00 2001
From cec136ba06039aa2e4441771df855894391db298 Mon Sep 17 00:00:00 2001
From: Joan Bruguera <joanbrugueram@gmail.com>
Date: Thu, 30 Jun 2022 02:15:35 +0200
Subject: [PATCH] Tentative patch for broadcom-wl 6.30.223.271 driver for Linux 6.0-rc1
Subject: [PATCH 14/16] linuxPackages.broadcom_sta: fix build for kernel 6.0+
Tentative patch for broadcom-wl 6.30.223.271 driver for Linux 6.0-rc1
Applies on top of all the patches applied to broadcom-wl-dkms 6.30.223.271-33 on Arch Linux.
Source: https://gist.github.com/joanbm/207210d74637870c01ef5a3c262a597d
---
src/wl/sys/wl_cfg80211_hybrid.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
index d815b33..7faa735 100644
index c45ad48..9ae56a1 100644
--- a/src/wl/sys/wl_cfg80211_hybrid.c
+++ b/src/wl/sys/wl_cfg80211_hybrid.c
@@ -2381,7 +2381,12 @@ wl_bss_roaming_done(struct wl_cfg80211_priv *wl, struct net_device *ndev,
@@ -2354,7 +2354,12 @@ wl_bss_roaming_done(struct wl_cfg80211_priv *wl, struct net_device *ndev,
bss = cfg80211_get_bss(wl_to_wiphy(wl), NULL, (s8 *)&wl->bssid,
ssid->SSID, ssid->SSID_len, WLAN_CAPABILITY_ESS, WLAN_CAPABILITY_ESS);
struct cfg80211_roam_info roam_info = {
@@ -26,5 +30,5 @@ index d815b33..7faa735 100644
.req_ie_len = conn_info->req_ie_len,
.resp_ie = conn_info->resp_ie,
--
2.37.0
2.45.1
@@ -1,18 +1,22 @@
From a63a5f70e5cf05f6bce4cda2e0dd67462e1d76a5 Mon Sep 17 00:00:00 2001
From febe94b43294a3155e39e844db4ac4ee81614ad1 Mon Sep 17 00:00:00 2001
From: Joan Bruguera <joanbrugueram@gmail.com>
Date: Mon, 29 Aug 2022 00:06:53 +0200
Subject: [PATCH] Tentative patch for broadcom-wl 6.30.223.271 driver for Linux 6.1-rc1
Subject: [PATCH 16/16] linuxPackages.broadcom_sta: fix build for kernel 6.1+
Tentative patch for broadcom-wl 6.30.223.271 driver for Linux 6.1-rc1
Applies on top of all the patches applied to broadcom-wl-dkms 6.30.223.271-35 on Arch Linux
Source: https://gist.github.com/joanbm/94323ea99eff1e1d1c51241b5b651549
---
src/wl/sys/wl_cfg80211_hybrid.c | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
index 4fef22a..50d1e34 100644
index a6b2ca2..333866c 100644
--- a/src/wl/sys/wl_cfg80211_hybrid.c
+++ b/src/wl/sys/wl_cfg80211_hybrid.c
@@ -105,20 +105,25 @@ static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, struct wireless_dev *wd
@@ -104,20 +104,25 @@ static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, struct wireless_dev *wd
static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, s32 *dbm);
#endif
@@ -79,5 +83,5 @@ index 4fef22a..50d1e34 100644
#else
static s32
--
2.37.2
2.45.1
@@ -1,7 +1,25 @@
diff -urN a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
--- a/src/wl/sys/wl_linux.c 2015-01-06 12:33:42.981659618 +0100
+++ b/src/wl/sys/wl_linux.c 2015-01-06 12:34:05.647395418 +0100
@@ -2157,8 +2157,8 @@
From 507d93e3651d78c1df8bd185b0703872d0c2585b Mon Sep 17 00:00:00 2001
From: aszlig <aszlig@redmoonstudios.org>
Date: Mon, 1 Aug 2016 21:00:02 +0200
Subject: [PATCH 03/16] linuxPackages.broadcom_sta: fix NULL pointer deref
The patch is from the following Gentoo bug:
https://bugs.gentoo.org/show_bug.cgi?id=523326#c24
Built successfully against Linux 3.18.36, 4.4.16 and 4.7.0.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Cc: @phreedom, @vcunat
---
src/wl/sys/wl_linux.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
index 14922c0..65d7a22 100644
--- a/src/wl/sys/wl_linux.c
+++ b/src/wl/sys/wl_linux.c
@@ -2167,8 +2167,8 @@ wl_start(struct sk_buff *skb, struct net_device *dev)
wlif = WL_DEV_IF(dev);
wl = WL_INFO(dev);
@@ -11,3 +29,6 @@ diff -urN a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
TXQ_LOCK(wl);
--
2.45.1
@@ -1,8 +1,21 @@
From 99b1bbc01ea0611e93cb94c2a2532aef96676976 Mon Sep 17 00:00:00 2001
From: X9VoiD <oscar.silvestrexx@gmail.com>
Date: Wed, 19 Oct 2022 00:29:28 +0800
Subject: [PATCH 15/16] linuxPackages.broadcom_sta: fix build issues with
kernel 6.0+
---
src/shared/linux_osl.c | 2 +-
src/wl/sys/wl_cfg80211_hybrid.c | 17 ++++++++---------
src/wl/sys/wl_iw.h | 1 -
src/wl/sys/wl_linux.c | 17 +++++++++--------
4 files changed, 18 insertions(+), 19 deletions(-)
diff --git a/src/shared/linux_osl.c b/src/shared/linux_osl.c
index 711b771..5a2636a 100644
index 5a25b82..18bacb6 100644
--- a/src/shared/linux_osl.c
+++ b/src/shared/linux_osl.c
@@ -1105,7 +1105,7 @@ osl_os_get_image_block(char *buf, int len, void *image)
@@ -1101,7 +1101,7 @@ osl_os_get_image_block(char *buf, int len, void *image)
if (!image)
return 0;
@@ -12,7 +25,7 @@ index 711b771..5a2636a 100644
fp->f_pos += rdlen;
diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
index 2b3c290..093dce6 100644
index 9ae56a1..a6b2ca2 100644
--- a/src/wl/sys/wl_cfg80211_hybrid.c
+++ b/src/wl/sys/wl_cfg80211_hybrid.c
@@ -790,6 +790,7 @@ wl_set_auth_type(struct net_device *dev, struct cfg80211_connect_params *sme)
@@ -70,10 +83,10 @@ index 3ab084f..471d11f 100644
#define WL_IW_GET_RSSI (SIOCIWFIRSTPRIV+3)
#define WL_IW_SET_PASSIVE_SCAN (SIOCIWFIRSTPRIV+5)
diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
index d13fb98..97ae2a6 100644
index 25c4706..4c7e238 100644
--- a/src/wl/sys/wl_linux.c
+++ b/src/wl/sys/wl_linux.c
@@ -797,14 +797,15 @@ wl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
@@ -791,14 +791,15 @@ wl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
pci_read_config_dword(pdev, 0x40, &val);
if ((val & 0x0000ff00) != 0)
pci_write_config_dword(pdev, 0x40, val & 0xffff00ff);
@@ -97,3 +110,6 @@ index d13fb98..97ae2a6 100644
wl = wl_attach(pdev->vendor, pdev->device, pci_resource_start(pdev, 0), PCI_BUS, pdev,
pdev->irq, bar1_addr, bar1_size);
--
2.45.1
+3 -3
View File
@@ -1,8 +1,8 @@
{ lib, fetchFromGitHub, buildGoModule, installShellFiles, callPackage, nixosTests }:
{ lib, nodejs, pnpm, fetchFromGitHub, buildGoModule, installShellFiles, callPackage, nixosTests }:
let
inherit (import ./sources.nix { inherit fetchFromGitHub; }) pname version src vendorHash;
web = callPackage ./web.nix { };
web = callPackage ./web.nix { inherit nodejs pnpm fetchFromGitHub; };
in
buildGoModule rec {
inherit pname version src vendorHash;
@@ -72,7 +72,7 @@ buildGoModule rec {
authentication.
'';
license = licenses.asl20;
maintainers = with maintainers; [ jk dit7ya ];
maintainers = with maintainers; [ jk dit7ya nicomem ];
mainProgram = "authelia";
};
}
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -1,14 +1,14 @@
{ fetchFromGitHub }:
rec {
pname = "authelia";
version = "4.37.5";
version = "4.38.9";
src = fetchFromGitHub {
owner = "authelia";
repo = "authelia";
rev = "v${version}";
hash = "sha256-xsdBnyPHFIimhp2rcudWqvVR36WN4vBXbxRmvgqMcDw=";
hash = "sha256-xhn8+eBf0pF1ujglIoBmj0E1+B3YngEESb/SZlR4Ugk=";
};
vendorHash = "sha256-mzGE/T/2TT4+7uc2axTqG3aeLMnt1r9Ya7Zj2jIkw/w=";
npmDepsHash = "sha256-MGs6UAxT5QZd8S3AO75mxuCb6U0UdRkGEjenOVj+Oqs=";
vendorHash = "sha256-ZdrtP8E65Xyx2Czdh1EvfofVWvBIwLmQ8/Tx3rSsIzs=";
pnpmDepsHash = "sha256-2kABLWeelTml1tcxcgWLHWv/SNqwGxJB+VExusnd+KI=";
}
+6 -27
View File
@@ -25,10 +25,6 @@ replace() {
sed -i "s@$1@$2@g" "$3"
}
grab_version() {
instantiateClean "authelia.version"
}
# provide a github token so you don't get rate limited
# if you use gh cli you can use:
# `export GITHUB_TOKEN="$(cat ~/.config/gh/config.yml | yq '.hosts."github.com".oauth_token' -r)"`
@@ -59,29 +55,12 @@ NEW_SRC_HASH="$(fetchNewHash authelia.src)"
echo "New src hash $NEW_SRC_HASH"
replace "$TMP_HASH" "$NEW_SRC_HASH" "$DRV_DIR/sources.nix"
# after updating src the next focus is the web dependencies
# build package-lock.json since authelia uses pnpm
WEB_DIR=$(mktemp -d)
clean_up() {
rm -rf "$WEB_DIR"
}
trap clean_up EXIT
OLD_PWD=$PWD
cd $WEB_DIR
OUT=$(nix-build -E "with import $NIXPKGS_ROOT {}; authelia.src" --no-out-link)
cp -r $OUT/web/package.json .
npm install --package-lock-only --legacy-peer-deps --ignore-scripts
mv package-lock.json "$DRV_DIR/"
cd $OLD_PWD
OLD_NPM_DEPS_HASH="$(instantiateClean authelia.web.npmDepsHash)"
echo "Old npm deps hash $OLD_NPM_DEPS_HASH"
replace "$OLD_NPM_DEPS_HASH" "$TMP_HASH" "$DRV_DIR/sources.nix"
NEW_NPM_DEPS_HASH="$(fetchNewHash authelia.web)"
echo "New npm deps hash $NEW_NPM_DEPS_HASH"
replace "$TMP_HASH" "$NEW_NPM_DEPS_HASH" "$DRV_DIR/sources.nix"
clean_up
OLD_PNPM_DEPS_HASH="$(instantiateClean authelia.web.pnpmDeps.outputHash)"
echo "Old pnpm deps hash $OLD_PNPM_DEPS_HASH"
replace "$OLD_PNPM_DEPS_HASH" "$TMP_HASH" "$DRV_DIR/sources.nix"
NEW_PNPM_DEPS_HASH="$(fetchNewHash authelia.web)"
echo "New pnpm deps hash $NEW_PNPM_DEPS_HASH"
replace "$TMP_HASH" "$NEW_PNPM_DEPS_HASH" "$DRV_DIR/sources.nix"
OLD_GO_VENDOR_HASH="$(instantiateClean authelia.vendorHash)"
echo "Old go vendor hash $OLD_GO_VENDOR_HASH"
+19 -8
View File
@@ -1,21 +1,32 @@
{ buildNpmPackage, fetchFromGitHub }:
{ stdenv, nodejs, pnpm, fetchFromGitHub }:
let
inherit (import ./sources.nix { inherit fetchFromGitHub; }) pname version src npmDepsHash;
inherit (import ./sources.nix { inherit fetchFromGitHub; }) pname version src pnpmDepsHash;
in
buildNpmPackage {
stdenv.mkDerivation (finalAttrs: {
pname = "${pname}-web";
inherit src version npmDepsHash;
inherit src version;
sourceRoot = "${src.name}/web";
sourceRoot = "${finalAttrs.src.name}/web";
nativeBuildInputs = [
nodejs
pnpm.configHook
];
pnpmDeps = pnpm.fetchDeps {
inherit (finalAttrs) pname version src sourceRoot;
hash = pnpmDepsHash;
};
postPatch = ''
substituteInPlace ./vite.config.ts \
--replace 'outDir: "../internal/server/public_html"' 'outDir: "dist"'
cp ${./package-lock.json} ./package-lock.json
'';
npmFlags = [ "--legacy-peer-deps" ];
postBuild = ''
pnpm run build
'';
installPhase = ''
runHook preInstall
@@ -25,4 +36,4 @@ buildNpmPackage {
runHook postInstall
'';
}
})
@@ -12,13 +12,13 @@
buildHomeAssistantComponent rec {
owner = "al-one";
domain = "xiaomi_miot";
version = "0.7.18";
version = "0.7.19";
src = fetchFromGitHub {
owner = "al-one";
repo = "hass-xiaomi-miot";
rev = "v${version}";
hash = "sha256-/Zn2jEjwkCHiz48nVjKEPcCpPVajLaZ81DCTNpx1vbk=";
hash = "sha256-QtvcXQOq4aqXdydXaWDtRSZYzD0ZqDstpestdBiTQwo=";
};
propagatedBuildInputs = [
@@ -33,7 +33,7 @@ buildHomeAssistantComponent rec {
passthru.updateScript = nix-update-script { };
meta = with lib; {
changelog = "https://github.com/al-one/hass-xiaomi-miot/releases/tag/${version}";
changelog = "https://github.com/al-one/hass-xiaomi-miot/releases/tag/v${version}";
description = "Automatic integrate all Xiaomi devices to HomeAssistant via miot-spec, support Wi-Fi, BLE, ZigBee devices";
homepage = "https://github.com/al-one/hass-xiaomi-miot";
maintainers = with maintainers; [ azuwis ];
+3 -3
View File
@@ -2,13 +2,13 @@
buildFishPlugin rec {
pname = "hydro";
version = "unstable-2022-02-21";
version = "unstable-2024-03-24";
src = fetchFromGitHub {
owner = "jorgebucaran";
repo = "hydro";
rev = "d4875065ceea226f58ead97dd9b2417937344d6e";
sha256 = "sha256-nXeDnqqOuZyrqGTPEQtYlFvrFvy1bZVMF4CA37b0lsE=";
rev = "bc31a5ebc687afbfb13f599c9d1cc105040437e1";
hash = "sha256-0MMiM0NRbjZPJLAMDXb+Frgm+du80XpAviPqkwoHjDA=";
};
meta = with lib; {
@@ -81,7 +81,7 @@ let
};
in
stdenv.mkDerivation ({
pname = "wkhtmltopdf-bin";
pname = "wkhtmltopdf";
dontStrip = true;
+1
View File
@@ -29,6 +29,7 @@ let
rx
gtk3
reactivex
setuptools
]);
in stdenv.mkDerivation rec {
pname = "gwe";
+2 -2
View File
@@ -1,7 +1,7 @@
{ lib
, stdenv
, asciidoctor
, botan2
, botan3
, bzip2
, cmake
, fetchFromGitHub
@@ -25,7 +25,7 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-jUh7BxRnB6KePCk1jIvKzXgxSmWdKlQYmxshZZY4SBQ";
};
buildInputs = [ zlib bzip2 json_c botan2 sexpp ];
buildInputs = [ zlib bzip2 json_c botan3 sexpp ];
patches = [
];
+1 -1
View File
@@ -633,7 +633,6 @@ mapAliases ({
hll2390dw-cups = throw "The hll2390dw-cups package was dropped since it was unmaintained."; # Added 2024-06-21
ht-rust = xh; # Added 2021-02-13
hydra-unstable = hydra_unstable; # added 2022-05-10
hyprspace = throw "hyprspace has been removed from nixpkgs because it is broken"; # Added 2024-07-15
hyper-haskell = throw "'hyper-haskell' has been removed. reason: has been broken for a long time and depends on an insecure electron version"; # Added 2024-03-14
hyper-haskell-server-with-packages = throw "'hyper-haskell-server-with-packages' has been removed. reason: has been broken for a long time"; # Added 2024-03-14
@@ -1501,6 +1500,7 @@ mapAliases ({
win-qemu = throw "'win-qemu' has been replaced by 'virtio-win'"; # Added 2023-08-16
win-virtio = virtio-win; # Added 2023-10-17
win-signed-gplpv-drivers = throw "win-signed-gplpv-drivers has been removed from nixpkgs, as it's unmaintained: https://help.univention.com/t/installing-signed-gplpv-drivers/21828"; # Added 2023-08-17
wkhtmltopdf-bin = wkhtmltopdf; # Added 2024-07-17
wlroots_0_14 = throw "'wlroots_0_14' has been removed in favor of newer versions"; # Added 2023-07-29
wlroots_0_15 = throw "'wlroots_0_15' has been removed in favor of newer versions"; # Added 2024-03-28
wordpress6_1 = throw "'wordpress6_1' has been removed in favor of the latest version"; # Added 2023-10-10
+2 -5
View File
@@ -3257,7 +3257,7 @@ with pkgs;
authenticator = callPackage ../applications/misc/authenticator { };
authelia = callPackage ../servers/authelia { };
authelia = callPackage ../servers/authelia { pnpm = pnpm_9; };
authentik-outposts = recurseIntoAttrs (callPackages ../by-name/au/authentik/outposts.nix { });
@@ -14434,8 +14434,7 @@ with pkgs;
wireguard-go = callPackage ../tools/networking/wireguard-go { };
wkhtmltopdf-bin = callPackage ../tools/graphics/wkhtmltopdf-bin { };
wkhtmltopdf = wkhtmltopdf-bin;
wkhtmltopdf = callPackage ../tools/graphics/wkhtmltopdf { };
wml = callPackage ../development/web/wml { };
@@ -20049,8 +20048,6 @@ with pkgs;
clipper = callPackage ../development/libraries/clipper { };
clipper2 = callPackage ../development/libraries/clipper2 { };
cln = callPackage ../development/libraries/cln { };
clucene_core_2 = callPackage ../development/libraries/clucene-core/2.x.nix { };
+8 -4
View File
@@ -1302,6 +1302,8 @@ self: super: with self; {
azure-monitor-ingestion = callPackage ../development/python-modules/azure-monitor-ingestion { };
azure-monitor-query = callPackage ../development/python-modules/azure-monitor-query { };
azure-multiapi-storage = callPackage ../development/python-modules/azure-multiapi-storage { };
azure-nspkg = callPackage ../development/python-modules/azure-nspkg { };
@@ -4536,10 +4538,12 @@ self: super: with self; {
fontfeatures = callPackage ../development/python-modules/fontfeatures { };
fontforge = toPythonModule (pkgs.fontforge.override {
withPython = true;
inherit python;
});
fontforge = disabledIf
(pythonOlder "3.10")
(toPythonModule (pkgs.fontforge.override {
withPython = true;
inherit python;
}));
fontmath = callPackage ../development/python-modules/fontmath { };