Merge master into haskell-updates
This commit is contained in:
@@ -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
@@ -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
|
||||
|
||||
@@ -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
@@ -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
@@ -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`.
|
||||
|
||||
@@ -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
@@ -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) // {
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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")
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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 -.
|
||||
:::
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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" ];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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" ];
|
||||
};
|
||||
};
|
||||
|
||||
})
|
||||
];
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
@@ -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
@@ -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
|
||||
|
||||
@@ -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()
|
||||
'';
|
||||
})
|
||||
@@ -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/,,
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
+748
-370
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
})
|
||||
Generated
+36
-90
@@ -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"; })
|
||||
]
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
})
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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=";
|
||||
|
||||
@@ -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 = [ "." ];
|
||||
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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
@@ -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
Reference in New Issue
Block a user