Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2023-11-16 00:12:46 +00:00 committed by GitHub
commit d1e968b8f0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
168 changed files with 7659 additions and 2184 deletions

View File

@ -323,7 +323,7 @@ $ nix-shell -p haskellPackages.dhall-nixpkgs nix-prefetch-git
```
:::{.note}
`nix-prefetch-git` has to be in `$PATH` for `dhall-to-nixpkgs` to work.
`nix-prefetch-git` is added to the `nix-shell -p` invocation above, because it has to be in `$PATH` for `dhall-to-nixpkgs` to work.
:::
The utility takes care of automatically detecting remote imports and converting

View File

@ -92,7 +92,7 @@ let
concatMap flatten remove findSingle findFirst any all count
optional optionals toList range replicate partition zipListsWith zipLists
reverseList listDfs toposort sort naturalSort compareLists take
drop sublist last init crossLists unique intersectLists
drop sublist last init crossLists unique allUnique intersectLists
subtractLists mutuallyExclusive groupBy groupBy';
inherit (self.strings) concatStrings concatMapStrings concatImapStrings
intersperse concatStringsSep concatMapStringsSep

View File

@ -238,6 +238,21 @@ Arguments:
And it would be unclear how the library should behave if the one file wouldn't be added to the store:
`toSource { root = ./file.nix; fileset = <empty>; }` has no reasonable result because returing an empty store path wouldn't match the file type, and there's no way to have an empty file store path, whatever that would mean.
### `fileFilter` takes a path
The `fileFilter` function takes a path, and not a file set, as its second argument.
- (-) Makes it harder to compose functions, since the file set type, the return value, can't be passed to the function itself like `fileFilter predicate fileset`
- (+) It's still possible to use `intersection` to filter on file sets: `intersection fileset (fileFilter predicate ./.)`
- (-) This does need an extra `./.` argument that's not obvious
- (+) This could always be `/.` or the project directory, `intersection` will make it lazy
- (+) In the future this will allow `fileFilter` to support a predicate property like `subpath` and/or `components` in a reproducible way.
This wouldn't be possible if it took a file set, because file sets don't have a predictable absolute path.
- (-) What about the base path?
- (+) That can change depending on which files are included, so if it's used for `fileFilter`
it would change the `subpath`/`components` value depending on which files are included.
- (+) If necessary, this restriction can be relaxed later, the opposite wouldn't be possible
## To update in the future
Here's a list of places in the library that need to be updated in the future:

View File

@ -366,7 +366,7 @@ in {
type :: String,
...
} -> Bool)
-> FileSet
-> Path
-> FileSet
Example:
@ -380,7 +380,7 @@ in {
fileFilter (file: hasPrefix "." file.name) ./.
# Include all regular files (not symlinks or others) in the current directory
fileFilter (file: file.type == "regular")
fileFilter (file: file.type == "regular") ./.
*/
fileFilter =
/*
@ -397,14 +397,24 @@ in {
Other attributes may be added in the future.
*/
predicate:
# The file set to filter based on the predicate function
fileset:
# The path whose files to filter
path:
if ! isFunction predicate then
throw ''
lib.fileset.fileFilter: First argument is of type ${typeOf predicate}, but it should be a function.''
lib.fileset.fileFilter: First argument is of type ${typeOf predicate}, but it should be a function instead.''
else if ! isPath path then
if path._type or "" == "fileset" then
throw ''
lib.fileset.fileFilter: Second argument is a file set, but it should be a path instead.
If you need to filter files in a file set, use `intersection fileset (fileFilter pred ./.)` instead.''
else
throw ''
lib.fileset.fileFilter: Second argument is of type ${typeOf path}, but it should be a path instead.''
else if ! pathExists path then
throw ''
lib.fileset.fileFilter: Second argument (${toString path}) is a path that does not exist.''
else
_fileFilter predicate
(_coerce "lib.fileset.fileFilter: Second argument" fileset);
_fileFilter predicate path;
/*
The file set containing all files that are in both of two given file sets.

View File

@ -786,29 +786,43 @@ rec {
_differenceTree (path + "/${name}") lhsValue (rhs.${name} or null)
) (_directoryEntries path lhs);
_fileFilter = predicate: fileset:
# Filters all files in a path based on a predicate
# Type: ({ name, type, ... } -> Bool) -> Path -> FileSet
_fileFilter = predicate: root:
let
recurse = path: tree:
mapAttrs (name: subtree:
if isAttrs subtree || subtree == "directory" then
recurse (path + "/${name}") subtree
else if
predicate {
inherit name;
type = subtree;
# To ensure forwards compatibility with more arguments being added in the future,
# adding an attribute which can't be deconstructed :)
"lib.fileset.fileFilter: The predicate function passed as the first argument must be able to handle extra attributes for future compatibility. If you're using `{ name, file }:`, use `{ name, file, ... }:` instead." = null;
}
then
subtree
# Check the predicate for a single file
# Type: String -> String -> filesetTree
fromFile = name: type:
if
predicate {
inherit name type;
# To ensure forwards compatibility with more arguments being added in the future,
# adding an attribute which can't be deconstructed :)
"lib.fileset.fileFilter: The predicate function passed as the first argument must be able to handle extra attributes for future compatibility. If you're using `{ name, file }:`, use `{ name, file, ... }:` instead." = null;
}
then
type
else
null;
# Check the predicate for all files in a directory
# Type: Path -> filesetTree
fromDir = path:
mapAttrs (name: type:
if type == "directory" then
fromDir (path + "/${name}")
else
null
) (_directoryEntries path tree);
fromFile name type
) (readDir path);
rootType = pathType root;
in
if fileset._internalIsEmptyWithoutBase then
_emptyWithoutBase
if rootType == "directory" then
_create root (fromDir root)
else
_create fileset._internalBase
(recurse fileset._internalBase fileset._internalTree);
# Single files are turned into a directory containing that file or nothing.
_create (dirOf root) {
${baseNameOf root} =
fromFile (baseNameOf root) rootType;
};
}

View File

@ -810,10 +810,18 @@ checkFileset 'difference ./. ./b'
## File filter
# The first argument needs to be a function
expectFailure 'fileFilter null (abort "this is not needed")' 'lib.fileset.fileFilter: First argument is of type null, but it should be a function instead.'
# The second argument needs to be an existing path
expectFailure 'fileFilter (file: abort "this is not needed") _emptyWithoutBase' 'lib.fileset.fileFilter: Second argument is a file set, but it should be a path instead.
\s*If you need to filter files in a file set, use `intersection fileset \(fileFilter pred \./\.\)` instead.'
expectFailure 'fileFilter (file: abort "this is not needed") null' 'lib.fileset.fileFilter: Second argument is of type null, but it should be a path instead.'
expectFailure 'fileFilter (file: abort "this is not needed") ./a' 'lib.fileset.fileFilter: Second argument \('"$work"'/a\) is a path that does not exist.'
# The predicate is not called when there's no files
tree=()
checkFileset 'fileFilter (file: abort "this is not needed") ./.'
checkFileset 'fileFilter (file: abort "this is not needed") _emptyWithoutBase'
# The predicate must be able to handle extra attributes
touch a
@ -875,6 +883,18 @@ checkFileset 'union ./c/a (fileFilter (file: assert file.name != "a"; true) ./.)
# but here we need to use ./c
checkFileset 'union (fileFilter (file: assert file.name != "a"; true) ./.) ./c'
# Make sure single files are filtered correctly
tree=(
[a]=1
[b]=0
)
checkFileset 'fileFilter (file: assert file.name == "a"; true) ./a'
tree=(
[a]=0
[b]=0
)
checkFileset 'fileFilter (file: assert file.name == "a"; false) ./a'
## Tracing
# The second trace argument is returned

View File

@ -821,6 +821,19 @@ rec {
*/
unique = foldl' (acc: e: if elem e acc then acc else acc ++ [ e ]) [];
/* Check if list contains only unique elements. O(n^2) complexity.
Type: allUnique :: [a] -> bool
Example:
allUnique [ 3 2 3 4 ]
=> false
allUnique [ 3 2 4 1 ]
=> true
*/
allUnique = list: (length (unique list) == length list);
/* Intersects list 'e' and another list. O(nm) complexity.
Example:

View File

@ -726,6 +726,15 @@ runTests {
expected = 7;
};
testAllUnique_true = {
expr = allUnique [ 3 2 4 1 ];
expected = true;
};
testAllUnique_false = {
expr = allUnique [ 3 2 3 4 ];
expected = false;
};
# ATTRSETS
testConcatMapAttrs = {

View File

@ -3079,6 +3079,12 @@
githubId = 1689801;
name = "Mikhail Chekan";
};
chen = {
email = "i@cuichen.cc";
github = "cu1ch3n";
githubId = 80438676;
name = "Chen Cui";
};
ChengCat = {
email = "yu@cheng.cat";
github = "ChengCat";
@ -11714,6 +11720,12 @@
githubId = 34864484;
name = "Mikael Fangel";
};
mikecm = {
email = "mikecmcleod@gmail.com";
github = "MaxwellDupre";
githubId = 14096356;
name = "Michael McLeod";
};
mikefaille = {
email = "michael@faille.io";
github = "mikefaille";
@ -16513,6 +16525,11 @@
githubId = 158321;
name = "Stewart Mackenzie";
};
skovati = {
github = "skovati";
githubId = 49844593;
name = "skovati";
};
skykanin = {
github = "skykanin";
githubId = 3789764;

View File

@ -154,6 +154,8 @@
- The latest version of `clonehero` now stores custom content in `~/.clonehero`. See the [migration instructions](https://clonehero.net/2022/11/29/v23-to-v1-migration-instructions.html). Typically, these content files would exist along side the binary, but the previous build used a wrapper script that would store them in `~/.config/unity3d/srylain Inc_/Clone Hero`.
- `services.mastodon` doesn't support providing a TCP port to its `streaming` component anymore, as upstream implemented parallelization by running multiple instances instead of running multiple processes in one instance. Please create a PR if you are interested in this feature.
- The `services.hostapd` module was rewritten to support `passwordFile` like options, WPA3-SAE, and management of multiple interfaces. This breaks compatibility with older configurations.
- `hostapd` is now started with additional systemd sandbox/hardening options for better security.
- `services.hostapd.interface` was replaced with a per-radio and per-bss configuration scheme using [services.hostapd.radios](#opt-services.hostapd.radios).
@ -371,6 +373,8 @@
- The `prayer` package as well as `services.prayer` have been removed because it's been unmaintained for several years and the author's website has vanished.
- The `chrony` NixOS module now tracks the Real-Time Clock drift from the System Clock with `rtcfile` and automatically adjusts it with `rtcautotrim` when it exceeds the maximum error specified in `services.chrony.autotrimThreshold` (default 30 seconds). If you enabled `rtcsync` in `extraConfig`, you should remove RTC related options from `extraConfig`. If you do not want chrony configured to keep the RTC in check, you can set `services.chrony.enableRTCTrimming = false;`
## Other Notable Changes {#sec-release-23.11-notable-changes}
- A new option `system.switch.enable` was added. By default, this is option is

View File

@ -9,6 +9,7 @@ let
stateDir = cfg.directory;
driftFile = "${stateDir}/chrony.drift";
keyFile = "${stateDir}/chrony.keys";
rtcFile = "${stateDir}/chrony.rtc";
configFile = pkgs.writeText "chrony.conf" ''
${concatMapStringsSep "\n" (server: "server " + server + " " + cfg.serverOption + optionalString (cfg.enableNTS) " nts") cfg.servers}
@ -20,8 +21,10 @@ let
driftfile ${driftFile}
keyfile ${keyFile}
${optionalString (cfg.enableRTCTrimming) "rtcfile ${rtcFile}"}
${optionalString (cfg.enableNTS) "ntsdumpdir ${stateDir}"}
${optionalString (cfg.enableRTCTrimming) "rtcautotrim ${builtins.toString cfg.autotrimThreshold}"}
${optionalString (!config.time.hardwareClockInLocalTime) "rtconutc"}
${cfg.extraConfig}
@ -85,6 +88,33 @@ in
'';
};
enableRTCTrimming = mkOption {
type = types.bool;
default = true;
description = lib.mdDoc ''
Enable tracking of the RTC offset to the system clock and automatic trimming.
See also [](#opt-services.chrony.autotrimThreshold)
::: {.note}
This is not compatible with the `rtcsync` directive, which naively syncs the RTC time every 11 minutes.
Tracking the RTC drift will allow more precise timekeeping,
especially on intermittently running devices, where the RTC is very relevant.
:::
'';
};
autotrimThreshold = mkOption {
type = types.ints.positive;
default = 30;
example = 10;
description = ''
Maximum estimated error threshold for the `rtcautotrim` command.
When reached, the RTC will be trimmed.
Only used when [](#opt-services.chrony.enableRTCTrimming) is enabled.
'';
};
enableNTS = mkOption {
type = types.bool;
default = false;
@ -141,7 +171,7 @@ in
};
config = mkIf cfg.enable {
meta.maintainers = with lib.maintainers; [ thoughtpolice ];
meta.maintainers = with lib.maintainers; [ thoughtpolice vifino ];
environment.systemPackages = [ chronyPkg ];
@ -156,12 +186,19 @@ in
services.timesyncd.enable = mkForce false;
# If chrony controls and tracks the RTC, writing it externally causes clock error.
systemd.services.save-hwclock = lib.mkIf cfg.enableRTCTrimming {
enable = lib.mkForce false;
};
systemd.services.systemd-timedated.environment = { SYSTEMD_TIMEDATED_NTP_SERVICES = "chronyd.service"; };
systemd.tmpfiles.rules = [
"d ${stateDir} 0750 chrony chrony - -"
"f ${driftFile} 0640 chrony chrony - -"
"f ${keyFile} 0640 chrony chrony - -"
] ++ lib.optionals cfg.enableRTCTrimming [
"f ${rtcFile} 0640 chrony chrony - -"
];
systemd.services.chronyd =

View File

@ -1,60 +1,61 @@
{ config, options, lib, pkgs, utils, ... }:
with lib;
let
cfg = config.services.unifi;
stateDir = "/var/lib/unifi";
cmd = ''
@${cfg.jrePackage}/bin/java java \
${optionalString (lib.versionAtLeast (lib.getVersion cfg.jrePackage) "16")
("--add-opens java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED "
+ "--add-opens java.base/sun.security.util=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED "
+ "--add-opens java.rmi/sun.rmi.transport=ALL-UNNAMED")} \
${optionalString (cfg.initialJavaHeapSize != null) "-Xms${(toString cfg.initialJavaHeapSize)}m"} \
${optionalString (cfg.maximumJavaHeapSize != null) "-Xmx${(toString cfg.maximumJavaHeapSize)}m"} \
-jar ${stateDir}/lib/ace.jar
'';
cmd = lib.escapeShellArgs ([ "@${cfg.jrePackage}/bin/java" "java" ]
++ lib.optionals (lib.versionAtLeast (lib.getVersion cfg.jrePackage) "16") [
"--add-opens=java.base/java.lang=ALL-UNNAMED"
"--add-opens=java.base/java.time=ALL-UNNAMED"
"--add-opens=java.base/sun.security.util=ALL-UNNAMED"
"--add-opens=java.base/java.io=ALL-UNNAMED"
"--add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED"
]
++ (lib.optional (cfg.initialJavaHeapSize != null) "-Xms${(toString cfg.initialJavaHeapSize)}m")
++ (lib.optional (cfg.maximumJavaHeapSize != null) "-Xmx${(toString cfg.maximumJavaHeapSize)}m")
++ cfg.extraJvmOptions
++ [ "-jar" "${stateDir}/lib/ace.jar" ]);
in
{
options = {
services.unifi.enable = mkOption {
type = types.bool;
services.unifi.enable = lib.mkOption {
type = lib.types.bool;
default = false;
description = lib.mdDoc ''
Whether or not to enable the unifi controller service.
'';
};
services.unifi.jrePackage = mkOption {
type = types.package;
services.unifi.jrePackage = lib.mkOption {
type = lib.types.package;
default = if (lib.versionAtLeast (lib.getVersion cfg.unifiPackage) "7.5") then pkgs.jdk17_headless else if (lib.versionAtLeast (lib.getVersion cfg.unifiPackage) "7.3") then pkgs.jdk11 else pkgs.jre8;
defaultText = literalExpression ''if (lib.versionAtLeast (lib.getVersion cfg.unifiPackage) "7.5") then pkgs.jdk17_headless else if (lib.versionAtLeast (lib.getVersion cfg.unifiPackage) "7.3" then pkgs.jdk11 else pkgs.jre8'';
defaultText = lib.literalExpression ''if (lib.versionAtLeast (lib.getVersion cfg.unifiPackage) "7.5") then pkgs.jdk17_headless else if (lib.versionAtLeast (lib.getVersion cfg.unifiPackage) "7.3" then pkgs.jdk11 else pkgs.jre8'';
description = lib.mdDoc ''
The JRE package to use. Check the release notes to ensure it is supported.
'';
};
services.unifi.unifiPackage = mkOption {
type = types.package;
services.unifi.unifiPackage = lib.mkOption {
type = lib.types.package;
default = pkgs.unifi5;
defaultText = literalExpression "pkgs.unifi5";
defaultText = lib.literalExpression "pkgs.unifi5";
description = lib.mdDoc ''
The unifi package to use.
'';
};
services.unifi.mongodbPackage = mkOption {
type = types.package;
services.unifi.mongodbPackage = lib.mkOption {
type = lib.types.package;
default = pkgs.mongodb-4_4;
defaultText = literalExpression "pkgs.mongodb";
defaultText = lib.literalExpression "pkgs.mongodb";
description = lib.mdDoc ''
The mongodb package to use. Please note: unifi7 officially only supports mongodb up until 3.6 but works with 4.4.
'';
};
services.unifi.openFirewall = mkOption {
type = types.bool;
services.unifi.openFirewall = lib.mkOption {
type = lib.types.bool;
default = false;
description = lib.mdDoc ''
Whether or not to open the minimum required ports on the firewall.
@ -65,8 +66,8 @@ in
'';
};
services.unifi.initialJavaHeapSize = mkOption {
type = types.nullOr types.int;
services.unifi.initialJavaHeapSize = lib.mkOption {
type = with lib.types; nullOr int;
default = null;
example = 1024;
description = lib.mdDoc ''
@ -75,8 +76,8 @@ in
'';
};
services.unifi.maximumJavaHeapSize = mkOption {
type = types.nullOr types.int;
services.unifi.maximumJavaHeapSize = lib.mkOption {
type = with lib.types; nullOr int;
default = null;
example = 4096;
description = lib.mdDoc ''
@ -85,9 +86,18 @@ in
'';
};
services.unifi.extraJvmOptions = lib.mkOption {
type = with lib.types; listOf str;
default = [ ];
example = lib.literalExpression ''["-Xlog:gc"]'';
description = lib.mdDoc ''
Set extra options to pass to the JVM.
'';
};
};
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
users.users.unifi = {
isSystemUser = true;
@ -97,7 +107,7 @@ in
};
users.groups.unifi = {};
networking.firewall = mkIf cfg.openFirewall {
networking.firewall = lib.mkIf cfg.openFirewall {
# https://help.ubnt.com/hc/en-us/articles/218506997
allowedTCPPorts = [
8080 # Port for UAP to inform controller.
@ -123,8 +133,8 @@ in
serviceConfig = {
Type = "simple";
ExecStart = "${(removeSuffix "\n" cmd)} start";
ExecStop = "${(removeSuffix "\n" cmd)} stop";
ExecStart = "${cmd} start";
ExecStop = "${cmd} stop";
Restart = "on-failure";
TimeoutSec = "5min";
User = "unifi";
@ -166,7 +176,7 @@ in
StateDirectory = "unifi";
RuntimeDirectory = "unifi";
LogsDirectory = "unifi";
CacheDirectory= "unifi";
CacheDirectory = "unifi";
TemporaryFileSystem = [
# required as we want to create bind mounts below
@ -176,7 +186,7 @@ in
# We must create the binary directories as bind mounts instead of symlinks
# This is because the controller resolves all symlinks to absolute paths
# to be used as the working directory.
BindPaths = [
BindPaths = [
"/var/log/unifi:${stateDir}/logs"
"/run/unifi:${stateDir}/run"
"${cfg.unifiPackage}/dl:${stateDir}/dl"
@ -194,7 +204,7 @@ in
};
imports = [
(mkRemovedOptionModule [ "services" "unifi" "dataDir" ] "You should move contents of dataDir to /var/lib/unifi/data" )
(mkRenamedOptionModule [ "services" "unifi" "openPorts" ] [ "services" "unifi" "openFirewall" ])
(lib.mkRemovedOptionModule [ "services" "unifi" "dataDir" ] "You should move contents of dataDir to /var/lib/unifi/data")
(lib.mkRenamedOptionModule [ "services" "unifi" "openPorts" ] [ "services" "unifi" "openFirewall" ])
];
}

View File

@ -17,9 +17,6 @@ let
WEB_CONCURRENCY = toString cfg.webProcesses;
MAX_THREADS = toString cfg.webThreads;
# mastodon-streaming concurrency.
STREAMING_CLUSTER_NUM = toString cfg.streamingProcesses;
DB_USER = cfg.database.user;
REDIS_HOST = cfg.redis.host;
@ -33,13 +30,15 @@ let
PAPERCLIP_ROOT_PATH = "/var/lib/mastodon/public-system";
PAPERCLIP_ROOT_URL = "/system";
ES_ENABLED = if (cfg.elasticsearch.host != null) then "true" else "false";
ES_HOST = cfg.elasticsearch.host;
ES_PORT = toString(cfg.elasticsearch.port);
TRUSTED_PROXY_IP = cfg.trustedProxy;
}
// lib.optionalAttrs (cfg.database.host != "/run/postgresql" && cfg.database.port != null) { DB_PORT = toString cfg.database.port; }
// lib.optionalAttrs cfg.smtp.authenticate { SMTP_LOGIN = cfg.smtp.user; }
// lib.optionalAttrs (cfg.elasticsearch.host != null) { ES_HOST = cfg.elasticsearch.host; }
// lib.optionalAttrs (cfg.elasticsearch.host != null) { ES_PORT = toString(cfg.elasticsearch.port); }
// lib.optionalAttrs (cfg.elasticsearch.host != null) { ES_PRESET = cfg.elasticsearch.preset; }
// lib.optionalAttrs (cfg.elasticsearch.user != null) { ES_USER = cfg.elasticsearch.user; }
// cfg.extraConfig;
systemCallsList = [ "@cpu-emulation" "@debug" "@keyring" "@ipc" "@mount" "@obsolete" "@privileged" "@setuid" ];
@ -141,8 +140,44 @@ let
})
) cfg.sidekiqProcesses;
streamingUnits = builtins.listToAttrs
(map (i: {
name = "mastodon-streaming-${toString i}";
value = {
after = [ "network.target" "mastodon-init-dirs.service" ]
++ lib.optional databaseActuallyCreateLocally "postgresql.service"
++ lib.optional cfg.automaticMigrations "mastodon-init-db.service";
requires = [ "mastodon-init-dirs.service" ]
++ lib.optional databaseActuallyCreateLocally "postgresql.service"
++ lib.optional cfg.automaticMigrations "mastodon-init-db.service";
wantedBy = [ "mastodon.target" "mastodon-streaming.target" ];
description = "Mastodon streaming ${toString i}";
environment = env // { SOCKET = "/run/mastodon-streaming/streaming-${toString i}.socket"; };
serviceConfig = {
ExecStart = "${cfg.package}/run-streaming.sh";
Restart = "always";
RestartSec = 20;
EnvironmentFile = [ "/var/lib/mastodon/.secrets_env" ] ++ cfg.extraEnvFiles;
WorkingDirectory = cfg.package;
# Runtime directory and mode
RuntimeDirectory = "mastodon-streaming";
RuntimeDirectoryMode = "0750";
# System Call Filtering
SystemCallFilter = [ ("~" + lib.concatStringsSep " " (systemCallsList ++ [ "@memlock" "@resources" ])) "pipe" "pipe2" ];
} // cfgService;
};
})
(lib.range 1 cfg.streamingProcesses));
in {
imports = [
(lib.mkRemovedOptionModule
[ "services" "mastodon" "streamingPort" ]
"Mastodon currently doesn't support streaming via TCP ports. Please open a PR if you need this."
)
];
options = {
services.mastodon = {
enable = lib.mkEnableOption (lib.mdDoc "Mastodon, a federated social network server");
@ -191,18 +226,13 @@ in {
default = "mastodon";
};
streamingPort = lib.mkOption {
description = lib.mdDoc "TCP port used by the mastodon-streaming service.";
type = lib.types.port;
default = 55000;
};
streamingProcesses = lib.mkOption {
description = lib.mdDoc ''
Processes used by the mastodon-streaming service.
Defaults to the number of CPU cores minus one.
Number of processes used by the mastodon-streaming service.
Recommended is the amount of your CPU cores minus one.
'';
type = lib.types.nullOr lib.types.int;
default = null;
type = lib.types.ints.positive;
example = 3;
};
webPort = lib.mkOption {
@ -485,6 +515,31 @@ in {
type = lib.types.port;
default = 9200;
};
preset = lib.mkOption {
description = lib.mdDoc ''
It controls the ElasticSearch indices configuration (number of shards and replica).
'';
type = lib.types.enum [ "single_node_cluster" "small_cluster" "large_cluster" ];
default = "single_node_cluster";
example = "large_cluster";
};
user = lib.mkOption {
description = lib.mdDoc "Used for optionally authenticating with Elasticsearch.";
type = lib.types.nullOr lib.types.str;
default = null;
example = "elasticsearch-mastodon";
};
passwordFile = lib.mkOption {
description = lib.mdDoc ''
Path to file containing password for optionally authenticating with Elasticsearch.
'';
type = lib.types.nullOr lib.types.path;
default = null;
example = "/var/lib/mastodon/secrets/elasticsearch-password";
};
};
package = lib.mkOption {
@ -603,6 +658,12 @@ in {
after = [ "network.target" ];
};
systemd.targets.mastodon-streaming = {
description = "Target for all Mastodon streaming services";
wantedBy = [ "multi-user.target" "mastodon.target" ];
after = [ "network.target" ];
};
systemd.services.mastodon-init-dirs = {
script = ''
umask 077
@ -631,6 +692,8 @@ in {
DB_PASS="$(cat ${cfg.database.passwordFile})"
'' + lib.optionalString cfg.smtp.authenticate ''
SMTP_PASSWORD="$(cat ${cfg.smtp.passwordFile})"
'' + lib.optionalString (cfg.elasticsearch.passwordFile != null) ''
ES_PASS="$(cat ${cfg.elasticsearch.passwordFile})"
'' + ''
EOF
'';
@ -688,33 +751,6 @@ in {
++ lib.optional databaseActuallyCreateLocally "postgresql.service";
};
systemd.services.mastodon-streaming = {
after = [ "network.target" "mastodon-init-dirs.service" ]
++ lib.optional databaseActuallyCreateLocally "postgresql.service"
++ lib.optional cfg.automaticMigrations "mastodon-init-db.service";
requires = [ "mastodon-init-dirs.service" ]
++ lib.optional databaseActuallyCreateLocally "postgresql.service"
++ lib.optional cfg.automaticMigrations "mastodon-init-db.service";
wantedBy = [ "mastodon.target" ];
description = "Mastodon streaming";
environment = env // (if cfg.enableUnixSocket
then { SOCKET = "/run/mastodon-streaming/streaming.socket"; }
else { PORT = toString(cfg.streamingPort); }
);
serviceConfig = {
ExecStart = "${cfg.package}/run-streaming.sh";
Restart = "always";
RestartSec = 20;
EnvironmentFile = [ "/var/lib/mastodon/.secrets_env" ] ++ cfg.extraEnvFiles;
WorkingDirectory = cfg.package;
# Runtime directory and mode
RuntimeDirectory = "mastodon-streaming";
RuntimeDirectoryMode = "0750";
# System Call Filtering
SystemCallFilter = [ ("~" + lib.concatStringsSep " " (systemCallsList ++ [ "@memlock" "@resources" ])) "pipe" "pipe2" ];
} // cfgService;
};
systemd.services.mastodon-web = {
after = [ "network.target" "mastodon-init-dirs.service" ]
++ lib.optional databaseActuallyCreateLocally "postgresql.service"
@ -780,10 +816,20 @@ in {
};
locations."/api/v1/streaming/" = {
proxyPass = (if cfg.enableUnixSocket then "http://unix:/run/mastodon-streaming/streaming.socket" else "http://127.0.0.1:${toString(cfg.streamingPort)}/");
proxyPass = "http://mastodon-streaming";
proxyWebsockets = true;
};
};
upstreams.mastodon-streaming = {
extraConfig = ''
least_conn;
'';
servers = builtins.listToAttrs
(map (i: {
name = "unix:/run/mastodon-streaming/streaming-${toString i}.socket";
value = { };
}) (lib.range 1 cfg.streamingProcesses));
};
};
services.postfix = lib.mkIf (cfg.smtp.createLocally && cfg.smtp.host == "127.0.0.1") {
@ -819,7 +865,7 @@ in {
users.groups.${cfg.group}.members = lib.optional cfg.configureNginx config.services.nginx.user;
}
{ systemd.services = sidekiqUnits; }
{ systemd.services = lib.mkMerge [ sidekiqUnits streamingUnits ]; }
]);
meta.maintainers = with lib.maintainers; [ happy-river erictapen ];

View File

@ -96,8 +96,8 @@ in
# (required, but can be null if only config changes
# are needed)
extraStructuredConfig = { # attrset of extra configuration parameters
FOO = lib.kernel.yes; # (without the CONFIG_ prefix, optional)
extraStructuredConfig = { # attrset of extra configuration parameters without the CONFIG_ prefix
FOO = lib.kernel.yes; # (optional)
}; # values should generally be lib.kernel.yes,
# lib.kernel.no or lib.kernel.module
@ -105,8 +105,9 @@ in
foo = true; # (may be checked by other NixOS modules, optional)
};
extraConfig = "CONFIG_FOO y"; # extra configuration options in string form
# (deprecated, use extraStructuredConfig instead, optional)
extraConfig = "FOO y"; # extra configuration options in string form without the CONFIG_ prefix
# (optional, multiple lines allowed to specify multiple options)
# (deprecated, use extraStructuredConfig instead)
}
```

View File

@ -11,7 +11,23 @@ import shutil
import subprocess
import sys
import warnings
from typing import NamedTuple
import json
from typing import NamedTuple, Dict, List
from dataclasses import dataclass
@dataclass
class BootSpec:
init: str
initrd: str
initrdSecrets: str
kernel: str
kernelParams: List[str]
label: str
system: str
toplevel: str
specialisations: Dict[str, "BootSpec"]
libc = ctypes.CDLL("libc.so.6")
@ -71,12 +87,20 @@ def write_loader_conf(profile: str | None, generation: int, specialisation: str
os.rename("@efiSysMountPoint@/loader/loader.conf.tmp", "@efiSysMountPoint@/loader/loader.conf")
def profile_path(profile: str | None, generation: int, specialisation: str | None, name: str) -> str:
return os.path.realpath("%s/%s" % (system_dir(profile, generation, specialisation), name))
def get_bootspec(profile: str | None, generation: int) -> BootSpec:
boot_json_path = os.path.realpath("%s/%s" % (system_dir(profile, generation, None), "boot.json"))
boot_json_f = open(boot_json_path, 'r')
bootspec_json = json.load(boot_json_f)
return bootspec_from_json(bootspec_json)
def bootspec_from_json(bootspec_json: Dict) -> BootSpec:
specialisations = bootspec_json['org.nixos.specialisation.v1']
specialisations = {k: bootspec_from_json(v) for k, v in specialisations.items()}
return BootSpec(**bootspec_json['org.nixos.bootspec.v1'], specialisations=specialisations)
def copy_from_profile(profile: str | None, generation: int, specialisation: str | None, name: str, dry_run: bool = False) -> str:
store_file_path = profile_path(profile, generation, specialisation, name)
def copy_from_file(file: str, dry_run: bool = False) -> str:
store_file_path = os.path.realpath(file)
suffix = os.path.basename(store_file_path)
store_dir = os.path.basename(os.path.dirname(store_file_path))
efi_file_path = "/efi/nixos/%s-%s.efi" % (store_dir, suffix)
@ -84,40 +108,19 @@ def copy_from_profile(profile: str | None, generation: int, specialisation: str
copy_if_not_exists(store_file_path, "@efiSysMountPoint@%s" % (efi_file_path))
return efi_file_path
def describe_generation(profile: str | None, generation: int, specialisation: str | None) -> str:
try:
with open(profile_path(profile, generation, specialisation, "nixos-version")) as f:
nixos_version = f.read()
except IOError:
nixos_version = "Unknown"
kernel_dir = os.path.dirname(profile_path(profile, generation, specialisation, "kernel"))
module_dir = glob.glob("%s/lib/modules/*" % kernel_dir)[0]
kernel_version = os.path.basename(module_dir)
build_time = int(os.path.getctime(system_dir(profile, generation, specialisation)))
build_date = datetime.datetime.fromtimestamp(build_time).strftime('%F')
description = "@distroName@ {}, Linux Kernel {}, Built on {}".format(
nixos_version, kernel_version, build_date
)
return description
def write_entry(profile: str | None, generation: int, specialisation: str | None,
machine_id: str, current: bool) -> None:
kernel = copy_from_profile(profile, generation, specialisation, "kernel")
initrd = copy_from_profile(profile, generation, specialisation, "initrd")
machine_id: str, bootspec: BootSpec, current: bool) -> None:
if specialisation:
bootspec = bootspec.specialisations[specialisation]
kernel = copy_from_file(bootspec.kernel)
initrd = copy_from_file(bootspec.initrd)
title = "@distroName@{profile}{specialisation}".format(
profile=" [" + profile + "]" if profile else "",
specialisation=" (%s)" % specialisation if specialisation else "")
try:
append_initrd_secrets = profile_path(profile, generation, specialisation, "append-initrd-secrets")
subprocess.check_call([append_initrd_secrets, "@efiSysMountPoint@%s" % (initrd)])
subprocess.check_call([bootspec.initrdSecrets, "@efiSysMountPoint@%s" % (initrd)])
except FileNotFoundError:
pass
except subprocess.CalledProcessError:
@ -132,17 +135,19 @@ def write_entry(profile: str | None, generation: int, specialisation: str | None
entry_file = "@efiSysMountPoint@/loader/entries/%s" % (
generation_conf_filename(profile, generation, specialisation))
tmp_path = "%s.tmp" % (entry_file)
kernel_params = "init=%s " % profile_path(profile, generation, specialisation, "init")
kernel_params = "init=%s " % bootspec.init
kernel_params = kernel_params + " ".join(bootspec.kernelParams)
build_time = int(os.path.getctime(system_dir(profile, generation, specialisation)))
build_date = datetime.datetime.fromtimestamp(build_time).strftime('%F')
with open(profile_path(profile, generation, specialisation, "kernel-params")) as params_file:
kernel_params = kernel_params + params_file.read()
with open(tmp_path, 'w') as f:
f.write(BOOT_ENTRY.format(title=title,
generation=generation,
kernel=kernel,
initrd=initrd,
kernel_params=kernel_params,
description=describe_generation(profile, generation, specialisation)))
description=f"{bootspec.label}, built on {build_date}"))
if machine_id is not None:
f.write("machine-id %s\n" % machine_id)
f.flush()
@ -173,21 +178,14 @@ def get_generations(profile: str | None = None) -> list[SystemIdentifier]:
return configurations[-configurationLimit:]
def get_specialisations(profile: str | None, generation: int, _: str | None) -> list[SystemIdentifier]:
specialisations_dir = os.path.join(
system_dir(profile, generation, None), "specialisation")
if not os.path.exists(specialisations_dir):
return []
return [SystemIdentifier(profile, generation, spec) for spec in os.listdir(specialisations_dir)]
def remove_old_entries(gens: list[SystemIdentifier]) -> None:
rex_profile = re.compile(r"^@efiSysMountPoint@/loader/entries/nixos-(.*)-generation-.*\.conf$")
rex_generation = re.compile(r"^@efiSysMountPoint@/loader/entries/nixos.*-generation-([0-9]+)(-specialisation-.*)?\.conf$")
known_paths = []
for gen in gens:
known_paths.append(copy_from_profile(*gen, "kernel", True))
known_paths.append(copy_from_profile(*gen, "initrd", True))
bootspec = get_bootspec(gen.profile, gen.generation)
known_paths.append(copy_from_file(bootspec.kernel, True))
known_paths.append(copy_from_file(bootspec.initrd, True))
for path in glob.iglob("@efiSysMountPoint@/loader/entries/nixos*-generation-[1-9]*.conf"):
if rex_profile.match(path):
prof = rex_profile.sub(r"\1", path)
@ -279,10 +277,11 @@ def install_bootloader(args: argparse.Namespace) -> None:
remove_old_entries(gens)
for gen in gens:
try:
is_default = os.path.dirname(profile_path(*gen, "init")) == args.default_config
write_entry(*gen, machine_id, current=is_default)
for specialisation in get_specialisations(*gen):
write_entry(*specialisation, machine_id, current=is_default)
bootspec = get_bootspec(gen.profile, gen.generation)
is_default = os.path.dirname(bootspec.init) == args.default_config
write_entry(*gen, machine_id, bootspec, current=is_default)
for specialisation in bootspec.specialisations.keys():
write_entry(gen.profile, gen.generation, specialisation, machine_id, bootspec, current=is_default)
if is_default:
write_loader_conf(*gen)
except OSError as e:

View File

@ -16,7 +16,7 @@ in
meta.maintainers = with pkgs.lib.maintainers; [ erictapen izorkin ];
nodes = {
database = {
database = { config, ... }: {
networking = {
interfaces.eth1 = {
ipv4.addresses = [
@ -24,11 +24,13 @@ in
];
};
extraHosts = hosts;
firewall.allowedTCPPorts = [ 5432 ];
firewall.allowedTCPPorts = [ config.services.postgresql.port ];
};
services.postgresql = {
enable = true;
# TODO remove once https://github.com/NixOS/nixpkgs/pull/266270 is resolved.
package = pkgs.postgresql_14;
enableTCPIP = true;
authentication = ''
hostnossl mastodon_local mastodon_test 192.168.2.201/32 md5
@ -41,7 +43,7 @@ in
};
};
nginx = {
nginx = { nodes, ... }: {
networking = {
interfaces.eth1 = {
ipv4.addresses = [
@ -69,18 +71,14 @@ in
tryFiles = "$uri @proxy";
};
locations."@proxy" = {
proxyPass = "http://192.168.2.201:55001";
proxyWebsockets = true;
};
locations."/api/v1/streaming/" = {
proxyPass = "http://192.168.2.201:55002";
proxyPass = "http://192.168.2.201:${toString nodes.server.services.mastodon.webPort}";
proxyWebsockets = true;
};
};
};
};
server = { pkgs, ... }: {
server = { config, pkgs, ... }: {
virtualisation.memorySize = 2048;
environment = {
@ -98,7 +96,10 @@ in
];
};
extraHosts = hosts;
firewall.allowedTCPPorts = [ 55001 55002 ];
firewall.allowedTCPPorts = [
config.services.mastodon.webPort
config.services.mastodon.sidekiqPort
];
};
services.mastodon = {
@ -106,6 +107,7 @@ in
configureNginx = false;
localDomain = "mastodon.local";
enableUnixSocket = false;
streamingProcesses = 2;
database = {
createLocally = false;
host = "192.168.2.102";

View File

@ -10,9 +10,8 @@
server.wait_for_unit("redis-mastodon.service")
server.wait_for_unit("mastodon-sidekiq-all.service")
server.wait_for_unit("mastodon-streaming.service")
server.wait_for_unit("mastodon-streaming.target")
server.wait_for_unit("mastodon-web.service")
server.wait_for_open_port(55000)
server.wait_for_open_port(55001)
# Check that mastodon-media-auto-remove is scheduled

View File

@ -40,11 +40,15 @@ in
port = 31637;
};
# TODO remove once https://github.com/NixOS/nixpkgs/pull/266270 is resolved.
services.postgresql.package = pkgs.postgresql_14;
services.mastodon = {
enable = true;
configureNginx = true;
localDomain = "mastodon.local";
enableUnixSocket = false;
streamingProcesses = 2;
smtp = {
createLocally = false;
fromAddress = "mastodon@mastodon.local";

View File

@ -16,13 +16,13 @@
stdenv.mkDerivation rec {
pname = "goodvibes";
version = "0.7.7";
version = "0.7.9";
src = fetchFromGitLab {
owner = pname;
repo = pname;
rev = "v${version}";
hash = "sha256-7AhdygNl6st5ryaMjrloBvTVz6PN48Y6VVpde5g3+D4=";
hash = "sha256-yXrCE3nsdZP4JHKVslzQafjZ380zC8sZv5TJf8dJqJw=";
};
nativeBuildInputs = [

View File

@ -10,16 +10,16 @@
}:
rustPlatform.buildRustPackage rec {
pname = "snarkos";
version = "2.2.1";
version = "2.2.4";
src = fetchFromGitHub {
owner = "AleoHQ";
repo = "snarkOS";
rev = "v${version}";
sha256 = "sha256-vEoEnjVjxVnjZ3Lya1qO2kOypNu07aYSlrSya5NJZzs=";
sha256 = "sha256-sq99lJqSJ436wdSjdOlooGD2PysZzbyb7hTfJ9OUg/U=";
};
cargoHash = "sha256-CVHvBqfcTqWBtLFcEcs9y/LmQ4gXjX+dfqqZSxN+33A=";
cargoHash = "sha256-0x/YKPLh5yf3y/CjrQF18yDfPJ8IlArVVczgyVPzpEI=";
# buildAndTestSubdir = "cli";

View File

@ -65,8 +65,7 @@ in buildFHSEnv rec {
progs_to_wrap=(
"${unwrapped}"/quartus/bin/*
"${unwrapped}"/quartus/sopc_builder/bin/qsys-{generate,edit,script}
# Should we install all executables?
"${unwrapped}"/modelsim_ase/bin/{vsim,vlog,vlib,vcom,vdel,vmap}
"${unwrapped}"/modelsim_ase/bin/*
"${unwrapped}"/modelsim_ase/linuxaloem/lmutil
)

View File

@ -15,11 +15,11 @@ let
archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
sha256 = {
x86_64-linux = "1v2lcbmb0g3pw58mmiqd2j9c7r7dcl371nxc6w9rsmcbf7s0f8h0";
x86_64-darwin = "11if8l556rsvacwbsknv2hnqfwkad99klgnwx4kjcbm8g63ra3ab";
aarch64-linux = "1fmahjn99cvylm8r4cf4b1654gyyk6n6mqad1l0cncpypdxc2pdw";
aarch64-darwin = "053jnxpkpfh5a8nfx557ib6byhi4dd1dnxasp4igy59cbx25an9q";
armv7l-linux = "0qc48mg34pkr23p3wnlczvfspfii3qn6ikbkgj1qsagxn9ycqjak";
x86_64-linux = "1h2s90h1a4b4r9rqafd5fj95mx21xqlp3msv8fxfjd2kkfl8bdcl";
x86_64-darwin = "1cprq4cy01cmyqrvv5p9f09k7h5p4nj9jbk4lrlnyj1z2xvhcls1";
aarch64-linux = "0g9j14vnan10r014309s6mdkizjfpbd83bf1kxx2kk625n87xszc";
aarch64-darwin = "10rw2dy3khpxa292zygxi67amxd6s351ha8nxvav5m9xfxlgd2qn";
armv7l-linux = "0bw0hfhvwv7wbh2daxgxaxm34v5z5ak4nmmk45ksxc4xsmjc5v23";
}.${system} or throwSystem;
sourceRoot = lib.optionalString (!stdenv.isDarwin) ".";
@ -29,7 +29,7 @@ in
# Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem.
version = "1.84.2.23314";
version = "1.84.2.23317";
pname = "vscodium";
executableName = "codium";

View File

@ -0,0 +1,49 @@
{ lib
, stdenv
, fetchurl
, dpkg
, autoPatchelfHook
, wrapQtAppsHook
, qtbase
, qtdeclarative
, qtsvg
}:
stdenv.mkDerivation (finalAttrs: {
pname = "texturepacker";
version = "7.1.0";
src = fetchurl {
url = "https://www.codeandweb.com/download/texturepacker/${finalAttrs.version}/TexturePacker-${finalAttrs.version}.deb";
hash = "sha256-9HbmdMPTp6qZCEU/lIZv4HbjKUlEtPVval+y0tiYObc=";
};
nativeBuildInputs = [
dpkg
autoPatchelfHook
wrapQtAppsHook
];
buildInputs = [
qtbase
qtdeclarative
qtsvg
];
installPhase = ''
mkdir -p $out/bin $out/lib
cp usr/lib/texturepacker/{libGrantlee_Templates.so.5,libHQX.so.1.0.0,libPVRTexLib.so} $out/lib
cp usr/lib/texturepacker/TexturePacker $out/bin
cp -r usr/share $out
'';
meta = {
changelog = "https://www.codeandweb.com/texturepacker/download";
description = "Sprite sheet creator and game graphics optimizer";
homepage = "https://www.codeandweb.com/texturepacker";
license = lib.licenses.unfree;
mainProgram = "TexturePacker";
maintainers = with lib.maintainers; [ tomasajt ];
platforms = [ "x86_64-linux" ];
};
})

View File

@ -8,16 +8,16 @@
buildGoModule rec {
pname = "helmfile";
version = "0.158.0";
version = "0.158.1";
src = fetchFromGitHub {
owner = "helmfile";
repo = "helmfile";
rev = "v${version}";
sha256 = "sha256-768rlhkh8scQbzLvWyjyQSba4zCY/ydYreve+HmcFgw=";
sha256 = "sha256-ohf8MUUTZ3YNon12QpSRE80RaHvWsbrZk/slgEVbgoo=";
};
vendorHash = "sha256-ip01Uj720Sa11ni+8//U1PkHgiY6ttftvMHdxZgfKLk=";
vendorHash = "sha256-rA8egwzvvhArQboWpH2ZZTSJGTyzHUIl6aLusPfr8tw=";
doCheck = false;

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "kn";
version = "1.11.1";
version = "1.12.0";
src = fetchFromGitHub {
owner = "knative";
repo = "client";
rev = "knative-v${version}";
sha256 = "sha256-tVUe/EHraPVxikzGilmX2fDCX81lPGPy+Sa9OoVmpYM=";
sha256 = "sha256-Xp5PpHIcjh02qesnyrz53yydIAClx0OrBE75Sz5pifg=";
};
vendorHash = null;

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "kube-router";
version = "2.0.0";
version = "2.0.1";
src = fetchFromGitHub {
owner = "cloudnativelabs";
repo = pname;
rev = "v${version}";
hash = "sha256-7laXw0tC25zPTeLJlB/rX6WVcRFCd6DCB+3EUPnE4cM=";
hash = "sha256-Iwo+I1EfclkF4FL8QM3xGkIFxakmelI+hSUepLwfFSw=";
};
vendorHash = "sha256-qJA6gnb+VIkJD24iq6yyn8r4zYY19ZywcyalwfaTtbo=";
vendorHash = "sha256-VjPesQ27GcwnFQrNI+VYzJ4/aahcjASbfMi//Zs/KLM=";
CGO_ENABLED = 0;

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "stern";
version = "1.26.0";
version = "1.27.0";
src = fetchFromGitHub {
owner = "stern";
repo = "stern";
rev = "v${version}";
sha256 = "sha256-86XoYzw1bnIWwGiFgRl9RcZSYrF4byYKnDlJ4QSqXV0=";
sha256 = "sha256-W8jGUs63R6QpwuTgzK5yVLhKGXypvKOyCWHT2xdb6eM=";
};
vendorHash = "sha256-LLVd9WB8ixH78CHYe0sS4sCDCD+6SQ7PxWr2MHiAOxI=";

View File

@ -91,13 +91,13 @@
"vendorHash": "sha256-Ne0ed+H6lPEH5uTYS98pLIf+7B1w+HSM77tGGG9E5RQ="
},
"auth0": {
"hash": "sha256-//F0WsvL8jkDCywdGCC6NaQD4oG/X/KeMuq8vWpnlSE=",
"hash": "sha256-ShwoPwEQLNX1+LB84iWrS5VopKt8kao35/iVVGLDZck=",
"homepage": "https://registry.terraform.io/providers/auth0/auth0",
"owner": "auth0",
"repo": "terraform-provider-auth0",
"rev": "v1.0.0",
"rev": "v1.1.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-8gfCVvFFcuoR4KL6nawJXSdWgnZfOgehs9GxO5n8w9A="
"vendorHash": "sha256-fD3epndk6L+zjtUNalis9VJCxWKOBScYGHkUFRnLNLQ="
},
"avi": {
"hash": "sha256-EGpHajrTTOx7LrFHzsrrkGMqsuUEJLJAN6AJ48QdJis=",
@ -155,11 +155,11 @@
"vendorHash": null
},
"baiducloud": {
"hash": "sha256-h4CWzwvxRhA0DYjkVC44/hbwQMZ6uWGQqOqaM0mkYt8=",
"hash": "sha256-N2WfSCro4jVZSXTe41hs4uQsmnhbsfl/J2o51YEOsB4=",
"homepage": "https://registry.terraform.io/providers/baidubce/baiducloud",
"owner": "baidubce",
"repo": "terraform-provider-baiducloud",
"rev": "v1.19.19",
"rev": "v1.19.20",
"spdx": "MPL-2.0",
"vendorHash": null
},
@ -173,13 +173,13 @@
"vendorHash": null
},
"bitbucket": {
"hash": "sha256-En53+Lj7cQxzkKgXDPWNptVbg0wMAc5WRmsilBOlgEM=",
"hash": "sha256-dO+2sg+4Xg+9fxKe/hGF0EBS4yGZAzhIBgcBhT/VDWk=",
"homepage": "https://registry.terraform.io/providers/DrFaust92/bitbucket",
"owner": "DrFaust92",
"repo": "terraform-provider-bitbucket",
"rev": "v2.35.0",
"rev": "v2.37.2",
"spdx": "MPL-2.0",
"vendorHash": "sha256-xaa/NAJfKlSM4P9o4xNsJhL5ZyUGNYMC9/WbCqMKiLM="
"vendorHash": "sha256-2s8ATVlSVa6n/OSay0oTdJXGdfnCwX6da3Pcu/xYcPY="
},
"brightbox": {
"hash": "sha256-pwFbCP+qDL/4IUfbPRCkddkbsEEeAu7Wp12/mDL0ABA=",
@ -191,22 +191,22 @@
"vendorHash": "sha256-/dOiXO2aPkuZaFiwv/6AXJdIADgx8T7eOwvJfBBoqg8="
},
"buildkite": {
"hash": "sha256-WVDbC8zLKrKi3dvpYmu8n0W/+YJKrpyQhA2ubcu76J8=",
"hash": "sha256-+H2ivPSrNBybUSYX2sLL4V8uqLTsJZp7AN1AYQQ/f90=",
"homepage": "https://registry.terraform.io/providers/buildkite/buildkite",
"owner": "buildkite",
"repo": "terraform-provider-buildkite",
"rev": "v1.0.4",
"rev": "v1.0.6",
"spdx": "MIT",
"vendorHash": "sha256-UleQAfbWR4Zv0U+LgDs9JFcqTN5yLwHGw5EUUi8SnUs="
"vendorHash": "sha256-GzHqmSS0yWH+pNGA7ZbfpRkjUsc2F9vlJ9XEOjKxFS4="
},
"checkly": {
"hash": "sha256-AFufcitZh9UwkO1p52PjjZEpYxLLdtLWQlUJm4PJjWI=",
"hash": "sha256-HfmEh+7RmCIjBvacBW6sX3PL295oHOo8Z+5YsFyl0/4=",
"homepage": "https://registry.terraform.io/providers/checkly/checkly",
"owner": "checkly",
"repo": "terraform-provider-checkly",
"rev": "v1.7.1",
"rev": "v1.7.2",
"spdx": null,
"vendorHash": "sha256-8zzuU5ddu/1zx72soBLIrvpWHy+Yl3bsuc+IksTBfM4="
"vendorHash": "sha256-iAAsTiBX1/EOCFgLv7bmTVW5ga5ef4GIEJSHo4w76Tg="
},
"ciscoasa": {
"hash": "sha256-xzc44FEy2MPo51Faq/VFwg411JK9e0kQucpt0vdN8yg=",
@ -227,13 +227,13 @@
"vendorHash": "sha256-dR/7rtDNj9bIRh6JMwXhWvLiAhXfrGnqS9QvfDH9eGw="
},
"cloudflare": {
"hash": "sha256-xnAEEKKHbVeITO1RRCyt2/LEDlqUqCf6jDHShhKLDwU=",
"hash": "sha256-FdKz6EmpxhqM+wcCAuwTCOCxhV0LI4+7d12fNxOSd7Q=",
"homepage": "https://registry.terraform.io/providers/cloudflare/cloudflare",
"owner": "cloudflare",
"repo": "terraform-provider-cloudflare",
"rev": "v4.17.0",
"rev": "v4.19.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-i5pO4dY3dnNy4XlIPk5CMYMqXzKyfwQWjettF5vPXr0="
"vendorHash": "sha256-PwIFz2T+iXR6+A/yrF4+kxWr2SxLDUY8XDO5aTeg89M="
},
"cloudfoundry": {
"hash": "sha256-yEqsdgTSlwppt6ILRZQ6Epyh5WVN6Il3xsBOa/NfIdo=",
@ -254,11 +254,11 @@
"vendorHash": "sha256-h4CO3sC41RPSmkTlWUCiRvQ1NRZkT2v1uHFOemvBN8s="
},
"cloudscale": {
"hash": "sha256-OK5djIzIqS4qrVtgMMCiVqslO/rftTc/ft/rNQCxpOM=",
"hash": "sha256-SDivLkP1y/qBVNSiyCjV6zPTbLUplxzD3gNxzkjC51M=",
"homepage": "https://registry.terraform.io/providers/cloudscale-ch/cloudscale",
"owner": "cloudscale-ch",
"repo": "terraform-provider-cloudscale",
"rev": "v4.2.1",
"rev": "v4.2.2",
"spdx": "MIT",
"vendorHash": null
},
@ -273,13 +273,13 @@
"vendorHash": "sha256-UJHDX/vx3n/RTuQ50Y6TAhpEEFk9yBoaz8yK02E8Fhw="
},
"consul": {
"hash": "sha256-2oujZd7tqvMnp48m3bs45p5dRC7U5a7hsiS5qBuPUHU=",
"hash": "sha256-mGLI/TAovyBvowI6AwRPcmYqwnPEe4ibDhFj1t7I+oM=",
"homepage": "https://registry.terraform.io/providers/hashicorp/consul",
"owner": "hashicorp",
"repo": "terraform-provider-consul",
"rev": "v2.18.0",
"rev": "v2.19.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-0SRbKFKl1lfiiMDZW20ak9m09T3tSOH/fc+UwGeXmuk="
"vendorHash": "sha256-sOnEgGTboK+vbNQYUOP0TxLe2JsqBUFo6/k55paIsmM="
},
"ct": {
"hash": "sha256-c1cqTfMlZ5fXDNMYLsk4447X0p/qIQYvRTqVY8cSs+E=",
@ -291,13 +291,13 @@
"vendorHash": "sha256-ZCMSmOCPEMxCSpl3DjIUGPj1W/KNJgyjtHpmQ19JquA="
},
"datadog": {
"hash": "sha256-Etp25ZcKy+13SbsEtpVnNgF8GpYhO27JwlV8wRkaSOo=",
"hash": "sha256-IU9eBWYqI/a9EsYhI6kPom1PK/H403Dxr7eSXYFL5Do=",
"homepage": "https://registry.terraform.io/providers/DataDog/datadog",
"owner": "DataDog",
"repo": "terraform-provider-datadog",
"rev": "v3.31.0",
"rev": "v3.32.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-0sfHf+aBV2vVScbyCPFtI6wj5KE6kNoioh4tyHhNOKc="
"vendorHash": "sha256-C+N+LQ6qjpRrUNzCaiauIor+noD+0igTfR7RnrZdNwU="
},
"dexidp": {
"hash": "sha256-Sy/xkhuNTocCoD7Nlq+pbvYiat4du4vZtOOZD2Ig3OA=",
@ -318,11 +318,11 @@
"vendorHash": "sha256-BpXhKjfxyCLdGRHn1GexW0MoLj4/C6Bn7scZ76JARxQ="
},
"digitalocean": {
"hash": "sha256-i8jB3eLrhzvTq6ibc2u8XLK3SX41NU3dY1aGTwJtEq0=",
"hash": "sha256-8T2xWKKoPU54ukMClva/fgZXGDMh92Oi0IacjnbgCCI=",
"homepage": "https://registry.terraform.io/providers/digitalocean/digitalocean",
"owner": "digitalocean",
"repo": "terraform-provider-digitalocean",
"rev": "v2.30.0",
"rev": "v2.32.0",
"spdx": "MPL-2.0",
"vendorHash": null
},
@ -345,13 +345,13 @@
"vendorHash": "sha256-SvyeMKuAJ4vu++7Fx0hutx3vQvgf1sh1PFSLPRqJPjw="
},
"dnsimple": {
"hash": "sha256-07YEICB3brMzq2ft6gcovqFZ5OYmBR0IY6X67StAV/g=",
"hash": "sha256-6QubFsPp3sOmCSgIpRH+x+Q9YDDnOnfX5UzV+iy3uh4=",
"homepage": "https://registry.terraform.io/providers/dnsimple/dnsimple",
"owner": "dnsimple",
"repo": "terraform-provider-dnsimple",
"rev": "v1.3.0",
"rev": "v1.3.1",
"spdx": "MPL-2.0",
"vendorHash": "sha256-Ne5qnxU/n8y71fIegLYsQQxCqmVMT8RwHc+TXGshAJA="
"vendorHash": "sha256-TTRxLal+oao8UtZpeZ4/HdR99WHGXARZWKqy1baT/mE="
},
"docker": {
"hash": "sha256-UyHOI8C0eDV5YllAi9clHp/CEldHjIp3FHHMPy1rK58=",
@ -381,20 +381,20 @@
"vendorHash": "sha256-oVTanZpCWs05HwyIKW2ajiBPz1HXOFzBAt5Us+EtTRw="
},
"equinix": {
"hash": "sha256-cUHVp4oVQ2e1d6kkByI1QsvODZCvkbw0goW3BjRk5Xw=",
"hash": "sha256-7RnThTuYTO1W0nBZAilUB5WOp8Rng14aNBiax6M9FwQ=",
"homepage": "https://registry.terraform.io/providers/equinix/equinix",
"owner": "equinix",
"repo": "terraform-provider-equinix",
"rev": "v1.18.0",
"rev": "v1.19.0",
"spdx": "MIT",
"vendorHash": "sha256-woYNslCzOOg9m8/Dfk42ZAWJDi8HZeqyVQw1MuRhoOE="
"vendorHash": "sha256-nq380VsSog+nsL+U1KXkVUJqq3t4dJkrfbBH8tHm48E="
},
"exoscale": {
"hash": "sha256-KtuGrHPSNSyuwAXYpOHiVX2svWj5+6EkXb/wZAnW/6E=",
"hash": "sha256-Fc2/IT8L1jn0Oh8zT0C/Am4eoumQe0VRYqBDc/enEuY=",
"homepage": "https://registry.terraform.io/providers/exoscale/exoscale",
"owner": "exoscale",
"repo": "terraform-provider-exoscale",
"rev": "v0.53.0",
"rev": "v0.53.1",
"spdx": "MPL-2.0",
"vendorHash": null
},
@ -417,13 +417,13 @@
"vendorHash": null
},
"flexibleengine": {
"hash": "sha256-DKbUjKwaJtBU0zFBz+C4hAKIys//mMKYBy0QFLHDY8s=",
"hash": "sha256-+RAuFh88idG49nV4HVPgaGxADw/k/sUSTqrzWjf15tw=",
"homepage": "https://registry.terraform.io/providers/FlexibleEngineCloud/flexibleengine",
"owner": "FlexibleEngineCloud",
"repo": "terraform-provider-flexibleengine",
"rev": "v1.42.0",
"rev": "v1.43.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-RqYzqKPzb5GcrzHnEDZC7GaBt1zP8g28Wo3WNAe07Ck="
"vendorHash": "sha256-yin+UVMkqIxMSoVB4TD6Nv8F24FnEGZP5PFVpmuO2Fg="
},
"fortios": {
"hash": "sha256-RpcKMndbO3wbkHmrINkbsQ+UeFsZrQ7x02dv8ZpFMec=",
@ -445,42 +445,42 @@
"vendorHash": "sha256-uWTY8cFztXFrQQ7GW6/R+x9M6vHmsb934ldq+oeW5vk="
},
"github": {
"hash": "sha256-Np7aecFKdYqRPgdSfca5t7ExBvjx9zDSZJTk/GcFCLM=",
"hash": "sha256-hlUVYgisdMa60XWb4z3erZS/8QBHEFGrjREsWh4azEE=",
"homepage": "https://registry.terraform.io/providers/integrations/github",
"owner": "integrations",
"repo": "terraform-provider-github",
"rev": "v5.40.0",
"rev": "v5.42.0",
"spdx": "MIT",
"vendorHash": null
},
"gitlab": {
"hash": "sha256-9fY1TTKQ02OkCRsMVE+NqsUiWga8lF38/5sB1YxKAEg=",
"hash": "sha256-eONOqinRXs9lPz4d8WDb9lA0XcJuNqzgsZrmJAZ42t8=",
"homepage": "https://registry.terraform.io/providers/gitlabhq/gitlab",
"owner": "gitlabhq",
"repo": "terraform-provider-gitlab",
"rev": "v16.4.1",
"rev": "v16.5.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-tMFNjdXIlyBELrLRKkJySXlQbuHDybVhSTw/J3dXZ7w="
"vendorHash": "sha256-2t50Gsyf8gxG/byjgNyw5GEturU0MgBvZuJyc49s4t0="
},
"google": {
"hash": "sha256-9svwUHvA5fuYjfiFWQLQs1yOejYprsiSF+58nPWN/Vs=",
"hash": "sha256-o4tyG0Q4sqBktreYEKJ+1QlNXx/BEPmAGOTTzTcFnP8=",
"homepage": "https://registry.terraform.io/providers/hashicorp/google",
"owner": "hashicorp",
"proxyVendor": true,
"repo": "terraform-provider-google",
"rev": "v5.2.0",
"rev": "v5.6.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-aVJuAYF5S/fkFHRk34HIN9p+P9MgHGh0RpeqC3/gchY="
"vendorHash": "sha256-9nz3VLTi4RfGBDAE7JBUWXrJRajwAyxoeEH+VSP0wyQ="
},
"google-beta": {
"hash": "sha256-z8b77hlIcB1Uthkl+aWQH9bkkRb+A9Y/EEUxNTU4wR4=",
"hash": "sha256-+5Fm/aT90bD6RpQrUGjmpmahPTjOfsRJAaZuZsrPQn4=",
"homepage": "https://registry.terraform.io/providers/hashicorp/google-beta",
"owner": "hashicorp",
"proxyVendor": true,
"repo": "terraform-provider-google-beta",
"rev": "v5.2.0",
"rev": "v5.6.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-aVJuAYF5S/fkFHRk34HIN9p+P9MgHGh0RpeqC3/gchY="
"vendorHash": "sha256-9nz3VLTi4RfGBDAE7JBUWXrJRajwAyxoeEH+VSP0wyQ="
},
"googleworkspace": {
"hash": "sha256-dedYnsKHizxJZibuvJOMbJoux0W6zgKaK5fxIofKqCY=",
@ -492,13 +492,13 @@
"vendorHash": "sha256-fqVBnAivVekV+4tpkl+E6eNA3wi8mhLevJRCs3W7L2g="
},
"grafana": {
"hash": "sha256-3KVJ7mP6ehJnU0DxzR9rvMylw8VNFTTM+C/NBz2C1+E=",
"hash": "sha256-8GBhJvv0JYHh98l1IRMsodYlFAkW5Lt1dJ03mPzTcts=",
"homepage": "https://registry.terraform.io/providers/grafana/grafana",
"owner": "grafana",
"repo": "terraform-provider-grafana",
"rev": "v2.3.3",
"rev": "v2.6.1",
"spdx": "MPL-2.0",
"vendorHash": "sha256-kYNlClQoeU4s8j2dk1x33YtNkjs8a2KMPkzm4z/e0Z4="
"vendorHash": "sha256-DOkDVQPTwB0l1VlfbvwJYiKRi/GE85cPzaY4JKnewaA="
},
"gridscale": {
"hash": "sha256-gyUDWG7h3fRU0l0uyfmxd0Oi1TtQHnJutqahDoPZWgM=",
@ -510,13 +510,13 @@
"vendorHash": null
},
"hcloud": {
"hash": "sha256-kuC4tm8ob9bg7iLcUaGEHMYh6XaZp4rQiVlnbo1Xzek=",
"hash": "sha256-9yW3VbxtD+oSxmc2R9yzZisMTAOwjzyCzvZBRdFdH/w=",
"homepage": "https://registry.terraform.io/providers/hetznercloud/hcloud",
"owner": "hetznercloud",
"repo": "terraform-provider-hcloud",
"rev": "v1.42.1",
"rev": "v1.44.1",
"spdx": "MPL-2.0",
"vendorHash": "sha256-r8njRjQGYESeHuD8pF6rRUe1j2VVMwoDITFi2StC5bk="
"vendorHash": "sha256-oGABaZRnwZdS5qPmksT4x7Tin2WpU2Jk9pejeHbghm8="
},
"helm": {
"hash": "sha256-pgV1xXhg8WIyF4RhJwAenTI6eAmtINveO8zqrKzLajQ=",
@ -565,11 +565,11 @@
"vendorHash": "sha256-hxT9mpKifb63wlCUeUzgVo4UB2TnYZy9lXF4fmGYpc4="
},
"huaweicloud": {
"hash": "sha256-/dZ2WHzCF8vAFmpg0eUaCSzMy+5v7D24NPkJhCrjhLw=",
"hash": "sha256-V6Ar0MXK7i927eDq8uvHZc3ivVonK9KBKqSZCCESgq0=",
"homepage": "https://registry.terraform.io/providers/huaweicloud/huaweicloud",
"owner": "huaweicloud",
"repo": "terraform-provider-huaweicloud",
"rev": "v1.56.1",
"rev": "v1.57.0",
"spdx": "MPL-2.0",
"vendorHash": null
},
@ -592,13 +592,13 @@
"vendorHash": null
},
"ibm": {
"hash": "sha256-38AkbG68901Lc66B2nk+9FAWHQ9WZ0w0zAWseWbyOOw=",
"hash": "sha256-Od+aunGMjcQ4AF60dxWNAUVMQiAkFMSAquOhUp3icug=",
"homepage": "https://registry.terraform.io/providers/IBM-Cloud/ibm",
"owner": "IBM-Cloud",
"repo": "terraform-provider-ibm",
"rev": "v1.58.1",
"rev": "v1.59.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-8/5baDHKV5Plm1DnNtyrh7FgMjT9zr9ifxTosi7o5sg="
"vendorHash": "sha256-qp1TZmDr7X+2MCdlGTBLubJ7hF5Y9jqoFaj5mxgNLHE="
},
"icinga2": {
"hash": "sha256-Y/Oq0aTzP+oSKPhHiHY9Leal4HJJm7TNDpcdqkUsCmk=",
@ -610,11 +610,11 @@
"vendorHash": null
},
"infoblox": {
"hash": "sha256-655WGpwE1BmWRdikvHtxxX8u4kOZ9cSLCZDr6QGfn5Y=",
"hash": "sha256-rjqtqfmQQoJIhMtP6sFOu/XfJ691E77P0Bf9gjml2yg=",
"homepage": "https://registry.terraform.io/providers/infobloxopen/infoblox",
"owner": "infobloxopen",
"repo": "terraform-provider-infoblox",
"rev": "v2.4.1",
"rev": "v2.5.0",
"spdx": "MPL-2.0",
"vendorHash": null
},
@ -691,13 +691,13 @@
"vendorHash": "sha256-dHzyNvzxNltCAmwYWQHOEKkhgfylUUhOtBPiBqIS1Qg="
},
"linode": {
"hash": "sha256-yzEbkK2fOXNkuMYjtsXXRI3tV+OngzVeJoDiu+iTr5w=",
"hash": "sha256-ScuHyfnco5Xz6HrZ9YPQLdWKo1Hqu7LRteLHH2JxHXQ=",
"homepage": "https://registry.terraform.io/providers/linode/linode",
"owner": "linode",
"repo": "terraform-provider-linode",
"rev": "v2.9.2",
"rev": "v2.9.7",
"spdx": "MPL-2.0",
"vendorHash": "sha256-G4A1nCM2R/6yWSUP+OSHrd6k6bz0Cp7wc40IU2AnS5s="
"vendorHash": "sha256-5ALsYOuWLFGbIR3yVKmPeb0tQnx63p4WC98WdcxXeZ4="
},
"linuxbox": {
"hash": "sha256-MzasMVtXO7ZeZ+qEx2Z+7881fOIA0SFzSvXVHeEROtg=",
@ -718,20 +718,20 @@
"vendorHash": "sha256-ZjS40Xc8y2UBPn4rX3EgRoSapRvMEeVMGZE6z9tpsAQ="
},
"lxd": {
"hash": "sha256-0/nIdfCsmPaUkGkSkmWWioc6RZGTb0XWtvprjuDg2gU=",
"hash": "sha256-2th4/2uLFnmSFKI94bSSt4OSX9wiML/OkThR6SbUCPE=",
"homepage": "https://registry.terraform.io/providers/terraform-lxd/lxd",
"owner": "terraform-lxd",
"repo": "terraform-provider-lxd",
"rev": "v1.10.2",
"rev": "v1.10.4",
"spdx": "MPL-2.0",
"vendorHash": "sha256-DMOyP8BX1502a+Hd7rwhpV2/nT0ECFKmKDPtWE6o0IM="
"vendorHash": "sha256-gcXX4XIyY2X7ZSDMVVzGL/ltaf8Z1/Zx8oJo/IDrIBA="
},
"mailgun": {
"hash": "sha256-r1E2Y5JRu77T29ebUNTXUEypnrsfYYbBhvpKZGt5T9w=",
"hash": "sha256-fg1I1lt2cA0DgxLnxYrm0V55pD9AkpAdonXVGYeFZwQ=",
"homepage": "https://registry.terraform.io/providers/wgebis/mailgun",
"owner": "wgebis",
"repo": "terraform-provider-mailgun",
"rev": "v0.7.4",
"rev": "v0.7.5",
"spdx": "MPL-2.0",
"vendorHash": "sha256-yUXxq8NTOv8ZmWp0WiIID2cRU6AZiItIs99uGZpt9dc="
},
@ -754,13 +754,13 @@
"vendorHash": "sha256-QxbZv6YMa5/I4bTeQBNdmG3EKtLEmstnH7HMiZzFJrI="
},
"minio": {
"hash": "sha256-1Qnjn/13h+r7VeFPwpKMzQiK5EzhSghxHCOyahWXbVs=",
"hash": "sha256-i3YYBffP7Jp3f0wN1ZwP+c7C8WN8EKUh7JOKzbH0R/I=",
"homepage": "https://registry.terraform.io/providers/aminueza/minio",
"owner": "aminueza",
"repo": "terraform-provider-minio",
"rev": "v1.18.0",
"spdx": "Apache-2.0",
"vendorHash": "sha256-cufN4QYXE+bqDKLUV+Rdslr5CgbI0DvoFVWVQiBVomw="
"rev": "v2.0.1",
"spdx": "AGPL-3.0",
"vendorHash": "sha256-aIIkj0KpkIR+CsgPk4NCfhG7BMKaAQZy/49unQx4nWQ="
},
"mongodbatlas": {
"hash": "sha256-SMIc78haJiH0XdTr9OBGWOcvXfYQW9thcNkCOxmNxDw=",
@ -790,13 +790,13 @@
"vendorHash": null
},
"newrelic": {
"hash": "sha256-b9wHTSxDT657qTfv73O8A2YnwJPSWYONrElcyYyeH60=",
"hash": "sha256-6SwAieZc7Qe8r+olZUUV46myax/M57t4VfWDrXMK8Hk=",
"homepage": "https://registry.terraform.io/providers/newrelic/newrelic",
"owner": "newrelic",
"repo": "terraform-provider-newrelic",
"rev": "v3.27.3",
"rev": "v3.27.7",
"spdx": "MPL-2.0",
"vendorHash": "sha256-qZqmw55Fsn3XaDvyorouy391iM6KXQxX5gJGrKR3URU="
"vendorHash": "sha256-9+AcCcAX/oEnljMCuJQ9B/aRkAB/074r4G/XWnLv/KU="
},
"nomad": {
"hash": "sha256-urxTfyBv/vuX3Xowca625aNEsU4sxkmd24tis2YjR3Y=",
@ -827,31 +827,31 @@
},
"nutanix": {
"deleteVendor": true,
"hash": "sha256-TV2jp7zmBdBpKGBrGfluUTFRUa2wq9MnTi+nfjqRG+4=",
"hash": "sha256-Okjb4MS28gY1UdYA8+qs45VV5QcGabvMn5bc+nhzbt4=",
"homepage": "https://registry.terraform.io/providers/nutanix/nutanix",
"owner": "nutanix",
"repo": "terraform-provider-nutanix",
"rev": "v1.9.3",
"rev": "v1.9.4",
"spdx": "MPL-2.0",
"vendorHash": "sha256-LRIfxQGwG988HE5fftGl6JmBG7tTknvmgpm4Fu1NbWI="
},
"oci": {
"hash": "sha256-gMVGLURSXzT9TXXHJlL3F5WN+XI4o22bkPFh/jPtUrw=",
"hash": "sha256-gk5KegQozeDg6ZqYsy+DxMczBOKxH0v3mHFRau/alFY=",
"homepage": "https://registry.terraform.io/providers/oracle/oci",
"owner": "oracle",
"repo": "terraform-provider-oci",
"rev": "v5.17.0",
"rev": "v5.20.0",
"spdx": "MPL-2.0",
"vendorHash": null
},
"okta": {
"hash": "sha256-0UvJCEHoCsONskvihQidGo834qEZR1hZMczNF+C7fqw=",
"hash": "sha256-LCOuRsAX0ftacS0ecNQpYXKKumfCZ9a10bSuRJtD20E=",
"homepage": "https://registry.terraform.io/providers/okta/okta",
"owner": "okta",
"repo": "terraform-provider-okta",
"rev": "v4.5.0",
"rev": "v4.6.1",
"spdx": "MPL-2.0",
"vendorHash": "sha256-LwExX17GlyzxMcn95c2T9FawoS03fHH58RmHoPTsjBA="
"vendorHash": "sha256-ZhF1c4cez43cCumU+PYufpEcprRDxY7hVCNQHdIEDtI="
},
"oktaasa": {
"hash": "sha256-2LhxgowqKvDDDOwdznusL52p2DKP+UiXALHcs9ZQd0U=",
@ -872,58 +872,58 @@
"vendorHash": "sha256-W7UGOtyFsIMXPqFDnde2XlzU7klR7Fs00mSuJ9ID20A="
},
"openstack": {
"hash": "sha256-Iauu0sQf8wq4Ev8JflxrthXYe99YDnt5ZzWQ/q3Bjfw=",
"hash": "sha256-sFv7n5tf3aAwe6R1XeJdU3XMDF9ZMCM3t/vVLegZaXM=",
"homepage": "https://registry.terraform.io/providers/terraform-provider-openstack/openstack",
"owner": "terraform-provider-openstack",
"repo": "terraform-provider-openstack",
"rev": "v1.52.1",
"rev": "v1.53.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-NnB8deqIeiB66Kba9LWT62fyI23HL57VcsTickoTRwI="
"vendorHash": "sha256-hVsqlWTZoYAMWMeismKhiqFxSFbkTBSIEMSLZx5stnQ="
},
"opentelekomcloud": {
"hash": "sha256-ozaIQiYpo0M0yuFSk70kw3tPZbEhZjHkq1FzUKOZP4Q=",
"hash": "sha256-3p5R8thq5iWaeAsvqoA03UK6hzVGi4DlEe3PHJBP3xA=",
"homepage": "https://registry.terraform.io/providers/opentelekomcloud/opentelekomcloud",
"owner": "opentelekomcloud",
"repo": "terraform-provider-opentelekomcloud",
"rev": "v1.35.10",
"rev": "v1.35.11",
"spdx": "MPL-2.0",
"vendorHash": "sha256-cFZO7GSv2+FpSZcYNRbuRkX3DJ7m0JwW/TCPo41F800="
"vendorHash": "sha256-MD3tywosRUbkzeXQA2yTHr3p8RJlzNZVbrlTesDHpMI="
},
"opsgenie": {
"hash": "sha256-3iPprhDd9nnF9NnaGHp8rQ57rvA1jxZuSjIFsfGtEMU=",
"hash": "sha256-IIQtbRKfLbJz5J/T/YzVWSivMeuyKO6iKlXmbrslpQo=",
"homepage": "https://registry.terraform.io/providers/opsgenie/opsgenie",
"owner": "opsgenie",
"repo": "terraform-provider-opsgenie",
"rev": "v0.6.32",
"rev": "v0.6.34",
"spdx": "MPL-2.0",
"vendorHash": null
},
"ovh": {
"hash": "sha256-FvWA1uS70sterPTSBMBclrMtNjxWPZPTgSuEdslUgvg=",
"hash": "sha256-s8Tg1j47J0sj9Jt98mS4rFgtGl4uFIfdaQDNXOV8Bbg=",
"homepage": "https://registry.terraform.io/providers/ovh/ovh",
"owner": "ovh",
"repo": "terraform-provider-ovh",
"rev": "v0.34.0",
"rev": "v0.35.0",
"spdx": "MPL-2.0",
"vendorHash": null
},
"pagerduty": {
"hash": "sha256-h1yy/TfiqYgAmQ5A2vn3WFrgI70JDX7G/3289tfFTHc=",
"hash": "sha256-4TplBhRU4k7ucDCsgWcqEok9tOADuZAwqOonAY+eLdY=",
"homepage": "https://registry.terraform.io/providers/PagerDuty/pagerduty",
"owner": "PagerDuty",
"repo": "terraform-provider-pagerduty",
"rev": "v3.0.2",
"rev": "v3.1.1",
"spdx": "MPL-2.0",
"vendorHash": null
},
"pass": {
"hash": "sha256-hFgNWw6ZmATo0bFZvJL9z/lJF506KsBewigGoFj67sM=",
"hash": "sha256-QGcHOsyUINH4bqK14OEzNm4b7oMK/4hwN9SuKt4m6t8=",
"homepage": "https://registry.terraform.io/providers/camptocamp/pass",
"owner": "camptocamp",
"repo": "terraform-provider-pass",
"rev": "v2.0.0",
"rev": "v2.1.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-sV6JPKzpA1+uoUBmdWpUSk70cl9ofQqr7USbK+4RVDs="
"vendorHash": "sha256-LWyfkhyTr6xHtt8nCdqid/zKwGerYVxSEpqSe853S9w="
},
"postgresql": {
"hash": "sha256-r1Im4bhAakBe0PoDTpiQWPfnoFBtMCrAyL7qBa1yTQc=",
@ -944,13 +944,13 @@
"vendorHash": null
},
"project": {
"hash": "sha256-UO9GBBoOzA1stMq8naXWtxomme6CVdlngVCLQlbZDv0=",
"hash": "sha256-bLzJT+ZyBtnehpiR02tyCcI5xOC2vJxBlYW1cLX7yqI=",
"homepage": "https://registry.terraform.io/providers/jfrog/project",
"owner": "jfrog",
"repo": "terraform-provider-project",
"rev": "v1.3.3",
"rev": "v1.3.4",
"spdx": "Apache-2.0",
"vendorHash": "sha256-Tj+NefCIacwpPS9rNPPxV2lLeKsXJMZhf9Xo+Rzz6gI="
"vendorHash": "sha256-ZDscj89bnLiubB+cxWjK1v9DXc5RX21pxfksJd6pQxk="
},
"proxmox": {
"hash": "sha256-ikXLLNoAjrnGGGI3fHTKFXm8YwqNazE/U39JTjOBsW4=",
@ -998,22 +998,22 @@
"vendorHash": "sha256-dMT3PEYNu9NxwLmY5SHa79yeVSB8Pi3UBEHiGvGGVmU="
},
"rundeck": {
"hash": "sha256-PVLehIrj4vleOtcpNcHfpk6NOKsmrF8FCJXILlru7Ss=",
"hash": "sha256-VPkHnSOTnRvvX6+K0L0q5IqSSFCE6VPdg2BaSejFMNc=",
"homepage": "https://registry.terraform.io/providers/rundeck/rundeck",
"owner": "rundeck",
"repo": "terraform-provider-rundeck",
"rev": "v0.4.6",
"rev": "v0.4.7",
"spdx": "MPL-2.0",
"vendorHash": null
},
"scaleway": {
"hash": "sha256-Fx77O5FHRZAFGNojWUxPPhlJ+hv2XVvh4RVYnMt1WXQ=",
"hash": "sha256-lOoxgWps6r4/7JhK0Z0Iz5EA2mHYNrdIgOntRqXFrH8=",
"homepage": "https://registry.terraform.io/providers/scaleway/scaleway",
"owner": "scaleway",
"repo": "terraform-provider-scaleway",
"rev": "v2.30.0",
"rev": "v2.33.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-4fIFZRAx0Vkl7QK13Vp/QJN+WDtk40RsvGYm6wPnfAI="
"vendorHash": "sha256-tly9+vClV/IGivNBY114lNXxnYjJVvhVAi1tEyCtIoo="
},
"secret": {
"hash": "sha256-MmAnA/4SAPqLY/gYcJSTnEttQTsDd2kEdkQjQj6Bb+A=",
@ -1070,13 +1070,13 @@
"vendorHash": null
},
"snowflake": {
"hash": "sha256-p2VN5M9OCEdA0olIx5HmB3g62sZVnJZEob40p8UgIXs=",
"hash": "sha256-O5Nt+CcVppo5w4gD+NQ/XrRbkJicIzQrh5gffjPNvvw=",
"homepage": "https://registry.terraform.io/providers/Snowflake-Labs/snowflake",
"owner": "Snowflake-Labs",
"repo": "terraform-provider-snowflake",
"rev": "v0.74.0",
"rev": "v0.75.0",
"spdx": "MIT",
"vendorHash": "sha256-lxjAtxY++tITodDbdxZorIzkJXKPHqO/UZqBr5IBNys="
"vendorHash": "sha256-VD3zXfaa2fmq85a/k7LPbDVS1gA5xHC2F3Ojqpmt8MI="
},
"sops": {
"hash": "sha256-ZastswL5AVurQY3xn6yx3M1BMvQ9RjfcZdXX0S/oZqw=",
@ -1088,13 +1088,13 @@
"vendorHash": "sha256-8W1PK4T98iK1N6EB6AVjvr1P9Ja51+kSOmYAEosxrh8="
},
"spotinst": {
"hash": "sha256-banhAkXLg3iWH7/eiPodOreReqaDskmlCdNIPZYbM3E=",
"hash": "sha256-mYLIOnWI1yzfmuKikDib4PIDLJulGBqvo2OkGmUt7fw=",
"homepage": "https://registry.terraform.io/providers/spotinst/spotinst",
"owner": "spotinst",
"repo": "terraform-provider-spotinst",
"rev": "v1.147.0",
"rev": "v1.149.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-sr2VAFSc6VfLW0KNGQMxYuAITjFaWOQaJjIlaMYamS0="
"vendorHash": "sha256-6UUXMcfyIiZWc7HSy3P8gc7i1L9cVjifwREfmw05Qco="
},
"stackpath": {
"hash": "sha256-7KQUddq+M35WYyAIAL8sxBjAaXFcsczBRO1R5HURUZg=",
@ -1142,22 +1142,22 @@
"vendorHash": "sha256-0HRhwUGDE4y7UFlXyD0w8zl4NV5436L4SRhrb8vQGyc="
},
"tencentcloud": {
"hash": "sha256-TJKLBMgxQXKhdKG7HCUFLWAtWCoZFla4CvSeN1a2k44=",
"hash": "sha256-o9PY7kZAsF/bOkmIa0QKW2SabK0u56FtjMxmlKNROBg=",
"homepage": "https://registry.terraform.io/providers/tencentcloudstack/tencentcloud",
"owner": "tencentcloudstack",
"repo": "terraform-provider-tencentcloud",
"rev": "v1.81.38",
"rev": "v1.81.45",
"spdx": "MPL-2.0",
"vendorHash": null
},
"tfe": {
"hash": "sha256-MTPtt87Kq3gOxF85Wwc6SWRy90+kK4BeHivAQTo32f8=",
"hash": "sha256-HsoqWDwze/INB3KfQzwKKGbyKiU7xfsI4Bg/4/xFGr4=",
"homepage": "https://registry.terraform.io/providers/hashicorp/tfe",
"owner": "hashicorp",
"repo": "terraform-provider-tfe",
"rev": "v0.49.2",
"rev": "v0.50.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-PQanCxvb1sT5SSLNH4fKFwF8j5ycU+6Os63GZuyBUSo="
"vendorHash": "sha256-D8ouBW20jzFi365gDgL2sRk2IERSgJN3PFb7e1Akl50="
},
"thunder": {
"hash": "sha256-wS50I4iTnHq0rDUoz7tQXpqW84wugQQiw42xhzxFiRw=",
@ -1215,23 +1215,23 @@
"vendorHash": null
},
"utils": {
"hash": "sha256-YkEklRSjAvBzySfc4nmmOaDmzcQlW9uAtoJMMHOqJEQ=",
"hash": "sha256-WbJy1lwEX6RCYxZydCJ+0U/mJB4NoYiUg9+zf8Mxnwk=",
"homepage": "https://registry.terraform.io/providers/cloudposse/utils",
"owner": "cloudposse",
"repo": "terraform-provider-utils",
"rev": "1.12.0",
"rev": "1.14.0",
"spdx": "Apache-2.0",
"vendorHash": "sha256-aMN25qa67m2Z8ZdMqtob0rj70Oy+E8bXEiRVb1HmGOk="
"vendorHash": "sha256-vFfwa8DfmiHpbBbXPNovPC7SFoXRjyHRwOVqBcWCEtI="
},
"vault": {
"hash": "sha256-HWEPeIhYCdM6m1hEuX5ozZFl5yRlND0heF+sl+uaNHM=",
"hash": "sha256-9SOHw46KChe7bGInsIIyy0pyNG3K7CXNEomHkmpt8d4=",
"homepage": "https://registry.terraform.io/providers/hashicorp/vault",
"owner": "hashicorp",
"proxyVendor": true,
"repo": "terraform-provider-vault",
"rev": "v3.21.0",
"rev": "v3.22.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-tas0801GM+E1yuMEFoFo8GfizeJaDwKfvK8TsCf/big="
"vendorHash": "sha256-HvjbXSAkbTmADyWQaw0lZV3nZUEIYiAB3VahYvIQeb4="
},
"vcd": {
"hash": "sha256-ltdkB9PqmuCs5daRjcThVhy1wIoDW21yBiwtRo/pMss=",
@ -1261,11 +1261,11 @@
"vendorHash": "sha256-OzcDMLWwnBYIkBcL6U1t9oCNhZZokBUf2TONb+OfgPE="
},
"vra7": {
"hash": "sha256-AVN2WDVDAc11p0i/d8wb/AvITMStrtsIq+MqXWYdwL8=",
"hash": "sha256-03qXrYDpmPc7gHELzjS5miLm5NPTrF0AV1sUSCM0/4o=",
"homepage": "https://registry.terraform.io/providers/vmware/vra7",
"owner": "vmware",
"repo": "terraform-provider-vra7",
"rev": "v3.0.10",
"rev": "v3.0.11",
"spdx": "MPL-2.0",
"vendorHash": null
},
@ -1279,30 +1279,30 @@
"vendorHash": "sha256-4ulRYzb4bzk0TztT04CwqlnMGw8tp7YnoCm2/NqGN7Y="
},
"vultr": {
"hash": "sha256-8pj+udTNTjT/tXggOaIOThRQkYoI3v68rEssSUojM2A=",
"hash": "sha256-9HEuJXV6spLoLEVwdNid+MfVrBvrdUKjHWkDvQLSG+s=",
"homepage": "https://registry.terraform.io/providers/vultr/vultr",
"owner": "vultr",
"repo": "terraform-provider-vultr",
"rev": "v2.16.4",
"rev": "v2.17.1",
"spdx": "MPL-2.0",
"vendorHash": null
},
"wavefront": {
"hash": "sha256-FvRrX8T9PDz5gJZuE9sARfa9ERaEFMk0vmX4xDcrbVY=",
"hash": "sha256-yNNtOkodzwxKvHQq9GZlUicezGW6u2ih6ry/cOtJQGM=",
"homepage": "https://registry.terraform.io/providers/vmware/wavefront",
"owner": "vmware",
"repo": "terraform-provider-wavefront",
"rev": "v5.0.4",
"rev": "v5.1.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-GuOdD1m3elBj9k7YfUYbyqJNzIwmZZ1O1lplpBUPH+g="
"vendorHash": "sha256-GRnVhGpVgFI83Lg34Zv1xgV5Kp8ioKTFV5uaqS80ATg="
},
"yandex": {
"hash": "sha256-t4NvehAHS0U9kPQsA6otAga9YQWZ0rJrm3YFi9SgKQY=",
"hash": "sha256-QirLhOAvOcsMFR0ZWHCCI2wbfcD5hfHSlZ0bguvAHiI=",
"homepage": "https://registry.terraform.io/providers/yandex-cloud/yandex",
"owner": "yandex-cloud",
"repo": "terraform-provider-yandex",
"rev": "v0.100.0",
"rev": "v0.102.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-2+VeNaTZK4K3jqcKnSfzqlIvfzJF9HFv04Z99ImCWT8="
"vendorHash": "sha256-y8M50X2F4olM1I0i32uUd/FASY9wUnMOF5k4AEP6b9I="
}
}

View File

@ -2,18 +2,18 @@
buildGoModule rec {
pname = "weave-gitops";
version = "0.34.0";
version = "0.35.0";
src = fetchFromGitHub {
owner = "weaveworks";
repo = pname;
rev = "v${version}";
sha256 = "sha256-W7Q5rsmNEDUGofQumbs9HaByQEb7sj4tOT7ZpIe98E4=";
sha256 = "sha256-H/l/b6yPoNZeBG1TPc9PCBpZg4ETnF9FmYnbRmKl8c8=";
};
ldflags = [ "-s" "-w" "-X github.com/weaveworks/weave-gitops/cmd/gitops/version.Version=${version}" ];
vendorHash = "sha256-+UxrhtwYP+ctn+y7IxKKLO5RVoiUSl4ky0xprXr98Jc=";
vendorHash = "sha256-le34zvlgquxOv0xdOPfpf7/ZuoPd9MEfp8Gshigvtas=";
subPackages = [ "cmd/gitops" ];

View File

@ -6,13 +6,13 @@
buildGoModule rec {
pname = "gmailctl";
version = "0.10.6";
version = "0.10.7";
src = fetchFromGitHub {
owner = "mbrt";
repo = "gmailctl";
rev = "v${version}";
sha256 = "sha256-OpRkBHNWRrBhh6nGrV7dZT01xsSlbANCk+g7b8SidG0=";
hash = "sha256-OpRkBHNWRrBhh6nGrV7dZT01xsSlbANCk+g7b8SidG0=";
};
vendorHash = "sha256-+r0WHrKARcxW1hUY1HwAXk0X6ZQrbgBj9+GjIJV5DS0=";

View File

@ -12,25 +12,25 @@ in {
guiStable = mkGui {
channel = "stable";
version = "2.2.43";
hash = "sha256-+2dcyWnTJqGaH9yhknYc9/0gnj3qh80eAy6uxG7+fFM=";
version = "2.2.44.1";
hash = "sha256-Ae1Yij81/rhZOMMfLYaQKR4Dxx1gDGZBpBj0gLCSToI=";
};
guiPreview = mkGui {
channel = "stable";
version = "2.2.43";
hash = "sha256-+2dcyWnTJqGaH9yhknYc9/0gnj3qh80eAy6uxG7+fFM=";
version = "2.2.44.1";
hash = "sha256-Ae1Yij81/rhZOMMfLYaQKR4Dxx1gDGZBpBj0gLCSToI=";
};
serverStable = mkServer {
channel = "stable";
version = "2.2.43";
hash = "sha256-xWt2qzeqBtt86Wv3dYl4GXkfjr+7WAKn5HdDeUzOQd8=";
version = "2.2.44.1";
hash = "sha256-YtYXTEZj5009L8OU7jdhegYu5Xll3jZAW6NJFWOvxHQ=";
};
serverPreview = mkServer {
channel = "stable";
version = "2.2.43";
hash = "sha256-xWt2qzeqBtt86Wv3dYl4GXkfjr+7WAKn5HdDeUzOQd8=";
version = "2.2.44.1";
hash = "sha256-YtYXTEZj5009L8OU7jdhegYu5Xll3jZAW6NJFWOvxHQ=";
};
}

View File

@ -8,6 +8,8 @@
, fetchFromGitHub
, qt5
, wrapQtAppsHook
, testers
, gns3-gui
}:
python3.pkgs.buildPythonApplication rec {
@ -56,6 +58,11 @@ python3.pkgs.buildPythonApplication rec {
export QT_QPA_PLATFORM=offscreen
'';
passthru.tests.version = testers.testVersion {
package = gns3-gui;
command = "${lib.getExe gns3-gui} --version";
};
meta = with lib; {
description = "Graphical Network Simulator 3 GUI (${channel} release)";
longDescription = ''

View File

@ -8,6 +8,8 @@
, fetchFromGitHub
, pkgsStatic
, stdenv
, testers
, gns3-server
}:
python3.pkgs.buildPythonApplication {
@ -32,7 +34,6 @@ python3.pkgs.buildPythonApplication {
aiohttp-cors
async-generator
distro
importlib-resources
jinja2
jsonschema
multidict
@ -45,6 +46,8 @@ python3.pkgs.buildPythonApplication {
truststore
yarl
zipstream
] ++ lib.optionals (pythonOlder "3.9") [
importlib-resources
];
postInstall = lib.optionalString (!stdenv.hostPlatform.isWindows) ''
@ -72,6 +75,11 @@ python3.pkgs.buildPythonApplication {
"--reruns 3"
];
passthru.tests.version = testers.testVersion {
package = gns3-server;
command = "${lib.getExe gns3-server} --version";
};
meta = with lib; {
description = "Graphical Network Simulator 3 server (${channel} release)";
longDescription = ''
@ -84,5 +92,6 @@ python3.pkgs.buildPythonApplication {
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ anthonyroussel ];
mainProgram = "gns3server";
};
}

View File

@ -5,11 +5,11 @@
stdenv.mkDerivation rec {
pname = "alfaview";
version = "9.4.0";
version = "9.5.0";
src = fetchurl {
url = "https://assets.alfaview.com/stable/linux/deb/${pname}_${version}.deb";
sha256 = "sha256-bOK6QP9uLMJP9pgts4EyvW0WIKqcfhtvb1heG629Q38=";
hash = "sha256-UQg7yGKdjZWrJpPAaHpPz9aQuxLvuRDXeQaOg7WorwE=";
};
nativeBuildInputs = [
@ -76,6 +76,7 @@ stdenv.mkDerivation rec {
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
maintainers = with maintainers; [ wolfangaukang hexchen ];
mainProgram = "alfaview";
platforms = [ "x86_64-linux" ];
};
}

View File

@ -15,6 +15,8 @@
, sqlcipher
, stdenv
, CoreServices
, testers
, deltachat-desktop
}:
let
@ -33,16 +35,16 @@ let
in
buildNpmPackage rec {
pname = "deltachat-desktop";
version = "unstable-2023-11-03";
version = "1.41.1";
src = fetchFromGitHub {
owner = "deltachat";
repo = "deltachat-desktop";
rev = "40152e9543eb773fc27e7a4f96ef1eecebe9310e";
hash = "sha256-9GPXFUCu9GKa/bJgO8CIPMLccI6WAJ6PhfoyJ6s/DHE=";
rev = "v${version}";
hash = "sha256-ITcBIm47OiGy/i6jnG6r1OoStjRPystOts6ViLioLNY=";
};
npmDepsHash = "sha256-g3nkgqZNoq+xuwXbXLHEMVpHH6Sq3792xhITCx7WvOc=";
npmDepsHash = "sha256-+t6m2kDUOh6kIkbZgol/CQciDTxUZSkTr1amPywrMb4=";
nativeBuildInputs = [
makeWrapper
@ -116,6 +118,12 @@ buildNpmPackage rec {
];
});
passthru.tests = {
version = testers.testVersion {
package = deltachat-desktop;
};
};
meta = with lib; {
description = "Email-based instant messaging for Desktop";
homepage = "https://github.com/deltachat/deltachat-desktop";

View File

@ -2,13 +2,13 @@
(if stdenv.isDarwin then darwin.apple_sdk_11_0.llvmPackages_14.stdenv else stdenv).mkDerivation rec {
pname = "signalbackup-tools";
version = "20231107-1";
version = "20231114";
src = fetchFromGitHub {
owner = "bepaald";
repo = pname;
rev = version;
hash = "sha256-5JF/cU2yz1TDKUSAiZJ5LQfvsGSQtuww543O03gkZ+Y=";
hash = "sha256-5ZDHAv8le1MLS394fto4Rg19J/b2QkZZ70Sn0Yap/hs=";
};
postPatch = ''

View File

@ -19,18 +19,18 @@
stdenv.mkDerivation (finalAttrs: {
pname = "teams-for-linux";
version = "1.3.18";
version = "1.3.19";
src = fetchFromGitHub {
owner = "IsmaelMartinez";
repo = "teams-for-linux";
rev = "v${finalAttrs.version}";
hash = "sha256-evOwjHUmeGw8AUpXSig8zVW2cpJbWkNTH/RUuNipFsQ=";
hash = "sha256-+n26VTNRymPdzMbSz8AZsQ73xOHizOFAstw6toKfZQM=";
};
offlineCache = fetchYarnDeps {
yarnLock = "${finalAttrs.src}/yarn.lock";
hash = "sha256-tMC8/qHYli7+OTdxVWRDEyCNzrkYA+zKlHJXlTsl+W0=";
hash = "sha256-SxUdTzk8WngkKwT05U8HJsK8+8ezcJWdiT/ettxpeEE=";
};
nativeBuildInputs = [ yarn fixup_yarn_lock nodejs copyDesktopItems makeWrapper ];
@ -102,7 +102,7 @@ stdenv.mkDerivation (finalAttrs: {
description = "Unofficial Microsoft Teams client for Linux";
homepage = "https://github.com/IsmaelMartinez/teams-for-linux";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ muscaln lilyinstarlight qjoly ];
maintainers = with lib.maintainers; [ muscaln lilyinstarlight qjoly chvp ];
platforms = lib.platforms.unix;
broken = stdenv.isDarwin;
};

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "picard-tools";
version = "3.1.0";
version = "3.1.1";
src = fetchurl {
url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar";
sha256 = "sha256-6nnKYnml6BjLb6aKNHbd55nH6gP/5Somo8poxx7yhVk=";
sha256 = "sha256-FcefUf0KwAEEn53XubrB2991ncsCMKicf20fJG6LurQ=";
};
nativeBuildInputs = [ makeWrapper ];

View File

@ -4,13 +4,13 @@
stdenv.mkDerivation rec {
pname = "verilator";
version = "5.016";
version = "5.018";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
hash = "sha256-MVQbAZXSIdzX7+yKbSrFLLd0j6dfLSXpES3uu6bcPt8=";
hash = "sha256-f06UzNw2MQ5me03EPrVFhkwxKum/GLDzQbDNTBsJMJs=";
};
enableParallelBuilding = true;

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "eprover";
version = "2.6";
version = "3.0";
src = fetchurl {
url = "https://wwwlehre.dhbw-stuttgart.de/~sschulz/WORK/E_DOWNLOAD/V_${version}/E.tgz";
sha256 = "sha256-qh896qIpFR5g1gdWAwGkbNJLBqUQCeCpuoYHHkDXPt0=";
sha256 = "sha256-RJ2uc/GIWU/fDJijSzYS8GdL7zUkeExOLWXtTbi8ZLk=";
};
buildInputs = [ which ];

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "gh";
version = "2.39.0";
version = "2.39.1";
src = fetchFromGitHub {
owner = "cli";
repo = "cli";
rev = "v${version}";
hash = "sha256-cBdP514ZW7iSMzecGFCgiXz3bGZZ1LzxnVpEd9b4Dy0=";
hash = "sha256-OvelaxyQNeh6h7wn4Z/vRicufOoxrTdmnWl9hKW00jU=";
};
vendorHash = "sha256-RFForZy/MktbrNrcpp9G6VCB7A98liJvCxS0Yb16sMc=";

View File

@ -13,14 +13,14 @@
rustPlatform.buildRustPackage rec {
pname = "pijul";
version = "1.0.0-beta.6";
version = "1.0.0-beta.7";
src = fetchCrate {
inherit version pname;
hash = "sha256-1cIb4QsDYlOCGrQrLgEwIjjHZ3WwD2o0o0bF+OOqEtI=";
hash = "sha256-BXDz9po8i937/xYoIW4S/FddtcWxSmtRUWYIphgh060=";
};
cargoHash = "sha256-mRi0NUETTdYE/oM+Jo7gW/zNby8dPAKl6XhzP0Qzsf0=";
cargoHash = "sha256-+KF1G4bDfcjHHzZR93lIR8muO6s3j5jDobr3A7Arr+Q=";
doCheck = false;
nativeBuildInputs = [ installShellFiles pkg-config ];

View File

@ -1,4 +1,6 @@
{ python3
{ lib
, stdenv
, python3
, callPackage
, recurseIntoAttrs
, nixosTests
@ -35,7 +37,9 @@ let
hash = "sha256-aRO4JH2KKS74MVFipRkx4rQM6RaB8bbxj2lwRSAMSjA=";
};
nativeCheckInputs = with super; [ pytestCheckHook mock ];
disabledTestPaths = [];
disabledTestPaths = []
# Disable incompatible tests on Darwin.
++ lib.optionals stdenv.isDarwin [ "test/aaa_profiling" ];
});
flask-sqlalchemy = super.flask-sqlalchemy.overridePythonAttrs (oldAttrs: rec {

View File

@ -11,13 +11,13 @@
stdenv.mkDerivation rec {
pname = "obs-vaapi";
version = "0.4.0";
version = "0.4.1";
src = fetchFromGitHub {
owner = "fzwoch";
repo = pname;
rev = version;
hash = "sha256-AbSI6HBdOEI54bUVqqF+b4LcCyzW30XlS9SXX2ajkas=";
hash = "sha256-PpGNLIOz+fCpcP/nvjcJ+1fkduxjcbZjb7yx8TUO25s=";
};
nativeBuildInputs = [ pkg-config meson ninja ];

View File

@ -48,7 +48,7 @@ rustPlatform.buildRustPackage rec {
meta = with lib; {
description = "A secure virtual machine monitor for KVM";
homepage = "https://chromium.googlesource.com/crosvm/crosvm/";
homepage = "https://crosvm.dev/";
mainProgram = "crosvm";
maintainers = with maintainers; [ qyliss ];
license = licenses.bsd3;

View File

@ -1,6 +1,6 @@
{ lib, fetchFromGitHub, python3, intltool, file, wrapGAppsHook, gtk-vnc
, vte, avahi, dconf, gobject-introspection, libvirt-glib, system-libvirt
, gsettings-desktop-schemas, libosinfo, gnome, gtksourceview4, docutils, cpio
, gsettings-desktop-schemas, gst_all_1, libosinfo, gnome, gtksourceview4, docutils, cpio
, e2fsprogs, findutils, gzip, cdrtools, xorriso, fetchpatch
, desktopToDarwinBundle, stdenv
, spiceSupport ? true, spice-gtk ? null
@ -21,10 +21,12 @@ python3.pkgs.buildPythonApplication rec {
intltool file
gobject-introspection # for setup hook populating GI_TYPELIB_PATH
docutils
wrapGAppsHook
] ++ lib.optional stdenv.isDarwin desktopToDarwinBundle;
buildInputs = [
wrapGAppsHook
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
libvirt-glib vte dconf gtk-vnc gnome.adwaita-icon-theme avahi
gsettings-desktop-schemas libosinfo gtksourceview4
] ++ lib.optional spiceSupport spice-gtk;

View File

@ -1,62 +0,0 @@
{ lib, stdenv, fetchFromGitHub, rust, rustPlatform
, cargo, just, pkg-config, util-linuxMinimal
, dbus, glib, libxkbcommon, pulseaudio, wayland
}:
rustPlatform.buildRustPackage {
pname = "cosmic-applets";
version = "unstable-2023-10-04";
src = fetchFromGitHub {
owner = "pop-os";
repo = "cosmic-applets";
rev = "fefaea9b63548b1baa5e64521b860234ee46339a";
hash = "sha256-I+18NCKLH/3QajYpZRPYmCUxkbptAjuEHfKtnZVOlH4=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"accesskit-0.11.0" = "sha256-/6KUCH1CwMHd5YEMOpAdVeAxpjl9JvrzDA4Xnbd1D9k=";
"cosmic-client-toolkit-0.1.0" = "sha256-pVWK+dODQxNej5jWyb5wX/insoiXkX8NFBDkDEejVV0=";
"cosmic-config-0.1.0" = "sha256-pUDuRHX46fbcPw19s5DEsPyJdb/Bem/lJg+3NEO/WX0=";
"cosmic-dbus-networkmanager-0.1.0" = "sha256-eWqB+zRCfJYdrcPE8Ey+WgzPBJltN0zRiutzgdtWsDA=";
"cosmic-notifications-config-0.1.0" = "sha256-KnPQdrMpzA05v4bt0Fz9fbcKdC0cSU60Hv7wqrthIaw=";
"cosmic-panel-config-0.1.0" = "sha256-H3QuiP7Og69wm9yCX/uoSG0aQ3B/61q9Sdj+rW4KZMU=";
"cosmic-time-0.3.0" = "sha256-JiTwbJSml8azelBr6b3cBvJsuAL1hmHtuHx2TJupEzE=";
"smithay-client-toolkit-0.17.0" = "sha256-v3FxzDypxSfbEU50+oDoqrGWPm+S+kDZQq//3Q4DDRU=";
"softbuffer-0.2.0" = "sha256-VD2GmxC58z7Qfu/L+sfENE+T8L40mvUKKSfgLmCTmjY=";
"xdg-shell-wrapper-config-0.1.0" = "sha256-Otxp8D5dNZl70K1ZIBswGj6K5soGVbVim7gutUHkBvw=";
};
};
postPatch = ''
substituteInPlace justfile --replace '#!/usr/bin/env' "#!$(command -v env)"
'';
nativeBuildInputs = [ just pkg-config util-linuxMinimal ];
buildInputs = [ dbus glib libxkbcommon pulseaudio wayland ];
dontUseJustBuild = true;
justFlags = [
"--set" "prefix" (placeholder "out")
"--set" "target" "${rust.lib.toRustTargetSpecShort stdenv.hostPlatform}/release"
];
# Force linking to libwayland-client, which is always dlopen()ed.
"CARGO_TARGET_${rust.toRustTargetForUseInEnvVars stdenv.hostPlatform}_RUSTFLAGS" =
map (a: "-C link-arg=${a}") [
"-Wl,--push-state,--no-as-needed"
"-lwayland-client"
"-Wl,--pop-state"
];
meta = with lib; {
homepage = "https://github.com/pop-os/cosmic-applets";
description = "Applets for the COSMIC Desktop Environment";
license = licenses.gpl3Only;
maintainers = with maintainers; [ qyliss ];
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,37 @@
{ lib
, stdenvNoCC
, fetchurl
, unzip
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "bluetility";
version = "1.5.1";
src = fetchurl {
url = "https://github.com/jnross/Bluetility/releases/download/${finalAttrs.version}/Bluetility.app.zip";
hash = "sha256-Batnv06nXXxvUz+DlrH1MpeL4f5kNSPDH6Iqd/UiFbw=";
};
dontUnpack = true;
nativeBuildInputs = [ unzip ];
installPhase = ''
runHook preInstall
mkdir -p $out/Applications
unzip -d $out/Applications $src
runHook postInstall
'';
meta = with lib; {
description = "Bluetooth Low Energy browse";
homepage = "https://github.com/jnross/Bluetility";
license = licenses.mit;
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
maintainers = with maintainers; [ emilytrau Enzime ];
platforms = platforms.darwin;
};
})

View File

@ -0,0 +1,73 @@
{ lib
, stdenv
, fetchFromGitHub
, rust
, rustPlatform
, just
, pkg-config
, util-linuxMinimal
, dbus
, glib
, libxkbcommon
, pulseaudio
, wayland
}:
rustPlatform.buildRustPackage {
pname = "cosmic-applets";
version = "unstable-2023-11-13";
src = fetchFromGitHub {
owner = "pop-os";
repo = "cosmic-applets";
rev = "21fc43e5781a7fbe7e7f39a0b68963dc8c2d486d";
hash = "sha256-WOUlYIh4a8qQhga4weKcuJYxNL5fa4FzNFuRB1T32oU=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"accesskit-0.11.0" = "sha256-xVhe6adUb8VmwIKKjHxwCwOo5Y1p3Or3ylcJJdLDrrE=";
"cosmic-client-toolkit-0.1.0" = "sha256-st46wmOncJvu0kj6qaot6LT/ojmW/BwXbbGf8s0mdZ8=";
"cosmic-config-0.1.0" = "sha256-6g/Om3SFLa+3fu2dkifbXbFP3ksXTbsjb6Xu7tDB570=";
"cosmic-dbus-networkmanager-0.1.0" = "sha256-eSUyDME39UhoimO/gd2mJDaunCrLNXesO9C69IwtjgM=";
"cosmic-notifications-config-0.1.0" = "sha256-QsLlm+jxsmc90Jc73qKgi52PVZoSwuGXDXw+iSJTALw=";
"cosmic-panel-config-0.1.0" = "sha256-uUq+xElZMcG5SWzha9/8COaenycII5aiXmm7sXGgjXE=";
"cosmic-time-0.3.0" = "sha256-Vx9MrdnAwqDCnA6WgT/cXxs4NDWvAVZ6hv0FXi2A8t4=";
"smithay-client-toolkit-0.18.0" = "sha256-9NwNrEC+csTVtmXrNQFvOgohTGUO2VCvqOME7SnDCOg=";
"softbuffer-0.2.0" = "sha256-VD2GmxC58z7Qfu/L+sfENE+T8L40mvUKKSfgLmCTmjY=";
"taffy-0.3.11" = "sha256-0hXOEj6IjSW8e1t+rvxBFX6V9XRum3QO2Des1XlHJEw=";
"xdg-shell-wrapper-config-0.1.0" = "sha256-3Dc2fU8xBVUmAs0Q1zEdcdG7vlxpBO+UIlyM/kzGcC4=";
};
};
postPatch = ''
substituteInPlace justfile --replace '#!/usr/bin/env' "#!$(command -v env)"
'';
nativeBuildInputs = [ just pkg-config util-linuxMinimal ];
buildInputs = [ dbus glib libxkbcommon pulseaudio wayland ];
dontUseJustBuild = true;
justFlags = [
"--set" "prefix" (placeholder "out")
"--set" "target" "${rust.lib.toRustTargetSpecShort stdenv.hostPlatform}/release"
];
# Force linking to libwayland-client, which is always dlopen()ed.
"CARGO_TARGET_${rust.toRustTargetForUseInEnvVars stdenv.hostPlatform}_RUSTFLAGS" =
map (a: "-C link-arg=${a}") [
"-Wl,--push-state,--no-as-needed"
"-lwayland-client"
"-Wl,--pop-state"
];
meta = with lib; {
homepage = "https://github.com/pop-os/cosmic-applets";
description = "Applets for the COSMIC Desktop Environment";
license = licenses.gpl3Only;
maintainers = with maintainers; [ qyliss nyanbinary ];
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,23 @@
{ lib
, haskellPackages
, fetchFromGitHub
}:
haskellPackages.mkDerivation {
pname = "lngen";
version = "unstable-2023-10-17";
src = fetchFromGitHub {
owner = "plclub";
repo = "lngen";
rev = "c7645001404e0e2fec2c56f128e30079b5b3fac6";
hash = "sha256-2vUYHtl9yAadwdTtsjTI0klP+nRSYGXVpaSwD9EBTTI=";
};
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = with haskellPackages; [ base syb parsec containers mtl ];
executableHaskellDepends = with haskellPackages; [ base ];
homepage = "https://github.com/plclub/lngen";
description = "Tool for generating Locally Nameless definitions and proofs in Coq, working together with Ott";
maintainers = with lib.maintainers; [ chen ];
license = lib.licenses.mit;
}

View File

@ -1,17 +1,21 @@
{ lib, maven, fetchFromGitHub }:
{ lib
, maven
, fetchFromGitHub
, nix-update-script
}:
maven.buildMavenPackage rec {
pname = "mariadb-connector-java";
version = "3.2.0";
version = "3.3.0";
src = fetchFromGitHub {
owner = "mariadb-corporation";
repo = "mariadb-connector-j";
rev = "refs/tags/${version}";
hash = "sha256-ssh6v2h/Ikl2Ulim6lSJ45avjKSCh3Vmtg+LPOgONRU=";
hash = "sha256-JuMm01ihgVoKpe8wyuUIDyzSxMODRg7dQpTCyVA/K10=";
};
mvnHash = "sha256-MizBoFlpYxwwcU7rOac1h2VPJoXv3eRQgWRgsTh8Xno=";
mvnHash = "sha256-Px4Qxb1tTvRKZum1xfe0mdX+EyimnyyfzrydiaDaYRo=";
# Disable tests because they require networking
mvnParameters = "-DskipTests";
@ -22,6 +26,8 @@ maven.buildMavenPackage rec {
runHook postInstall
'';
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "MariaDB Connector/J is used to connect applications developed in Java to MariaDB and MySQL databases";
homepage = "https://mariadb.com/kb/en/about-mariadb-connector-j/";

View File

@ -0,0 +1,30 @@
{ lib
, buildGoModule
, fetchFromGitHub
, unstableGitUpdater
}:
buildGoModule {
pname = "nix-search-cli";
version = "unstable-2023-09-12";
src = fetchFromGitHub {
owner = "peterldowns";
repo = "nix-search-cli";
rev = "f3f1c53c72dadac06472a7112aeb486ab5dda695";
hash = "sha256-YM1Lf7py79rU8aJE0PfQaMr5JWx5J1covUf1aCjRkc8=";
};
vendorHash = "sha256-JDOu7YdX9ztMZt0EFAMz++gD7n+Mn1VOe5g6XwrgS5M=";
passthru.updateScript = unstableGitUpdater { };
meta = with lib; {
description = "CLI for searching packages on search.nixos.org";
homepage = "https://github.com/peterldowns/nix-search-cli";
license = licenses.mit;
maintainers = with maintainers; [ donovanglover ];
platforms = platforms.all;
mainProgram = "nix-search";
};
}

View File

@ -2,13 +2,13 @@
buildNpmPackage rec {
pname = "quicktype";
version = "23.0.75"; # version from https://npm.im/quicktype
version = "23.0.78"; # version from https://npm.im/quicktype
src = fetchFromGitHub {
owner = "quicktype";
repo = "quicktype";
rev = "9b570a73a896306778940c793c0037a38815304a"; # version not tagged
hash = "sha256-boCBgIoM2GECipZTJlp9IaeXT24aR8tawS1X8CFDDqw=";
rev = "317deefa6a0c8ba0201b9b2b50d00c7e93c41d78"; # version not tagged
hash = "sha256-KkyxS3mxOmUA8ZpB0tqdpdafvP429R5Y39C3CszTiZk=";
};
postPatch = ''

View File

@ -0,0 +1,53 @@
{ lib
, stdenv
, fetchFromGitea
, cmake
, pkg-config
, libusb1
}:
stdenv.mkDerivation rec {
pname = "rtl-sdr-osmocom";
version = "2.0.1";
src = fetchFromGitea {
domain = "gitea.osmocom.org";
owner = "sdr";
repo = "rtl-sdr";
rev = "v${version}";
hash = "sha256-+RYSCn+wAkb9e7NRI5kLY8a6OXtJu7QcSUht1R6wDX0=";
};
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace '/etc/udev/rules.d' "$out/etc/udev/rules.d" \
--replace "VERSION_INFO_PATCH_VERSION git" "VERSION_INFO_PATCH_VERSION ${lib.versions.patch version}"
substituteInPlace rtl-sdr.rules \
--replace 'MODE:="0666"' 'ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev"'
'';
nativeBuildInputs = [ pkg-config cmake ];
propagatedBuildInputs = [ libusb1 ];
cmakeFlags = lib.optionals stdenv.isLinux [
"-DINSTALL_UDEV_RULES=ON"
"-DWITH_RPC=ON"
];
meta = with lib; {
description = "Software to turn the RTL2832U into a SDR receiver";
longDescription = ''
This packages the rtl-sdr library by the Osmocom project. This is the upstream codebase of the unsuffixed "rtl-sdr" package, which is a downstream fork. A list of differences can be found here:
https://github.com/librtlsdr/librtlsdr/blob/master/README_improvements.md
The Osmocom upstream has a regular release schedule, so this package will likely support newer SDR dongles. It should be compatible with most software that currently depends on the "rtl-sdr" nixpkg, but comptabiliy should be manually confirmed.
'';
homepage = "https://gitea.osmocom.org/sdr/rtl-sdr";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ skovati ];
platforms = platforms.unix;
mainProgram = "rtl_sdr";
};
}

View File

@ -5,13 +5,13 @@
stdenvNoCC.mkDerivation {
pname = "seclists";
version = "2023.2";
version = "2023.3";
src = fetchFromGitHub {
owner = "danielmiessler";
repo = "SecLists";
rev = "2023.2";
hash = "sha256-yVxb5GaQDuCsyjIV+oZzNUEFoq6gMPeaIeQviwGdAgY=";
rev = "2023.3";
hash = "sha256-mJgCzp8iKzSWf4Tud5xDpnuY4aNJmnEo/hTcuGTaOWM=";
};
installPhase = ''

View File

@ -17,13 +17,13 @@
assert lib.elem lineEditingLibrary [ "isocline" "readline" ];
stdenv.mkDerivation (finalAttrs: {
pname = "trealla";
version = "2.29.36";
version = "2.30.7";
src = fetchFromGitHub {
owner = "trealla-prolog";
repo = "trealla";
rev = "v${finalAttrs.version}";
hash = "sha256-tQp2DOBW71Wm1aQqspW9tuH8aM8ir+ilZiENdElB/+0=";
hash = "sha256-W0hcIeWbgORWBYuNbVJRA8NNnuBEG8HMLeVBxXtd2VQ=";
};
postPatch = ''

View File

@ -16,13 +16,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "uuu";
version = "1.5.125";
version = "1.5.141";
src = fetchFromGitHub {
owner = "nxp-imx";
repo = "mfgtools";
rev = "uuu_${finalAttrs.version}";
hash = "sha256-f9Nt303xXZzLSu3GtOEpyaL91WVFUmKO7mxi8UNX3go=";
hash = "sha256-N5L6k2oVXfnER7JRoX0JtzgEhb/vFMexu7hUKQhmcoE=";
};
passthru.updateScript = nix-update-script { };

View File

@ -10,13 +10,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "tau-hydrogen";
version = "1.0.13";
version = "1.0.14";
src = fetchFromGitHub {
owner = "tau-OS";
repo = "tau-hydrogen";
rev = finalAttrs.version;
hash = "sha256-rfgSNytPCVCkAJ9N3kRw9mfcXr+JEqy1jyyDgXqxtsM=";
hash = "sha256-8awcowBm0hwoYYm/wtKeqCWRhgXh2rI3UvAlL1tbj6c=";
};
nativeBuildInputs = [

View File

@ -16,7 +16,7 @@ mkCoqDerivation {
defaultVersion = with lib.versions; lib.switch [ coq.version mathcomp.version ] [
{ cases = [ (isGe "8.16") (isGe "2.0") ]; out = "1.3.1"; }
{ cases = [ (isGe "8.16") "2.0.0" ]; out = "1.3.0"; }
{ cases = [ (isGe "8.11") (range "1.12" "1.17") ]; out = "1.2.5"; }
{ cases = [ (isGe "8.11") (range "1.12" "1.18") ]; out = "1.2.5"; }
{ cases = [ (isGe "8.11") (range "1.11" "1.14") ]; out = "1.2.4"; }
{ cases = [ (isLe "8.13") (lib.pred.inter (isGe "1.11.0") (isLt "1.13")) ]; out = "1.2.3"; }
] null;

View File

@ -6,7 +6,8 @@ mkCoqDerivation {
owner = "gappa";
domain = "gitlab.inria.fr";
inherit version;
defaultVersion = if lib.versions.range "8.8" "8.17" coq.coq-version then "1.5.3" else null;
defaultVersion = if lib.versions.range "8.8" "8.18" coq.coq-version then "1.5.4" else null;
release."1.5.4".sha256 = "sha256-9PlkXqCu4rbFD7qnMF1GSpPCVmwJ3r593RfAvkJbbdA=";
release."1.5.3".sha256 = "sha256-SuMopX5sm4jh2uBuE7zr6vhWhHYZYnab+epjqYJqg+s=";
release."1.5.2".sha256 = "sha256-A021Bhqz5r2CZBayfjIiWrCIfUlejcQAfbTmOaf6QTM=";
release."1.5.1".sha256 = "1806bq1z6q5rq2ma7d5kfbqfyfr755hjg0dq7b2llry8fx9cxjsg";

View File

@ -1,4 +1,4 @@
{ lib, mkCoqDerivation, coq, mathcomp-algebra, mathcomp-finmap, mathcomp-fingroup
{ lib, mkCoqDerivation, coq, mathcomp, mathcomp-finmap
, fourcolor, hierarchy-builder, version ? null }:
mkCoqDerivation {
@ -6,16 +6,20 @@ mkCoqDerivation {
release."0.9".sha256 = "sha256-Hl3JS9YERD8QQziXqZ9DqLHKp63RKI9HxoFYWSkJQZI=";
release."0.9.1".sha256 = "sha256-lRRY+501x+DqNeItBnbwYIqWLDksinWIY4x/iojRNYU=";
release."0.9.2".sha256 = "sha256-DPYCZS8CzkfgpR+lmYhV2v20ezMtyWp8hdWpuh0OOQU=";
release."0.9.3".sha256 = "sha256-9WX3gsw+4btJLqcGg2W+7Qy+jaZtkfw7vCp8sXYmaWw=";
releaseRev = v: "v${v}";
inherit version;
defaultVersion = with lib.versions; lib.switch coq.coq-version [
{ case = range "8.14" "8.16"; out = "0.9.1"; }
{ case = range "8.12" "8.12"; out = "0.9"; }
defaultVersion = with lib.versions; lib.switch [ coq.coq-version mathcomp.version ] [
{ cases = [ (isGe "8.16") (range "2.0.0" "2.1.0") ]; out = "0.9.3"; }
{ cases = [ (range "8.14" "8.18") (range "1.13.0" "1.18.0") ]; out = "0.9.2"; }
{ cases = [ (range "8.14" "8.16") (range "1.13.0" "1.14.0") ]; out = "0.9.1"; }
{ cases = [ (range "8.12" "8.13") (range "1.12.0" "1.14.0") ]; out = "0.9"; }
] null;
propagatedBuildInputs = [ mathcomp-algebra mathcomp-finmap mathcomp-fingroup fourcolor hierarchy-builder ];
propagatedBuildInputs = [ mathcomp.algebra mathcomp-finmap mathcomp.fingroup fourcolor hierarchy-builder ];
meta = with lib; {
description = "Library of formalized graph theory results in Coq";

View File

@ -9,6 +9,8 @@ let
repo = "analysis";
owner = "math-comp";
release."0.6.6".sha256 = "sha256-tWtv6yeB5/vzwpKZINK9OQ0yQsvD8qu9zVSNHvLMX5Y=";
release."0.6.5".sha256 = "sha256-oJk9/Jl1SWra2aFAXRAVfX7ZUaDfajqdDksYaW8dv8E=";
release."0.6.1".sha256 = "sha256-1VyNXu11/pDMuH4DmFYSUF/qZ4Bo+/Zl3Y0JkyrH/r0=";
release."0.6.0".sha256 = "sha256-0msICcIrK6jbOSiBu0gIVU3RHwoEEvB88CMQqW/06rg=";
release."0.5.3".sha256 = "sha256-1NjFsi5TITF8ZWx1NyppRmi8g6YaoUtTdS9bU/sUe5k=";
@ -24,7 +26,9 @@ let
release."0.2.3".sha256 = "0p9mr8g1qma6h10qf7014dv98ln90dfkwn76ynagpww7qap8s966";
defaultVersion = with versions; lib.switch [ coq.version mathcomp.version ] [
{ cases = [ (isGe "8.14") (isGe "1.13.0") ]; out = "0.6.1"; }
{ cases = [ (isGe "8.17") (range "1.15.0" "1.18.0") ]; out = "0.6.6"; }
{ cases = [ (isGe "8.14") (range "1.15.0" "1.17.0") ]; out = "0.6.5"; }
{ cases = [ (isGe "8.14") (range "1.13.0" "1.16.0") ]; out = "0.6.1"; }
{ cases = [ (isGe "8.14") (range "1.13" "1.15") ]; out = "0.5.2"; }
{ cases = [ (range "8.13" "8.15") (range "1.13" "1.14") ]; out = "0.5.1"; }
{ cases = [ (range "8.13" "8.15") (range "1.12" "1.14") ]; out = "0.3.13"; }

View File

@ -8,7 +8,7 @@ mkCoqDerivation {
inherit version;
defaultVersion = with lib.versions; lib.switch [ coq.version mathcomp.version ] [
{ cases = [ (range "8.13" "8.16") (isGe "1.12.0") ]; out = "1.0.2"; }
{ cases = [ (range "8.13" "8.16") (range "1.12.0" "1.17.0") ]; out = "1.0.2"; }
] null;
release."1.0.2".sha256 = "sha256-llxyMKYvWUA7fyroG1S/jtpioAoArmarR1edi3cikcY=";

View File

@ -8,7 +8,7 @@ mkCoqDerivation {
inherit version;
defaultVersion = with lib.versions; lib.switch [ coq.version mathcomp.version ] [
{ cases = [ (range "8.16" "8.18") (isGe "2.0") ]; out = "2.0.0"; }
{ cases = [ (range "8.13" "8.18") (range "1.12" "1.17") ]; out = "1.5.2"; }
{ cases = [ (range "8.13" "8.18") (range "1.12" "1.18") ]; out = "1.5.2"; }
{ cases = [ (isGe "8.10") (range "1.11" "1.17") ]; out = "1.5.1"; }
{ cases = [ (range "8.7" "8.11") "1.11.0" ]; out = "1.5.0"; }
{ cases = [ (isEq "8.11") (range "1.8" "1.10") ]; out = "1.4.0+coq-8.11"; }

View File

@ -7,7 +7,7 @@ mkCoqDerivation {
inherit version;
defaultVersion = with lib.versions; lib.switch [ coq.version mathcomp-analysis.version] [
{ cases = [ (isGe "8.17") (isGe "0.6.0") ]; out = "0.5.2"; }
{ cases = [ (range "8.15" "8.16") (range "0.5.4" "0.6.2") ]; out = "0.5.1"; }
{ cases = [ (range "8.15" "8.16") (range "0.5.4" "0.6.5") ]; out = "0.5.1"; }
] null;
release."0.5.1".sha256 = "sha256-yBBl5l+V+dggsg5KM59Yo9CULKog/xxE8vrW+ZRnX7Y=";
release."0.5.2".sha256 = "sha256-8WAnAV53c0pMTdwj8XcUDUkLZbpUgIQbEOgOb63uHQA=";

View File

@ -10,7 +10,7 @@ mkCoqDerivation rec {
defaultVersion = with lib.versions;
lib.switch [ coq.coq-version mathcomp-algebra.version ] [
{ cases = [ (range "8.16" "8.18") (isGe "2.0.0") ]; out = "1.5.0+2.0+8.16"; }
{ cases = [ (range "8.13" "8.18") (range "1.12" "1.17.0") ]; out = "1.3.0+1.12+8.13"; }
{ cases = [ (range "8.13" "8.18") (range "1.12" "1.18.0") ]; out = "1.3.0+1.12+8.13"; }
{ cases = [ (range "8.13" "8.16") (range "1.12" "1.17.0") ]; out = "1.1.0+1.12+8.13"; }
] null;

View File

@ -19,7 +19,8 @@ let
owner = "math-comp";
withDoc = single && (args.withDoc or false);
defaultVersion = with versions; lib.switch coq.coq-version [
{ case = isGe "8.15"; out = "1.17.0"; }
{ case = isGe "8.17"; out = "1.18.0"; }
{ case = range "8.15" "8.18"; out = "1.17.0"; }
{ case = range "8.16" "8.18"; out = "2.1.0"; }
{ case = range "8.16" "8.18"; out = "2.0.0"; }
{ case = range "8.13" "8.18"; out = "1.16.0"; }
@ -37,6 +38,7 @@ let
release = {
"2.1.0".sha256 = "sha256-XDLx0BIkVRkSJ4sGCIE51j3rtkSGemNTs/cdVmTvxqo=";
"2.0.0".sha256 = "sha256-dpOmrHYUXBBS9kmmz7puzufxlbNpIZofpcTvJFLG5DI=";
"1.18.0".sha256 = "sha256-mJJ/zvM2WtmBZU3U4oid/zCMvDXei/93v5hwyyqwiiY=";
"1.17.0".sha256 = "sha256-bUfoSTMiW/GzC1jKFay6DRqGzKPuLOSUsO6/wPSFwNg=";
"1.16.0".sha256 = "sha256-gXTKhRgSGeRBUnwdDezMsMKbOvxdffT+kViZ9e1gEz0=";
"1.15.0".sha256 = "1bp0jxl35ms54s0mdqky15w9af03f3i0n06qk12k4gw1xzvwqv21";

View File

@ -11,7 +11,7 @@
defaultVersion = with lib.versions; lib.switch [ coq.version mathcomp.version ] [
{ cases = [ (isGe "8.16") (isGe "2.1.0") ]; out = "2.1.0"; }
{ cases = [ (isGe "8.16") "2.0.0" ]; out = "2.0.0"; }
{ cases = [ (isGe "8.15") (range "1.15.0" "1.17.0") ]; out = "1.6.0"; }
{ cases = [ (isGe "8.15") (range "1.15.0" "1.18.0") ]; out = "1.6.0"; }
{ cases = [ (isGe "8.10") (range "1.13.0" "1.17.0") ]; out = "1.5.6"; }
{ cases = [ (range "8.10" "8.16") (range "1.12.0" "1.15.0") ]; out = "1.5.5"; }
{ cases = [ (range "8.10" "8.12") "1.12.0" ]; out = "1.5.3"; }

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "zuo";
version = "unstable-2023-10-17";
version = "unstable-2023-11-10";
src = fetchFromGitHub {
owner = "racket";
repo = "zuo";
rev = "493e9cd08147add01bba9247f36759f095b87678";
hash = "sha256-gsCjB3V+A0kMZJZ9onZ57R6b1Ha0K+Q383DQoVGfY7I=";
rev = "9e2aa26b0574b4ac53c838f6b59fd78f952c3923";
hash = "sha256-wF+jj4+4uFofW9KhVqRF7EoWViRny2KuSfX/l6UN+yY=";
};
doCheck = true;

File diff suppressed because it is too large Load Diff

View File

@ -30,13 +30,13 @@ let
};
in stdenv.mkDerivation rec {
pname = "libdeltachat";
version = "1.128.0";
version = "1.131.1";
src = fetchFromGitHub {
owner = "deltachat";
repo = "deltachat-core-rust";
rev = "v${version}";
hash = "sha256-kujPkKKobn4/J0rCdZfnlNZzGM0SUVtOWOhyDawYiqw=";
hash = "sha256-JXSZrlekvPVGKR+ritxk3Eru2DhtUN9UBtqUZ7G9/gg=";
};
patches = [

View File

@ -100,4 +100,9 @@ in {
version = "3.7.3";
hash = "sha256-eUjIVqkMglvXJotvhWdKjc0lS65C4iF4GyTj+NwzXbM=";
};
libressl_3_8 = generic {
version = "3.8.2";
hash = "sha256-bUuNW7slofgzZjnlbsUIgFLUOpUlZpeoXEzpEyPCWVQ=";
};
}

View File

@ -155,16 +155,12 @@ stdenv.mkDerivation rec {
src/storage/storage_backend_disk.c \
src/storage/storage_util.c
'' + lib.optionalString isDarwin ''
sed -i '/qemucapabilitiestest/d' tests/meson.build
sed -i '/vircryptotest/d' tests/meson.build
sed -i '/domaincapstest/d' tests/meson.build
# Darwin doesnt support -fsemantic-interposition, but the problem doesnt seem to affect Mach-O.
# See https://gitlab.com/libvirt/libvirt/-/merge_requests/235
sed -i "s/not supported_cc_flags.contains('-fsemantic-interposition')/false/" meson.build
sed -i '/qemufirmwaretest/d' tests/meson.build
sed -i '/qemuvhostusertest/d' tests/meson.build
sed -i '/qemuxml2xmltest/d' tests/meson.build
'' + lib.optionalString (isDarwin && isx86_64) ''
sed -i '/qemucaps2xmltest/d' tests/meson.build
sed -i '/qemuhotplugtest/d' tests/meson.build
sed -i '/virnetdaemontest/d' tests/meson.build
'';
strictDeps = true;

View File

@ -1,28 +1,22 @@
{ lib, fetchzip, stdenv, ocaml, findlib, ocamlbuild }:
{ lib, fetchFromGitHub, buildDunePackage }:
stdenv.mkDerivation rec {
pname = "ocaml${ocaml.version}-getopt";
version = "20120615";
buildDunePackage rec {
pname = "getopt";
version = "20230213";
src = fetchzip {
url = "https://download.ocamlcore.org/ocaml-getopt/ocaml-getopt/${version}/ocaml-getopt-${version}.tar.gz";
sha256 = "0bng2mmdixpmj23xn8krlnaq66k22iclwz46r8zjrsrq3wcn1xgn";
minimalOCamlVersion = "4.07";
src = fetchFromGitHub {
owner = "scemama";
repo = "ocaml-getopt";
rev = version;
hash = "sha256-oYDm945LgjIW+8x7UrO4FlbHywnu8480aiEVvnjBxc8=";
};
nativeBuildInputs = [
ocaml
findlib
ocamlbuild
];
strictDeps = true;
doCheck = true;
createFindlibDestdir = true;
meta = {
inherit (ocaml.meta) platforms;
homepage = "https://github.com/gildor478/ocaml-getopt";
homepage = "https://github.com/scemama/ocaml-getopt";
description = "Parsing of command line arguments (similar to GNU GetOpt) for OCaml";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.ulrikstrid ];

View File

@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "ailment";
version = "9.2.76";
version = "9.2.77";
pyproject = true;
disabled = pythonOlder "3.11";
@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "angr";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-RIYGWPvQ2n+NgZHw2pGEvgWAtbpb/rdyb6/K4JClRxM=";
hash = "sha256-Bff44LSWdoXrijTAjnlsaN5iqDbHjfmYqe0FR4dmZxU=";
};
nativeBuildInputs = [

View File

@ -22,7 +22,7 @@
buildPythonPackage rec {
pname = "aioesphomeapi";
version = "18.4.0";
version = "18.4.1";
pyproject = true;
disabled = pythonOlder "3.9";
@ -31,7 +31,7 @@ buildPythonPackage rec {
owner = "esphome";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-jSPoVMtGRtqpDFagjvLTxps5plcN92Mp9vjtQlmqyGg=";
hash = "sha256-o1Yv4/wSM2k+L2/JP3teUj129QlyLjoShCRWJ3lIN98=";
};
nativeBuildInputs = [

View File

@ -32,7 +32,7 @@
buildPythonPackage rec {
pname = "angr";
version = "9.2.76";
version = "9.2.77";
pyproject = true;
disabled = pythonOlder "3.11";
@ -41,7 +41,7 @@ buildPythonPackage rec {
owner = "angr";
repo = "angr";
rev = "refs/tags/v${version}";
hash = "sha256-B3oYh0okbIeEvBjBHvY29QTqPyR2TTzLmz6fMsIRcs0=";
hash = "sha256-EslJnwgZUUN+EtyjGi/7a4Upr2/vbfNXpkc7I+/ZrU8=";
};
propagatedBuildInputs = [

View File

@ -21,7 +21,7 @@
let
pname = "ansible";
version = "8.4.0";
version = "8.6.0";
in
buildPythonPackage {
inherit pname version;
@ -31,7 +31,7 @@ buildPythonPackage {
src = fetchPypi {
inherit pname version;
hash = "sha256-8zxJJpBZL60SaE6Yl/beLaFcn24ey3kTdwOgZHCvLOY=";
hash = "sha256-lfTlkydNWdU/NvYiB1NbfScq3CcBrHoO169qbYFjemA=";
};
postPatch = ''

View File

@ -17,7 +17,7 @@
buildPythonPackage rec {
pname = "appthreat-vulnerability-db";
version = "5.5.1";
version = "5.5.2";
format = "pyproject";
disabled = pythonOlder "3.7";
@ -26,7 +26,7 @@ buildPythonPackage rec {
owner = "AppThreat";
repo = "vulnerability-db";
rev = "refs/tags/v${version}";
hash = "sha256-URDVNuUrxWoQjeNRPrSJz8aiEozn5BzRTvhqc4bihA0=";
hash = "sha256-ioFTayuPkxXIaaKKVHBLyU47jID6dGWCX1G9kVkD5Yo=";
};
postPatch = ''

View File

@ -9,7 +9,7 @@
buildPythonPackage rec {
pname = "archinfo";
version = "9.2.76";
version = "9.2.77";
pyproject = true;
disabled = pythonOlder "3.8";
@ -18,7 +18,7 @@ buildPythonPackage rec {
owner = "angr";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-g1qlcaSByXhF+6ffxwbV/0tXFdmLySH3TcDuok4y6xw=";
hash = "sha256-uTkPDhk4Ugyb9HV/0PMwWpuNajpzfTn1dg7gsQnc/zg=";
};
nativeBuildInputs = [

View File

@ -8,8 +8,8 @@
buildPythonPackage rec {
pname = "argcomplete";
version = "3.1.2";
format = "pyproject";
version = "3.1.6";
pyproject = true;
disabled = pythonOlder "3.8";
@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "kislyuk";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-vKXHmCcZZTjVBwQZWtyRjJT4tTuIiK5Qos9yJT/mpag=";
hash = "sha256-Akwa6dsf8w/Sw0ydUrqKEP5+dzHYX4hS8vcl7Gw4ePc=";
};
SETUPTOOLS_SCM_PRETEND_VERSION = version;
@ -35,9 +35,10 @@ buildPythonPackage rec {
];
meta = with lib; {
description = "Bash tab completion for argparse";
homepage = "https://kislyuk.github.io/argcomplete/";
changelog = "https://github.com/kislyuk/argcomplete/blob/v${version}/Changes.rst";
description = "Bash tab completion for argparse";
downloadPage = "https://github.com/kislyuk/argcomplete";
homepage = "https://kislyuk.github.io/argcomplete/";
license = licenses.asl20;
maintainers = with maintainers; [ womfoo ];
};

View File

@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "claripy";
version = "9.2.76";
version = "9.2.77";
pyproject = true;
disabled = pythonOlder "3.11";
@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "angr";
repo = "claripy";
rev = "refs/tags/v${version}";
hash = "sha256-BwhM5J+20ZvP0d+9TAqy0AgRuPU6XoLKgM88WJdf3Qg=";
hash = "sha256-YLa70xxLDyOOKQg/PzFO90JzS5SyvgcJ2+Nltz0q6T8=";
};
nativeBuildInputs = [

View File

@ -16,14 +16,14 @@
let
# The binaries are following the argr projects release cycle
version = "9.2.76";
version = "9.2.77";
# Binary files from https://github.com/angr/binaries (only used for testing and only here)
binaries = fetchFromGitHub {
owner = "angr";
repo = "binaries";
rev = "refs/tags/v${version}";
hash = "sha256-01Y4UKTkaO6bYtVTvv4KFzkEdj4qKiWKaC80/iKa/Eg=";
hash = "sha256-YPxdKwR+pq0S1B9GltE8r3bFWDPpCU8OQ05w+kp4lAs=";
};
in
@ -38,7 +38,7 @@ buildPythonPackage rec {
owner = "angr";
repo = "cle";
rev = "refs/tags/v${version}";
hash = "sha256-uMT9LvDkXl3SueR80pgGJRkWbymDRmGEn8HV93K/VNc=";
hash = "sha256-tdfV+DoDcRO+8TjiBc0u1huA+etF4MY5uYj670lqudY=";
};
nativeBuildInputs = [

View File

@ -15,7 +15,7 @@
buildPythonPackage rec {
pname = "dramatiq";
version = "1.14.2";
version = "1.15.0";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -23,8 +23,8 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "Bogdanp";
repo = "dramatiq";
rev = "v${version}";
hash = "sha256-yv6HUJI7wsAQdBJ5QNv7qXhtzPvCsrF1389kyemAV7Y=";
rev = "refs/tags/v${version}";
hash = "sha256-uhradhLIyfHf1meAr7ChuGnvm62mX/lkQQ2Pe7hBWtY=";
};
propagatedBuildInputs = [

View File

@ -50,6 +50,14 @@ let
libpq = "${postgresql.lib}/lib/libpq${stdenv.hostPlatform.extensions.sharedLibrary}";
libc = "${stdenv.cc.libc}/lib/libc.so.6";
})
# https://github.com/psycopg/psycopg/pull/669
# mark some tests as timing remove on next version update
(fetchpatch {
name = "mark_tests_as_timing.patch";
url = "https://github.com/psycopg/psycopg/commit/00a3c640dd836328ba15931b400b012171f648c2.patch";
hash = "sha256-DoVZv1yy9gHOKl0AdVLir+C+UztJZVjboLhS5af2944=";
})
];
baseMeta = {

View File

@ -1,10 +1,13 @@
{ lib
, stdenv
, fetchPypi
, fetchFromGitHub
, buildPythonPackage
, setuptools
, pkg-config
, swig
, pcsclite
, PCSC
, pytestCheckHook
}:
let
@ -15,28 +18,45 @@ in
buildPythonPackage rec {
version = "2.0.7";
pname = "pyscard";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-J4BUUl+nX76LEEYNh+3NA6cK2U1oixE0Xkc5mH+Fwb8=";
src = fetchFromGitHub {
owner = "LudovicRousseau";
repo = "pyscard";
rev = "refs/tags/${version}";
hash = "sha256-nkDI1OPQ4SsNhWkg53ZTsG7j0+mvpkJI7dsyaOl1a/8=";
};
postPatch = if withApplePCSC then ''
substituteInPlace smartcard/scard/winscarddll.c \
--replace "/System/Library/Frameworks/PCSC.framework/PCSC" \
"${PCSC}/Library/Frameworks/PCSC.framework/PCSC"
'' else ''
substituteInPlace smartcard/scard/winscarddll.c \
--replace "libpcsclite.so.1" \
"${lib.getLib pcsclite}/lib/libpcsclite${stdenv.hostPlatform.extensions.sharedLibrary}"
nativeBuildInputs = [
setuptools
swig
] ++ lib.optionals (!withApplePCSC) [
pkg-config
];
buildInputs = if withApplePCSC then [ PCSC ] else [ pcsclite ];
nativeCheckInputs = [
pytestCheckHook
];
postPatch =
if withApplePCSC then ''
substituteInPlace smartcard/scard/winscarddll.c \
--replace "/System/Library/Frameworks/PCSC.framework/PCSC" \
"${PCSC}/Library/Frameworks/PCSC.framework/PCSC"
'' else ''
substituteInPlace setup.py --replace "pkg-config" "$PKG_CONFIG"
substituteInPlace smartcard/scard/winscarddll.c \
--replace "libpcsclite.so.1" \
"${lib.getLib pcsclite}/lib/libpcsclite${stdenv.hostPlatform.extensions.sharedLibrary}"
'';
preCheck = ''
# remove src module, so tests use the installed module instead
rm -r smartcard
'';
env.NIX_CFLAGS_COMPILE = lib.optionalString (! withApplePCSC)
"-I ${lib.getDev pcsclite}/include/PCSC";
propagatedBuildInputs = if withApplePCSC then [ PCSC ] else [ pcsclite ];
nativeBuildInputs = [ swig ];
meta = with lib; {
homepage = "https://pyscard.sourceforge.io/";
description = "Smartcard library for python";

View File

@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "pyvex";
version = "9.2.76";
version = "9.2.77";
pyproject = true;
disabled = pythonOlder "3.11";
src = fetchPypi {
inherit pname version;
hash = "sha256-JlwqxKJaJ3sk2mROUOaF0N5d4V7LM43VqEXnuSO45BY=";
hash = "sha256-kVMhzdTYwra8G/4gg1G853vUr7YHxxt/zXus/SXMkXc=";
};
nativeBuildInputs = [

View File

@ -9,7 +9,7 @@
buildPythonPackage rec {
pname = "rns";
version = "0.6.7";
version = "0.6.8";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -18,7 +18,7 @@ buildPythonPackage rec {
owner = "markqvist";
repo = "Reticulum";
rev = "refs/tags/${version}";
hash = "sha256-u5GMCM9HyrblGbmIvfDWTfIAV8Zpn8tF0oOaolFtQMk=";
hash = "sha256-MDD0Vs5XIWqxKHbrAa0vXJRd8uYZDlr//hP1NBf4b7U=";
};
propagatedBuildInputs = [

View File

@ -20,7 +20,7 @@
buildPythonPackage rec {
pname = "slack-sdk";
version = "3.23.0";
version = "3.23.1";
format = "setuptools";
disabled = pythonOlder "3.6";
@ -29,7 +29,7 @@ buildPythonPackage rec {
owner = "slackapi";
repo = "python-slack-sdk";
rev = "refs/tags/v${version}";
hash = "sha256-OsPwLOnmN3kvPmbM6lOaiTWwWvy7b9pgn1X536dCkWk=";
hash = "sha256-lqB4eljM/JLyvVHeT7LnYgjG3AP3i9le2IxUI31aK6o=";
};
propagatedBuildInputs = [

View File

@ -11,16 +11,16 @@
buildPythonPackage rec {
pname = "sphinxext-opengraph";
version = "0.8.2";
version = "0.9.0";
format = "setuptools";
disabled = pythonOlder "3.7";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "wpilibsuite";
repo = "sphinxext-opengraph";
rev = "refs/tags/v${version}";
hash = "sha256-SrZTtVzEp4E87fzisWKHl8iRP49PWt5kkJq62CqXrBc=";
hash = "sha256-ZLIxbFgayG+WVvSXu74eZJ/PbSHg6dzkkIr1OBry4DE=";
};
SETUPTOOLS_SCM_PRETEND_VERSION = version;
@ -29,15 +29,20 @@ buildPythonPackage rec {
setuptools-scm
];
passthru.optional-dependencies = {
social_cards_generation = [
matplotlib
];
};
propagatedBuildInputs = [
sphinx
matplotlib
];
nativeCheckInputs = [
pytestCheckHook
beautifulsoup4
];
] ++ passthru.optional-dependencies.social_cards_generation;
pythonImportsCheck = [ "sphinxext.opengraph" ];

View File

@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "python-versioneer";
repo = "python-versioneer";
rev = "refs/tags/${version}";
hash = "sha256-seYT/v691QB0LUzeI4MraegbNILU3tLO//9UbZIfe+A=";
hash = "sha256-3b7Wfhd24Vym5XCeN/M1832Q1VzvlWi3quTRaZrID2s=";
};
nativeBuildInputs = [

View File

@ -2,11 +2,11 @@
let
pname = "altair";
version = "5.2.5";
version = "5.2.6";
src = fetchurl {
url = "https://github.com/imolorhe/altair/releases/download/v${version}/altair_${version}_x86_64_linux.AppImage";
sha256 = "sha256-KpAfPZqDfbf3LLBhTZ/rFftGf42onJnFMvnO2jzxqmo=";
sha256 = "sha256-SNXUARAu4szX7otyAKy3F/piNhxlPVNN6Dj2UwevL8A=";
};
appimageContents = appimageTools.extract { inherit pname version src; };

View File

@ -5,14 +5,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "checkov";
version = "3.0.32";
version = "3.0.36";
pyproject = true;
src = fetchFromGitHub {
owner = "bridgecrewio";
repo = "checkov";
rev = "refs/tags/${version}";
hash = "sha256-YOZ7F/bxbnBh3mhiFL3cMMAc3qeOMab48LcvYeJgfrg=";
hash = "sha256-MrzCqR1+IJAv81fbuaNygGejRF4EzIZWPutL5qLluhU=";
};
patches = [

View File

@ -6,14 +6,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "codespell";
version = "2.2.5";
version = "2.2.6";
format = "pyproject";
src = fetchFromGitHub {
owner = "codespell-project";
repo = "codespell";
rev = "v${version}";
sha256 = "sha256-Cu1bbLzVOAvPNzTavaMUfW2SCnQHc9mOM+IHAgVHhT4=";
sha256 = "sha256-esewCJw4o4SfSst5ALZ90X3XgOuOAsaxytpotvFeHB0=";
};
postPatch = ''

View File

@ -1,24 +1,23 @@
{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
{ lib, buildGoModule, fetchFromGitHub, installShellFiles, testers, atlas }:
buildGoModule rec {
pname = "atlas";
version = "0.14.1";
version = "0.15.0";
src = fetchFromGitHub {
owner = "ariga";
repo = "atlas";
rev = "v${version}";
hash = "sha256-dOqL/9sJUbaHqF3N5PEL7f6LxQQWNL0FvaH5BxQp4Xg=";
hash = "sha256-qEui+Y7auNFJwLSUT90jJH7IPgNW06phbJel9y3C1bk=";
};
modRoot = "cmd/atlas";
vendorHash = "sha256-1Hhl2TzJWWXk4du9nbJTPXdYuss4TWfUIOw2DaAJQis=";
proxyVendor = true;
vendorHash = "sha256-BJB+ZwrfZsYlyVX0G3qNQW8KexxMmc1Y9m2TRbOX6Tc=";
nativeBuildInputs = [ installShellFiles ];
env.GOWORK = "off";
ldflags = [ "-s" "-w" "-X ariga.io/atlas/cmd/atlas/internal/cmdapi.version=v${version}" ];
subPackages = [ "." ];
@ -30,6 +29,12 @@ buildGoModule rec {
--zsh <($out/bin/atlas completion zsh)
'';
passthru.tests.version = testers.testVersion {
package = atlas;
command = "atlas version";
version = "v${version}";
};
meta = with lib; {
description = "A modern tool for managing database schemas";
homepage = "https://atlasgo.io/";

View File

@ -4,13 +4,13 @@
}:
buildGoModule rec {
pname = "litestream";
version = "0.3.12";
version = "0.3.13";
src = fetchFromGitHub {
owner = "benbjohnson";
repo = pname;
rev = "v${version}";
sha256 = "sha256-uao8I3b38JZWpO5iM+qvV4CDxWg1ueYm7BoaW/+FOkA=";
sha256 = "sha256-p858gK+ICKDQ+/LUiBaxF/kfrZzQAXnYMZDFU8kNCJ4=";
};
ldflags = [

View File

@ -23,13 +23,13 @@
let
pname = "devpod";
version = "0.4.1";
version = "0.4.2";
src = fetchFromGitHub {
owner = "loft-sh";
repo = pname;
rev = "v${version}";
sha256 = "sha256-8ED74Cqq2fw+TpkJyipxlBpKq60ScZinlPj0hEX13/0=";
sha256 = "sha256-e9sa9LniG5fj3S+x9T91v6ILPI0CD2y3QnZxXcKy6Ik=";
};
meta = with lib; {

View File

@ -2,15 +2,15 @@
buildGoModule rec {
pname = "ginkgo";
version = "2.13.0";
version = "2.13.1";
src = fetchFromGitHub {
owner = "onsi";
repo = "ginkgo";
rev = "v${version}";
sha256 = "sha256-N+O8qjSOBv7UVcFZ4BOUFoj+qfN0d2rBHO7d8FBtayY=";
sha256 = "sha256-r2tAYH8E1j/gC+IRwcOv0Frcgd2RKEZjVzmuzOOhR7A=";
};
vendorHash = "sha256-wUpWvq6iiS9HkCi4ztXLNs1nCgAomyUo8YaFcElnfeI=";
vendorHash = "sha256-5dEKb+KnUZTxSSoaOH1GpqMmYdLcXKMs2nq0SvR2pUs=";
# integration tests expect more file changes
# types tests are missing CodeLocation

View File

@ -147,7 +147,7 @@ stdenv.mkDerivation rec {
description = "Free and Open Source 2D and 3D game engine";
license = licenses.mit;
platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" ];
maintainers = with maintainers; [ twey shiryel ];
maintainers = with maintainers; [ shiryel ];
mainProgram = "godot4";
};
}

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