Merge master into haskell-updates

This commit is contained in:
github-actions[bot]
2024-05-24 00:13:43 +00:00
committed by GitHub
486 changed files with 21353 additions and 3550 deletions
+4
View File
@@ -109,6 +109,10 @@ fb0e5be84331188a69b3edd31679ca6576edb75a
# postgresql: move packages.nix to ext/default.nix
719034f6f6749d624faa28dff259309fc0e3e730
# php ecosystem: reformat with nixfmt-rfc-style
75ae7621330ff8db944ce4dff4374e182d5d151f
c759efa5e7f825913f9a69ef20f025f50f56dc4d
# pkgs/os-specific/bsd: Reformat with nixfmt-rfc-style 2024-03-01
3fe3b055adfc020e6a923c466b6bcd978a13069a
+2 -2
View File
@@ -306,8 +306,8 @@ nixos/modules/services/networking/networkmanager.nix @Janik-Haag
/pkgs/applications/networking/cluster/terraform-providers @zowoq
# Forgejo
nixos/modules/services/misc/forgejo.nix @bendlas @emilylange
pkgs/applications/version-management/forgejo @bendlas @emilylange
nixos/modules/services/misc/forgejo.nix @adamcstephens @bendlas @emilylange
pkgs/by-name/fo/forgejo/package.nix @adamcstephens @bendlas @emilylange
# Dotnet
/pkgs/build-support/dotnet @IvarWithoutBones
+6 -6
View File
@@ -14,16 +14,16 @@ on:
# While `edited` is also triggered when the PR title/body is changed,
# this PR action is fairly quick, and PR's don't get edited that often,
# so it shouldn't be a problem
# There is a feature request for adding a `base_changed` event:
# https://github.com/orgs/community/discussions/35058
types: [opened, synchronize, reopened, edited]
permissions: {}
# Create a check-by-name concurrency group based on the pull request number. if
# an event triggers a run on the same PR while a previous run is still in
# progress, the previous run will be canceled and the new one will start.
concurrency:
group: check-by-name-${{ github.event.pull_request.number }}
cancel-in-progress: true
# We don't use a concurrency group here, because the action is triggered quite often (due to the PR edit
# trigger), and contributers would get notified on any canceled run.
# There is a feature request for supressing notifications on concurrency-canceled runs:
# https://github.com/orgs/community/discussions/13015
jobs:
check:
+8 -1
View File
@@ -330,7 +330,14 @@ Container system, boot system and library changes are some examples of the pull
## How to merge pull requests
[pr-merge]: #how-to-merge-pull-requests
The *Nixpkgs committers* are people who have been given
To streamline automated updates, leverage the nixpkgs-merge-bot by simply commenting `@NixOS/nixpkgs-merge-bot merge`. The bot will verify if the following conditions are met, refusing to merge otherwise:
- the commenter that issued the command should be among the package maintainers;
- the package should reside in `pkgs/by-name`.
Further, nixpkgs-merge-bot will ensure all ofBorg checks (except the Darwin-related ones) are successfully completed before merging the pull request. Should the checks still be underway, the bot patiently waits for ofBorg to finish before attempting the merge again.
For other pull requests, the *Nixpkgs committers* are people who have been given
permission to merge.
It is possible for community members that have enough knowledge and experience on a special topic to contribute by merging pull requests.
+9 -1
View File
@@ -105,7 +105,15 @@ in pkgs.stdenv.mkDerivation {
ln -s ${optionsDoc.optionsJSON}/share/doc/nixos/options.json ./config-options.json
'';
buildPhase = ''
buildPhase = let
pythonInterpreterTable = pkgs.callPackage ./doc-support/python-interpreter-table.nix {};
pythonSection = with lib.strings; replaceStrings
[ "@python-interpreter-table@" ]
[ pythonInterpreterTable ]
(readFile ./languages-frameworks/python.section.md);
in ''
cp ${builtins.toFile "python.section.md" pythonSection} ./languages-frameworks/python.section.md
cat \
./functions/library.md.in \
${lib-docs}/index.md \
@@ -0,0 +1,63 @@
# For debugging, run in this directory:
# nix eval --impure --raw --expr 'import ./python-interpreter-table.nix {}'
{ pkgs ? (import ../.. { config = { }; overlays = []; }) }:
let
lib = pkgs.lib;
inherit (lib.attrsets) attrNames filterAttrs;
inherit (lib.lists) elem filter map naturalSort reverseList;
inherit (lib.strings) concatStringsSep;
isPythonInterpreter = name:
/* NB: Package names that don't follow the regular expression:
- `python-cosmopolitan` is not part of `pkgs.pythonInterpreters`.
- `_prebuilt` interpreters are used for bootstrapping internally.
- `python3Minimal` contains python packages, left behind conservatively.
- `rustpython` lacks `pythonVersion` and `implementation`.
*/
(lib.strings.match "(pypy|python)([[:digit:]]*)" name) != null;
interpreterName = pname:
let
cuteName = {
cpython = "CPython";
pypy = "PyPy";
};
interpreter = pkgs.${pname};
in
"${cuteName.${interpreter.implementation}} ${interpreter.pythonVersion}";
interpreters = reverseList (naturalSort (
filter isPythonInterpreter (attrNames pkgs.pythonInterpreters)
));
aliases = pname:
attrNames (
filterAttrs (name: value:
isPythonInterpreter name
&& name != pname
&& interpreterName name == interpreterName pname
) pkgs
);
result = map (pname: {
inherit pname;
aliases = aliases pname;
interpreter = interpreterName pname;
}) interpreters;
toMarkdown = data:
let
line = package: ''
| ${package.pname} | ${join ", " package.aliases or [ ]} | ${package.interpreter} |
'';
in
join "" (map line data);
join = lib.strings.concatStringsSep;
in
''
| Package | Aliases | Interpeter |
|---------|---------|------------|
${toMarkdown result}
''
@@ -117,7 +117,6 @@ For more detail about managing the `deps.nix` file, see [Generating and updating
* `useDotnetFromEnv` will change the binary wrapper so that it uses the .NET from the environment. The runtime specified by `dotnet-runtime` is given as a fallback in case no .NET is installed in the user's environment. This is most useful for .NET global tools and LSP servers, which often extend the .NET CLI and their runtime should match the users' .NET runtime.
* `dotnet-sdk` is useful in cases where you need to change what dotnet SDK is being used. You can also set this to the result of `dotnetSdkPackages.combinePackages`, if the project uses multiple SDKs to build.
* `dotnet-runtime` is useful in cases where you need to change what dotnet runtime is being used. This can be either a regular dotnet runtime, or an aspnetcore.
* `dotnet-test-sdk` is useful in cases where unit tests expect a different dotnet SDK. By default, this is set to the `dotnet-sdk` attribute.
* `testProjectFile` is useful in cases where the regular project file does not contain the unit tests. It gets restored and build, but not installed. You may need to regenerate your nuget lockfile after setting this. Note that if set, only tests from this project are executed.
* `disabledTests` is used to disable running specific unit tests. This gets passed as: `dotnet test --filter "FullyQualifiedName!={}"`, to ensure compatibility with all unit test frameworks.
* `dotnetRestoreFlags` can be used to pass flags to `dotnet restore`.
+1 -10
View File
@@ -4,16 +4,7 @@
### Interpreters {#interpreters}
| Package | Aliases | Interpreter |
|------------|-----------------|-------------|
| python27 | python2, python | CPython 2.7 |
| python39 | | CPython 3.9 |
| python310 | | CPython 3.10 |
| python311 | python3 | CPython 3.11 |
| python312 | | CPython 3.12 |
| python313 | | CPython 3.13 |
| pypy27 | pypy2, pypy | PyPy2.7 |
| pypy39 | pypy3 | PyPy 3.9 |
@python-interpreter-table@
The Nix expressions for the interpreters can be found in
`pkgs/development/interpreters/python`.
+120 -32
View File
@@ -1,6 +1,6 @@
{ lib, ... }:
rec {
/*
/**
`fix f` computes the fixed point of the given function `f`. In other words, the return value is `x` in `x = f x`.
`f` must be a lazy function.
@@ -63,27 +63,52 @@ rec {
See [`extends`](#function-library-lib.fixedPoints.extends) for an example use case.
There `self` is also often called `final`.
Type: fix :: (a -> a) -> a
Example:
fix (self: { foo = "foo"; bar = "bar"; foobar = self.foo + self.bar; })
=> { bar = "bar"; foo = "foo"; foobar = "foobar"; }
# Inputs
fix (self: [ 1 2 (elemAt self 0 + elemAt self 1) ])
=> [ 1 2 3 ]
`f`
: 1\. Function argument
# Type
```
fix :: (a -> a) -> a
```
# Examples
:::{.example}
## `lib.fixedPoints.fix` usage example
```nix
fix (self: { foo = "foo"; bar = "bar"; foobar = self.foo + self.bar; })
=> { bar = "bar"; foo = "foo"; foobar = "foobar"; }
fix (self: [ 1 2 (elemAt self 0 + elemAt self 1) ])
=> [ 1 2 3 ]
```
:::
*/
fix = f: let x = f x; in x;
/*
/**
A variant of `fix` that records the original recursive attribute set in the
result, in an attribute named `__unfix__`.
This is useful in combination with the `extends` function to
implement deep overriding.
# Inputs
`f`
: 1\. Function argument
*/
fix' = f: let x = f x // { __unfix__ = f; }; in x;
/*
/**
Return the fixpoint that `f` converges to when called iteratively, starting
with the input `x`.
@@ -92,7 +117,22 @@ rec {
0
```
Type: (a -> a) -> a -> a
# Inputs
`f`
: 1\. Function argument
`x`
: 2\. Function argument
# Type
```
(a -> a) -> a -> a
```
*/
converge = f: x:
let
@@ -102,7 +142,7 @@ rec {
then x
else converge f x';
/*
/**
Extend a function using an overlay.
Overlays allow modifying and extending fixed-point functions, specifically ones returning attribute sets.
@@ -217,32 +257,50 @@ rec {
```
:::
Type:
extends :: (Attrs -> Attrs -> Attrs) # The overlay to apply to the fixed-point function
-> (Attrs -> Attrs) # A fixed-point function
-> (Attrs -> Attrs) # The resulting fixed-point function
Example:
f = final: { a = 1; b = final.a + 2; }
# Inputs
fix f
=> { a = 1; b = 3; }
`overlay`
fix (extends (final: prev: { a = prev.a + 10; }) f)
=> { a = 11; b = 13; }
: The overlay to apply to the fixed-point function
fix (extends (final: prev: { b = final.a + 5; }) f)
=> { a = 1; b = 6; }
`f`
fix (extends (final: prev: { c = final.a + final.b; }) f)
=> { a = 1; b = 3; c = 4; }
: The fixed-point function
# Type
```
extends :: (Attrs -> Attrs -> Attrs) # The overlay to apply to the fixed-point function
-> (Attrs -> Attrs) # A fixed-point function
-> (Attrs -> Attrs) # The resulting fixed-point function
```
# Examples
:::{.example}
## `lib.fixedPoints.extends` usage example
```nix
f = final: { a = 1; b = final.a + 2; }
fix f
=> { a = 1; b = 3; }
fix (extends (final: prev: { a = prev.a + 10; }) f)
=> { a = 11; b = 13; }
fix (extends (final: prev: { b = final.a + 5; }) f)
=> { a = 1; b = 6; }
fix (extends (final: prev: { c = final.a + final.b; }) f)
=> { a = 1; b = 3; c = 4; }
```
:::
*/
extends =
# The overlay to apply to the fixed-point function
overlay:
# The fixed-point function
f:
# Wrap with parenthesis to prevent nixdoc from rendering the `final` argument in the documentation
# The result should be thought of as a function, the argument of that function is not an argument to `extends` itself
(
final:
@@ -252,10 +310,29 @@ rec {
prev // overlay final prev
);
/*
/**
Compose two extending functions of the type expected by 'extends'
into one where changes made in the first are available in the
'super' of the second
# Inputs
`f`
: 1\. Function argument
`g`
: 2\. Function argument
`final`
: 3\. Function argument
`prev`
: 4\. Function argument
*/
composeExtensions =
f: g: final: prev:
@@ -263,7 +340,7 @@ rec {
prev' = prev // fApplied;
in fApplied // g final prev';
/*
/**
Compose several extending functions of the type expected by 'extends' into
one where changes made in preceding functions are made available to
subsequent ones.
@@ -276,7 +353,7 @@ rec {
composeManyExtensions =
lib.foldr (x: y: composeExtensions x y) (final: prev: {});
/*
/**
Create an overridable, recursive attribute set. For example:
```
@@ -298,9 +375,20 @@ rec {
*/
makeExtensible = makeExtensibleWithCustomName "extend";
/*
/**
Same as `makeExtensible` but the name of the extending attribute is
customized.
# Inputs
`extenderName`
: 1\. Function argument
`rattrs`
: 2\. Function argument
*/
makeExtensibleWithCustomName = extenderName: rattrs:
fix' (self: (rattrs self) // {
+43
View File
@@ -3762,6 +3762,12 @@
githubId = 136485;
name = "Chad Jablonski";
};
cjshearer = {
email = "cjshearer@live.com";
github = "cjshearer";
githubId = 7173077;
name = "Cody Shearer";
};
ck3d = {
email = "ck3d@gmx.de";
github = "ck3d";
@@ -7731,6 +7737,14 @@
fingerprint = "7FC7 98AB 390E 1646 ED4D 8F1F 797F 6238 68CD 00C2";
}];
};
greaka = {
email = "git@greaka.de";
github = "greaka";
githubId = 2805834;
name = "Greaka";
keys =
[{ fingerprint = "6275 FB5C C9AC 9D85 FF9E 44C5 EE92 A5CD C367 118C"; }];
};
greg = {
email = "greg.hellings@gmail.com";
github = "greg-hellings";
@@ -9963,6 +9977,12 @@
githubId = 8580434;
name = "Jonny Bolton";
};
jonochang = {
name = "Jono Chang";
email = "j.g.chang@gmail.com";
github = "jonochang";
githubId = 13179;
};
jonringer = {
email = "jonringer117@gmail.com";
matrix = "@jonringer:matrix.org";
@@ -11920,6 +11940,14 @@
githubId = 10626;
name = "Andreas Wagner";
};
lpostula = {
email = "lois@postu.la";
github = "loispostula";
githubId = 1423612;
name = "Loïs Postula";
keys =
[{ fingerprint = "0B4A E7C7 D3B7 53F5 3B3D 774C 3819 3C6A 09C3 9ED1"; }];
};
lrewega = {
email = "lrewega@c32.ca";
github = "lrewega";
@@ -17072,6 +17100,15 @@
githubId = 52847440;
name = "Ryan Burns";
};
rconybea = {
email = "n1xpkgs@hushmail.com";
github = "rconybea";
githubId = 8570969;
name = "Roland Conybeare";
keys = [{
fingerprint = "bw5Cr/4ul1C2UvxopphbZbFI1i5PCSnOmPID7mJ/Ogo";
}];
};
rdnetto = {
email = "rdnetto@gmail.com";
github = "rdnetto";
@@ -20708,6 +20745,12 @@
githubId = 858790;
name = "Tobias Mayer";
};
tobz619 = {
email = "toloke@yahoo.co.uk";
github = "tobz619";
githubId = 93312805;
name = "Tobi Oloke";
};
tochiaha = {
email = "tochiahan@proton.me";
github = "Tochiaha";
@@ -80,6 +80,11 @@ OK_MISSING_BY_PACKAGE = {
"plasma-desktop": {
"scim", # upstream is dead, not packaged in Nixpkgs
},
"poppler-qt6": {
"gobject-introspection-1.0", # we don't actually want to build the GTK variant
"gdk-pixbuf-2.0",
"gtk+-3.0",
},
"powerdevil": {
"DDCUtil", # cursed, intentionally disabled
},
@@ -87,6 +92,9 @@ OK_MISSING_BY_PACKAGE = {
"Qt6Qml", # tests only
"Qt6Quick",
},
"skladnik": {
"POVRay", # too expensive to rerender all the assets
},
"syntax-highlighting": {
"XercesC", # only used for extra validation at build time
}
+10
View File
@@ -345,6 +345,16 @@ with lib.maintainers; {
shortName = "freedesktop.org packaging";
};
fslabs = {
# Verify additions to this team with at least one already existing member of the team.
members = [
greaka
lpostula
];
scope = "Group registration for packages maintained by Foresight Spatial Labs.";
shortName = "Foresight Spatial Labs employees";
};
gcc = {
members = [
synthetica
@@ -146,7 +146,7 @@ In addition to numerous new and upgraded packages, this release has the followin
- [touchegg](https://github.com/JoseExposito/touchegg), a multi-touch gesture recognizer. Available as [services.touchegg](#opt-services.touchegg.enable).
- [pantheon-tweaks](https://github.com/pantheon-tweaks/pantheon-tweaks), an unofficial system settings panel for Pantheon. Available as [programs.pantheon-tweaks](#opt-programs.pantheon-tweaks.enable).
- [pantheon-tweaks](https://github.com/pantheon-tweaks/pantheon-tweaks), an unofficial system settings panel for Pantheon. Available as `programs.pantheon-tweaks`.
- [joycond](https://github.com/DanielOgorchock/joycond), a service that uses `hid-nintendo` to provide nintendo joycond pairing and better nintendo switch pro controller support.
@@ -135,6 +135,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
- [nh](https://github.com/viperML/nh), yet another Nix CLI helper. Available as [programs.nh](#opt-programs.nh.enable).
- [oink](https://github.com/rlado/oink), a dynamic DNS client for Porkbun. Available as [services.oink](#opt-services.oink.enable).
- [ollama](https://ollama.ai), server for running large language models locally.
- [ownCloud Infinite Scale Stack](https://owncloud.com/infinite-scale-4-0/), a modern and scalable rewrite of ownCloud.
+1 -2
View File
@@ -53,7 +53,6 @@ class AbstractLogger(ABC):
class JunitXMLLogger(AbstractLogger):
class TestCaseState:
def __init__(self) -> None:
self.stdout = ""
@@ -227,7 +226,7 @@ class XMLLogger(AbstractLogger):
def __init__(self, outfile: str) -> None:
self.logfile_handle = codecs.open(outfile, "wb")
self.xml = XMLGenerator(self.logfile_handle, encoding="utf-8")
self.queue: "Queue[Dict[str, str]]" = Queue()
self.queue: Queue[dict[str, str]] = Queue()
self._print_serial_logs = True
+1 -1
View File
@@ -249,7 +249,6 @@
./programs/oblogout.nix
./programs/oddjobd.nix
./programs/openvpn3.nix
./programs/pantheon-tweaks.nix
./programs/partition-manager.nix
./programs/plotinus.nix
./programs/pqos-wrapper.nix
@@ -1109,6 +1108,7 @@
./services/networking/ocserv.nix
./services/networking/ofono.nix
./services/networking/oidentd.nix
./services/networking/oink.nix
./services/networking/onedrive.nix
./services/networking/openconnect.nix
./services/networking/openvpn.nix
@@ -1,17 +0,0 @@
{ config, lib, pkgs, ... }:
{
meta = {
maintainers = lib.teams.pantheon.members;
};
###### interface
options = {
programs.pantheon-tweaks.enable = lib.mkEnableOption "Pantheon Tweaks, an unofficial system settings panel for Pantheon";
};
###### implementation
config = lib.mkIf config.programs.pantheon-tweaks.enable {
services.xserver.desktopManager.pantheon.extraSwitchboardPlugs = [ pkgs.pantheon-tweaks ];
};
}
+6 -2
View File
@@ -40,12 +40,16 @@ in
(mkRemovedOptionModule [ "networking" "vpnc" ] "Use environment.etc.\"vpnc/service.conf\" instead.")
(mkRemovedOptionModule [ "networking" "wicd" ] "The corresponding package was removed from nixpkgs.")
(mkRemovedOptionModule [ "programs" "gnome-documents" ] "The corresponding package was removed from nixpkgs.")
(mkRemovedOptionModule [ "programs" "pantheon-tweaks" ] ''
pantheon-tweaks is no longer a switchboard plugin but an independent app,
adding the package to environment.systemPackages is sufficient.
'')
(mkRemovedOptionModule [ "programs" "tilp2" ] "The corresponding package was removed from nixpkgs.")
(mkRemovedOptionModule [ "programs" "way-cooler" ] ("way-cooler is abandoned by its author: " +
"https://way-cooler.org/blog/2020/01/09/way-cooler-post-mortem.html"))
(mkRemovedOptionModule [ "security" "hideProcessInformation" ] ''
The hidepid module was removed, since the underlying machinery
is broken when using cgroups-v2.
The hidepid module was removed, since the underlying machinery
is broken when using cgroups-v2.
'')
(mkRemovedOptionModule [ "services" "baget" "enable" ] "The baget module was removed due to the upstream package being unmaintained.")
(mkRemovedOptionModule [ "services" "beegfs" ] "The BeeGFS module has been removed")
+1 -1
View File
@@ -361,7 +361,7 @@ in {
type = types.bool;
example = true;
description = ''
Set the `persistentTimer` option for the
Set the `Persistent` option for the
{manpage}`systemd.timer(5)`
which triggers the backup immediately if the last trigger
was missed (e.g. if the system was powered down).
@@ -335,7 +335,7 @@ in
mkdir -m 0700 -p ${baseDir}/queue-runner
mkdir -m 0750 -p ${baseDir}/build-logs
mkdir -m 0750 -p ${baseDir}/runcommand-logs
chown hydra-queue-runner.hydra \
chown hydra-queue-runner:hydra \
${baseDir}/queue-runner \
${baseDir}/build-logs \
${baseDir}/runcommand-logs
@@ -38,6 +38,7 @@ in {
]);
};
hardware.pulseaudio.enable = lib.mkDefault true;
networking.networkmanager.enable = lib.mkDefault true;
systemd.packages = with pkgs.lomiri; [
@@ -71,9 +72,12 @@ in {
enable = true;
packages = (with pkgs; [
ayatana-indicator-datetime
ayatana-indicator-display
ayatana-indicator-messages
ayatana-indicator-power
ayatana-indicator-session
] ++ lib.optionals (config.hardware.pulseaudio.enable || config.services.pipewire.pulse.enable) [
ayatana-indicator-sound
]) ++ (with pkgs.lomiri; [
telephony-service
] ++ lib.optionals config.networking.networkmanager.enable [
@@ -164,8 +164,11 @@ in
};
config = lib.mkIf cfg.enable {
# TODO: drop with 24.11
services.archisteamfarm.dataDir = lib.mkIf (lib.versionAtLeast config.system.stateVersion "24.05") (lib.mkDefault "/var/lib/asf");
services.archisteamfarm = {
# TODO: drop with 24.11
dataDir = lib.mkIf (lib.versionAtLeast config.system.stateVersion "24.05") (lib.mkDefault "/var/lib/asf");
settings.IPC = lib.mkIf (!cfg.web-ui.enable) false;
};
users = {
users.archisteamfarm = {
+21 -2
View File
@@ -7,7 +7,7 @@ let
upstreamDoc = "See [the upstream documentation](https://github.com/jtroo/kanata/blob/main/docs/config.adoc) and [example config files](https://github.com/jtroo/kanata/tree/main/cfg_samples) for more information.";
keyboard = {
keyboard = { name, config, ... }: {
options = {
devices = mkOption {
type = types.listOf types.str;
@@ -48,6 +48,21 @@ let
${upstreamDoc}
'';
};
configFile = mkOption {
type = types.path;
default = mkConfig name config;
defaultText =
"A config file generated by values from other kanata module options.";
description = ''
The config file.
By default, it is generated by values from other kanata
module options.
You can also set it to your own full config file which
overrides all other kanata module options. ${upstreamDoc}
'';
};
extraArgs = mkOption {
type = types.listOf types.str;
default = [ ];
@@ -85,6 +100,10 @@ let
${keyboard.config}
'';
# Only the config file generated by this module is checked. A
# user-provided one is not checked because it may not be available
# at build time. I think this is a good balance between module
# complexity and functionality.
checkPhase = ''
${getExe cfg.package} --cfg "$target" --check --debug
'';
@@ -96,7 +115,7 @@ let
Type = "notify";
ExecStart = ''
${getExe cfg.package} \
--cfg ${mkConfig name keyboard} \
--cfg ${keyboard.configFile} \
--symlink-path ''${RUNTIME_DIRECTORY}/${name} \
${optionalString (keyboard.port != null) "--port ${toString keyboard.port}"} \
${utils.escapeSystemdExecArgs keyboard.extraArgs}
@@ -113,6 +113,9 @@ in
nameValuePair "wyoming-faster-whisper-${server}" {
inherit (options) enable;
description = "Wyoming faster-whisper server instance ${server}";
wants = [
"network-online.target"
];
after = [
"network-online.target"
];
@@ -108,6 +108,9 @@ in
config = mkIf cfg.enable {
systemd.services."wyoming-openwakeword" = {
description = "Wyoming openWakeWord server";
wants = [
"network-online.target"
];
after = [
"network-online.target"
];
@@ -117,6 +117,9 @@ in
nameValuePair "wyoming-piper-${server}" {
inherit (options) enable;
description = "Wyoming Piper server instance ${server}";
wants = [
"network-online.target"
];
after = [
"network-online.target"
];
@@ -70,7 +70,9 @@ in {
storage.lookup = mkDefault "db";
storage.blob = mkDefault "blob";
resolver.type = mkDefault "system";
resolver.public-suffix = mkDefault ["https://publicsuffix.org/list/public_suffix_list.dat"];
resolver.public-suffix = lib.mkDefault [
"file://${pkgs.publicsuffix-list}/share/publicsuffix/public_suffix_list.dat"
];
};
systemd.services.stalwart-mail = {
+4
View File
@@ -98,6 +98,10 @@ in
The OIDC secret must be set as the `DEX_CLIENT_''${id}` environment variable
in the [](#opt-services.dex.environmentFile) setting.
::: {.note}
Make sure the id only contains characters that are allowed in an environment variable name, e.g. no -.
:::
'';
};
+1 -1
View File
@@ -108,7 +108,7 @@ in
type = types.bool;
example = true;
description = ''
Set the `persistentTimer` option for the
Set the `Persistent` option for the
{manpage}`systemd.timer(5)`
which triggers the snapshot immediately if the last trigger
was missed (e.g. if the system was powered down).
@@ -278,6 +278,9 @@ in
"https://kea.readthedocs.io/en/kea-${package.version}/arm/agent.html"
];
wants = [
"network-online.target"
];
after = [
"network-online.target"
"time-sync.target"
@@ -0,0 +1,84 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.oink;
makeOinkConfig = attrs: (pkgs.formats.json { }).generate
"oink.json" (mapAttrs' (k: v: nameValuePair (toLower k) v) attrs);
oinkConfig = makeOinkConfig {
global = cfg.settings;
domains = cfg.domains;
};
in
{
options.services.oink = {
enable = mkEnableOption "Oink, a dynamic DNS client for Porkbun";
package = mkPackageOption pkgs "oink" { };
settings = {
apiKey = mkOption {
type = types.str;
description = "API key to use when modifying DNS records.";
};
secretApiKey = mkOption {
type = types.str;
description = "Secret API key to use when modifying DNS records.";
};
interval = mkOption {
# https://github.com/rlado/oink/blob/v1.1.1/src/main.go#L364
type = types.ints.between 60 172800; # 48 hours
default = 900;
description = "Seconds to wait before sending another request.";
};
ttl = mkOption {
type = types.ints.between 600 172800;
default = 600;
description = ''
The TTL ("Time to Live") value to set for your DNS records.
The TTL controls how long in seconds your records will be cached
for. A smaller value will allow the record to update quicker.
'';
};
};
domains = mkOption {
type = with types; listOf (attrsOf anything);
default = [];
example = [
{
domain = "nixos.org";
subdomain = "";
ttl = 1200;
}
{
domain = "nixos.org";
subdomain = "hydra";
}
];
description = ''
List of attribute sets containing configuration for each domain.
Each attribute set must have two attributes, one named *domain*
and another named *subdomain*. The domain attribute must specify
the root domain that you want to configure, and the subdomain
attribute must specify its subdomain if any. If you want to
configure the root domain rather than a subdomain, leave the
subdomain attribute as an empty string.
Additionally, you can use attributes from *services.oink.settings*
to override settings per-domain.
Every domain listed here *must* have API access enabled in
Porkbun's control panel.
'';
};
};
config = mkIf cfg.enable {
systemd.services.oink = {
description = "Dynamic DNS client for Porkbun";
wantedBy = [ "multi-user.target" ];
script = "${cfg.package}/bin/oink -c ${oinkConfig}";
};
};
}
@@ -80,6 +80,15 @@ let
description = "Commands called at the end of the interface setup.";
};
preShutdown = mkOption {
example = literalExpression ''"''${pkgs.iproute2}/bin/ip netns del foo"'';
default = "";
type = with types; coercedTo (listOf str) (concatStringsSep "\n") lines;
description = ''
Commands called before shutting down the interface.
'';
};
postShutdown = mkOption {
example = literalExpression ''"''${pkgs.openresolv}/bin/resolvconf -d wg0"'';
default = "";
@@ -497,6 +506,7 @@ let
'';
postStop = ''
${values.preShutdown}
${ipPostMove} link del dev "${name}"
${values.postShutdown}
'';
@@ -260,6 +260,7 @@ in {
description = "Sync timer for Bitwarden Directory Connector";
wantedBy = ["timers.target"];
after = ["network-online.target"];
wants = ["network-online.target"];
timerConfig = {
OnCalendar = cfg.interval;
Unit = "bitwarden-directory-connector-cli.service";
+6 -2
View File
@@ -128,10 +128,14 @@ in
contents."/etc/dbus-1".source = pkgs.makeDBusConf {
inherit (cfg) apparmor;
suidHelper = "/bin/false";
serviceDirectories = [ pkgs.dbus ];
serviceDirectories = [ pkgs.dbus config.boot.initrd.systemd.package ];
};
packages = [ pkgs.dbus ];
storePaths = [ "${pkgs.dbus}/bin/dbus-daemon" ];
storePaths = [
"${pkgs.dbus}/bin/dbus-daemon"
"${config.boot.initrd.systemd.package}/share/dbus-1/system-services"
"${config.boot.initrd.systemd.package}/share/dbus-1/system.d"
];
targets.sockets.wants = [ "dbus.socket" ];
};
})
+92 -51
View File
@@ -7,6 +7,20 @@ let
dnsmasqResolve = config.services.dnsmasq.enable &&
config.services.dnsmasq.resolveLocalQueries;
resolvedConf = ''
[Resolve]
${optionalString (config.networking.nameservers != [])
"DNS=${concatStringsSep " " config.networking.nameservers}"}
${optionalString (cfg.fallbackDns != null)
"FallbackDNS=${concatStringsSep " " cfg.fallbackDns}"}
${optionalString (cfg.domains != [])
"Domains=${concatStringsSep " " cfg.domains}"}
LLMNR=${cfg.llmnr}
DNSSEC=${cfg.dnssec}
DNSOverTLS=${cfg.dnsovertls}
${config.services.resolved.extraConfig}
'';
in
{
@@ -126,60 +140,87 @@ in
'';
};
};
config = mkIf cfg.enable {
assertions = [
{ assertion = !config.networking.useHostResolvConf;
message = "Using host resolv.conf is not supported with systemd-resolved";
}
];
users.users.systemd-resolve.group = "systemd-resolve";
# add resolve to nss hosts database if enabled and nscd enabled
# system.nssModules is configured in nixos/modules/system/boot/systemd.nix
# added with order 501 to allow modules to go before with mkBefore
system.nssDatabases.hosts = (mkOrder 501 ["resolve [!UNAVAIL=return]"]);
systemd.additionalUpstreamSystemUnits = [
"systemd-resolved.service"
];
systemd.services.systemd-resolved = {
wantedBy = [ "multi-user.target" ];
aliases = [ "dbus-org.freedesktop.resolve1.service" ];
restartTriggers = [ config.environment.etc."systemd/resolved.conf".source ];
};
environment.etc = {
"systemd/resolved.conf".text = ''
[Resolve]
${optionalString (config.networking.nameservers != [])
"DNS=${concatStringsSep " " config.networking.nameservers}"}
${optionalString (cfg.fallbackDns != null)
"FallbackDNS=${concatStringsSep " " cfg.fallbackDns}"}
${optionalString (cfg.domains != [])
"Domains=${concatStringsSep " " cfg.domains}"}
LLMNR=${cfg.llmnr}
DNSSEC=${cfg.dnssec}
DNSOverTLS=${cfg.dnsovertls}
${config.services.resolved.extraConfig}
boot.initrd.services.resolved.enable = mkOption {
default = config.boot.initrd.systemd.network.enable;
defaultText = "config.boot.initrd.systemd.network.enable";
description = ''
Whether to enable resolved for stage 1 networking.
Uses the toplevel 'services.resolved' options for 'resolved.conf'
'';
# symlink the dynamic stub resolver of resolv.conf as recommended by upstream:
# https://www.freedesktop.org/software/systemd/man/systemd-resolved.html#/etc/resolv.conf
"resolv.conf".source = "/run/systemd/resolve/stub-resolv.conf";
} // optionalAttrs dnsmasqResolve {
"dnsmasq-resolv.conf".source = "/run/systemd/resolve/resolv.conf";
};
# If networkmanager is enabled, ask it to interface with resolved.
networking.networkmanager.dns = "systemd-resolved";
networking.resolvconf.package = pkgs.systemd;
};
config = mkMerge [
(mkIf cfg.enable {
assertions = [
{ assertion = !config.networking.useHostResolvConf;
message = "Using host resolv.conf is not supported with systemd-resolved";
}
];
users.users.systemd-resolve.group = "systemd-resolve";
# add resolve to nss hosts database if enabled and nscd enabled
# system.nssModules is configured in nixos/modules/system/boot/systemd.nix
# added with order 501 to allow modules to go before with mkBefore
system.nssDatabases.hosts = (mkOrder 501 ["resolve [!UNAVAIL=return]"]);
systemd.additionalUpstreamSystemUnits = [
"systemd-resolved.service"
];
systemd.services.systemd-resolved = {
wantedBy = [ "sysinit.target" ];
aliases = [ "dbus-org.freedesktop.resolve1.service" ];
restartTriggers = [ config.environment.etc."systemd/resolved.conf".source ];
};
environment.etc = {
"systemd/resolved.conf".text = resolvedConf;
# symlink the dynamic stub resolver of resolv.conf as recommended by upstream:
# https://www.freedesktop.org/software/systemd/man/systemd-resolved.html#/etc/resolv.conf
"resolv.conf".source = "/run/systemd/resolve/stub-resolv.conf";
} // optionalAttrs dnsmasqResolve {
"dnsmasq-resolv.conf".source = "/run/systemd/resolve/resolv.conf";
};
# If networkmanager is enabled, ask it to interface with resolved.
networking.networkmanager.dns = "systemd-resolved";
networking.resolvconf.package = pkgs.systemd;
})
(mkIf config.boot.initrd.services.resolved.enable {
assertions = [
{
assertion = config.boot.initrd.systemd.enable;
message = "'boot.initrd.services.resolved.enable' can only be enabled with systemd stage 1.";
}
];
boot.initrd.systemd = {
contents = {
"/etc/tmpfiles.d/resolv.conf".text =
"L /etc/resolv.conf - - - - /run/systemd/resolve/stub-resolv.conf";
"/etc/systemd/resolved.conf".text = resolvedConf;
};
additionalUpstreamUnits = ["systemd-resolved.service"];
users.systemd-resolve = {};
groups.systemd-resolve = {};
storePaths = ["${config.boot.initrd.systemd.package}/lib/systemd/systemd-resolved"];
services.systemd-resolved = {
wantedBy = ["sysinit.target"];
aliases = [ "dbus-org.freedesktop.resolve1.service" ];
};
};
})
];
}
+1
View File
@@ -930,6 +930,7 @@ in {
systemd-oomd = handleTest ./systemd-oomd.nix {};
systemd-portabled = handleTest ./systemd-portabled.nix {};
systemd-repart = handleTest ./systemd-repart.nix {};
systemd-resolved = handleTest ./systemd-resolved.nix {};
systemd-shutdown = handleTest ./systemd-shutdown.nix {};
systemd-sysupdate = runTest ./systemd-sysupdate.nix;
systemd-sysusers-mutable = runTest ./systemd-sysusers-mutable.nix;
+5 -1
View File
@@ -28,9 +28,11 @@ in {
enable = true;
packages = with pkgs; [
ayatana-indicator-datetime
ayatana-indicator-display
ayatana-indicator-messages
ayatana-indicator-power
ayatana-indicator-session
ayatana-indicator-sound
] ++ (with pkgs.lomiri; [
lomiri-indicator-network
telephony-service
@@ -41,6 +43,8 @@ in {
services.accounts-daemon.enable = true; # messages
hardware.pulseaudio.enable = true; # sound
# Lomiri-ish setup for Lomiri indicators
# TODO move into a Lomiri module, once the package set is far enough for the DE to start
@@ -92,7 +96,7 @@ in {
# Now check if all indicators were brought up successfully, and kill them for later
'' + (runCommandOverAyatanaIndicators (service: let serviceExec = builtins.replaceStrings [ "." ] [ "-" ] service; in ''
machine.succeed("pgrep -u ${user} -f ${serviceExec}")
machine.wait_until_succeeds("pgrep -u ${user} -f ${serviceExec}")
machine.succeed("pkill -f ${serviceExec}")
'')) + ''
+14 -2
View File
@@ -290,7 +290,7 @@ in {
# There's a test app we could use that also displays their contents, but it's abit inconsistent.
with subtest("ayatana indicators work"):
mouse_click(735, 0) # the cog in the top-right, for the session indicator
machine.wait_for_text(r"(Notifications|Battery|Time|Date|System)")
machine.wait_for_text(r"(Notifications|Rotation|Battery|Sound|Time|Date|System)")
machine.screenshot("indicators_open")
# Indicator order within the menus *should* be fixed based on per-indicator order setting
@@ -298,13 +298,25 @@ in {
machine.send_key("left")
machine.send_key("left")
machine.send_key("left")
machine.send_key("left")
machine.send_key("left")
# Notifications are usually empty, nothing to check there
with subtest("lomiri indicator network works"):
with subtest("ayatana indicator display works"):
# We start on this, don't go right
machine.wait_for_text("Lock")
machine.screenshot("indicators_display")
with subtest("lomiri indicator network works"):
machine.send_key("right")
machine.wait_for_text(r"(Flight|Wi-Fi)")
machine.screenshot("indicators_network")
with subtest("ayatana indicator sound works"):
machine.send_key("right")
machine.wait_for_text(r"(Silent|Volume)")
machine.screenshot("indicators_sound")
with subtest("ayatana indicator power works"):
machine.send_key("right")
machine.wait_for_text(r"(Charge|Battery settings)")
+126 -101
View File
@@ -1,122 +1,147 @@
# Rudimentary test checking that the Stalwart email server can:
# - receive some message through SMTP submission, then
# - serve this message through IMAP.
{
system ? builtins.currentSystem,
config ? { },
pkgs ? import ../../.. { inherit system config; },
lib ? pkgs.lib,
}:
let
certs = import ./common/acme/server/snakeoil-certs.nix;
domain = certs.domain;
makeTest = import ./make-test-python.nix;
mkTestName =
pkg: "${pkg.pname}_${pkg.version}";
stalwartPackages = {
inherit (pkgs) stalwart-mail_0_6 stalwart-mail;
};
stalwartAtLeast = lib.versionAtLeast;
makeStalwartTest =
{
package,
name ? mkTestName package,
}:
makeTest {
inherit name;
meta.maintainers = with lib.maintainers; [
happysalada pacien onny
];
in import ./make-test-python.nix ({ lib, ... }: {
name = "stalwart-mail";
nodes.machine = { lib, ... }: {
nodes.main = { pkgs, ... }: {
security.pki.certificateFiles = [ certs.ca.cert ];
security.pki.certificateFiles = [ certs.ca.cert ];
services.stalwart-mail = {
enable = true;
settings = {
server.hostname = domain;
certificate."snakeoil" = {
cert = "file://${certs.${domain}.cert}";
private-key = "file://${certs.${domain}.key}";
};
server.tls = {
certificate = "snakeoil";
services.stalwart-mail = {
enable = true;
implicit = false;
};
inherit package;
settings = {
server.hostname = domain;
server.listener = {
"smtp-submission" = {
bind = [ "[::]:587" ];
protocol = "smtp";
};
# TODO: Remove backwards compatibility as soon as we drop legacy version 0.6.0
certificate."snakeoil" = let
certPath = if stalwartAtLeast package.version "0.7.0" then "%{file://${certs.${domain}.cert}}%" else "file://${certs.${domain}.cert}";
keyPath = if stalwartAtLeast package.version "0.7.0" then "%{file:${certs.${domain}.key}}%" else "file://${certs.${domain}.key}";
in {
cert = certPath;
private-key = keyPath;
};
"imap" = {
bind = [ "[::]:143" ];
protocol = "imap";
server.tls = {
certificate = "snakeoil";
enable = true;
implicit = false;
};
server.listener = {
"smtp-submission" = {
bind = [ "[::]:587" ];
protocol = "smtp";
};
"imap" = {
bind = [ "[::]:143" ];
protocol = "imap";
};
};
session.auth.mechanisms = "[plain]";
session.auth.directory = "'in-memory'";
storage.directory = "in-memory";
session.rcpt.directory = "'in-memory'";
queue.outbound.next-hop = "'local'";
directory."in-memory" = {
type = "memory";
# TODO: Remove backwards compatibility as soon as we drop legacy version 0.6.0
principals = let
condition = if stalwartAtLeast package.version "0.7.0" then "class" else "type";
in builtins.map (p: p // { ${condition} = "individual"; }) [
{
name = "alice";
secret = "foobar";
email = [ "alice@${domain}" ];
}
{
name = "bob";
secret = "foobar";
email = [ "bob@${domain}" ];
}
];
};
};
};
resolver.public-suffix = [ ]; # do not fetch from web in sandbox
environment.systemPackages = [
(pkgs.writers.writePython3Bin "test-smtp-submission" { } ''
from smtplib import SMTP
session.auth.mechanisms = "[plain]";
session.auth.directory = "'in-memory'";
storage.directory = "in-memory";
with SMTP('localhost', 587) as smtp:
smtp.starttls()
smtp.login('alice', 'foobar')
smtp.sendmail(
'alice@${domain}',
'bob@${domain}',
"""
From: alice@${domain}
To: bob@${domain}
Subject: Some test message
session.rcpt.directory = "'in-memory'";
queue.outbound.next-hop = "'local'";
This is a test message.
""".strip()
)
'')
(pkgs.writers.writePython3Bin "test-imap-read" { } ''
from imaplib import IMAP4
with IMAP4('localhost') as imap:
imap.starttls()
status, [caps] = imap.login('bob', 'foobar')
assert status == 'OK'
imap.select()
status, [ref] = imap.search(None, 'ALL')
assert status == 'OK'
[msgId] = ref.split()
status, msg = imap.fetch(msgId, 'BODY[TEXT]')
assert status == 'OK'
assert msg[0][1].strip() == b'This is a test message.'
'')
];
directory."in-memory" = {
type = "memory";
principals = [
{
type = "individual";
name = "alice";
secret = "foobar";
email = [ "alice@${domain}" ];
}
{
type = "individual";
name = "bob";
secret = "foobar";
email = [ "bob@${domain}" ];
}
];
};
};
testScript = ''
start_all()
machine.wait_for_unit("stalwart-mail.service")
machine.wait_for_open_port(587)
machine.wait_for_open_port(143)
machine.succeed("test-smtp-submission")
machine.succeed("test-imap-read")
'';
};
environment.systemPackages = [
(pkgs.writers.writePython3Bin "test-smtp-submission" { } ''
from smtplib import SMTP
with SMTP('localhost', 587) as smtp:
smtp.starttls()
smtp.login('alice', 'foobar')
smtp.sendmail(
'alice@${domain}',
'bob@${domain}',
"""
From: alice@${domain}
To: bob@${domain}
Subject: Some test message
This is a test message.
""".strip()
)
'')
(pkgs.writers.writePython3Bin "test-imap-read" { } ''
from imaplib import IMAP4
with IMAP4('localhost') as imap:
imap.starttls()
status, [caps] = imap.login('bob', 'foobar')
assert status == 'OK'
imap.select()
status, [ref] = imap.search(None, 'ALL')
assert status == 'OK'
[msgId] = ref.split()
status, msg = imap.fetch(msgId, 'BODY[TEXT]')
assert status == 'OK'
assert msg[0][1].strip() == b'This is a test message.'
'')
];
};
testScript = /* python */ ''
main.wait_for_unit("stalwart-mail.service")
main.wait_for_open_port(587)
main.wait_for_open_port(143)
main.succeed("test-smtp-submission")
main.succeed("test-imap-read")
'';
meta = {
maintainers = with lib.maintainers; [ happysalada pacien ];
};
})
in
lib.mapAttrs (_: package: makeStalwartTest { inherit package; }) stalwartPackages
+75
View File
@@ -0,0 +1,75 @@
import ./make-test-python.nix ({ pkgs, lib, ... }: {
name = "systemd-resolved";
meta.maintainers = [ lib.maintainers.elvishjerricco ];
nodes.server = { lib, config, ... }: let
exampleZone = pkgs.writeTextDir "example.com.zone" ''
@ SOA ns.example.com. noc.example.com. 2019031301 86400 7200 3600000 172800
@ A ${(lib.head config.networking.interfaces.eth1.ipv4.addresses).address}
@ AAAA ${(lib.head config.networking.interfaces.eth1.ipv6.addresses).address}
'';
in {
networking.firewall.enable = false;
networking.useDHCP = false;
networking.interfaces.eth1.ipv6.addresses = lib.mkForce [
{ address = "fd00::1"; prefixLength = 64; }
];
services.knot = {
enable = true;
settings = {
server.listen = [
"0.0.0.0@53"
"::@53"
];
template.default.storage = exampleZone;
zone."example.com".file = "example.com.zone";
};
};
};
nodes.client = { nodes, ... }: let
inherit (lib.head nodes.server.networking.interfaces.eth1.ipv4.addresses) address;
in {
networking.nameservers = [ address ];
networking.interfaces.eth1.ipv6.addresses = lib.mkForce [
{ address = "fd00::2"; prefixLength = 64; }
];
services.resolved.enable = true;
services.resolved.fallbackDns = [ ];
networking.useNetworkd = true;
networking.useDHCP = false;
systemd.network.networks."40-eth0".enable = false;
testing.initrdBackdoor = true;
boot.initrd = {
systemd.enable = true;
systemd.initrdBin = [ pkgs.iputils ];
network.enable = true;
services.resolved.enable = true;
};
};
testScript = { nodes, ... }: let
address4 = (lib.head nodes.server.networking.interfaces.eth1.ipv4.addresses).address;
address6 = (lib.head nodes.server.networking.interfaces.eth1.ipv6.addresses).address;
in ''
start_all()
server.wait_for_unit("multi-user.target")
def test_client():
query = client.succeed("resolvectl query example.com")
assert "${address4}" in query
assert "${address6}" in query
client.succeed("ping -4 -c 1 example.com")
client.succeed("ping -6 -c 1 example.com")
client.wait_for_unit("initrd.target")
test_client()
client.switch_root()
client.wait_for_unit("multi-user.target")
test_client()
'';
})
+8 -8
View File
@@ -1,23 +1,23 @@
{ mkDerivation, fetchurl, lib
{ stdenv, fetchurl, lib
, extra-cmake-modules, kdoctools
, qca-qt5, qjson, qtquickcontrols2, qtscript, qtwebengine
, karchive, kcmutils, kconfig, kdnssd, kguiaddons, kinit, kirigami2, knewstuff, knotifyconfig, ktexteditor, kwindowsystem
, fftw, phonon, plasma-framework, threadweaver, breeze-icons
, fftw, phonon, plasma-framework, threadweaver, breeze-icons, wrapQtAppsHook
, curl, ffmpeg, gdk-pixbuf, libaio, liblastfm, libmtp, loudmouth, lzo, lz4, mariadb-embedded, pcre, snappy, taglib, taglib_extras
}:
mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "amarok";
version = "2.9.71";
version = "3.0.0";
src = fetchurl {
url = "mirror://kde/unstable/${pname}/${version}/${pname}-${version}.tar.xz";
sha256 = "0kz8wixjmy4yxq2gk11ybswryxb6alfymd3bzcar9xinscllhh3a";
url = "mirror://kde/stable/amarok/${finalAttrs.version}/amarok-${finalAttrs.version}.tar.xz";
sha256 = "sha256-FKh2eDBfrXagodrKVVpndf+mQuXrvMzs2R9JcJOZLBw=";
};
outputs = [ "out" "doc" ];
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
nativeBuildInputs = [ extra-cmake-modules kdoctools wrapQtAppsHook ];
propagatedBuildInputs = [
qca-qt5 qjson qtquickcontrols2 qtscript qtwebengine
@@ -35,4 +35,4 @@ mkDerivation rec {
license = licenses.gpl2Plus;
maintainers = with maintainers; [ peterhoeg ];
};
}
})
@@ -5,11 +5,11 @@
stdenv.mkDerivation rec {
pname = "lsp-plugins";
version = "1.2.15";
version = "1.2.16";
src = fetchurl {
url = "https://github.com/sadko4u/${pname}/releases/download/${version}/${pname}-src-${version}.tar.gz";
sha256 = "sha256-krku+jFGOvLwixNGd+0jBzE/17k/OU0zAePLhnxd864=";
sha256 = "sha256-w2BUIF44z78syLroQk2asVXA5bt9P9POiuwxpnlkc8o=";
};
outputs = [ "out" "dev" "doc" ];
@@ -2,11 +2,11 @@
let
pname = "ledger-live-desktop";
version = "2.80.0";
version = "2.81.2";
src = fetchurl {
url = "https://download.live.ledger.com/${pname}-${version}-linux-x86_64.AppImage";
hash = "sha256-mtvLrA2wQM1om9En16/4AQFeddcRDoEyOwrefo5tOkk=";
hash = "sha256-dnlIIOOYmCN209avQFMcoekB7nJpc2dJnS2OBI+dq7E=";
};
appimageContents = appimageTools.extractType2 {
@@ -8221,6 +8221,18 @@ final: prev:
meta.homepage = "https://github.com/dcampos/nvim-snippy/";
};
nvim-snippets = buildVimPlugin {
pname = "nvim-snippets";
version = "2024-02-07";
src = fetchFromGitHub {
owner = "garymjr";
repo = "nvim-snippets";
rev = "f394d17b9a83820714957a06c6ed8e12223f3034";
sha256 = "10yfjdjygxlagvf6pvj6n86n0kzf7j72zf7sq9mvy42a9h68i3ip";
};
meta.homepage = "https://github.com/garymjr/nvim-snippets/";
};
nvim-solarized-lua = buildVimPlugin {
pname = "nvim-solarized-lua";
version = "2024-03-04";
@@ -692,6 +692,7 @@ https://github.com/petertriho/nvim-scrollbar/,HEAD,
https://github.com/dstein64/nvim-scrollview/,,
https://github.com/s1n7ax/nvim-search-and-replace/,HEAD,
https://github.com/dcampos/nvim-snippy/,HEAD,
https://github.com/garymjr/nvim-snippets/,,
https://github.com/ishan9299/nvim-solarized-lua/,,
https://github.com/lucidph3nx/nvim-sops/,HEAD,
https://github.com/nvim-pack/nvim-spectre/,,
+2 -2
View File
@@ -25,13 +25,13 @@
stdenv.mkDerivation rec{
pname = "corectrl";
version = "1.4.0";
version = "1.4.1";
src = fetchFromGitLab {
owner = "corectrl";
repo = "corectrl";
rev = "v${version}";
sha256 = "sha256-zTH7iSPN7VIhXvWFndOulvGnfUZ+uGWnW53WcnSW+e4=";
sha256 = "sha256-E2Dqe1IYXjFb/nShQX+ARZW/AWpNonRimb3yQ6/2CFw=";
};
patches = [
./polkit-dir.patch
@@ -1,6 +1,6 @@
{ lib
, buildPythonApplication
, fetchPypi
, fetchFromGitHub
, iso8601
, progressbar2
, requests
@@ -8,15 +8,16 @@
buildPythonApplication rec {
pname = "twitch-chat-downloader";
version = "2.5.3";
version = "2.5.4";
# NOTE: Using maintained fork because upstream has stopped working, and it has
# not been updated in a while.
# https://github.com/PetterKraabol/Twitch-Chat-Downloader/issues/142
src = fetchPypi {
inherit version;
pname = "tdh-tcd";
sha256 = "sha256-dvj0HoF/2n5aQGMOD8UYY4EZegQwThPy1XJFvXyRT4Q=";
src = fetchFromGitHub {
owner = "TheDrHax";
repo = "twitch-chat-downloader";
rev = version;
hash = "sha256-mV60ygrtQa9ZkJ2CImhAV59ckCJ7vJSA9cWkYE2xo1M=";
};
propagatedBuildInputs = [
@@ -34,6 +35,6 @@ buildPythonApplication rec {
mainProgram = "tcd";
homepage = "https://github.com/TheDrHax/Twitch-Chat-Downloader";
license = licenses.mit;
maintainers = with maintainers; [ ];
maintainers = with maintainers; [ assistant ];
};
}
-5
View File
@@ -1,5 +0,0 @@
#!/usr/bin/env nix-shell
#!nix-shell -i nu -p nushell common-updater-scripts
let latest_tag = list-git-tags --url=https://codeberg.org/ifreund/waylock | lines | sort --natural | str replace v '' | last
update-source-version waylock $latest_tag
@@ -2,17 +2,17 @@
buildGoModule rec {
pname = "argocd";
version = "2.11.0";
version = "2.11.1";
src = fetchFromGitHub {
owner = "argoproj";
repo = "argo-cd";
rev = "v${version}";
hash = "sha256-HVkR5sG3CfTW56pTB15S+w4kwbv7he9Be6RKmpu+E4E=";
hash = "sha256-v3Y85e0I5CCL4+cT4O/VhKRIHKiw088XbqjuwZr0CeM=";
};
proxyVendor = true; # darwin/linux hash mismatch
vendorHash = "sha256-c0fTUU5zXI0QDo/bAL4v6zjEp0rNvCpQFAGwpgDWDFY=";
vendorHash = "sha256-+YRLIQWInGCV2ORuABvM4cCjiMznENmAmE2jF9Eql6w=";
# Set target as ./cmd per cli-local
# https://github.com/argoproj/argo-cd/blob/master/Makefile#L227
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "atmos";
version = "1.72.0";
version = "1.73.0";
src = fetchFromGitHub {
owner = "cloudposse";
repo = pname;
rev = "v${version}";
sha256 = "sha256-d4TgVSXTqrzgTdpGl1uXIdEvwb0EIgzqiEjOaWYAZgk=";
sha256 = "sha256-rJGhDFVvlVtQboqts8+c6JYTRHC0IwrOm5BYVA20yrY=";
};
vendorHash = "sha256-T3FvJfyGseW5vwN/mMCFEjpcpW90MG8QPkmaXJafD4s=";
vendorHash = "sha256-11r4ph0i05lHXKNy8iMNKqCVzeQbPtHwNPiQU7759rQ=";
ldflags = [ "-s" "-w" "-X github.com/cloudposse/atmos/cmd.Version=v${version}" ];
@@ -6,13 +6,13 @@
buildGoModule rec {
pname = "gatekeeper";
version = "3.16.0";
version = "3.16.2";
src = fetchFromGitHub {
owner = "open-policy-agent";
repo = "gatekeeper";
rev = "v${version}";
hash = "sha256-IIqucBPuEHymfg7nLmxXMrq1aaB6SFPrczPj4BH8Zyw=";
hash = "sha256-lpnli05nRKwEdG9k4j+pSAKxNoFBBeOhwd8iYbelwoc=";
};
vendorHash = null;
@@ -2,7 +2,7 @@
buildGoModule rec {
pname = "kubectl-klock";
version = "0.6.1";
version = "0.7.0";
nativeBuildInputs = [ makeWrapper ];
@@ -10,10 +10,10 @@ buildGoModule rec {
owner = "applejag";
repo = pname;
rev = "v${version}";
hash = "sha256-QzleoHRQ/A5ImMl43kze5ppUdiLa4n/VT02lMnaXVkg=";
hash = "sha256-MmsHxB15gCz2W2QLC6E7Ao+9iLyVaYJatUgPcMuL79M=";
};
vendorHash = "sha256-smE8mdyZ8xJOevgHs4+ozS6VOlko+Whhs/37B+hIbxo=";
vendorHash = "sha256-lhawUcjB2EULpAFjBM4tdmDo08za2DfyZUvEPo4+LXE=";
postInstall = ''
makeWrapper $out/bin/kubectl-klock $out/bin/kubectl_complete-klock --add-flags __complete
@@ -166,9 +166,9 @@ rec {
mkTerraform = attrs: pluggable (generic attrs);
terraform_1 = mkTerraform {
version = "1.8.3";
hash = "sha256-4W1Cs3PAGn43eGDK15qSvN+gLdkkoFIwhejcJsCqcYA=";
vendorHash = "sha256-2+ctm1lJjCHITWV7BqoqgBlXKjNT4lueAt4F3UtoL9Q=";
version = "1.8.4";
hash = "sha256-YCFmjQ/xlyB0spumw8hBUmr9UVC7ZPNGrxYecFKi3aw=";
vendorHash = "sha256-PXA2AWq1IFmnqhhU92S9UaIYTUAAn5lsg3S7h5hBOQE=";
patches = [ ./provider-path-0_15.patch ];
passthru = {
inherit plugins;
@@ -1,61 +1,83 @@
{ lib, python3Packages, fetchPypi, stdenv }:
{
lib,
stdenv,
python3Packages,
fetchPypi,
}:
python3Packages.buildPythonApplication rec {
pname = "dyndnsc";
version = "0.6.1";
pyproject = true;
src = fetchPypi {
inherit pname version;
sha256 = "13078d29eea2f9a4ca01f05676c3309ead5e341dab047e0d51c46f23d4b7fbb4";
hash = "sha256-EweNKe6i+aTKAfBWdsMwnq1eNB2rBH4NUcRvI9S3+7Q=";
};
postPatch = ''
substituteInPlace setup.py --replace "bottle==" "bottle>="
substituteInPlace setup.py \
--replace-fail '"pytest-runner"' ""
'';
nativeBuildInputs = with python3Packages; [ pytest-runner ];
propagatedBuildInputs = with python3Packages; [
pythonRelaxDeps = [ "bottle" ];
build-system = with python3Packages; [ setuptools ];
nativeBuildInputs = with python3Packages; [ pythonRelaxDepsHook ];
dependencies = with python3Packages; [
daemonocle
dnspython
json-logging
netifaces
requests
json-logging
setuptools
];
nativeCheckInputs = with python3Packages; [ bottle mock pytest-console-scripts pytestCheckHook ];
disabledTests = [
# dnswanip connects to an external server to discover the
# machine's IP address.
"dnswanip"
] ++ lib.optionals stdenv.isDarwin [
# The tests that spawn a server using Bottle cannot be run on
# macOS or Windows as the default multiprocessing start method
# on those platforms is 'spawn', which requires the code to be
# run to be picklable, which this code isn't.
# Additionaly, other start methods are unsafe and prone to failure
# on macOS; see https://bugs.python.org/issue33725.
"BottleServer"
nativeCheckInputs = with python3Packages; [
bottle
pytest-console-scripts
pytestCheckHook
];
disabledTests =
[
# dnswanip connects to an external server to discover the
# machine's IP address.
"dnswanip"
# AssertionError
"test_null_dummy"
]
++ lib.optionals stdenv.isDarwin [
# The tests that spawn a server using Bottle cannot be run on
# macOS or Windows as the default multiprocessing start method
# on those platforms is 'spawn', which requires the code to be
# run to be picklable, which this code isn't.
# Additionaly, other start methods are unsafe and prone to failure
# on macOS; see https://bugs.python.org/issue33725.
"BottleServer"
];
# Allow tests that bind or connect to localhost on macOS.
__darwinAllowLocalNetworking = true;
meta = with lib; {
description = "Dynamic DNS update client with support for multiple protocols";
mainProgram = "dyndnsc";
longDescription = ''
Dyndnsc is a command line client for sending updates to Dynamic
DNS (DDNS, DynDNS) services. It supports multiple protocols and
services, and it has native support for IPv6. The configuration
file allows using foreign, but compatible services. Dyndnsc
DNS (DDNS, DynDNS) services. It supports multiple protocols and
services, and it has native support for IPv6. The configuration
file allows using foreign, but compatible services. Dyndnsc
ships many different IP detection mechanisms, support for
configuring multiple services in one place and it has a daemon
mode for running unattended. It has a plugin system to provide
mode for running unattended. It has a plugin system to provide
external notification services.
'';
homepage = "https://github.com/infothrill/python-dyndnsc";
changelog = "https://github.com/infothrill/python-dyndnsc/releases/tag/${version}";
license = licenses.mit;
maintainers = with maintainers; [ AluisioASG ];
mainProgram = "dyndnsc";
platforms = platforms.unix;
};
}
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "nextdns";
version = "1.43.3";
version = "1.43.4";
src = fetchFromGitHub {
owner = "nextdns";
repo = "nextdns";
rev = "v${version}";
sha256 = "sha256-sltTvjEfUZsmXDEyN+Zyck7oqZ+Xu8xScNnitt/0eic=";
sha256 = "sha256-nL+6pIH/tI/V14aKrQfwI+JJhCc/YD18U/J0SXnA9NE=";
};
vendorHash = "sha256-U5LJF1RX0ZS0PhjQTZKXrJo89WPfSZaVbgskWcYNlJY=";
@@ -13,15 +13,15 @@
buildPythonApplication rec {
pname = "syncplay";
version = "1.7.2";
version = "1.7.3";
format = "other";
src = fetchFromGitHub {
owner = "Syncplay";
repo = "syncplay";
rev = "v${version}";
sha256 = "sha256-PERPE6141LXmb8fmW17Vu54Unpf9vEK+ahm6q1byRTU=";
rev = "refs/tags/v${version}";
sha256 = "sha256-ipo027XyN4BpMkxzXznbnaufsaG/YkHxFJYo+XWzbyE=";
};
patches = [
File diff suppressed because it is too large Load Diff
+36 -31
View File
@@ -28,6 +28,7 @@
, QTKit
, AVKit
, WebKit
, System
, waylandSupport ? false
, x11Support ? stdenv.isLinux
, testers
@@ -39,13 +40,13 @@ assert stdenv.isDarwin -> !x11Support;
assert stdenv.isDarwin -> !waylandSupport;
rustPlatform.buildRustPackage rec {
pname = "espanso";
version = "2.1.8";
version = "2.2-unstable-2024-05-14";
src = fetchFromGitHub {
owner = "espanso";
repo = "espanso";
rev = "v${version}";
hash = "sha256-5TUo5B1UZZARgTHbK2+520e3mGZkZ5tTez1qvZvMnxs=";
rev = "8daadcc949c35a7b7aa20b7f544fdcff83e2c5f7";
hash = "sha256-4MArENBmX6tDVLZE1O8cuJe7A0R+sLZoxBkDvIwIVZ4=";
};
cargoLock = {
@@ -55,10 +56,6 @@ rustPlatform.buildRustPackage rec {
};
};
cargoPatches = lib.optionals stdenv.isDarwin [
./inject-wx-on-darwin.patch
];
nativeBuildInputs = [
extra-cmake-modules
pkg-config
@@ -70,7 +67,7 @@ rustPlatform.buildRustPackage rec {
buildNoDefaultFeatures = true;
buildFeatures = [
"modulo"
] ++ lib.optionals waylandSupport[
] ++ lib.optionals waylandSupport [
"wayland"
] ++ lib.optionals stdenv.isLinux [
"vendored-tls"
@@ -96,6 +93,7 @@ rustPlatform.buildRustPackage rec {
QTKit
AVKit
WebKit
System
] ++ lib.optionals waylandSupport [
wl-clipboard
] ++ lib.optionals x11Support [
@@ -108,39 +106,39 @@ rustPlatform.buildRustPackage rec {
postPatch = lib.optionalString stdenv.isDarwin ''
substituteInPlace scripts/create_bundle.sh \
--replace target/mac/ $out/Applications/ \
--replace /bin/echo ${coreutils}/bin/echo
--replace-fail target/mac/ $out/Applications/ \
--replace-fail /bin/echo ${coreutils}/bin/echo
patchShebangs scripts/create_bundle.sh
substituteInPlace espanso/src/res/macos/Info.plist \
--replace "<string>espanso</string>" "<string>${placeholder "out"}/Applications/Espanso.app/Contents/MacOS/espanso</string>"
substituteInPlace espanso/src/res/macos/com.federicoterzi.espanso.plist \
--replace "<string>/Applications/Espanso.app/Contents/MacOS/espanso</string>" "<string>${placeholder "out"}/Applications/Espanso.app/Contents/MacOS/espanso</string>" \
--replace "<string>/usr/bin" "<string>${placeholder "out"}/bin:/usr/bin"
--replace-fail "<string>espanso</string>" "<string>${placeholder "out"}/Applications/Espanso.app/Contents/MacOS/espanso</string>"
substituteInPlace espanso/src/path/macos.rs espanso/src/path/linux.rs \
--replace '"/usr/local/bin/espanso"' '"${placeholder "out"}/bin/espanso"'
--replace-fail '"/usr/local/bin/espanso"' '"${placeholder "out"}/bin/espanso"'
'';
# Some tests require networking
doCheck = false;
postInstall = if stdenv.isDarwin then ''
EXEC_PATH=$out/bin/espanso BUILD_ARCH=current ${stdenv.shell} ./scripts/create_bundle.sh
'' else ''
wrapProgram $out/bin/espanso \
--prefix PATH : ${lib.makeBinPath (
lib.optionals stdenv.isLinux [
libnotify
setxkbmap
] ++ lib.optionals waylandSupport [
wl-clipboard
] ++ lib.optionals x11Support [
xclip
]
)}
'';
postInstall =
if stdenv.isDarwin then ''
EXEC_PATH=$out/bin/espanso BUILD_ARCH=current ${stdenv.shell} ./scripts/create_bundle.sh
'' else ''
wrapProgram $out/bin/espanso \
--prefix PATH : ${lib.makeBinPath (
lib.optionals stdenv.isLinux [
libnotify
setxkbmap
] ++ lib.optionals waylandSupport [
wl-clipboard
] ++ lib.optionals x11Support [
xclip
]
)}
'';
passthru.tests.version = testers.testVersion {
package = espanso;
# remove when updating to a release version
version = "2.2.1";
};
meta = with lib; {
@@ -148,8 +146,15 @@ rustPlatform.buildRustPackage rec {
mainProgram = "espanso";
homepage = "https://espanso.org";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ kimat pyrox0 ];
maintainers = with maintainers; [ kimat pyrox0 n8henrie ];
platforms = platforms.unix;
# With apple_sdk_10_12,
# kCFURLVolumeAvailableCapacityForImportantUsageKey
# is undefined.
# With apple_sdk_11_0, there is an issue with
# kColorSyncGenericGrayProfile.
broken = stdenv.hostPlatform.system == "x86_64-darwin";
longDescription = ''
Espanso detects when you type a keyword and replaces it while you're typing.
@@ -1,223 +0,0 @@
From 6a7400c20831c5ff502c7336d6db2be743f156be Mon Sep 17 00:00:00 2001
From: Nikola Knezevic <nikola.knezevic@imc.com>
Date: Tue, 16 Aug 2022 22:28:46 +0200
Subject: [PATCH] Build using system wx on darwin
---
espanso-modulo/build.rs | 174 ++++------------------------------------
1 file changed, 17 insertions(+), 157 deletions(-)
diff --git a/espanso-modulo/build.rs b/espanso-modulo/build.rs
index b8b889a..5d972ec 100644
--- a/espanso-modulo/build.rs
+++ b/espanso-modulo/build.rs
@@ -156,161 +156,6 @@ fn build_native() {
);
}
-#[cfg(target_os = "macos")]
-fn build_native() {
- use std::process::Command;
-
- let project_dir =
- PathBuf::from(std::env::var("CARGO_MANIFEST_DIR").expect("missing CARGO_MANIFEST_DIR"));
- let wx_archive = project_dir.join("vendor").join(WX_WIDGETS_ARCHIVE_NAME);
- if !wx_archive.is_file() {
- panic!("could not find wxWidgets archive!");
- }
-
- let out_dir = if let Ok(out_path) = std::env::var(WX_WIDGETS_BUILD_OUT_DIR_ENV_NAME) {
- println!(
- "detected wxWidgets build output directory override: {}",
- out_path
- );
- let path = PathBuf::from(out_path);
- std::fs::create_dir_all(&path).expect("unable to create wxWidgets out dir");
- path
- } else {
- PathBuf::from(std::env::var("OUT_DIR").expect("missing OUT_DIR"))
- };
- let out_wx_dir = out_dir.join("wx");
- println!("wxWidgets will be compiled into: {}", out_wx_dir.display());
-
- let target_arch = match std::env::var("CARGO_CFG_TARGET_ARCH")
- .expect("unable to read target arch")
- .as_str()
- {
- "x86_64" => "x86_64",
- "aarch64" => "arm64",
- arch => panic!("unsupported arch {}", arch),
- };
-
- let should_use_ci_m1_workaround =
- std::env::var("CI").unwrap_or_default() == "true" && target_arch == "arm64";
-
- if !out_wx_dir.is_dir() {
- // Extract the wxWidgets archive
- let wx_archive =
- std::fs::File::open(&wx_archive).expect("unable to open wxWidgets source archive");
- let mut archive = zip::ZipArchive::new(wx_archive).expect("unable to read wxWidgets archive");
- archive
- .extract(&out_wx_dir)
- .expect("unable to extract wxWidgets source dir");
-
- // Compile wxWidgets
- let build_dir = out_wx_dir.join("build-cocoa");
- std::fs::create_dir_all(&build_dir).expect("unable to create build-cocoa directory");
-
- let mut handle = if should_use_ci_m1_workaround {
- // Because of a configuration problem on the GitHub CI pipeline,
- // we need to use a series of workarounds to build for M1 machines.
- // See: https://github.com/actions/virtual-environments/issues/3288#issuecomment-830207746
- Command::new(out_wx_dir.join("configure"))
- .current_dir(build_dir.to_string_lossy().to_string())
- .args(&[
- "--disable-shared",
- "--without-libtiff",
- "--without-liblzma",
- "--with-libjpeg=builtin",
- "--with-libpng=builtin",
- "--enable-universal-binary=arm64,x86_64",
- ])
- .spawn()
- .expect("failed to execute configure")
- } else {
- Command::new(out_wx_dir.join("configure"))
- .current_dir(build_dir.to_string_lossy().to_string())
- .args(&[
- "--disable-shared",
- "--without-libtiff",
- "--without-liblzma",
- "--with-libjpeg=builtin",
- "--with-libpng=builtin",
- &format!("--enable-macosx_arch={}", target_arch),
- ])
- .spawn()
- .expect("failed to execute configure")
- };
-
- if !handle
- .wait()
- .expect("unable to wait for configure command")
- .success()
- {
- panic!("configure returned non-zero exit code!");
- }
-
- let mut handle = Command::new("make")
- .current_dir(build_dir.to_string_lossy().to_string())
- .args(&["-j8"])
- .spawn()
- .expect("failed to execute make");
- if !handle
- .wait()
- .expect("unable to wait for make command")
- .success()
- {
- panic!("make returned non-zero exit code!");
- }
- }
-
- // Make sure wxWidgets is compiled
- if !out_wx_dir.join("build-cocoa").is_dir() {
- panic!("wxWidgets is not compiled correctly, missing 'build-cocoa/' directory")
- }
-
- // If using the M1 CI workaround, convert all the universal libraries to arm64 ones
- // This is needed until https://github.com/rust-lang/rust/issues/55235 is fixed
- if should_use_ci_m1_workaround {
- convert_fat_libraries_to_arm(&out_wx_dir.join("build-cocoa").join("lib"));
- convert_fat_libraries_to_arm(&out_wx_dir.join("build-cocoa"));
- }
-
- let config_path = out_wx_dir.join("build-cocoa").join("wx-config");
- let cpp_flags = get_cpp_flags(&config_path);
-
- let mut build = cc::Build::new();
- build
- .cpp(true)
- .file("src/sys/form/form.cpp")
- .file("src/sys/common/common.cpp")
- .file("src/sys/search/search.cpp")
- .file("src/sys/wizard/wizard.cpp")
- .file("src/sys/wizard/wizard_gui.cpp")
- .file("src/sys/welcome/welcome.cpp")
- .file("src/sys/welcome/welcome_gui.cpp")
- .file("src/sys/textview/textview.cpp")
- .file("src/sys/textview/textview_gui.cpp")
- .file("src/sys/troubleshooting/troubleshooting.cpp")
- .file("src/sys/troubleshooting/troubleshooting_gui.cpp")
- .file("src/sys/common/mac.mm");
- build.flag("-std=c++17");
-
- for flag in cpp_flags {
- build.flag(&flag);
- }
-
- build.compile("espansomodulosys");
-
- // Render linker flags
-
- generate_linker_flags(&config_path);
-
- // On (older) OSX we need to link against the clang runtime,
- // which is hidden in some non-default path.
- //
- // More details at https://github.com/alexcrichton/curl-rust/issues/279.
- if let Some(path) = macos_link_search_path() {
- println!("cargo:rustc-link-lib=clang_rt.osx");
- println!("cargo:rustc-link-search={}", path);
- }
-}
-
#[cfg(target_os = "macos")]
fn convert_fat_libraries_to_arm(lib_dir: &Path) {
for entry in
@@ -440,12 +285,17 @@ fn macos_link_search_path() -> Option<String> {
None
}
+#[cfg(not(target_os = "macos"))]
+fn macos_link_search_path() -> Option<String> {
+ return None
+}
+
// TODO: add documentation for linux
// Install wxWidgets:
// sudo apt install libwxgtk3.0-0v5 libwxgtk3.0-dev
//
// cargo run
-#[cfg(target_os = "linux")]
+#[cfg(not(target_os = "windows"))]
fn build_native() {
// Make sure wxWidgets is installed
// Depending on the installation package, the 'wx-config' command might also be available as 'wx-config-gtk3',
@@ -483,7 +333,8 @@ fn build_native() {
.file("src/sys/textview/textview.cpp")
.file("src/sys/textview/textview_gui.cpp")
.file("src/sys/troubleshooting/troubleshooting.cpp")
- .file("src/sys/troubleshooting/troubleshooting_gui.cpp");
+ .file("src/sys/troubleshooting/troubleshooting_gui.cpp")
+ .file("src/sys/common/mac.mm");
build.flag("-std=c++17");
for flag in cpp_flags {
@@ -495,6 +346,15 @@ fn build_native() {
// Render linker flags
generate_linker_flags(&config_path);
+
+ // On (older) OSX we need to link against the clang runtime,
+ // which is hidden in some non-default path.
+ //
+ // More details at https://github.com/alexcrichton/curl-rust/issues/279.
+ if let Some(path) = macos_link_search_path() {
+ println!("cargo:rustc-link-lib=clang_rt.osx");
+ println!("cargo:rustc-link-search={}", path);
+ }
}
fn main() {
--
2.37.1
+2 -2
View File
@@ -16,13 +16,13 @@
stdenv.mkDerivation rec {
pname = "qlog";
version = "0.35.1";
version = "0.35.2";
src = fetchFromGitHub {
owner = "foldynl";
repo = "QLog";
rev = "v${version}";
hash = "sha256-qmTep8cwNFxgvWO6tOtk+kwjhEltjJTc0Fo4o01GzIo=";
hash = "sha256-3ht3/J4uJ7Nyfp0xpVDYa8GnV/EvHjf09XGSEBLRGZU=";
fetchSubmodules = true;
};
@@ -1,4 +1,4 @@
From 206084d2e08198b0b5b67733c407bd3fb74affb1 Mon Sep 17 00:00:00 2001
From 714f5ebe9ade721abdccf58edfcddba52465cb8d Mon Sep 17 00:00:00 2001
From: Jiajie Chen <c@jia.je>
Date: Sun, 2 Jul 2023 22:43:27 +0800
Subject: [PATCH] Do not download sources in cmake
@@ -8,7 +8,7 @@ Subject: [PATCH] Do not download sources in cmake
1 file changed, 1 insertion(+), 10 deletions(-)
diff --git a/src/solvers/CMakeLists.txt b/src/solvers/CMakeLists.txt
index 8bfcf4d13c..6ba858a461 100644
index daa0853a57..4bcbbdaa47 100644
--- a/src/solvers/CMakeLists.txt
+++ b/src/solvers/CMakeLists.txt
@@ -123,16 +123,6 @@ foreach(SOLVER ${sat_impl})
@@ -16,11 +16,11 @@ index 8bfcf4d13c..6ba858a461 100644
message(STATUS "Building solvers with cadical")
- download_project(PROJ cadical
- URL https://github.com/arminbiere/cadical/archive/rel-1.5.3.tar.gz
- PATCH_COMMAND patch -p1 -i ${CBMC_SOURCE_DIR}/../scripts/cadical-1.5.3-patch
- URL https://github.com/arminbiere/cadical/archive/rel-1.7.2.tar.gz
- PATCH_COMMAND patch -p1 -i ${CBMC_SOURCE_DIR}/../scripts/cadical-1.7.2-patch
- COMMAND cmake -E copy ${CBMC_SOURCE_DIR}/../scripts/cadical_CMakeLists.txt CMakeLists.txt
- COMMAND ./configure
- URL_MD5 265b1a715000ed3c5b6de36ddd1278a0
- URL_MD5 be646831a017f81b300664e58deba1b5
- )
-
- add_subdirectory(${cadical_SOURCE_DIR} ${cadical_BINARY_DIR})
@@ -32,10 +32,10 @@ index 8bfcf4d13c..6ba858a461 100644
target_include_directories(solvers
PUBLIC
${cadical_SOURCE_DIR}/src
+ ${cadical_INCLUDE_DIR}
+ ${cadical_INCLUDE_DIR}
)
target_link_libraries(solvers cadical)
--
2.40.1
2.42.0
@@ -13,13 +13,13 @@
stdenv.mkDerivation rec {
pname = "cbmc";
version = "5.91.0";
version = "5.95.1";
src = fetchFromGitHub {
owner = "diffblue";
repo = pname;
rev = "${pname}-${version}";
sha256 = "sha256-7DzhGEDS9T6WIjGoxOw9Gf/q+tYNFJDPbQUBV3tbn/I=";
sha256 = "sha256-fDLSo5EeHyPTliAqFp+5mfaB0iZXIMXeMyF21fjl5k4=";
};
nativeBuildInputs = [
@@ -82,7 +82,7 @@ stdenv.mkDerivation rec {
license = licenses.bsdOriginal;
maintainers = with maintainers; [ jiegec ];
platforms = platforms.unix;
# https://github.com/diffblue/cbmc/issues/7423
broken = stdenv.isLinux && stdenv.isAarch64;
# error: no member named 'aligned_alloc' in the global namespace
broken = stdenv.isDarwin && stdenv.isx86_64;
};
}
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "gerrit";
version = "3.9.4";
version = "3.10.0";
src = fetchurl {
url = "https://gerrit-releases.storage.googleapis.com/gerrit-${version}.war";
hash = "sha256-pjrWXfae1momJRTfdIPalsLynAGwqp1VtX9M9uqzJwM=";
hash = "sha256-mlaXCRQlqg2uwzm2/Vi15K5D6lmUUscfZQk/lW1YR+s=";
};
buildCommand = ''
@@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "nixpacks";
version = "1.22.0";
version = "1.23.0";
src = fetchFromGitHub {
owner = "railwayapp";
repo = pname;
rev = "v${version}";
sha256 = "sha256-O2A75cjTU72DGrg4PmEogN9aANYKIZWUkXfIJXs7CwA=";
sha256 = "sha256-M4RZwcFiupZdePDkUWRTiTNA58siMsggTGpvHb8j88Y=";
};
cargoHash = "sha256-FS38zqPtmtyV6oSjfxtNMe8n+LMTU1eBN6oX6CGph6k=";
cargoHash = "sha256-hSzDboP2YJoPPzugb0ABiogKU7lauJNML8szThB2zqg=";
# skip test due FHS dependency
doCheck = false;
@@ -10,11 +10,11 @@
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "tart";
version = "2.10.0";
version = "2.11.0";
src = fetchurl {
url = "https://github.com/cirruslabs/tart/releases/download/${finalAttrs.version}/tart-arm64.tar.gz";
hash = "sha256-9spBDqNm47nUZEGCCOfISjNpGx/22OtPPheB7iJTq1A=";
hash = "sha256-Wf6JfEOUkCpUB0qsAGqh5v/sTV+iQ2NUmXKLyLgxgV0=";
};
sourceRoot = ".";
@@ -84,8 +84,6 @@
, dotnet-sdk ? dotnetCorePackages.sdk_6_0
# The dotnet runtime to use.
, dotnet-runtime ? dotnetCorePackages.runtime_6_0
# The dotnet SDK to run tests against. This can differentiate from the SDK compiled against.
, dotnet-test-sdk ? dotnet-sdk
, ...
} @ args:
@@ -96,7 +94,7 @@ let
else dotnet-sdk.meta.platforms;
inherit (callPackage ./hooks {
inherit dotnet-sdk dotnet-test-sdk disabledTests nuget-source dotnet-runtime runtimeDeps buildType;
inherit dotnet-sdk disabledTests nuget-source dotnet-runtime runtimeDeps buildType;
runtimeId =
if runtimeId != null
then runtimeId
@@ -8,7 +8,6 @@
, makeSetupHook
, makeWrapper
, dotnet-sdk
, dotnet-test-sdk
, disabledTests
, nuget-source
, dotnet-runtime
@@ -22,10 +21,9 @@ let
libraryPath = lib.makeLibraryPath runtimeDeps;
in
{
dotnetConfigureHook = callPackage ({ }:
makeSetupHook {
dotnetConfigureHook = makeSetupHook
{
name = "dotnet-configure-hook";
propagatedBuildInputs = [ dotnet-sdk nuget-source ];
substitutions = {
nugetSource = nuget-source;
dynamicLinker = "${stdenv.cc}/nix-support/dynamic-linker";
@@ -38,45 +36,47 @@ in
];
inherit runtimeId;
};
} ./dotnet-configure-hook.sh) { };
}
./dotnet-configure-hook.sh;
dotnetBuildHook = callPackage ({ }:
makeSetupHook {
dotnetBuildHook = makeSetupHook
{
name = "dotnet-build-hook";
propagatedBuildInputs = [ dotnet-sdk ];
substitutions = {
inherit buildType runtimeId;
};
} ./dotnet-build-hook.sh) { };
}
./dotnet-build-hook.sh;
dotnetCheckHook = callPackage ({ }:
makeSetupHook {
dotnetCheckHook = makeSetupHook
{
name = "dotnet-check-hook";
propagatedBuildInputs = [ dotnet-test-sdk ];
substitutions = {
inherit buildType runtimeId libraryPath;
disabledTests = lib.optionalString (disabledTests != [])
(let
escapedNames = lib.lists.map (n: lib.replaceStrings [","] ["%2C"] n) disabledTests;
filters = lib.lists.map (n: "FullyQualifiedName!=${n}") escapedNames;
in
"${lib.concatStringsSep "&" filters}");
disabledTests = lib.optionalString (disabledTests != [ ])
(
let
escapedNames = lib.lists.map (n: lib.replaceStrings [ "," ] [ "%2C" ] n) disabledTests;
filters = lib.lists.map (n: "FullyQualifiedName!=${n}") escapedNames;
in
"${lib.concatStringsSep "&" filters}"
);
};
} ./dotnet-check-hook.sh) { };
}
./dotnet-check-hook.sh;
dotnetInstallHook = callPackage ({ }:
makeSetupHook {
dotnetInstallHook = makeSetupHook
{
name = "dotnet-install-hook";
propagatedBuildInputs = [ dotnet-sdk ];
substitutions = {
inherit buildType runtimeId;
};
} ./dotnet-install-hook.sh) { };
}
./dotnet-install-hook.sh;
dotnetFixupHook = callPackage ({ }:
makeSetupHook {
dotnetFixupHook = makeSetupHook
{
name = "dotnet-fixup-hook";
propagatedBuildInputs = [ dotnet-runtime ];
substitutions = {
dotnetRuntime = dotnet-runtime;
runtimeDeps = libraryPath;
@@ -85,5 +85,6 @@ in
dirname = "${coreutils}/bin/dirname";
realpath = "${coreutils}/bin/realpath";
};
} ./dotnet-fixup-hook.sh) { };
}
./dotnet-fixup-hook.sh;
}
@@ -41,7 +41,7 @@ dotnetBuildHook() {
runtimeIdFlags+=("--runtime @runtimeId@")
fi
env dotnet build ${project-} \
dotnet build ${project-} \
-maxcpucount:$maxCpuFlag \
-p:BuildInParallel=$parallelBuildFlag \
-p:ContinuousIntegrationBuild=true \
@@ -22,7 +22,7 @@ dotnetCheckHook() {
runtimeIdFlags=("--runtime @runtimeId@")
fi
env "LD_LIBRARY_PATH=@libraryPath@" \
LD_LIBRARY_PATH="@libraryPath@" \
dotnet test "$project" \
-maxcpucount:$maxCpuFlag \
-p:ContinuousIntegrationBuild=true \
@@ -15,7 +15,7 @@ dotnetConfigureHook() {
dotnetRestore() {
local -r project="${1-}"
env dotnet restore ${project-} \
dotnet restore ${project-} \
-p:ContinuousIntegrationBuild=true \
-p:Deterministic=true \
--runtime "@runtimeId@" \
@@ -43,7 +43,7 @@ EOF
find -name paket.dependencies -exec sed -i 's+source .*+source @nugetSource@/lib+g' {} \;
find -name paket.lock -exec sed -i 's+remote:.*+remote: @nugetSource@/lib+g' {} \;
env dotnet tool restore --add-source "@nugetSource@/lib"
dotnet tool restore --add-source "@nugetSource@/lib"
(( "${#projectFile[@]}" == 0 )) && dotnetRestore
@@ -27,7 +27,7 @@ dotnetInstallHook() {
runtimeIdFlags+=("--runtime @runtimeId@")
fi
env dotnet publish ${project-} \
dotnet publish ${project-} \
-p:ContinuousIntegrationBuild=true \
-p:Deterministic=true \
--output "${installPath-$out/lib/$pname}" \
@@ -40,7 +40,7 @@ dotnetInstallHook() {
dotnetPack() {
local -r project="${1-}"
env dotnet pack ${project-} \
dotnet pack ${project-} \
-p:ContinuousIntegrationBuild=true \
-p:Deterministic=true \
--output "$out/share" \
@@ -2,6 +2,7 @@
{
v1 = {
buildComposerProject = callPackage ./v1/build-composer-project.nix { };
buildComposerWithPlugin = callPackage ./v1/build-composer-with-plugin.nix { };
mkComposerRepository = callPackage ./v1/build-composer-repository.nix { };
composerHooks = callPackages ./v1/hooks { };
};
@@ -1,5 +1,4 @@
{
callPackage,
nix-update-script,
stdenvNoCC,
lib,
@@ -12,8 +11,7 @@ let
let
phpDrv = finalAttrs.php or php;
composer = finalAttrs.composer or phpDrv.packages.composer;
composer-local-repo-plugin = callPackage ../../pkgs/composer-local-repo-plugin.nix { };
composer = finalAttrs.composer or phpDrv.packages.composer-local-repo-plugin;
in
{
composerLock = previousAttrs.composerLock or null;
@@ -24,7 +22,6 @@ let
nativeBuildInputs = (previousAttrs.nativeBuildInputs or [ ]) ++ [
composer
composer-local-repo-plugin
phpDrv
phpDrv.composerHooks.composerInstallHook
];
@@ -74,7 +71,7 @@ let
composerRepository =
previousAttrs.composerRepository or (phpDrv.mkComposerRepository {
inherit composer composer-local-repo-plugin;
inherit composer;
inherit (finalAttrs)
patches
pname
@@ -1,5 +1,4 @@
{
callPackage,
stdenvNoCC,
lib,
php,
@@ -23,8 +22,7 @@ let
let
phpDrv = finalAttrs.php or php;
composer = finalAttrs.composer or phpDrv.packages.composer;
composer-local-repo-plugin = callPackage ../../pkgs/composer-local-repo-plugin.nix { };
composer = finalAttrs.composer or phpDrv.packages.composer-local-repo-plugin;
in
assert (lib.assertMsg (previousAttrs ? src) "mkComposerRepository expects src argument.");
assert (
@@ -58,7 +56,6 @@ let
nativeBuildInputs = (previousAttrs.nativeBuildInputs or [ ]) ++ [
composer
composer-local-repo-plugin
phpDrv
phpDrv.composerHooks.composerRepositoryHook
];
@@ -0,0 +1,161 @@
{
stdenvNoCC,
writeText,
lib,
makeBinaryWrapper,
php,
cacert,
nix-update-script,
}:
let
composerJsonBuilder =
pluginName: pluginVersion:
writeText "composer.json" (
builtins.toJSON {
name = "nix/plugin";
description = "Nix Composer plugin";
license = "MIT";
require = {
"${pluginName}" = "${pluginVersion}";
};
config = {
"allow-plugins" = {
"${pluginName}" = true;
};
};
repositories = [
{
type = "path";
url = "./src";
options = {
versions = {
"${pluginName}" = "${pluginVersion}";
};
};
}
];
}
);
buildComposerWithPluginOverride =
finalAttrs: previousAttrs:
let
phpDrv = finalAttrs.php or php;
composer = finalAttrs.composer or phpDrv.packages.composer;
in
{
composerLock = previousAttrs.composerLock or null;
composerNoDev = previousAttrs.composerNoDev or true;
composerNoPlugins = previousAttrs.composerNoPlugins or true;
composerNoScripts = previousAttrs.composerNoScripts or true;
composerStrictValidation = previousAttrs.composerStrictValidation or true;
composerGlobal = true;
nativeBuildInputs = (previousAttrs.nativeBuildInputs or [ ]) ++ [
composer
phpDrv
makeBinaryWrapper
];
buildInputs = (previousAttrs.buildInputs or [ ]) ++ [ phpDrv ];
patches = previousAttrs.patches or [ ];
strictDeps = previousAttrs.strictDeps or true;
# Should we keep these empty phases?
configurePhase =
previousAttrs.configurePhase or ''
runHook preConfigure
runHook postConfigure
'';
buildPhase =
previousAttrs.buildPhase or ''
runHook preBuild
runHook postBuild
'';
doCheck = previousAttrs.doCheck or true;
checkPhase =
previousAttrs.checkPhase or ''
runHook preCheck
runHook postCheck
'';
installPhase =
previousAttrs.installPhase or ''
runHook preInstall
makeWrapper ${lib.getExe composer} $out/bin/composer \
--prefix COMPOSER_HOME : ${finalAttrs.vendor}
runHook postInstall
'';
doInstallCheck = previousAttrs.doInstallCheck or false;
installCheckPhase =
previousAttrs.installCheckPhase or ''
runHook preInstallCheck
composer global show ${finalAttrs.pname}
runHook postInstallCheck
'';
vendor = previousAttrs.vendor or stdenvNoCC.mkDerivation {
pname = "${finalAttrs.pname}-vendor";
pluginName = finalAttrs.pname;
inherit (finalAttrs) version src;
composerLock = previousAttrs.composerLock or null;
composerNoDev = previousAttrs.composerNoDev or true;
composerNoPlugins = previousAttrs.composerNoPlugins or true;
composerNoScripts = previousAttrs.composerNoScripts or true;
composerStrictValidation = previousAttrs.composerStrictValidation or true;
composerGlobal = true;
composerJson = composerJsonBuilder finalAttrs.pname finalAttrs.version;
nativeBuildInputs = [
cacert
composer
phpDrv.composerHooks.composerWithPluginVendorHook
];
dontPatchShebangs = true;
doCheck = true;
doInstallCheck = true;
env = {
COMPOSER_CACHE_DIR = "/dev/null";
COMPOSER_HTACCESS_PROTECT = "0";
};
outputHashMode = "recursive";
outputHashAlgo = "sha256";
outputHash = finalAttrs.vendorHash;
};
# Projects providing a lockfile from upstream can be automatically updated.
passthru = previousAttrs.passthru or { } // {
updateScript =
previousAttrs.passthru.updateScript
or (if finalAttrs.vendor.composerLock == null then nix-update-script { } else null);
};
env = {
COMPOSER_CACHE_DIR = "/dev/null";
COMPOSER_DISABLE_NETWORK = "1";
COMPOSER_MIRROR_PATH_REPOS = "1";
};
meta = previousAttrs.meta or composer.meta;
};
in
args: (stdenvNoCC.mkDerivation args).overrideAttrs buildComposerWithPluginOverride
@@ -83,7 +83,7 @@ composerInstallBuildHook() {
# Since this file cannot be generated in the composer-repository-hook.sh
# because the file contains hardcoded nix store paths, we generate it here.
composer-local-repo-plugin --no-ansi build-local-repo-lock -m "${composerRepository}" .
composer build-local-repo-lock -m "${composerRepository}" .
echo "Finished composerInstallBuildHook"
}
@@ -63,7 +63,7 @@ composerRepositoryBuildHook() {
# Build the local composer repository
# The command 'build-local-repo' is provided by the Composer plugin
# nix-community/composer-local-repo-plugin.
composer-local-repo-plugin --no-ansi build-local-repo-lock ${composerNoDev:+--no-dev} -r repository
composer build-local-repo-lock ${composerNoDev:+--no-dev} -r repository
echo "Finished composerRepositoryBuildHook"
}
@@ -0,0 +1,93 @@
declare composerLock
declare version
declare composerNoDev
declare composerNoPlugins
declare composerNoScripts
declare composerStrictValidation
preConfigureHooks+=(composerWithPluginConfigureHook)
preBuildHooks+=(composerWithPluginBuildHook)
preCheckHooks+=(composerWithPluginCheckHook)
preInstallHooks+=(composerWithPluginInstallHook)
preInstallCheckHooks+=(composerWithPluginInstallCheckHook)
source @phpScriptUtils@
composerWithPluginConfigureHook() {
echo "Executing composerWithPluginConfigureHook"
mkdir -p $out
export COMPOSER_HOME=$out
if [[ -e "$composerLock" ]]; then
cp $composerLock $out/composer.lock
fi
cp $composerJson $out/composer.json
cp -ar $src $out/src
if [[ ! -f "$out/composer.lock" ]]; then
setComposeRootVersion
composer \
global \
--no-install \
--no-interaction \
--no-progress \
${composerNoDev:+--no-dev} \
${composerNoPlugins:+--no-plugins} \
${composerNoScripts:+--no-scripts} \
update
echo
echo -e "\e[31mERROR: No composer.lock found\e[0m"
echo
echo -e '\e[31mNo composer.lock file found, consider adding one to your repository to ensure reproducible builds.\e[0m'
echo -e "\e[31mIn the meantime, a composer.lock file has been generated for you in $out/composer.lock\e[0m"
echo
echo -e '\e[31mTo fix the issue:\e[0m'
echo -e "\e[31m1. Copy the composer.lock file from $out/composer.lock to the project's source:\e[0m"
echo -e "\e[31m cp $out/composer.lock <path>\e[0m"
echo -e '\e[31m2. Add the composerLock attribute, pointing to the copied composer.lock file:\e[0m'
echo -e '\e[31m composerLock = ./composer.lock;\e[0m'
echo
exit 1
fi
echo "Finished composerWithPluginConfigureHook"
}
composerWithPluginBuildHook() {
echo "Executing composerWithPluginBuildHook"
echo "Finished composerWithPluginBuildHook"
}
composerWithPluginCheckHook() {
echo "Executing composerWithPluginCheckHook"
checkComposerValidate
echo "Finished composerWithPluginCheckHook"
}
composerWithPluginInstallHook() {
echo "Executing composerWithPluginInstallHook"
composer \
global \
--no-interaction \
--no-progress \
${composerNoDev:+--no-dev} \
${composerNoPlugins:+--no-plugins} \
${composerNoScripts:+--no-scripts} \
install
echo "Finished composerWithPluginInstallHook"
}
composerWithPluginInstallCheckHook() {
composer global show $pluginName
}
@@ -42,4 +42,19 @@ in
phpScriptUtils = lib.getExe php-script-utils;
};
} ./composer-install-hook.sh;
composerWithPluginVendorHook = makeSetupHook {
name = "composer-with-plugin-vendor-hook.sh";
propagatedBuildInputs = [
jq
moreutils
cacert
];
substitutions = {
# Specify the stdenv's `diff` by abspath to ensure that the user's build
# inputs do not cause us to find the wrong `diff`.
cmp = "${lib.getBin buildPackages.diffutils}/bin/cmp";
phpScriptUtils = lib.getExe php-script-utils;
};
} ./composer-with-plugin-vendor-hook.sh;
}
@@ -1,5 +1,6 @@
declare version
declare composerStrictValidation
declare composerGlobal
setComposeRootVersion() {
set +e # Disable exit on error
@@ -13,7 +14,16 @@ setComposeRootVersion() {
}
checkComposerValidate() {
if ! composer validate --strict --no-ansi --no-interaction --quiet --no-check-all --no-check-lock; then
setComposeRootVersion
if [ "1" == "${composerGlobal-}" ]; then
global="global";
else
global="";
fi
command="composer ${global} validate --strict --quiet --no-interaction --no-check-all --no-check-lock"
if ! $command; then
if [ "1" == "${composerStrictValidation-}" ]; then
echo
echo -e "\e[31mERROR: composer files validation failed\e[0m"
@@ -42,7 +52,8 @@ checkComposerValidate() {
fi
fi
if ! composer validate --strict --no-ansi --no-interaction --quiet --no-check-all --check-lock; then
command="composer ${global} validate --strict --no-ansi --no-interaction --quiet --no-check-all --check-lock"
if ! $command; then
if [ "1" == "${composerStrictValidation-}" ]; then
echo
echo -e "\e[31mERROR: composer files validation failed\e[0m"
@@ -1,116 +0,0 @@
{
php,
callPackage,
stdenvNoCC,
lib,
fetchFromGitHub,
makeBinaryWrapper,
}:
let
composer = callPackage ./composer-phar.nix { inherit (php.packages.composer) version pharHash; };
composerKeys = stdenvNoCC.mkDerivation (finalComposerKeysAttrs: {
pname = "composer-keys";
version = "fa5a62092f33e094073fbda23bbfc7188df3cbc5";
src = fetchFromGitHub {
owner = "composer";
repo = "composer.github.io";
rev = "${finalComposerKeysAttrs.version}";
hash = "sha256-3Sfn71LDG1jHwuEIU8iEnV3k6D6QTX7KVIKVaNSuCVE=";
};
installPhase = ''
runHook preInstall
mkdir -p $out
install releases.pub $out/keys.tags.pub
install snapshots.pub $out/keys.dev.pub
runHook postInstall
'';
});
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "composer-local-repo-plugin";
version = "1.1.0";
src = fetchFromGitHub {
owner = "nix-community";
repo = "composer-local-repo-plugin";
rev = finalAttrs.version;
hash = "sha256-edbn07r/Uc1g0qOuVBZBs6N1bMN5kIfA1b4FCufdw5M=";
};
env = {
COMPOSER_CACHE_DIR = "/dev/null";
COMPOSER_MIRROR_PATH_REPOS = "1";
COMPOSER_HTACCESS_PROTECT = "0";
COMPOSER_DISABLE_NETWORK = "1";
};
nativeBuildInputs = [ makeBinaryWrapper ];
buildInputs = [ composer ];
configurePhase = ''
runHook preConfigure
export COMPOSER_HOME=${placeholder "out"}
runHook postConfigure
'';
buildPhase = ''
runHook preBuild
# Configure composer globally
composer global init --quiet --no-interaction --no-ansi \
--name="nixos/composer" \
--homepage "https://nixos.org/" \
--description "Composer with nix-community/composer-local-repo-plugin" \
--license "MIT"
composer global config --quiet minimum-stability dev
composer global config --quiet prefer-stable true
composer global config --quiet apcu-autoloader false
composer global config --quiet allow-plugins.nix-community/composer-local-repo-plugin true
composer global config --quiet repo.packagist false
composer global config --quiet repo.plugin path $src
# Install the local repository plugin
composer global require --quiet --no-ansi --no-interaction nix-community/composer-local-repo-plugin
runHook postBuild
'';
checkPhase = ''
runHook preCheck
composer global validate --no-ansi
composer global show --no-ansi nix-community/composer-local-repo-plugin
runHook postCheck
'';
installPhase = ''
runHook preInstall
mkdir -p $out
cp -ar ${composerKeys}/* $out/
makeWrapper ${composer}/bin/composer $out/bin/composer-local-repo-plugin \
--prefix COMPOSER_HOME : $out
runHook postInstall
'';
meta = {
description = "Composer local repo plugin for Composer";
homepage = "https://github.com/nix-community/composer-local-repo-plugin";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ drupol ];
platforms = lib.platforms.all;
};
})
@@ -1,6 +1,5 @@
{
_7zz,
cacert,
curl,
fetchurl,
git,
@@ -37,7 +36,6 @@ stdenvNoCC.mkDerivation (finalAttrs: {
--prefix PATH : ${
lib.makeBinPath [
_7zz
cacert
curl
git
unzip
+49
View File
@@ -0,0 +1,49 @@
{ lib,
fetchFromGitHub,
rustPlatform,
bc,
makeWrapper,
runCommand,
amber-lang
}:
rustPlatform.buildRustPackage rec {
pname = "amber-lang";
version = "0.3.1-alpha";
src = fetchFromGitHub {
owner = "Ph0enixKM";
repo = "Amber";
rev = version;
hash = "sha256-VSlLPgoi+KPnUQJEb6m0VZQVs1zkxEnfqs3fAp8m1o4=";
};
cargoHash = "sha256-NzcyX/1yeFcI80pNxx/OTkaI82qyQFJW8U0vPbqSU7g=";
buildInputs = [ makeWrapper ];
nativeCheckInputs = [ bc ];
preConfigure = ''
substituteInPlace src/compiler.rs \
--replace-fail "/bin/bash" "bash"
'';
postInstall = ''
wrapProgram "$out/bin/amber" --prefix PATH : "${lib.makeBinPath [bc]}"
'';
passthru.tests.run = runCommand "amber-lang-eval-test" { nativeBuildInputs = [ amber-lang ]; } ''
diff -U3 --color=auto <(amber -e 'echo "Hello, World"') <(echo 'Hello, World')
touch $out
'';
meta = with lib; {
description = "Programming language compiled to bash";
homepage = "https://amber-lang.com";
license = licenses.gpl3Plus;
mainProgram = "amber";
maintainers = with maintainers; [ cafkafk uncenter ];
platforms = platforms.unix;
};
}
@@ -0,0 +1,124 @@
{ stdenv
, lib
, gitUpdater
, fetchFromGitHub
, nixosTests
, accountsservice
, cmake
, cppcheck
, dbus
, geoclue2
, glib
, gsettings-desktop-schemas
, gtest
, intltool
, libayatana-common
, libgudev
, libqtdbusmock
, libqtdbustest
, libsForQt5
, lomiri
, mate
, pkg-config
, properties-cpp
, python3
, systemd
, wrapGAppsHook3
, xsct
}:
stdenv.mkDerivation (finalAttrs: {
pname = "ayatana-indicator-display";
version = "24.5.0";
src = fetchFromGitHub {
owner = "AyatanaIndicators";
repo = "ayatana-indicator-display";
rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-ZEmJJtVK1dHIrY0C6pqVu1N5PmQtYqX0K5v5LvzNfFA=";
};
postPatch = ''
# Replace systemd prefix in pkg-config query, use GNUInstallDirs location for /etc
substituteInPlace data/CMakeLists.txt \
--replace-fail 'pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir)' 'pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir DEFINE_VARIABLES prefix=''${CMAKE_INSTALL_PREFIX})' \
--replace-fail 'DESTINATION "/etc' 'DESTINATION "''${CMAKE_INSTALL_FULL_SYSCONFDIR}'
# Hardcode xsct path
substituteInPlace src/service.cpp \
--replace-fail 'sCommand = g_strdup_printf ("xsct' 'sCommand = g_strdup_printf ("${lib.getExe xsct}'
'';
strictDeps = true;
nativeBuildInputs = [
cmake
glib # for schema discovery
intltool
pkg-config
wrapGAppsHook3
];
# TODO Can we get around requiring every desktop's schemas just to avoid segfaulting on some systems?
buildInputs = [
accountsservice
geoclue2
gsettings-desktop-schemas # gnome schemas
glib
libayatana-common
libgudev
libsForQt5.qtbase
systemd
] ++ (with lomiri; [
cmake-extras
lomiri-schemas # lomiri schema
]) ++ (with mate; [
mate.marco # marco schema
mate.mate-settings-daemon # mate mouse schema
]);
nativeCheckInputs = [
cppcheck
dbus
(python3.withPackages (ps: with ps; [
python-dbusmock
]))
];
checkInputs = [
gtest
libqtdbusmock
libqtdbustest
properties-cpp
];
dontWrapQtApps = true;
cmakeFlags = [
(lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck)
(lib.cmakeBool "ENABLE_COLOR_TEMP" true)
(lib.cmakeBool "GSETTINGS_LOCALINSTALL" true)
(lib.cmakeBool "GSETTINGS_COMPILE" true)
];
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
passthru = {
ayatana-indicators = [ "ayatana-indicator-display" ];
tests.vm = nixosTests.ayatana-indicators;
updateScript = gitUpdater { };
};
meta = with lib; {
description = "Ayatana Indicator for Display configuration";
longDescription = ''
This Ayatana Indicator is designed to be placed on the right side of a
panel and give the user easy control for changing their display settings.
'';
homepage = "https://github.com/AyatanaIndicators/ayatana-indicator-display";
changelog = "https://github.com/AyatanaIndicators/ayatana-indicator-display/blob/${finalAttrs.version}/ChangeLog";
license = licenses.gpl3Only;
maintainers = with maintainers; [ OPNA2608 ];
platforms = platforms.linux;
};
})
@@ -0,0 +1,125 @@
{ stdenv
, lib
, gitUpdater
, fetchFromGitHub
, nixosTests
, accountsservice
, cmake
, dbus
, dbus-test-runner
, glib
, gobject-introspection
, gtest
, intltool
, libayatana-common
, libgee
, libnotify
, libpulseaudio
, libqtdbusmock
, libqtdbustest
, libsForQt5
, libxml2
, lomiri
, pkg-config
, python3
, systemd
, vala
, wrapGAppsHook3
}:
stdenv.mkDerivation (finalAttrs: {
pname = "ayatana-indicator-sound";
version = "24.4.0";
src = fetchFromGitHub {
owner = "AyatanaIndicators";
repo = "ayatana-indicator-sound";
rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-2B2CFUjDvBpZ8R4fnGDViS3pXO1L0kP1tnJCtqKeLaQ=";
};
postPatch = ''
# Replace systemd prefix in pkg-config query, use GNUInstallDirs location for /etc
substituteInPlace data/CMakeLists.txt \
--replace-fail 'pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir)' 'pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir DEFINE_VARIABLES prefix=''${CMAKE_INSTALL_PREFIX})' \
--replace-fail 'DESTINATION "/etc' 'DESTINATION "''${CMAKE_INSTALL_FULL_SYSCONFDIR}'
# Build-time Vala codegen
substituteInPlace src/CMakeLists.txt \
--replace-fail '/usr/share/gir-1.0/AccountsService-1.0.gir' '${lib.getDev accountsservice}/share/gir-1.0/AccountsService-1.0.gir'
'';
strictDeps = true;
nativeBuildInputs = [
cmake
gobject-introspection
intltool
libpulseaudio # vala files(?)
pkg-config
vala
wrapGAppsHook3
];
buildInputs = [
accountsservice
glib
gobject-introspection
libayatana-common
libgee
libnotify
libpulseaudio
libxml2
systemd
] ++ (with lomiri; [
cmake-extras
lomiri-api
lomiri-schemas
]);
nativeCheckInputs = [
dbus
(python3.withPackages (ps: with ps; [
python-dbusmock
]))
];
checkInputs = [
dbus-test-runner
gtest
libsForQt5.qtbase
libqtdbusmock
libqtdbustest
lomiri.gmenuharness
];
cmakeFlags = [
(lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck)
(lib.cmakeBool "ENABLE_LOMIRI_FEATURES" true)
(lib.cmakeBool "GSETTINGS_LOCALINSTALL" true)
(lib.cmakeBool "GSETTINGS_COMPILE" true)
];
dontWrapQtApps = true;
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
passthru = {
ayatana-indicators = [ "ayatana-indicator-sound" ];
tests.vm = nixosTests.ayatana-indicators;
updateScript = gitUpdater { };
};
meta = with lib; {
description = "Ayatana Indicator for managing system sound";
longDescription = ''
Ayatana Indicator Sound that provides easy control of the PulseAudio
sound daemon.
'';
homepage = "https://github.com/AyatanaIndicators/ayatana-indicator-sound";
changelog = "https://github.com/AyatanaIndicators/ayatana-indicator-sound/blob/${finalAttrs.version}/ChangeLog";
license = licenses.gpl3Only;
maintainers = with maintainers; [ OPNA2608 ];
platforms = platforms.linux;
};
})
+36 -90
View File
@@ -3,27 +3,30 @@
{ fetchNuGet }: [
(fetchNuGet { pname = "Azure.Bicep.Internal.RoslynAnalyzers"; version = "0.1.38"; sha256 = "1b13vbl0y851nr7rfhyxc0djihxfr7xv010f9zvvbibyz5wqis7v"; })
(fetchNuGet { pname = "Azure.Bicep.Types"; version = "0.5.6"; sha256 = "0kzyy21jvhc6gy24w9sfb6ic0pg22j8y6s23q8ls0i15qf3rng77"; })
(fetchNuGet { pname = "Azure.Bicep.Types.Az"; version = "0.2.677"; sha256 = "1wgng31pfm272yipigjz24ky2qfrq7mfj9fx0wbyr3q8g6cascnp"; })
(fetchNuGet { pname = "Azure.Bicep.Types"; version = "0.5.9"; sha256 = "02v5jzrap5flk5r6jwbw3mzvkxb51kmz4g71j2nnikqgnc4v5dh2"; })
(fetchNuGet { pname = "Azure.Bicep.Types.Az"; version = "0.2.686"; sha256 = "08yv067s9cccr7brsw85mdgbq0cyw39vmbmfxcvhhnvrgd7g4mgf"; })
(fetchNuGet { pname = "Azure.Bicep.Types.K8s"; version = "0.1.626"; sha256 = "1c07igq6jqxkg9iln452fnng2n6ddd0008vb5lgbzdpgp1amz2ji"; })
(fetchNuGet { pname = "Azure.Containers.ContainerRegistry"; version = "1.1.1"; sha256 = "0hn6mq1bffcq7d5w4rj4ffdxb3grvymzrpyl1qrbxksqpfbd0bh4"; })
(fetchNuGet { pname = "Azure.Core"; version = "1.36.0"; sha256 = "14lsc6zik7s5by3gp86pf77wh58fcqrjy2xhx5p03gmhdn6iz2cn"; })
(fetchNuGet { pname = "Azure.Deployments.Core"; version = "1.0.1158"; sha256 = "07bjwmal3qy23axa9g0gsc5qdajypvbpys15k8y05gnflz85rqzy"; })
(fetchNuGet { pname = "Azure.Deployments.Expression"; version = "1.0.1158"; sha256 = "1kn515apm33fmrdz8v9y8ac2w83cbbvf74w2grrl1aimg5n4qjsb"; })
(fetchNuGet { pname = "Azure.Core"; version = "1.38.0"; sha256 = "1rnnip757kdzipfvrz9qc730mpkcq8r36lspwx20p0s9hss8qdc3"; })
(fetchNuGet { pname = "Azure.Core"; version = "1.39.0"; sha256 = "0b36vi12pzqls6ad1dwzc8zq8wb07rkg2y52divl8gh2za43x5wp"; })
(fetchNuGet { pname = "Azure.Deployments.Core"; version = "1.0.1243.1"; sha256 = "18lh45y9axc494hpxdp8w6d8c92n8m6k4lqjyh4znd2mcmm57wbz"; })
(fetchNuGet { pname = "Azure.Deployments.Expression"; version = "1.0.1243.1"; sha256 = "1shk9amp9d3v6lbf2s0j1fxf5xm468fvphhnni95v6w2cpv1fdv8"; })
(fetchNuGet { pname = "Azure.Deployments.Internal.GenerateNotice"; version = "0.1.38"; sha256 = "00jzm0c1ch24mh50hqmzs2jxda929zg1j1dgnhs5gbsyk7zjlvrd"; })
(fetchNuGet { pname = "Azure.Deployments.Templates"; version = "1.0.1158"; sha256 = "1zww735mbw1jswd3l8m7y48giqkcxn9v1fy9g6kp3c4dr97519wq"; })
(fetchNuGet { pname = "Azure.Identity"; version = "1.10.4"; sha256 = "0w345hzp43wbs5f5qk1y7wmyp11cayphnycpflil5ayvvz2jjfn2"; })
(fetchNuGet { pname = "Azure.ResourceManager"; version = "1.9.0"; sha256 = "143rv7rq16q4b4fhh3yjjc5r4g226jhpl6ngwvr69kbbxhw0n618"; })
(fetchNuGet { pname = "Azure.ResourceManager.Resources"; version = "1.7.0"; sha256 = "1hjbb607fxb26c7bxx1lc3v50hxmv446klg7c1k89a7wkiqgvmh9"; })
(fetchNuGet { pname = "coverlet.collector"; version = "6.0.1"; sha256 = "12xiib5p8f4aj9gz0jn6s96lsa172qi92j46rrb39sidh0mbbdil"; })
(fetchNuGet { pname = "Azure.Deployments.Templates"; version = "1.0.1243.1"; sha256 = "11glwwxq9xzi3vrnqx833dry9n6ykspf6gfab0g23d8fygd5d2rf"; })
(fetchNuGet { pname = "Azure.Identity"; version = "1.11.2"; sha256 = "1zb18p50l24nr9v0srywqq5cx6xbyrlcib1i244z9vmi1qkjia2h"; })
(fetchNuGet { pname = "Azure.ResourceManager"; version = "1.11.1"; sha256 = "0vfp2rs4r9x3zkvw0za8q6xz3rrb8nywjd1137rpbpy0zx7qnbry"; })
(fetchNuGet { pname = "Azure.ResourceManager.Resources"; version = "1.7.2"; sha256 = "1cw732wpixh4vrlznc70ld3d1hrw6smk57ar8imh4l7jvd9fn041"; })
(fetchNuGet { pname = "coverlet.collector"; version = "6.0.2"; sha256 = "0fll8yssdzi2wv8l26qz2zl0qqrp5nlbdqxjwfh5p356nd991m1d"; })
(fetchNuGet { pname = "FluentAssertions"; version = "6.12.0"; sha256 = "04fhn67930zv3i0d8xbrbw5vwz99c83bbvgdwqiir55vw5xlys9c"; })
(fetchNuGet { pname = "Humanizer.Core"; version = "2.14.1"; sha256 = "1ai7hgr0qwd7xlqfd92immddyi41j3ag91h3594yzfsgsy6yhyqi"; })
(fetchNuGet { pname = "IPNetwork2"; version = "2.6.598"; sha256 = "03nxkiwy1bxgpv5n1lfd06grdyjc10a3k9gyc04rhzysjsswiy0l"; })
(fetchNuGet { pname = "JetBrains.Annotations"; version = "2023.3.0"; sha256 = "0vp4mpn6gfckn8grzjm1jxlbqiq2fglm2rk9wq787adw7rxs8k7w"; })
(fetchNuGet { pname = "Json.More.Net"; version = "1.8.0"; sha256 = "1jlcmgn3pw4jzk9ys6jhkbigfdn9rrrb0wb2v0yxi5wv82arviq5"; })
(fetchNuGet { pname = "Json.More.Net"; version = "1.9.2"; sha256 = "1w5xascr03iv7830vdrlpxjrxiabypaqkkcij118lfm41pqhw8b7"; })
(fetchNuGet { pname = "JsonPatch.Net"; version = "2.1.0"; sha256 = "0ckz04108p7j8gzqs61bkvlbxfbqvbr19aykmkbbw44inr9azxai"; })
(fetchNuGet { pname = "JsonPath.Net"; version = "0.7.0"; sha256 = "0lv9w9m8327hyjzqbl2mwv61zsimc8b114nc67jwv0lm9v29skm0"; })
(fetchNuGet { pname = "JsonPointer.Net"; version = "3.0.1"; sha256 = "109q63pdsxdiy4rwj4qm1rj1cadxhksw3ik1frsrn2clkpj4lwks"; })
(fetchNuGet { pname = "Json.More.Net"; version = "2.0.1.1"; sha256 = "0i6w5n075qhawqr832hl8bzsdspwkfkmfnnv94c9ilq06srvy1gc"; })
(fetchNuGet { pname = "Json.More.Net"; version = "2.0.1.2"; sha256 = "1fzw9d55hvynrwz01gj0xv6ybjm7nsrm2vxqy6d15wr75w3pyyky"; })
(fetchNuGet { pname = "JsonPatch.Net"; version = "3.0.0.2"; sha256 = "1pi7qvjpndgxiipn21hbqf0f5ff1rijhqkcjag8pg3lcyrlm1vnl"; })
(fetchNuGet { pname = "JsonPath.Net"; version = "1.0.1.2"; sha256 = "0br6k35mwc1nisvma5izpig5mc8390fly12sics6yi82xyvhgqx5"; })
(fetchNuGet { pname = "JsonPointer.Net"; version = "4.0.1.3"; sha256 = "06yvdiwz4j8rg42wlvlflaiq2qyhcm5r3x7gczjvfihfsydvj09f"; })
(fetchNuGet { pname = "MessagePack"; version = "2.5.108"; sha256 = "0cnaz28lhrdmavnxjkakl9q8p2yv8mricvp1b0wxdfnz8v41gwzs"; })
(fetchNuGet { pname = "MessagePack.Annotations"; version = "2.5.108"; sha256 = "0nb1fx8dwl7304kw0bc375bvlhb7pg351l4cl3vqqd7d8zqjwx5v"; })
(fetchNuGet { pname = "Microsoft.ApplicationInsights"; version = "2.21.0"; sha256 = "1q034jbqkxb8lddkd0ijp0wp0ymnnf3bg2mjpay027zv7jswnc4x"; })
@@ -39,7 +42,7 @@
(fetchNuGet { pname = "Microsoft.Diagnostics.Tracing.TraceEvent"; version = "3.1.3"; sha256 = "1bappkn6vzaaq5yw9fzhds2gz557bhgmxvh38ifw6l39jkar2lii"; })
(fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "8.0.0"; sha256 = "080kab87qgq2kh0ijry5kfdiq9afyzb8s0k3jqi5zbbi540yq4zl"; })
(fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "8.0.0"; sha256 = "1jlpa4ggl1gr5fs7fdcw04li3y3iy05w3klr9lrrlc7v8w76kq71"; })
(fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "8.0.0"; sha256 = "1m0gawiz8f5hc3li9vd5psddlygwgkiw13d7div87kmkf4idza8r"; })
(fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "8.0.1"; sha256 = "0w5w0h1clv7585qkajy0vqb28blghhcv5j9ygfi13219idhx10r9"; })
(fetchNuGet { pname = "Microsoft.Extensions.Configuration.FileExtensions"; version = "8.0.0"; sha256 = "1jrmlfzy4h32nzf1nm5q8bhkpx958b0ww9qx1k1zm4pyaf6mqb04"; })
(fetchNuGet { pname = "Microsoft.Extensions.Configuration.Json"; version = "8.0.0"; sha256 = "1n3ss26v1lq6b69fxk1vz3kqv9ppxq8ypgdqpd7415xrq66y4bqn"; })
(fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "8.0.0"; sha256 = "0i7qziz0iqmbk8zzln7kx9vd0lbx1x3va0yi3j1bgkjir13h78ps"; })
@@ -52,18 +55,19 @@
(fetchNuGet { pname = "Microsoft.Extensions.ObjectPool"; version = "5.0.10"; sha256 = "07fk669pjydkcg6bxxv7aj548fzab4yb7ba8370d719lgi9y425l"; })
(fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "8.0.0"; sha256 = "0p50qn6zhinzyhq9sy5svnmqqwhw2jajs2pbjh9sah504wjvhscz"; })
(fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "8.0.0"; sha256 = "0aldaz5aapngchgdr7dax9jw5wy7k7hmjgjpfgfv1wfif27jlkqm"; })
(fetchNuGet { pname = "Microsoft.Graph.Bicep.Types"; version = "0.1.3-preview"; sha256 = "0y910m1gw4sn41qskhxf9lwhvqlg9wnpyj2frzj7nbgyxwdljrqk"; })
(fetchNuGet { pname = "Microsoft.Identity.Client"; version = "4.56.0"; sha256 = "0rwyj8qagx93ys67a8k878ib3zdcrjb3jrl0aif3i8a0knwpsxxx"; })
(fetchNuGet { pname = "Microsoft.Identity.Client.Extensions.Msal"; version = "4.56.0"; sha256 = "1pcq46kfk3b1yyqr1rlk7sxd69xg0l9hrmard5nvqd7kh287l08m"; })
(fetchNuGet { pname = "Microsoft.IdentityModel.Abstractions"; version = "6.22.0"; sha256 = "06495i2i9cabys4s0dkaz0rby8k47gy627v9ivp7aa3k6xmypviz"; })
(fetchNuGet { pname = "Microsoft.Graph.Bicep.Types"; version = "0.1.5-preview"; sha256 = "0k26hh1mbrchmkymhf0in7g7dpgyzn2i1dfffi58w5wi5f25gsph"; })
(fetchNuGet { pname = "Microsoft.Identity.Client"; version = "4.60.3"; sha256 = "065iifhffri8wc5i4nfbnkzjrvflav9v5bfkwvmax8f35rks1mnn"; })
(fetchNuGet { pname = "Microsoft.Identity.Client.Extensions.Msal"; version = "4.60.3"; sha256 = "19l92ynvrhb76r0zpj8qhyymxgz45knyhdqr6za4s7rzbssibi08"; })
(fetchNuGet { pname = "Microsoft.IdentityModel.Abstractions"; version = "6.35.0"; sha256 = "0i6kdvqdbzynzrr4g5idx4ph4ckggsbsy0869lwa10fhmyxrh73g"; })
(fetchNuGet { pname = "Microsoft.NET.StringTools"; version = "17.4.0"; sha256 = "1smx30nq22plrn2mw4wb5vfgxk6hyx12b60c4wabmpnr81lq3nzv"; })
(fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "17.9.0"; sha256 = "1lls1fly2gr1n9n1xyl9k33l2v4pwfmylyzkq8v4v5ldnwkl1zdb"; })
(fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
(fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
(fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "3.1.0"; sha256 = "1gc1x8f95wk8yhgznkwsg80adk1lc65v9n5rx4yaa4bc5dva0z3j"; })
(fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; })
(fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; })
(fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
(fetchNuGet { pname = "Microsoft.PowerPlatform.ResourceStack"; version = "6.0.0.1485"; sha256 = "1dszc9fhg9xpp96gx5djg2azxvfb36551malysdgxvd2r23vvfwh"; })
(fetchNuGet { pname = "Microsoft.PowerPlatform.ResourceStack"; version = "7.0.0.2007"; sha256 = "1higvig4ajwgcw6bdhxmf0s5p4gy1m69rnngdi1ik42731wrafay"; })
(fetchNuGet { pname = "Microsoft.SourceLink.Common"; version = "8.0.0"; sha256 = "0xrr8yd34ij7dqnyddkp2awfmf9qn3c89xmw2f3npaa4wnajmx81"; })
(fetchNuGet { pname = "Microsoft.SourceLink.GitHub"; version = "8.0.0"; sha256 = "1gdx7n45wwia3yvang3ls92sk3wrymqcx9p349j8wba2lyjf9m44"; })
(fetchNuGet { pname = "Microsoft.Testing.Extensions.Telemetry"; version = "1.0.2"; sha256 = "00psv2mvynd2bz8xnzvqvb32qr33glqxg4ni5j91b93k84yjy5ma"; })
@@ -75,19 +79,17 @@
(fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "17.9.0"; sha256 = "1kgsl9w9fganbm9wvlkqgk0ag9hfi58z88rkfybc6kvg78bx89ca"; })
(fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "17.9.0"; sha256 = "19ffh31a1jxzn8j69m1vnk5hyfz3dbxmflq77b8x82zybiilh5nl"; })
(fetchNuGet { pname = "Microsoft.VisualStudio.Threading"; version = "17.7.35"; sha256 = "1sr2ydgl6clnpf7axjhnffx3z2jz1zhnxfiizsv1prl26r3y52f9"; })
(fetchNuGet { pname = "Microsoft.VisualStudio.Threading.Analyzers"; version = "17.9.28"; sha256 = "0g64zn1wk96v9rj04rkcg7jwklaihj317gsdfswqg33yrcn4z5ig"; })
(fetchNuGet { pname = "Microsoft.VisualStudio.Threading.Analyzers"; version = "17.10.48"; sha256 = "00p3ywq4ppfl14l9yzxl5id5zmay8fv42b4w3ppr1b3d5ipldxhj"; })
(fetchNuGet { pname = "Microsoft.VisualStudio.Validation"; version = "17.6.11"; sha256 = "0qx4nzsx28galgzzjkgf541254d433dgxcaf7y2y1qyyxgsfjj1f"; })
(fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; })
(fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "4.7.0"; sha256 = "0bx21jjbs7l5ydyw4p6cn07chryxpmchq2nl5pirzz4l3b0q4dgs"; })
(fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "5.0.0"; sha256 = "102hvhq2gmlcbq8y2cb7hdr2dnmjzfp2k3asr1ycwrfacwyaak7n"; })
(fetchNuGet { pname = "Microsoft.Win32.Registry.AccessControl"; version = "6.0.0"; sha256 = "1c1x47c6p21l6l84kw8wvsdhnd7ifrrrl8in0bnkaq7y1va4fvsn"; })
(fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "6.0.1"; sha256 = "1map729br97ny6mqkaw5qsg55yjbfz2hskvy56qz8rf7p1bjhky2"; })
(fetchNuGet { pname = "Microsoft.Windows.Compatibility"; version = "6.0.7"; sha256 = "1b01dg77mw2ih3dy5sajjvqd89zv4yjqffmb8gs7dpzwnncin91d"; })
(fetchNuGet { pname = "MSTest.TestAdapter"; version = "3.2.2"; sha256 = "14nrxg1cd3lzaxw7zz8z91168sgnsf1xxnrpdy7wkd6ggk22hi19"; })
(fetchNuGet { pname = "MSTest.TestFramework"; version = "3.2.2"; sha256 = "0igdrjr300bqz5lnibf9vl8pkaky1l27f889gza3a9xs83mpd06p"; })
(fetchNuGet { pname = "MSTest.TestFramework"; version = "3.3.1"; sha256 = "1k706rfifdx28kxhnqpfhfc79zvzd7wnyqvf3g6r27p9ramzw3j9"; })
(fetchNuGet { pname = "Nerdbank.GitVersioning"; version = "3.6.133"; sha256 = "1cdw8krvsnx0n34f7fm5hiiy7bs6h3asvncqcikc0g46l50w2j80"; })
(fetchNuGet { pname = "Nerdbank.Streams"; version = "2.10.69"; sha256 = "1klsyly7k1xhbhrpq2s2iwdlmw3xyvh51rcakfazwxkv2hm5fj3b"; })
(fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; })
(fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.1"; sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb"; })
(fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.3"; sha256 = "0xrwysmrn4midrjal8g2hr1bbg38iyisl0svamb11arqws4w2bw7"; })
(fetchNuGet { pname = "Newtonsoft.Json"; version = "9.0.1"; sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r"; })
@@ -96,7 +98,6 @@
(fetchNuGet { pname = "runtime.any.System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "1wl76vk12zhdh66vmagni66h5xbhgqq7zkdpgw21jhxhvlbcl8pk"; })
(fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; })
(fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; })
(fetchNuGet { pname = "runtime.any.System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1ghhhk5psqxcg6w88sxkqrc35bxcz27zbqm2y5p5298pv3v7g201"; })
(fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; })
(fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; })
(fetchNuGet { pname = "runtime.any.System.Reflection.Extensions"; version = "4.3.0"; sha256 = "0zyri97dfc5vyaz9ba65hjj1zbcrzaffhsdlpxc9bh09wy22fq33"; })
@@ -108,7 +109,6 @@
(fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.3.0"; sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; })
(fetchNuGet { pname = "runtime.any.System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8"; })
(fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; })
(fetchNuGet { pname = "runtime.any.System.Threading.Timer"; version = "4.3.0"; sha256 = "0aw4phrhwqz9m61r79vyfl5la64bjxj8l34qnrcwb28v49fg2086"; })
(fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; })
(fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; })
(fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; })
@@ -117,42 +117,32 @@
(fetchNuGet { pname = "runtime.linux-x64.runtime.native.System.IO.Ports"; version = "6.0.0"; sha256 = "0ss8fzqnvxps1ybfy70fj4vs2w78mizg4sxdriw8bvcdcfsv0rg2"; })
(fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; })
(fetchNuGet { pname = "runtime.native.System.Data.SqlClient.sni"; version = "4.7.0"; sha256 = "1b84b8rkwwwgvx1hh5r6icd975rl1ry3bc1xb87br2d8k433wgbj"; })
(fetchNuGet { pname = "runtime.native.System.IO.Compression"; version = "4.3.0"; sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d"; })
(fetchNuGet { pname = "runtime.native.System.IO.Ports"; version = "6.0.0"; sha256 = "0nl8z42aiqfz0v4h1lx84jz312n1f01rlr2kzd7yfiv7p7i1dl3w"; })
(fetchNuGet { pname = "runtime.native.System.Net.Http"; version = "4.3.0"; sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk"; })
(fetchNuGet { pname = "runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q"; })
(fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; })
(fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; })
(fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; })
(fetchNuGet { pname = "runtime.osx-arm64.runtime.native.System.IO.Ports"; version = "6.0.0"; sha256 = "114swwc99lg4zjzywfcfxvbxynrlh9pvgl1wpihf88jbs2mjicw5"; })
(fetchNuGet { pname = "runtime.osx-x64.runtime.native.System.IO.Ports"; version = "6.0.0"; sha256 = "1kwip1pj1xaqrlkf5flkk30zn2lg4821g64nfj1glpjjcj49b3wv"; })
(fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi"; })
(fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; })
(fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; })
(fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; })
(fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; })
(fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; })
(fetchNuGet { pname = "runtime.unix.Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0y61k9zbxhdi0glg154v30kkq7f8646nif8lnnxbvkjpakggd5id"; })
(fetchNuGet { pname = "runtime.unix.System.Console"; version = "4.3.0"; sha256 = "1pfpkvc6x2if8zbdzg9rnc5fx51yllprl8zkm5npni2k50lisy80"; })
(fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; })
(fetchNuGet { pname = "runtime.unix.System.IO.FileSystem"; version = "4.3.0"; sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix"; })
(fetchNuGet { pname = "runtime.unix.System.Net.Primitives"; version = "4.3.0"; sha256 = "0bdnglg59pzx9394sy4ic66kmxhqp8q8bvmykdxcbs5mm0ipwwm4"; })
(fetchNuGet { pname = "runtime.unix.System.Net.Sockets"; version = "4.3.0"; sha256 = "03npdxzy8gfv035bv1b9rz7c7hv0rxl5904wjz51if491mw0xy12"; })
(fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; })
(fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; })
(fetchNuGet { pname = "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni"; version = "4.4.0"; sha256 = "07byf1iyqb7jkb17sp0mmjk46fwq6fx8mlpzywxl7qk09sma44gk"; })
(fetchNuGet { pname = "runtime.win-x64.runtime.native.System.Data.SqlClient.sni"; version = "4.4.0"; sha256 = "0167s4mpq8bzk3y11pylnynzjr2nc84w96al9x4l8yrf34ccm18y"; })
(fetchNuGet { pname = "runtime.win-x86.runtime.native.System.Data.SqlClient.sni"; version = "4.4.0"; sha256 = "0k3rkfrlm9jjz56dra61jgxinb8zsqlqzik2sjwz7f8v6z6ddycc"; })
(fetchNuGet { pname = "Sarif.Sdk"; version = "4.4.0"; sha256 = "0860mqyzcckvfg1air1pva5v9npzq6d2cn8bds8zqxg06jxq9gvy"; })
(fetchNuGet { pname = "SharpYaml"; version = "2.1.0"; sha256 = "05qrppbhfyikv94vnzpb7x1y6yd3znkr8pc0vsmdgca6z6jsy2lq"; })
(fetchNuGet { pname = "StreamJsonRpc"; version = "2.17.8"; sha256 = "187zkhi7a81idma7gw072xxsikmvadkxszl48qzffsqzjz8y2wxb"; })
(fetchNuGet { pname = "System.AppContext"; version = "4.3.0"; sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; })
(fetchNuGet { pname = "Sarif.Sdk"; version = "4.5.4"; sha256 = "0bw2r6qndqj49x2g90rxyp966mdzik9355jgjan6ijib1rad2z2w"; })
(fetchNuGet { pname = "SharpYaml"; version = "2.1.1"; sha256 = "171s60qpqj5r7krkn2zq6fg6f09ixsd5czrw91qm5lg3vpvknar9"; })
(fetchNuGet { pname = "StreamJsonRpc"; version = "2.17.11"; sha256 = "1y6pr2lcpqbwian0iiyf9bagwyx0l7dbarazk3cyah1fl3rrjaqd"; })
(fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; })
(fetchNuGet { pname = "System.ClientModel"; version = "1.0.0"; sha256 = "0rhbabgfnxx6qcaxq218h5si4gbq6sn4rgg6cn9bgw6rrzcgnxn8"; })
(fetchNuGet { pname = "System.CodeDom"; version = "6.0.0"; sha256 = "1i55cxp8ycc03dmxx4n22qi6jkwfl23cgffb95izq7bjar8avxxq"; })
(fetchNuGet { pname = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; })
(fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
(fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; })
(fetchNuGet { pname = "System.Collections.Immutable"; version = "1.5.0"; sha256 = "1d5gjn5afnrf461jlxzawcvihz195gayqpcfbv6dd7pxa9ialn06"; })
(fetchNuGet { pname = "System.Collections.Immutable"; version = "1.6.0"; sha256 = "1pbxzdz3pwqyybzv5ff2b7nrc281bhg7hq34w0fn1w3qfgrbwyw2"; })
(fetchNuGet { pname = "System.Collections.Immutable"; version = "5.0.0"; sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r"; })
(fetchNuGet { pname = "System.Collections.Immutable"; version = "7.0.0"; sha256 = "1n9122cy6v3qhsisc9lzwa1m1j62b8pi2678nsmnlyvfpk0zdagm"; })
@@ -160,20 +150,16 @@
(fetchNuGet { pname = "System.ComponentModel.Composition.Registration"; version = "6.0.0"; sha256 = "1lv5b42lssrkzbk2fz9phmdgwmqzi2n3yg3rl081q661nij3vv1l"; })
(fetchNuGet { pname = "System.Configuration.ConfigurationManager"; version = "4.4.0"; sha256 = "1hjgmz47v5229cbzd2pwz2h0dkq78lb2wp9grx8qr72pb5i0dk7v"; })
(fetchNuGet { pname = "System.Configuration.ConfigurationManager"; version = "6.0.1"; sha256 = "1d6cx49fzycbl2fam8d1j3491sqx6mh7qkb5ddrawr00x74hgzak"; })
(fetchNuGet { pname = "System.Console"; version = "4.3.0"; sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay"; })
(fetchNuGet { pname = "System.Data.Odbc"; version = "6.0.1"; sha256 = "12g9fzx6y5gb1bb5lyfxin1d5snw69pdwv481x13m6qhkfhk3lx4"; })
(fetchNuGet { pname = "System.Data.OleDb"; version = "6.0.0"; sha256 = "0cbf6qw7k13rjrk5zfd158yri023ryaifd6fz5cbqgwdg4vpnvpz"; })
(fetchNuGet { pname = "System.Data.SqlClient"; version = "4.8.5"; sha256 = "17g5snnjf4fy67ayqj8vqa4vz916njffahbc365z37l5v0w7g92a"; })
(fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.0.11"; sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; })
(fetchNuGet { pname = "System.Data.SqlClient"; version = "4.8.6"; sha256 = "153wgkb8gcbqk00zsdj8lw8d4ms60h6k08n57yiyxlyyimrg5ks1"; })
(fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; })
(fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.3.0"; sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; })
(fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "5.0.0"; sha256 = "0phd2qizshjvglhzws1jd0cq4m54gscz4ychzr3x6wbgl4vvfrga"; })
(fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "6.0.1"; sha256 = "17h8bkcv0vf9a7gp9ajkd107zid98wql5kzlzwrjm5nm92nk0bsy"; })
(fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "7.0.2"; sha256 = "1h97ikph775gya93qsjjaka87qcygbyh1064rh1hnfcnp5xv0ipi"; })
(fetchNuGet { pname = "System.Diagnostics.EventLog"; version = "6.0.0"; sha256 = "08y1x2d5w2hnhkh9r1998pjc7r4qp0rmzax062abha85s11chifd"; })
(fetchNuGet { pname = "System.Diagnostics.PerformanceCounter"; version = "6.0.1"; sha256 = "17p5vwbgrycsrvv9a9ksxbiziy75x4s25dw71fnbw1ci5kpp8yz7"; })
(fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.0.1"; sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x"; })
(fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; })
(fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; })
(fetchNuGet { pname = "System.DirectoryServices"; version = "6.0.1"; sha256 = "17abibzqmr4amxpnbpv198qzdpb5mafn655ayisfc4mmhmyks39a"; })
(fetchNuGet { pname = "System.DirectoryServices.AccountManagement"; version = "6.0.0"; sha256 = "1hvmasf4zsjpds0q8j8k5n61lr6mqhi37bsz1m65r6fs5kx5jrfn"; })
@@ -183,36 +169,22 @@
(fetchNuGet { pname = "System.Formats.Asn1"; version = "6.0.0"; sha256 = "1vvr7hs4qzjqb37r0w1mxq7xql2b17la63jwvmgv65s1hj00g8r9"; })
(fetchNuGet { pname = "System.Globalization"; version = "4.0.11"; sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; })
(fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; })
(fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; })
(fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.3.0"; sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; })
(fetchNuGet { pname = "System.IO"; version = "4.1.0"; sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; })
(fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; })
(fetchNuGet { pname = "System.IO.Abstractions"; version = "20.0.15"; sha256 = "0lj2y0fpns0dgw9wfsx804qsm9i9g01hrdsws3pmlwzrin73ghyg"; })
(fetchNuGet { pname = "System.IO.Compression"; version = "4.3.0"; sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz"; })
(fetchNuGet { pname = "System.IO.Compression.ZipFile"; version = "4.3.0"; sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar"; })
(fetchNuGet { pname = "System.IO.Abstractions"; version = "21.0.2"; sha256 = "1mp73hkrxb83bs16458qgf7l3n20ddnfkij1pd603dr8w22j7279"; })
(fetchNuGet { pname = "System.IO.FileSystem"; version = "4.0.1"; sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1"; })
(fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; })
(fetchNuGet { pname = "System.IO.FileSystem.AccessControl"; version = "5.0.0"; sha256 = "0ixl68plva0fsj3byv76bai7vkin86s6wyzr8vcav3szl862blvk"; })
(fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.0.1"; sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; })
(fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; })
(fetchNuGet { pname = "System.IO.Packaging"; version = "6.0.0"; sha256 = "112nq0k2jc4vh71rifqqmpjxkaanxfapk7g8947jkfgq3lmfmaac"; })
(fetchNuGet { pname = "System.IO.Pipelines"; version = "7.0.0"; sha256 = "1ila2vgi1w435j7g2y7ykp2pdbh9c5a02vm85vql89az93b7qvav"; })
(fetchNuGet { pname = "System.IO.Ports"; version = "6.0.0"; sha256 = "0b0gvn7b2xsy2b0wwa170jzm5cwy3xxwpyqm21m4cbpc0ckri802"; })
(fetchNuGet { pname = "System.Linq"; version = "4.1.0"; sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; })
(fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; })
(fetchNuGet { pname = "System.Linq.Expressions"; version = "4.1.0"; sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; })
(fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; })
(fetchNuGet { pname = "System.Management"; version = "6.0.2"; sha256 = "190bxmg0y5dmzh0yv9gzh8k6safdz20gqaifpnl8v7yw3z5wcpgj"; })
(fetchNuGet { pname = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; })
(fetchNuGet { pname = "System.Memory"; version = "4.5.5"; sha256 = "08jsfwimcarfzrhlyvjjid61j02irx6xsklf32rv57x2aaikvx0h"; })
(fetchNuGet { pname = "System.Memory.Data"; version = "1.0.2"; sha256 = "1p8qdg0gzxhjvabryc3xws2629pj8w5zz2iqh86kw8sh0rann9ay"; })
(fetchNuGet { pname = "System.Net.Http"; version = "4.3.0"; sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j"; })
(fetchNuGet { pname = "System.Net.NameResolution"; version = "4.3.0"; sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq"; })
(fetchNuGet { pname = "System.Net.Primitives"; version = "4.3.0"; sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; })
(fetchNuGet { pname = "System.Net.Sockets"; version = "4.3.0"; sha256 = "1ssa65k6chcgi6mfmzrznvqaxk8jp0gvl77xhf1hbzakjnpxspla"; })
(fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; })
(fetchNuGet { pname = "System.ObjectModel"; version = "4.0.12"; sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj"; })
(fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; })
(fetchNuGet { pname = "System.Private.ServiceModel"; version = "4.9.0"; sha256 = "117vxa0pfgg6xfdxfpza4296ay7sqiaynyvfbsai43yrkh0lmch1"; })
(fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; })
(fetchNuGet { pname = "System.Reflection"; version = "4.1.0"; sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; })
@@ -220,19 +192,14 @@
(fetchNuGet { pname = "System.Reflection.Context"; version = "6.0.0"; sha256 = "1vy3b143429amaa0501xjgdszvpdygkrs5rkivnrkl69f67dad5j"; })
(fetchNuGet { pname = "System.Reflection.DispatchProxy"; version = "4.7.1"; sha256 = "10yh3q2i71gcw7c0dfz9qxql2vlvnqjav1hyf1q9rpbvdbgsabrs"; })
(fetchNuGet { pname = "System.Reflection.Emit"; version = "4.0.1"; sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp"; })
(fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; })
(fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.0.1"; sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0"; })
(fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; })
(fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.0.1"; sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr"; })
(fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; })
(fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.7.0"; sha256 = "0mbjfajmafkca47zr8v36brvknzks5a7pgb49kfq2d188pyv6iap"; })
(fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.0.1"; sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn"; })
(fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; })
(fetchNuGet { pname = "System.Reflection.Metadata"; version = "1.6.0"; sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4"; })
(fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.0.1"; sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; })
(fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; })
(fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.1.0"; sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7"; })
(fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.3.0"; sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; })
(fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.0.1"; sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi"; })
(fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; })
(fetchNuGet { pname = "System.Runtime"; version = "4.1.0"; sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; })
@@ -247,27 +214,16 @@
(fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; })
(fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.1.0"; sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1"; })
(fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; })
(fetchNuGet { pname = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.3.0"; sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii"; })
(fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.3.0"; sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; })
(fetchNuGet { pname = "System.Runtime.Serialization.Primitives"; version = "4.1.1"; sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; })
(fetchNuGet { pname = "System.Security.AccessControl"; version = "4.7.0"; sha256 = "0n0k0w44flkd8j0xw7g3g3vhw7dijfm51f75xkm1qxnbh4y45mpz"; })
(fetchNuGet { pname = "System.Security.AccessControl"; version = "5.0.0"; sha256 = "17n3lrrl6vahkqmhlpn3w20afgz09n7i6rv0r3qypngwi7wqdr5r"; })
(fetchNuGet { pname = "System.Security.AccessControl"; version = "6.0.0"; sha256 = "0a678bzj8yxxiffyzy60z2w1nczzpi8v97igr4ip3byd2q89dv58"; })
(fetchNuGet { pname = "System.Security.Claims"; version = "4.3.0"; sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn"; })
(fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.3.0"; sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; })
(fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.3.0"; sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; })
(fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.3.0"; sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; })
(fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.3.0"; sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; })
(fetchNuGet { pname = "System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc"; })
(fetchNuGet { pname = "System.Security.Cryptography.Pkcs"; version = "6.0.4"; sha256 = "0hh5h38pnxmlrnvs72f2hzzpz4b2caiiv6xf8y7fzdg84r3imvfr"; })
(fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.3.0"; sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; })
(fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "4.4.0"; sha256 = "1q8ljvqhasyynp94a1d7jknk946m20lkwy2c3wa8zw2pc517fbj6"; })
(fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "4.7.0"; sha256 = "1s1sh8k10s0apa09c5m2lkavi3ys90y657whg2smb3y8mpkfr5vm"; })
(fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "6.0.0"; sha256 = "05kd3a8w7658hjxq9vvszxip30a479fjmfq4bq1r95nrsvs4hbss"; })
(fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; })
(fetchNuGet { pname = "System.Security.Cryptography.Xml"; version = "6.0.1"; sha256 = "15d0np1njvy2ywf0qzdqyjk5sjs4zbfxg917jrvlbfwrqpqxb5dj"; })
(fetchNuGet { pname = "System.Security.Permissions"; version = "6.0.0"; sha256 = "0jsl4xdrkqi11iwmisi1r2f2qn5pbvl79mzq877gndw6ans2zhzw"; })
(fetchNuGet { pname = "System.Security.Principal"; version = "4.3.0"; sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf"; })
(fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.3.0"; sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr"; })
(fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.7.0"; sha256 = "1a56ls5a9sr3ya0nr086sdpa9qv0abv31dd6fp27maqa9zclqq5d"; })
(fetchNuGet { pname = "System.Security.Principal.Windows"; version = "5.0.0"; sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; })
(fetchNuGet { pname = "System.ServiceModel.Duplex"; version = "4.9.0"; sha256 = "0jwbpcpgxv5zar3raypgvfnwvn4bv3n212cbcgyj7r0xj33c1kqi"; })
@@ -280,21 +236,17 @@
(fetchNuGet { pname = "System.Speech"; version = "6.0.0"; sha256 = "1g7b077189x9xy4l9yrh2yfnhc83mk6aj7b0v64xdqsrsqv1z16v"; })
(fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; })
(fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; })
(fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.3.0"; sha256 = "0lgxg1gn7pg7j0f942pfdc9q7wamzxsgq3ng248ikdasxz0iadkv"; })
(fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "6.0.0"; sha256 = "0gm2kiz2ndm9xyzxgi0jhazgwslcs427waxgfa30m7yqll1kcrww"; })
(fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "8.0.0"; sha256 = "1lgdd78cik4qyvp2fggaa0kzxasw6kc9a6cjqw46siagrm0qnc3y"; })
(fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.0.11"; sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; })
(fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; })
(fetchNuGet { pname = "System.Text.Encodings.Web"; version = "4.7.2"; sha256 = "0ap286ykazrl42if59bxhzv81safdfrrmfqr3112siwyajx4wih9"; })
(fetchNuGet { pname = "System.Text.Encodings.Web"; version = "6.0.0"; sha256 = "06n9ql3fmhpjl32g3492sj181zjml5dlcc5l76xq2h38c4f87sai"; })
(fetchNuGet { pname = "System.Text.Encodings.Web"; version = "7.0.0"; sha256 = "1151hbyrcf8kyg1jz8k9awpbic98lwz9x129rg7zk1wrs6vjlpxl"; })
(fetchNuGet { pname = "System.Text.Encodings.Web"; version = "8.0.0"; sha256 = "1wbypkx0m8dgpsaqgyywz4z760xblnwalb241d5qv9kx8m128i11"; })
(fetchNuGet { pname = "System.Text.Json"; version = "4.7.2"; sha256 = "10xj1pw2dgd42anikvj9qm23ccssrcp7dpznpj4j7xjp1ikhy3y4"; })
(fetchNuGet { pname = "System.Text.Json"; version = "6.0.2"; sha256 = "1lz6gx1r4if8sbx6yp9h0mi0g9ffr40x0cg518l0z2aiqgil3fk0"; })
(fetchNuGet { pname = "System.Text.Json"; version = "7.0.3"; sha256 = "0zjrnc9lshagm6kdb9bdh45dmlnkpwcpyssa896sda93ngbmj8k9"; })
(fetchNuGet { pname = "System.Text.Json"; version = "8.0.0"; sha256 = "134savxw0sq7s448jnzw17bxcijsi1v38mirpbb6zfxmqlf04msw"; })
(fetchNuGet { pname = "System.Text.Json"; version = "8.0.2"; sha256 = "1pi1dkypmn34qqspvwfcp1fx78v0nh78dpdyj4rcaa2qch40y15r"; })
(fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.1.0"; sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7"; })
(fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.3.0"; sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; })
(fetchNuGet { pname = "System.Threading"; version = "4.0.11"; sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls"; })
(fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; })
(fetchNuGet { pname = "System.Threading.AccessControl"; version = "6.0.0"; sha256 = "1f036x8994yqz13a1cx6vvzd2bqzwy4mchn1pgfsybaw1xa10jk6"; })
@@ -302,17 +254,11 @@
(fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; })
(fetchNuGet { pname = "System.Threading.Tasks.Dataflow"; version = "7.0.0"; sha256 = "0ham9l8xrmlq2qwin53n82iz1wanci2h695i3cq83jcw4n28qdr9"; })
(fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.0.0"; sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr"; })
(fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.3.0"; sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z"; })
(fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; })
(fetchNuGet { pname = "System.Threading.ThreadPool"; version = "4.3.0"; sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1"; })
(fetchNuGet { pname = "System.Threading.Timer"; version = "4.3.0"; sha256 = "1nx773nsx6z5whv8kaa1wjh037id2f1cxhb69pvgv12hd2b6qs56"; })
(fetchNuGet { pname = "System.Web.Services.Description"; version = "4.9.0"; sha256 = "08f9ksj826nz4pfw1bw7xg811x99yyj871nfmvav6yxfkx9faqkh"; })
(fetchNuGet { pname = "System.Windows.Extensions"; version = "6.0.0"; sha256 = "1wy9pq9vn1bqg5qnv53iqrbx04yzdmjw4x5yyi09y3459vaa1sip"; })
(fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.0.11"; sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5"; })
(fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.3.0"; sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; })
(fetchNuGet { pname = "System.Xml.XDocument"; version = "4.0.11"; sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18"; })
(fetchNuGet { pname = "System.Xml.XDocument"; version = "4.3.0"; sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd"; })
(fetchNuGet { pname = "TestableIO.System.IO.Abstractions"; version = "20.0.15"; sha256 = "14ivs6f91frvnygxg1qb7f7a96a3nazncj2sx4gsv1y22wmwizn4"; })
(fetchNuGet { pname = "TestableIO.System.IO.Abstractions.Wrappers"; version = "20.0.15"; sha256 = "0avsf5bwjq4ymjmri917w610xzv6l300fxq3h7xhfprs25crby3k"; })
(fetchNuGet { pname = "WindowsAzure.Storage"; version = "9.3.3"; sha256 = "14b0b0nj85yvyn0h8ghr3kj6di2nkbzjxc2q98f1wcr0151xvdfx"; })
(fetchNuGet { pname = "TestableIO.System.IO.Abstractions"; version = "21.0.2"; sha256 = "1mc358wlq9y21gzj44af8hxlyjm0ws0i9f5vmsn31dn5wbfh4dy5"; })
(fetchNuGet { pname = "TestableIO.System.IO.Abstractions.Wrappers"; version = "21.0.2"; sha256 = "0q3vghssyh6rd7w7n4rjv5ngh5byf1y80i22yw9fx10f4hcsw1az"; })
]
+2 -2
View File
@@ -8,13 +8,13 @@
buildDotnetModule rec {
pname = "bicep";
version = "0.26.54";
version = "0.27.1";
src = fetchFromGitHub {
owner = "Azure";
repo = "bicep";
rev = "v${version}";
hash = "sha256-Obu9I2FzuYBD466DE9VZnjTHSRX+qeKqTiIJ2433DQc=";
hash = "sha256-7yEsxKUG2jhki1u5CObdjN4JMnEcAYR+SoGPaNJ+9Fs=";
};
projectFile = "src/Bicep.Cli/Bicep.Cli.csproj";
+5 -4
View File
@@ -4,14 +4,15 @@
set -eo pipefail
cd "$(dirname "${BASH_SOURCE[0]}")"
deps_file="$(realpath "./deps.nix")"
new_version="$(curl -s "https://api.github.com/repos/azure/bicep/releases?per_page=1" | jq -r '.[0].name')"
old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./package.nix)"
if [[ "$new_version" == "$old_version" ]]; then
echo "Already up to date!"
exit 0
echo "Already up to date!"
exit 0
fi
cd ../../../..
update-source-version bicep "${new_version//v}"
nix-build -A bicep.fetch-deps --no-out-link
update-source-version bicep "${new_version//v/}"
"$(nix-build . -A bicep.fetch-deps --no-out-link)" "$deps_file"
+3 -3
View File
@@ -10,16 +10,16 @@
}:
rustPlatform.buildRustPackage rec {
pname = "c2patool";
version = "0.9.0";
version = "0.9.1";
src = fetchFromGitHub {
owner = "contentauth";
repo = pname;
rev = "v${version}";
sha256 = "sha256-yR6VepMZquURDb2SDwx+xE55jo3MTzh6ntSrQln1Xxs=";
sha256 = "sha256-+Nnvg1VzVhyrOG1/yIbeKhELzTL5j3cYFb8+P4P0qxA=";
};
cargoHash = "sha256-Z4Q/33CwbJXlMZBq4WRT2k78PvaHpNm4pQkiAehCImI=";
cargoHash = "sha256-guV1n3Gx00ODOyNuosAeRw1NPumjdkC2dFJFuwFBheg=";
# use the non-vendored openssl
OPENSSL_NO_VENDOR = 1;
+3 -4
View File
@@ -37,13 +37,10 @@ stdenv.mkDerivation (finalAttrs: {
];
buildInputs = [
libclang
libffi
libxml2
zlib
];
propagatedBuildInputs = [
] ++ lib.optionals (!stdenv.isDarwin) [
libclang
];
@@ -51,6 +48,8 @@ stdenv.mkDerivation (finalAttrs: {
(lib.cmakeOptionType "path" "CLANG_RESOURCE_DIR" "${lib.getDev libclang}")
(lib.cmakeBool "SPHINX_HTML" withHTML)
(lib.cmakeBool "SPHINX_MAN" withManual)
] ++ lib.optionals stdenv.isDarwin [
(lib.cmakeOptionType "path" "Clang_DIR" "${lib.getDev libclang}/lib/cmake/clang")
];
# 97% tests passed, 97 tests failed out of 2881
+3 -3
View File
@@ -7,20 +7,20 @@
rustPlatform.buildRustPackage rec {
pname = "csvlens";
version = "0.9.0";
version = "0.9.1";
src = fetchFromGitHub {
owner = "YS-L";
repo = "csvlens";
rev = "refs/tags/v${version}";
hash = "sha256-Qpda9qADnj3eGz+nvD6VgxUOwTXrFI1rMam6+sfK6MQ=";
hash = "sha256-22IU+TpmmJNCsjrobXe0+0YhssbFMt/j9Vusz69lips=";
};
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
darwin.apple_sdk.frameworks.AppKit
];
cargoHash = "sha256-PDOuAz+ov1S7i7TpRp4YaeoQQJ4paal6FI0VU25d4zU=";
cargoHash = "sha256-jLoVuDoarq6ZIWrNw04eyRo+M4jNcZ2zsMWKmZaDPf0=";
meta = with lib; {
description = "Command line csv viewer";
+71
View File
@@ -0,0 +1,71 @@
{ lib
, stdenv
, fetchFromGitHub
, cmake
, bison
, flex
, gettext
, SDL2
, SDL2_image
, SDL2_mixer
, expat
, glew
, freetype
, libSM
, libXext
, libGL
, libGLU
, xorg
}:
stdenv.mkDerivation (finalAttrs: {
pname = "dreamchess";
version = "0.3.0";
src = fetchFromGitHub {
owner = "dreamchess";
repo = "dreamchess";
rev = "${finalAttrs.version}";
hash = "sha256-qus/RjwdAl9SuDXfLVKTPImqrvPF3xSDVlbXYLM3JNE=";
};
buildInputs = [
SDL2
SDL2_image
SDL2_mixer
expat
glew
freetype
libSM
libXext
libGL
libGLU
xorg.libxcb
xorg.libX11
];
nativeBuildInputs = [
cmake
bison
flex
gettext
];
cmakeFlags = [
(lib.cmakeBool "CMAKE_VERBOSE_MAKEFILE" true)
(lib.cmakeFeature "OpenGL_GL_PREFERENCE" "GLVND")
(lib.cmakeFeature "CMAKE_INSTALL_DATAROOTDIR" "${placeholder "out"}/share")
];
doInstallCheck = true;
postInstallCheck = ''
stat "''${!outputBin}/bin/${finalAttrs.meta.mainProgram}"
'';
meta = {
homepage = "https://github.com/dreamchess/dreamchess";
description = "An OpenGL Chess Game";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ spk ];
platforms = lib.platforms.linux;
mainProgram = "dreamchess";
};
})
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "eksctl";
version = "0.177.0";
version = "0.178.0";
src = fetchFromGitHub {
owner = "weaveworks";
repo = pname;
rev = version;
hash = "sha256-rNs7Ko+NNO2/zqPRu4j+y7KJ62lvfTEndZEnBSi8K5I=";
hash = "sha256-4L2BYQw0hticbPUdqJwOGNUYFBc8whnBW+1xut3Mp5Y=";
};
vendorHash = "sha256-0ZEVOsfb4FBGhNk7CoP7KDhApPTLBz4l5kwcRRBIq5g=";
vendorHash = "sha256-M/OiHXsvPAaYVNw7Q9LiDbH7B7QhBQxmK0H8TNWcu74=";
doCheck = false;
+2 -2
View File
@@ -7,13 +7,13 @@
buildGoModule rec {
pname = "files-cli";
version = "2.13.49";
version = "2.13.50";
src = fetchFromGitHub {
repo = "files-cli";
owner = "files-com";
rev = "v${version}";
hash = "sha256-QQ2UzWGodQASHJVfnTIp/BUNkAPAV0q8UpTk7qBYgc0=";
hash = "sha256-UeRB+vmnLr85oGwaiuyfe5pVCN1EmEQqyoU5tY2hst8=";
};
vendorHash = "sha256-L6UnKbqS6aO8+XSPt5KaKGYr30y9RE+l4U3hapPHHvA=";
+4 -4
View File
@@ -24,7 +24,7 @@ let
pname = "forgejo-frontend";
inherit (forgejo) src version;
npmDepsHash = "sha256-BffoEbIzTU61bw3ECEm5eDHcav4S27MB5jQKsMprkcw=";
npmDepsHash = "sha256-Nu9aOjJpEAuCWWnJfZXy/GayiUDiyc3hOu6Bx7GxfxA=";
patches = [
./package-json-npm-build-frontend.patch
@@ -39,17 +39,17 @@ let
in
buildGoModule rec {
pname = "forgejo";
version = "7.0.2";
version = "7.0.3";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "forgejo";
repo = "forgejo";
rev = "v${version}";
hash = "sha256-YY5dHXWMqlCIPfqsDtHZLHjEdYmrFnh4yc0hfTUESww=";
hash = "sha256-P+HVZmfNA1ao+fQ253tK8A2DNGNPxvdyzCvByQJ0FGA=";
};
vendorHash = "sha256-UcjaMi/4XYLdaJhi2j3UWqHqkpTbZBo6EwNXxdRIKLw=";
vendorHash = "sha256-8qMpnGL5GXJuxOpxh9a1Bcxd7tVweUKwbun8UBxCfQA=";
subPackages = [ "." ];
+3 -3
View File
@@ -10,16 +10,16 @@
rustPlatform.buildRustPackage rec {
pname = "fzf-make";
version = "0.30.0";
version = "0.32.0";
src = fetchFromGitHub {
owner = "kyu08";
repo = "fzf-make";
rev = "v${version}";
hash = "sha256-C2CDzcS6iE2ojXtFjQfHDJE2C1b5QNG6rda/MiDW8kk=";
hash = "sha256-JHquE35qe1nJFJ+0gniG72o1DrGLZSZ0do5oPHgYbHU=";
};
cargoHash = "sha256-N5hM5xTMNeryFgdICQcKvPt4lHgh02DCaPD3TTGmFBo=";
cargoHash = "sha256-61I6OiEP0t9DAF0jnIEyGRTpPBU65zz/W6mAo7XelVo=";
nativeBuildInputs = [ makeBinaryWrapper ];
+2 -1
View File
@@ -5,6 +5,7 @@
git,
testers,
makeWrapper,
githooks
}:
buildGoModule rec {
pname = "githooks";
@@ -70,7 +71,7 @@ buildGoModule rec {
'';
passthru.tests.version = testers.testVersion {
package = "githooks-cli";
package = githooks;
command = "githooks-cli --version";
inherit version;
};
+40
View File
@@ -0,0 +1,40 @@
{
lib,
rustPlatform,
fetchFromGitHub,
stdenv,
darwin,
}:
let
version = "0.1.0-alpha.5";
in
rustPlatform.buildRustPackage {
pname = "gobang";
inherit version;
src = fetchFromGitHub {
owner = "tako8ki";
repo = "gobang";
rev = "v${version}";
hash = "sha256-RinfQhG7iCp0Xcs9kLs3I2/wjkJEgCjFYe3mS+FY9Ak=";
};
cargoPatches = [ ./update-sqlx.patch ];
cargoHash = "sha256-3A3bf7iq1acsWttKmcJmxWM74B0qUIcROBAkjDZFKxE=";
buildInputs =
with darwin.apple_sdk.frameworks;
lib.optionals stdenv.isDarwin [
CoreFoundation
Security
SystemConfiguration
];
meta = {
description = "A cross-platform TUI database management tool written in Rust";
homepage = "https://github.com/tako8ki/gobang";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ figsoda ];
};
}
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -64,11 +64,11 @@ let
in stdenv.mkDerivation (finalAttrs: {
pname = "google-chrome";
version = "125.0.6422.60";
version = "125.0.6422.76";
src = fetchurl {
url = "https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${finalAttrs.version}-1_amd64.deb";
hash = "sha256-Q0QMPthJLVquJp7fm6QN+lDb0quZsT7hv6KRXfdBMl4=";
hash = "sha256-hLGEwaTx11tqiS7skoNVwCEw+1GZ0pNHpfe11IFjTFc=";
};
nativeBuildInputs = [ patchelf makeWrapper ];

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