Merge master into staging-next

This commit is contained in:
github-actions[bot] 2024-11-14 00:14:11 +00:00 committed by GitHub
commit b50e7536f8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
67 changed files with 1351 additions and 734 deletions

View File

@ -7,34 +7,44 @@ assignees: ''
---
### Describe the bug
A clear and concise description of what the bug is.
## Describe the bug
<!-- A clear and concise description of what the bug is. -->
## Steps To Reproduce
### Steps To Reproduce
Steps to reproduce the behavior:
1. ...
2. ...
3. ...
### Expected behavior
A clear and concise description of what you expected to happen.
## Expected behavior
### Screenshots
If applicable, add screenshots to help explain your problem.
<!-- A clear and concise description of what you expected to happen. -->
### Additional context
Add any other context about the problem here.
## Screenshots
### Notify maintainers
<!-- If applicable, add screenshots to help explain your problem: -->
## Additional context
<!-- Add any other context about the problem here. -->
## Metadata
<!-- Please insert the output of running `nix-shell -p nix-info --run "nix-info -m"` below this line -->
## Notify maintainers
<!--
Please @ people who are in the `meta.maintainers` list of the offending package or module.
If in doubt, check `git blame` for whoever last touched something.
-->
### Metadata
---
<!-- Please insert the output of running `nix-shell -p nix-info --run "nix-info -m"` below this line -->
Note for maintainers: Please tag this issue in your PR.
---

View File

@ -7,31 +7,43 @@ assignees: ''
---
### Steps To Reproduce
## Steps To Reproduce
Steps to reproduce the behavior:
1. build *X*
### Build log
## Build log
<!-- insert build log in code block in collapsable section -->
<details>
<summary>Build Log</summary>
```
log here if short otherwise a link to a gist
```
### Additional context
</details>
Add any other context about the problem here.
## Additional context
### Notify maintainers
<!-- Add any other context about the problem here. -->
## Metadata
<!-- Please insert the output of running `nix-shell -p nix-info --run "nix-info -m"` below this line -->
## Notify maintainers
<!--
Please @ people who are in the `meta.maintainers` list of the offending package or module.
If in doubt, check `git blame` for whoever last touched something.
-->
### Metadata
---
<!-- Please insert the output of running `nix-shell -p nix-info --run "nix-info -m"` below this line -->
Note for maintainers: Please tag this issue in your PR.
---

View File

@ -23,12 +23,9 @@ assignees: ''
- [ ] checked [open documentation issues] for possible duplicates
- [ ] checked [open documentation pull requests] for possible solutions
[latest Nixpkgs manual]: https://nixos.org/manual/nixpkgs/unstable/
[latest NixOS manual]: https://nixos.org/manual/nixos/unstable/
[nixpkgs-source]: https://github.com/NixOS/nixpkgs/tree/master/doc
[nixos-source]: https://github.com/NixOS/nixpkgs/tree/master/nixos/doc/manual
[open documentation issues]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+label%3A%229.needs%3A+documentation%22
[open documentation pull requests]: https://github.com/NixOS/nixpkgs/pulls?q=is%3Aopen+is%3Apr+label%3A%228.has%3A+documentation%22%2C%226.topic%3A+documentation%22
---
Note for maintainers: Please tag this issue in your PR.
---
@ -36,3 +33,9 @@ Add a :+1: [reaction] to [issues you find important].
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
[issues you find important]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc
[latest Nixpkgs manual]: https://nixos.org/manual/nixpkgs/unstable/
[latest NixOS manual]: https://nixos.org/manual/nixos/unstable/
[nixpkgs-source]: https://github.com/NixOS/nixpkgs/tree/master/doc
[nixos-source]: https://github.com/NixOS/nixpkgs/tree/master/nixos/doc/manual
[open documentation issues]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+label%3A%229.needs%3A+documentation%22
[open documentation pull requests]: https://github.com/NixOS/nixpkgs/pulls?q=is%3Aopen+is%3Apr+label%3A%228.has%3A+documentation%22%2C%226.topic%3A+documentation%22

View File

@ -7,11 +7,11 @@ assignees: ''
---
### Description
## Description
<!-- Describe what the module should accomplish: -->
### Notify maintainers
## Notify maintainers
<!-- If applicable, tag the maintainers of the package that corresponds to the module. If the search.nixos.org result shows no maintainers, tag the person that last updated the package. -->

View File

@ -7,23 +7,30 @@ assignees: ''
---
## Package Information
<!-- Search for the package here: https://search.nixos.org/packages?channel=unstable -->
- Package name:
- Latest released version:
<!-- Search your package here: https://search.nixos.org/packages?channel=unstable -->
- Current version on the unstable channel:
- Current version on the stable/release channel:
## Checklist
<!--
Type the name of your package and try to find an open pull request for the package
If you find an open pull request, you can review it!
There's a high chance that you'll have the new version right away while helping the community!
-->
- [ ] Checked the [nixpkgs pull requests](https://github.com/NixOS/nixpkgs/pulls)
**Notify maintainers**
## Notify maintainers
<!-- If the search.nixos.org result shows no maintainers, tag the person that last updated the package. -->
-----
---
Note for maintainers: Please tag this issue in your PR.

View File

@ -7,11 +7,11 @@ assignees: ''
---
**Project description**
## Project description
<!-- Describe the project a little: -->
**Metadata**
## Metadata
* homepage URL:
* source URL:
@ -20,6 +20,10 @@ assignees: ''
---
Note for maintainers: Please tag this issue in your PR.
---
Add a :+1: [reaction] to [issues you find important].
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/

View File

@ -31,12 +31,12 @@ Fixing bit-by-bit reproducibility also has additional advantages, such as
avoiding hard-to-reproduce bugs, making content-addressed storage more effective
and reducing rebuilds in such systems.
### Steps To Reproduce
## Steps To Reproduce
In the following steps, replace `<package>` with the canonical name of the
package.
#### 1. Build the package
### 1. Build the package
This step will build the package. Specific arguments are passed to the command
to keep the build artifacts so we can compare them in case of differences.
@ -53,7 +53,7 @@ Or using the new command line style:
nix build nixpkgs#<package> && nix build nixpkgs#<package> --rebuild --keep-failed
```
#### 2. Compare the build artifacts
### 2. Compare the build artifacts
If the previous command completes successfully, no differences were found and
there's nothing to do, builds are reproducible.
@ -67,7 +67,7 @@ metadata (*e.g. timestamp*) differences.
nix run nixpkgs#diffoscopeMinimal -- --exclude-directory-metadata recursive <Y> <Z>
```
#### 3. Examine the build log
### 3. Examine the build log
To examine the build log, use:
@ -81,10 +81,20 @@ Or with the new command line style:
nix log $(nix path-info --derivation nixpkgs#<package>)
```
### Additional context
## Additional context
(please share the relevant fragment of the diffoscope output here, and any
additional analysis you may have done)
(please share the relevant fragment of the diffoscope output here, and any additional analysis you may have done)
## Notify maintainers
<!--
Please @ people who are in the `meta.maintainers` list of the offending package or module.
If in doubt, check `git blame` for whoever last touched something.
-->
---
Note for maintainers: Please tag this issue in your PR.
---

3
.github/labeler.yml vendored
View File

@ -358,8 +358,9 @@
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/php.section.md
- nixos/tests/php/**/*
- pkgs/build-support/php/**/*
- pkgs/development/interpreters/php/*
- pkgs/development/interpreters/php/**/*
- pkgs/development/php-packages/**/*
- pkgs/test/php/default.nix
- pkgs/top-level/php-packages.nix

View File

@ -11483,6 +11483,13 @@
name = "Khushraj Rathod";
keys = [ { fingerprint = "1988 3FD8 EA2E B4EC 0A93 1E22 B77B 2A40 E770 2F19"; } ];
};
kiara = {
name = "kiara";
email = "cinereal@riseup.net";
github = "KiaraGrouwstra";
githubId = 3059397;
matrix = "@cinerealkiara:matrix.org";
};
KibaFox = {
email = "kiba.fox@foxypossibilities.com";
github = "KibaFox";
@ -14556,12 +14563,6 @@
githubId = 16974598;
name = "Mike Playle";
};
mkaito = {
email = "chris@mkaito.net";
github = "mkaito";
githubId = 20434;
name = "Christian Höppner";
};
mkazulak = {
email = "kazulakm@gmail.com";
github = "mulderr";

View File

@ -12,7 +12,7 @@ let
name = "oci-containers-${backend}";
meta.maintainers = lib.teams.serokell.members
++ (with lib.maintainers; [ benley mkaito ]);
++ (with lib.maintainers; [ benley ]);
nodes = {
${backend} = { pkgs, ... }: {

View File

@ -13,13 +13,13 @@
stdenv.mkDerivation rec {
pname = "ft2-clone";
version = "1.86";
version = "1.88";
src = fetchFromGitHub {
owner = "8bitbubsy";
repo = "ft2-clone";
rev = "v${version}";
hash = "sha256-/sdMBRCZvuKTp8ygCrLmIy0DiWJC6lLWdsY+ZxRY+pY=";
hash = "sha256-3ylzroIp3d5u6meP7guu+NlYGTqy9UUjIi9box7NbXI=";
};
nativeBuildInputs = [ cmake ];

View File

@ -16,6 +16,8 @@
wasm-pack,
}:
# TODO: package python bindings
let
wasm-bindgen-92 = wasm-bindgen-cli.override {
@ -36,16 +38,16 @@ in
rustPlatform.buildRustPackage rec {
pname = "pagefind";
version = "1.1.1";
version = "1.2.0";
src = fetchFromGitHub {
owner = "cloudcannon";
repo = "pagefind";
rev = "refs/tags/v${version}";
hash = "sha256-4NfosDp5Wwz2lnqaFNcaIbWpjWiaQ4WCL6TcKEkfPck=";
hash = "sha256-OKZYy+Mm9xOEBBD/tI2GwP2+Myt5aELosRP8Tbi5bqY=";
};
cargoHash = "sha256-hnT9w3j8/YuN00x0LBPr75BKGWSnIYUNFTWIgtghJP4";
cargoHash = "sha256-k50RyGuS66r+wWIij7yOOSlDxXYY1y+lTJgCkMREllc=";
env.npmDeps_web_js = fetchNpmDeps {
name = "npm-deps-web-js";

View File

@ -1,125 +0,0 @@
{ stdenv, lib, callPackage, fetchurl, fetchpatch, nixosTests, buildMozillaMach
, python311
}:
{
firefox = buildMozillaMach rec {
pname = "firefox";
version = "132.0.2";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "9ea95d9fb1a941ac5a5b50da67e224f3ccf8c401f26cb61bb74ad7f4e1e8706d469c4b6325714f2cb9cdf50c32710377d6bca18dd65b55db2c39ef2b27a57fae";
};
extraPatches = [
];
meta = {
changelog = "https://www.mozilla.org/en-US/firefox/${version}/releasenotes/";
description = "Web browser built from Firefox source tree";
homepage = "http://www.mozilla.com/en-US/firefox/";
maintainers = with lib.maintainers; [ lovesegfault hexa ];
platforms = lib.platforms.unix;
badPlatforms = lib.platforms.darwin;
broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory".
# not in `badPlatforms` because cross-compilation on 64-bit machine might work.
maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115)
license = lib.licenses.mpl20;
mainProgram = "firefox";
};
tests = { inherit (nixosTests) firefox; };
updateScript = callPackage ./update.nix {
attrPath = "firefox-unwrapped";
};
};
firefox-beta = buildMozillaMach rec {
pname = "firefox-beta";
version = "133.0b1";
applicationName = "Mozilla Firefox Beta";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "c4a85a72b2891c5b6c6e200cd7ef13abe0f5ad090f8ef1d8243a489791f3542b2cd390c141118c4745c4ca677d1e9bf1e564e4a45e066d27ed53e6bd92844727";
};
meta = {
changelog = "https://www.mozilla.org/en-US/firefox/${lib.versions.majorMinor version}beta/releasenotes/";
description = "Web browser built from Firefox Beta Release source tree";
homepage = "http://www.mozilla.com/en-US/firefox/";
maintainers = with lib.maintainers; [ jopejoe1 ];
platforms = lib.platforms.unix;
badPlatforms = lib.platforms.darwin;
broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory".
# not in `badPlatforms` because cross-compilation on 64-bit machine might work.
maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115)
license = lib.licenses.mpl20;
mainProgram = "firefox";
};
tests = { inherit (nixosTests) firefox-beta; };
updateScript = callPackage ./update.nix {
attrPath = "firefox-beta-unwrapped";
versionSuffix = "b[0-9]*";
};
};
firefox-devedition = buildMozillaMach rec {
pname = "firefox-devedition";
version = "133.0b1";
applicationName = "Mozilla Firefox Developer Edition";
requireSigning = false;
branding = "browser/branding/aurora";
src = fetchurl {
url = "mirror://mozilla/devedition/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "dced4aba71b07b68ee31c283945e7d62a7032f08f5cf71aa261fc7ba32f58277acbe9fdbdd28777d7f4b824e411815b069cab0ce791438088c9ad19c3d2de62e";
};
meta = {
changelog = "https://www.mozilla.org/en-US/firefox/${lib.versions.majorMinor version}beta/releasenotes/";
description = "Web browser built from Firefox Developer Edition source tree";
homepage = "http://www.mozilla.com/en-US/firefox/";
maintainers = with lib.maintainers; [ jopejoe1 ];
platforms = lib.platforms.unix;
badPlatforms = lib.platforms.darwin;
broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory".
# not in `badPlatforms` because cross-compilation on 64-bit machine might work.
maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115)
license = lib.licenses.mpl20;
mainProgram = "firefox";
};
tests = { inherit (nixosTests) firefox-devedition; };
updateScript = callPackage ./update.nix {
attrPath = "firefox-devedition-unwrapped";
versionSuffix = "b[0-9]*";
baseUrl = "https://archive.mozilla.org/pub/devedition/releases/";
};
};
firefox-esr-128 = buildMozillaMach rec {
pname = "firefox";
version = "128.4.0esr";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "e720b1f993926d73f5a5727648f753176ac2fd093fb0b71393946bbc5919ce5fc7b88b82960bd1aa427b5663c7f659828dc6702485fc0c1e7a6961571c67faa3";
};
meta = {
changelog = "https://www.mozilla.org/en-US/firefox/${lib.removeSuffix "esr" version}/releasenotes/";
description = "Web browser built from Firefox source tree";
homepage = "http://www.mozilla.com/en-US/firefox/";
maintainers = with lib.maintainers; [ hexa ];
platforms = lib.platforms.unix;
badPlatforms = lib.platforms.darwin;
broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory".
# not in `badPlatforms` because cross-compilation on 64-bit machine might work.
maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115)
license = lib.licenses.mpl20;
mainProgram = "firefox";
};
tests = { inherit (nixosTests) firefox-esr-128; };
updateScript = callPackage ./update.nix {
attrPath = "firefox-esr-128-unwrapped";
versionPrefix = "128";
versionSuffix = "esr";
};
};
}

View File

@ -0,0 +1,40 @@
{
stdenv,
lib,
callPackage,
fetchurl,
nixosTests,
buildMozillaMach,
}:
buildMozillaMach rec {
pname = "firefox-beta";
version = "133.0b1";
applicationName = "Mozilla Firefox Beta";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "c4a85a72b2891c5b6c6e200cd7ef13abe0f5ad090f8ef1d8243a489791f3542b2cd390c141118c4745c4ca677d1e9bf1e564e4a45e066d27ed53e6bd92844727";
};
meta = {
changelog = "https://www.mozilla.org/en-US/firefox/${lib.versions.majorMinor version}beta/releasenotes/";
description = "Web browser built from Firefox Beta Release source tree";
homepage = "http://www.mozilla.com/en-US/firefox/";
maintainers = with lib.maintainers; [ jopejoe1 ];
platforms = lib.platforms.unix;
badPlatforms = lib.platforms.darwin;
broken = stdenv.buildPlatform.is32bit;
# since Firefox 60, build on 32-bit platforms fails with "out of memory".
# not in `badPlatforms` because cross-compilation on 64-bit machine might work.
maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115)
license = lib.licenses.mpl20;
mainProgram = "firefox";
};
tests = {
inherit (nixosTests) firefox-beta;
};
updateScript = callPackage ./update.nix {
attrPath = "firefox-beta-unwrapped";
versionSuffix = "b[0-9]*";
};
}

View File

@ -0,0 +1,43 @@
{
stdenv,
lib,
callPackage,
fetchurl,
nixosTests,
buildMozillaMach,
}:
buildMozillaMach rec {
pname = "firefox-devedition";
version = "133.0b1";
applicationName = "Mozilla Firefox Developer Edition";
requireSigning = false;
branding = "browser/branding/aurora";
src = fetchurl {
url = "mirror://mozilla/devedition/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "dced4aba71b07b68ee31c283945e7d62a7032f08f5cf71aa261fc7ba32f58277acbe9fdbdd28777d7f4b824e411815b069cab0ce791438088c9ad19c3d2de62e";
};
meta = {
changelog = "https://www.mozilla.org/en-US/firefox/${lib.versions.majorMinor version}beta/releasenotes/";
description = "Web browser built from Firefox Developer Edition source tree";
homepage = "http://www.mozilla.com/en-US/firefox/";
maintainers = with lib.maintainers; [ jopejoe1 ];
platforms = lib.platforms.unix;
badPlatforms = lib.platforms.darwin;
broken = stdenv.buildPlatform.is32bit;
# since Firefox 60, build on 32-bit platforms fails with "out of memory".
# not in `badPlatforms` because cross-compilation on 64-bit machine might work.
maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115)
license = lib.licenses.mpl20;
mainProgram = "firefox";
};
tests = {
inherit (nixosTests) firefox-devedition;
};
updateScript = callPackage ./update.nix {
attrPath = "firefox-devedition-unwrapped";
versionSuffix = "b[0-9]*";
baseUrl = "https://archive.mozilla.org/pub/devedition/releases/";
};
}

View File

@ -0,0 +1,40 @@
{
stdenv,
lib,
callPackage,
fetchurl,
nixosTests,
buildMozillaMach,
}:
buildMozillaMach rec {
pname = "firefox";
version = "128.4.0esr";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "e720b1f993926d73f5a5727648f753176ac2fd093fb0b71393946bbc5919ce5fc7b88b82960bd1aa427b5663c7f659828dc6702485fc0c1e7a6961571c67faa3";
};
meta = {
changelog = "https://www.mozilla.org/en-US/firefox/${lib.removeSuffix "esr" version}/releasenotes/";
description = "Web browser built from Firefox source tree";
homepage = "http://www.mozilla.com/en-US/firefox/";
maintainers = with lib.maintainers; [ hexa ];
platforms = lib.platforms.unix;
badPlatforms = lib.platforms.darwin;
broken = stdenv.buildPlatform.is32bit;
# since Firefox 60, build on 32-bit platforms fails with "out of memory".
# not in `badPlatforms` because cross-compilation on 64-bit machine might work.
maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115)
license = lib.licenses.mpl20;
mainProgram = "firefox";
};
tests = {
inherit (nixosTests) firefox-esr-128;
};
updateScript = callPackage ./update.nix {
attrPath = "firefox-esr-128-unwrapped";
versionPrefix = "128";
versionSuffix = "esr";
};
}

View File

@ -0,0 +1,41 @@
{
stdenv,
lib,
callPackage,
fetchurl,
nixosTests,
buildMozillaMach,
}:
buildMozillaMach rec {
pname = "firefox";
version = "132.0.2";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "9ea95d9fb1a941ac5a5b50da67e224f3ccf8c401f26cb61bb74ad7f4e1e8706d469c4b6325714f2cb9cdf50c32710377d6bca18dd65b55db2c39ef2b27a57fae";
};
meta = {
changelog = "https://www.mozilla.org/en-US/firefox/${version}/releasenotes/";
description = "Web browser built from Firefox source tree";
homepage = "http://www.mozilla.com/en-US/firefox/";
maintainers = with lib.maintainers; [
lovesegfault
hexa
];
platforms = lib.platforms.unix;
badPlatforms = lib.platforms.darwin;
broken = stdenv.buildPlatform.is32bit;
# since Firefox 60, build on 32-bit platforms fails with "out of memory".
# not in `badPlatforms` because cross-compilation on 64-bit machine might work.
maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115)
license = lib.licenses.mpl20;
mainProgram = "firefox";
};
tests = {
inherit (nixosTests) firefox;
};
updateScript = callPackage ./update.nix {
attrPath = "firefox-unwrapped";
};
}

View File

@ -1246,13 +1246,13 @@
"vendorHash": "sha256-tb9raTGqEuvqfMO/5s4Oc7x/EAk4qBWWDiOgRMB3uAU="
},
"temporalcloud": {
"hash": "sha256-UaWz9VKyzYtEjOC0hbRrGSB0yP7H7AFP3uKnXcvASwQ=",
"hash": "sha256-PXXjhxB0pU1dZkfFKH+GBma1uYwMpLHTUJk/GUivNhE=",
"homepage": "https://registry.terraform.io/providers/temporalio/temporalcloud",
"owner": "temporalio",
"repo": "terraform-provider-temporalcloud",
"rev": "v0.0.13",
"rev": "v0.0.14",
"spdx": "MPL-2.0",
"vendorHash": "sha256-UlR5J1Gk+ATwytBoxp6DBVGOo8MAQeGOWxD2Sgg4qJ4="
"vendorHash": "sha256-6dQFkmkjoVz1Z5AoD8bvAF0elsk7V1G8yT5ur1WegWE="
},
"tencentcloud": {
"hash": "sha256-vj6yGrd9Fqd+XQwlXWS0BV0CZY1gcgE+YyEm/rm6o6o=",

View File

@ -9,7 +9,7 @@ let
versions =
if stdenv.hostPlatform.isLinux then
{
stable = "0.0.73";
stable = "0.0.74";
ptb = "0.0.114";
canary = "0.0.511";
development = "0.0.42";
@ -26,7 +26,7 @@ let
x86_64-linux = {
stable = fetchurl {
url = "https://stable.dl2.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
hash = "sha256-LZ3IgtGr94NWbykYS5Xllkl4OOHLG66+ZqQ+OrpnVzs=";
hash = "sha256-yf2gLvDgzF13cgpKFiiCHGYVR+p7jZOAR37L1F6MZvc=";
};
ptb = fetchurl {
url = "https://ptb.dl2.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";

View File

@ -60,6 +60,7 @@
branch ? lib.versions.majorMinor version,
version,
vendor ? "nixos",
upstreamVersion,
withFlask ? false,
withSeaBIOS ? true,
withOVMF ? true,
@ -71,17 +72,21 @@
}:
let
inherit (lib.meta) getExe';
inherit (lib.lists) optional optionals;
inherit (lib.systems.inspect.patterns) isLinux isAarch64;
inherit (lib) teams;
inherit (lib.strings)
inherit (lib)
enableFeature
getExe'
licenses
makeSearchPathOutput
optional
optionalString
optionals
systems
teams
versionOlder
warn
;
inherit (lib.licenses)
inherit (systems.inspect.patterns) isLinux isAarch64;
inherit (licenses)
cc-by-40
gpl2Only
lgpl21Only
@ -287,10 +292,10 @@ stdenv.mkDerivation (finalAttrs: {
'';
passthru = {
efi = "boot/xen-${version}.efi";
efi = "boot/xen-${upstreamVersion}.efi";
flaskPolicy =
if withFlask then
"boot/xenpolicy-${version}"
warn "This Xen was compiled with FLASK support, but the FLASK file does not match the Xen version number. Please hardcode the path to the FLASK file instead." "boot/xenpolicy-${version}"
else
throw "This Xen was compiled without FLASK support.";
# This test suite is very simple, as Xen's userspace
@ -335,7 +340,7 @@ stdenv.mkDerivation (finalAttrs: {
Use with the `qemu_xen` package.
''
+ "\nIncludes:\n* `xen.efi`: The Xen Project's [EFI binary](https://xenbits.xenproject.org/docs/${branch}-testing/misc/efi.html), available on the `boot` output of this package."
+ optionalString withFlask "\n* `xsm-flask`: The [FLASK Xen Security Module](https://wiki.xenproject.org/wiki/Xen_Security_Modules_:_XSM-FLASK). The `xenpolicy-${version}` file is available on the `boot` output of this package."
+ optionalString withFlask "\n* `xsm-flask`: The [FLASK Xen Security Module](https://wiki.xenproject.org/wiki/Xen_Security_Modules_:_XSM-FLASK). The `xenpolicy-${upstreamVersion}` file is available on the `boot` output of this package."
+ optionalString withSeaBIOS "\n* `seabios`: Support for the SeaBIOS boot firmware on HVM domains."
+ optionalString withOVMF "\n* `ovmf`: Support for the OVMF UEFI boot firmware on HVM domains."
+ optionalString withIPXE "\n* `ipxe`: Support for the iPXE boot firmware on HVM domains.";

View File

@ -20,28 +20,21 @@
, libxslt
, goffice
, wrapGAppsHook3
, gitUpdater
}:
stdenv.mkDerivation rec {
pname = "abiword";
version = "3.0.5";
version = "3.0.6";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "World";
repo = "AbiWord";
rev = "refs/tags/release-${version}";
hash = "sha256-Z55qPm4MYwbG8bvXpX2TH8bxQaJjvb3Em1ymM1XwGqo=";
hash = "sha256-PPK4O+NKXdl7DKPOgGlVyCFTol8hhmtq0wdTTtwKQ/4=";
};
patches = [
# Fix build with libxml2 2.12
(fetchpatch {
url = "https://gitlab.gnome.org/World/AbiWord/-/commit/2a06be6a10a0718f8a3d8e00c317f5042c99a467.patch";
hash = "sha256-vfh81tGXe9dgnjcAtoWHOK8CtW7MZ75FFjnfKTkiKkk=";
})
];
nativeBuildInputs = [
autoreconfHook269
autoconf-archive
@ -77,6 +70,10 @@ stdenv.mkDerivation rec {
./autogen-common.sh
'';
passthru.updateScript = gitUpdater {
rev-prefix = "release-";
};
meta = with lib; {
description = "Word processing program, similar to Microsoft Word";
mainProgram = "abiword";

View File

@ -72,7 +72,7 @@ stdenv.mkDerivation rec {
- Cron job notifications for renewal or error etc.
'';
license = licenses.gpl3Only;
maintainers = with lib.maintainers; [ mkaito ] ++ teams.serokell.members;
maintainers = lib.teams.serokell.members;
inherit (coreutils.meta) platforms;
mainProgram = "acme.sh";
};

View File

@ -1,9 +1,7 @@
# If the tests are broken, it's probably for one of two reasons:
#
# 1. The version of llvm used doesn't match the expectations of rustc and/or
# cargo-llvm-cov. This is relatively unlikely because we pull llvm out of
# rustc's attrset, so it *should* be the right version as long as this is the
# case.
# cargo-llvm-cov.
# 2. Nixpkgs has changed its rust infrastructure in a way that causes
# cargo-llvm-cov to misbehave under test. It's likely that even though the
# tests are failing, cargo-llvm-cov will still function properly in actual
@ -20,24 +18,24 @@
, fetchurl
, fetchFromGitHub
, rustPlatform
, rustc
, llvmPackages_19
, git
}:
let
pname = "cargo-llvm-cov";
version = "0.6.12";
version = "0.6.14";
owner = "taiki-e";
homepage = "https://github.com/${owner}/${pname}";
llvm = rustc.llvmPackages.llvm;
inherit (llvmPackages_19) llvm;
# Download `Cargo.lock` from crates.io so we don't clutter up Nixpkgs
cargoLock = fetchurl {
name = "Cargo.lock";
url = "https://crates.io/api/v1/crates/${pname}/${version}/download";
sha256 = "sha256-QMO5J5c8MQr84w6X74oQrHV99cjSUVfpC8Ub1csQ0gI=";
sha256 = "sha256-f0xO+UxB9f6q6q8QyjtP+z+U146+8GLmLKgGmAs/YYA=";
downloadToTemp = true;
postFetch = ''
tar xzf $downloadedFile ${pname}-${version}/Cargo.lock
@ -55,7 +53,7 @@ rustPlatform.buildRustPackage {
inherit owner;
repo = pname;
rev = "v${version}";
sha256 = "sha256-BlXgbCWjGya/I94nqfjBqQPSWnVhyhNn0oSRL9xiS6k=";
sha256 = "sha256-iJrnNDSMich5OzEbPgnQWLVz6Zj/MUIzEsaBzqVdoDg=";
};
# Upstream doesn't include the lockfile so we need to add it back
@ -63,7 +61,7 @@ rustPlatform.buildRustPackage {
cp ${cargoLock} source/Cargo.lock
'';
cargoHash = "sha256-nabO19JePQRuhxsbm5wVIU4+5si6p0VgqR2QLmLeivU=";
cargoHash = "sha256-kYKQ7ddgoSvarF0HG/yESu5cU87DUgYm9tDkem5a/gw=";
# `cargo-llvm-cov` reads these environment variables to find these binaries,
# which are needed to run the tests

View File

@ -7,16 +7,16 @@
buildGoModule rec {
pname = "fabric-ai";
version = "1.4.54";
version = "1.4.99";
src = fetchFromGitHub {
owner = "danielmiessler";
repo = "fabric";
rev = "v${version}";
hash = "sha256-93kOJLzCoJgj5kApQyzGOZOGDlz6G/aNO7bT7eAs5o8=";
hash = "sha256-nf1tBnnRgLDg63a6SmTJPwMKCREr/hfCyYtAyyOCUQU=";
};
vendorHash = "sha256-ef5fn3D0DcvluLIlwfZFGS/6bZgkduQhRXvjCrghBL8=";
vendorHash = "sha256-cdopwdIynWJQJO2K6wLZNBT/0JbCRH2tD2UgnNeQTDY=";
ldflags = [
"-s"

View File

@ -34,9 +34,11 @@ python3.pkgs.buildPythonApplication rec {
ffmpeg-python
future
numpy
pkgs.ffmpeg
pysubs2
chardet
rich
setuptools
six
srt
tqdm

View File

@ -24,13 +24,13 @@ let
in
python.pkgs.buildPythonApplication rec {
pname = "gdtoolkit";
version = "4.2.2";
version = "4.3.1";
src = fetchFromGitHub {
owner = "Scony";
repo = "godot-gdscript-toolkit";
rev = version;
hash = "sha256-SvEKKuDnfxV+5AArg5ssrQzgIwRITdek4KYEs3d0n4Y=";
hash = "sha256-XK6s/WnbTzjCAtV8dbRPLe5olpKUglPLQdttRRMvX70=";
};
disabled = python.pythonOlder "3.7";
@ -50,12 +50,12 @@ python.pkgs.buildPythonApplication rec {
];
preCheck = ''
# The tests want to run the installed executables
export PATH=$out/bin:$PATH
# The tests want to run the installed executables
export PATH=$out/bin:$PATH
# gdtoolkit tries to write cache variables to $HOME/.cache
export HOME=$TMP
'';
# gdtoolkit tries to write cache variables to $HOME/.cache
export HOME=$TMP
'';
# The tests are not working on NixOS
disabledTestPaths = [

View File

@ -7,16 +7,16 @@
}:
buildGoModule rec {
pname = "gptscript";
version = "0.9.4";
version = "0.9.5";
src = fetchFromGitHub {
owner = "gptscript-ai";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-s7AKpoIFRcZfAM6K1MMovzOqgXdAWtnnFR3m+84L3rQ=";
hash = "sha256-9wyDcvY5JCjtvx6XtvHwOsZLCiN1fRn0wBGaIaw2iRQ=";
};
vendorHash = "sha256-Kf/ckUuG+SA8WQN2MKL+Xrz91RGPuA7X2/MjryRXsts=";
vendorHash = "sha256-ajglXWGJhSJtcrbSBmxmriXFTT+Vb4xYq0Ec9SYRlQk=";
propagatedBuildInputs = with darwin;
lib.optionals stdenv.hostPlatform.isDarwin [Security];

View File

@ -0,0 +1,31 @@
{
lib,
fetchFromGitHub,
rustPlatform,
}:
rustPlatform.buildRustPackage rec {
pname = "hullcaster";
version = "v0.1.2";
src = fetchFromGitHub {
owner = "gilcu3";
repo = "hullcaster";
rev = version;
hash = "sha256-TaELX/xMxm7OTmVnvkgEmdhnVrIlxSNqlE73+I5qxCc=";
};
cargoHash = "sha256-FeIZu/9yEk8U4a1AhqHyJBhpTP453km33FemwfhZckc=";
# work around error: Could not create filepath: /homeless-shelter/.local/share
checkFlags = [
"--skip gpodder::tests::gpodder"
];
meta = {
description = "Terminal-based podcast manager built in Rust";
homepage = "https://github.com/gilcu3/hullcaster";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ kiara ];
};
}

View File

@ -1,6 +1,8 @@
{ lib
, stdenv
, buildPackages
, fetchurl
, makeWrapper
, meson
, ninja
, pkg-config
@ -16,7 +18,7 @@
, geocode-glib_2
, vala
, gnome
, withIntrospection ? stdenv.buildPlatform == stdenv.hostPlatform
, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages
}:
stdenv.mkDerivation rec {
@ -38,6 +40,7 @@ stdenv.mkDerivation rec {
];
depsBuildBuild = [
makeWrapper
pkg-config
];
@ -70,19 +73,25 @@ stdenv.mkDerivation rec {
];
postPatch = ''
patchShebangs build-aux/meson/gen_locations_variant.py
patchShebangs --build build-aux/meson/gen_locations_variant.py
wrapProgram $PWD/build-aux/meson/gen_locations_variant.py \
--prefix GI_TYPELIB_PATH : ${lib.getLib buildPackages.glib}/lib/girepository-1.0 \
# Run-time dependency gi-docgen found: NO (tried pkgconfig and cmake)
# it should be a build-time dep for build
# TODO: send upstream
substituteInPlace doc/meson.build \
--replace "'gi-docgen', ver" "'gi-docgen', native:true, ver" \
--replace "'gi-docgen', req" "'gi-docgen', native:true, req"
--replace-fail "'gi-docgen', ver" "'gi-docgen', native:true, ver" \
--replace-fail "'gi-docgen', req" "'gi-docgen', native:true, req"
# gir works for us even when cross-compiling
# TODO: send upstream because downstream users can use the option to disable gir if they don't have it working
substituteInPlace libgweather/meson.build \
--replace "g_ir_scanner.found() and not meson.is_cross_build()" "g_ir_scanner.found()"
substituteInPlace meson.build \
--replace-fail "g_ir_scanner.found() and not meson.is_cross_build()" "g_ir_scanner.found()"
substituteInPlace libgweather/meson.build --replace-fail \
"dependency('vapigen', required: enable_vala == 'true')" \
"dependency('vapigen', native: true, required: enable_vala == 'true')"
'';
postFixup = ''
@ -90,6 +99,8 @@ stdenv.mkDerivation rec {
moveToOutput "share/doc" "$devdoc"
'';
strictDeps = true;
passthru = {
updateScript = gnome.updateScript {
packageName = pname;

View File

@ -687,7 +687,7 @@ checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
[[package]]
name = "mergiraf"
version = "0.1.1"
version = "0.3.0"
dependencies = [
"cc",
"clap",
@ -705,6 +705,7 @@ dependencies = [
"tree-sitter",
"tree-sitter-c-sharp",
"tree-sitter-cpp",
"tree-sitter-dart",
"tree-sitter-go",
"tree-sitter-html",
"tree-sitter-java",
@ -1180,10 +1181,21 @@ dependencies = [
"tree-sitter-language",
]
[[package]]
name = "tree-sitter-dart"
version = "0.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "19f1f70b80ce41343e14aafcef67b5ba2e9de89587535b4aabbabb8036f4e38a"
dependencies = [
"cc",
"tree-sitter",
]
[[package]]
name = "tree-sitter-go"
version = "0.23.1"
source = "git+https://github.com/tree-sitter/tree-sitter-go.git?rev=ecc20866d1bd4d80f3aef06456ed3014d4d598e6#ecc20866d1bd4d80f3aef06456ed3014d4d598e6"
version = "0.23.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a83995691e929d60d7946ab29a6cace465f0cf5bfdb62d7721f76278537d59ad"
dependencies = [
"cc",
"tree-sitter-language",
@ -1257,10 +1269,11 @@ dependencies = [
[[package]]
name = "tree-sitter-yaml"
version = "0.6.1"
source = "git+https://github.com/wetneb/tree-sitter-yaml.git?rev=7b5199133abceb03d6d1d8f1672f49b4f2a71442#7b5199133abceb03d6d1d8f1672f49b4f2a71442"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aad27ec46ad343d8b514f64dd3fdffb478c592ece561b6c935d90ef55589c6b6"
dependencies = [
"cc",
"tree-sitter-language",
"tree-sitter",
]
[[package]]

View File

@ -6,36 +6,44 @@
# native check inputs
git,
versionCheckHook,
}:
rustPlatform.buildRustPackage rec {
pname = "mergiraf";
version = "0.2.0";
version = "0.3.0";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "mergiraf";
repo = "mergiraf";
rev = "refs/tags/v${version}";
hash = "sha256-egtX2daCbPXi5rX2OxbEZA/VI9R4HMj5LRKbUEBFo+E=";
hash = "sha256-yBLSN5+rPPoxA6Bn1O2NNGNo9cDfowZdaOtVvvUmNAM=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"tree-sitter-go-0.23.1" = "sha256-elPqkvVYs0vADOuN/umDteWP5hqcXhQAoSkqYDtTxaU=";
"tree-sitter-xml-0.7.0" = "sha256-RTWvOUAs3Uql9DKsP1jf9FZZHaZORE40GXd+6g6RQZw=";
"tree-sitter-yaml-0.6.1" = "sha256-gS+SjOnGl/86U9VV/y1ca7naYIe7DAOvOv++jCRLTKo=";
};
};
nativeCheckInputs = [ git ];
nativeCheckInputs = [
git
versionCheckHook
];
versionCheckProgramArg = [ "--version" ];
meta = {
description = "Syntax-aware git merge driver for a growing collection of programming languages and file formats";
mainProgram = "mergiraf";
homepage = "https://mergiraf.org/";
changelog = "https://codeberg.org/mergiraf/mergiraf/releases/v${version}";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ zimbatm ];
maintainers = with lib.maintainers; [
zimbatm
genga898
];
mainProgram = "mergiraf";
};
}

View File

@ -11,16 +11,16 @@
rustPlatform.buildRustPackage rec {
pname = "mollysocket";
version = "1.5.1";
version = "1.5.2";
src = fetchFromGitHub {
owner = "mollyim";
repo = "mollysocket";
rev = version;
hash = "sha256-RRnMmdyr4FZHsdLjGvTRiSw+YC+OutWqsoEId7ZlSX0=";
hash = "sha256-6SS1OyAkjL2K87wbUmDs+dDSLp3xL65CkM2AziuN0JQ=";
};
cargoHash = "sha256-BXllzuw01ANrk+osUsAlMyLRAptvxGO+rl0ygsCfewU=";
cargoHash = "sha256-gdHd10MfY7owKsLCsYCy4KIClnsgBzak6ZfghYuVDOc=";
nativeBuildInputs = [
pkg-config

View File

@ -0,0 +1,50 @@
{
lib,
stdenv,
fetchFromGitHub,
installShellFiles,
pkg-config,
ncurses,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "nbsdgames";
version = "5-unstable-2023-03-13";
src = fetchFromGitHub {
owner = "abakh";
repo = "nbsdgames";
rev = "b7530749f7d7cc1aba9dcf202543ed6f638592f8";
hash = "sha256-/GK2FVV/JKh+bU/FSnY6Hr3PWxSr5CW8XerfGF+FPls=";
};
nativeBuildInputs = [
pkg-config
installShellFiles
];
buildInputs = [ ncurses ];
installFlags = [
"DESTDIR=$(out)"
"PREFIX="
"GAMES_DIR=bin"
];
preInstall = ''
mkdir -p $out/bin
'';
postInstall = ''
installManPage man/*
'';
meta = {
description = "A package of 18 text-based modern games";
homepage = "https://github.com/abakh/nbsdgames";
license = lib.licenses.cc0;
maintainers = with lib.maintainers; [ sarcasticadmin ];
mainProgram = "nbsdgames";
platforms = lib.platforms.all;
};
})

View File

@ -7,10 +7,10 @@
nim-unwrapped-2_2.overrideAttrs (
finalAttrs: previousAttrs: {
version = "2.0.10";
version = "2.0.12";
src = fetchurl {
url = "https://nim-lang.org/download/nim-${finalAttrs.version}.tar.xz";
hash = "sha256-8UVDwjOpLHub0np9mEx4yfnBvXMyAwrBa+fFQMdbDqA=";
hash = "sha256-xIh5ScXrjX+an1bwrrK/IUD6vwruDwWAoxnioJgVczo=";
};
patches = lib.lists.unique (
builtins.filter (

View File

@ -3,41 +3,41 @@
lib,
writeShellScript,
fetchFromGitHub,
pcre,
asciidoctor,
unstableGitUpdater
unstableGitUpdater,
}:
picom.overrideAttrs (previousAttrs: {
pname = "picom-pijulius";
version = "8.2-unstable-2024-10-30";
version = "8.2-unstable-2024-11-12";
src = fetchFromGitHub {
owner = "pijulius";
repo = "picom";
rev = "bdbcae085c1ba6c2ec6f21712ed140daaa630d89";
hash = "sha256-3S8p4vXfryL3IfWPpjhp1GxqJelHRw5aFI3a+ysRKTU=";
rev = "136ee8d0704753b535d59a4aea03d494929ce081";
hash = "sha256-om4vHKXA1FFy6b6DrmVunfOMco3SZxiNoIYyXK+j7k8=";
};
buildInputs = (previousAttrs.buildInputs or [ ]) ++ [ pcre ];
nativeBuildInputs = (previousAttrs.nativeBuildInputs or [ ]) ++ [ asciidoctor ];
meta = {
inherit (previousAttrs.meta)
license
platforms
mainProgram
longDescription
;
description = "Pijulius's picom fork with extensive animation support";
homepage = "https://github.com/pijulius/picom";
maintainers = with lib.maintainers; [ YvesStraten ];
};
dontVersionCheck = true;
passthru.updateScript = unstableGitUpdater {
tagFormat = "v([A-Z]+)([a-z]+)|v([1-9]).([1-9])|v([1-9])-rc([1-9])";
tagConverter = writeShellScript "picom-pijulius-tag-converter.sh" ''
sed -e 's/v//g' -e 's/([A-Z])([a-z])+/8.2/g' -e 's/-rc([1-9])|-rc//g' -e 's/0/8.2/g'
'';
sed -e 's/v//g' -e 's/([A-Z])([a-z])+/8.2/g' -e 's/-rc([1-9])|-rc//g' -e 's/0/8.2/g'
'';
};
meta = {
inherit (previousAttrs.meta)
license
longDescription
mainProgram
platforms
;
description = "Pijulius's picom fork with extensive animation support";
homepage = "https://github.com/pijulius/picom";
maintainers = with lib.maintainers; [
YvesStraten
];
};
})

View File

@ -1,45 +1,48 @@
{ asciidoctor
, dbus
, docbook_xml_dtd_45
, docbook_xsl
, fetchFromGitHub
, lib
, libconfig
, libdrm
, libev
, libGL
, libepoxy
, libX11
, libxcb
, libxdg_basedir
, libXext
, libxml2
, libxslt
, makeWrapper
, meson
, ninja
, pcre2
, pixman
, pkg-config
, stdenv
, uthash
, xcbutil
, xcbutilimage
, xcbutilrenderutil
, xorgproto
, xwininfo
, withDebug ? false
{
asciidoctor,
dbus,
docbook_xml_dtd_45,
docbook_xsl,
fetchFromGitHub,
lib,
libconfig,
libdrm,
libev,
libGL,
libepoxy,
libX11,
libxcb,
libxdg_basedir,
libXext,
libxml2,
libxslt,
makeWrapper,
meson,
ninja,
pcre2,
pixman,
pkg-config,
stdenv,
uthash,
xcbutil,
xcbutilimage,
xcbutilrenderutil,
xorgproto,
xwininfo,
withDebug ? false,
versionCheckHook,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "picom";
version = "12.4";
version = "12.5";
src = fetchFromGitHub {
owner = "yshui";
repo = "picom";
rev = "v${finalAttrs.version}";
hash = "sha256-5kScnKUHck86fsYrraeV2O2r6fsVFllRMp4GeNT627A=";
hash = "sha256-H8IbzzrzF1c63MXbw5mqoll3H+vgcSVpijrlSDNkc+o=";
fetchSubmodules = true;
};
@ -90,15 +93,28 @@ stdenv.mkDerivation (finalAttrs: {
# In debug mode, also copy src directory to store. If you then run `gdb picom`
# in the bin directory of picom store path, gdb finds the source files.
postInstall = ''
wrapProgram $out/bin/picom-trans \
--prefix PATH : ${lib.makeBinPath [ xwininfo ]}
'' + lib.optionalString withDebug ''
cp -r ../src $out/
'';
postInstall =
''
wrapProgram $out/bin/picom-trans \
--prefix PATH : ${lib.makeBinPath [ xwininfo ]}
''
+ lib.optionalString withDebug ''
cp -r ../src $out/
'';
meta = with lib; {
nativeInstallCheckInputs = [
versionCheckHook
];
doInstallCheck = true;
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "Fork of XCompMgr, a sample compositing manager for X servers";
license = lib.licenses.mit;
longDescription = ''
A fork of XCompMgr, which is a sample compositing manager for X
servers supporting the XFIXES, DAMAGE, RENDER, and COMPOSITE
@ -113,10 +129,14 @@ stdenv.mkDerivation (finalAttrs: {
For gdb to find the source files, you need to run gdb in the bin directory
of picom package in the nix store.
'';
license = licenses.mit;
homepage = "https://github.com/yshui/picom";
maintainers = with maintainers; [ ertes gepbird twey thiagokokada ];
platforms = platforms.linux;
mainProgram = "picom";
maintainers = with lib.maintainers; [
ertes
gepbird
thiagokokada
twey
];
platforms = lib.platforms.linux;
};
})

View File

@ -7,18 +7,18 @@
let
pname = "pinact";
version = "0.2.1";
version = "1.0.0";
src = fetchFromGitHub {
owner = "suzuki-shunsuke";
repo = "pinact";
rev = "v${version}";
hash = "sha256-HfeHfKXDBHPgxisWSVnrLOQf/4NXtnehkIjQqiCoFIc=";
hash = "sha256-fOmQDfqG1aWzpL80Nc8JA6HWQR+z9mhqtwU4rC2g2Gg=";
};
in
buildGoModule {
inherit pname version src;
vendorHash = "sha256-L9EGygiJ40f7Yw46KdaAof5O/ren6inTK7XerB/uv1g=";
vendorHash = "sha256-AFlkzs5mL/x9CwfF2apLcQbiu60GD33oFH6lQDHAL1M=";
doCheck = true;

View File

@ -9,11 +9,11 @@
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "proton-pass";
version = "1.23.1";
version = "1.24.1";
src = fetchurl {
url = "https://proton.me/download/pass/linux/x64/proton-pass_${finalAttrs.version}_amd64.deb";
hash = "sha256-D4OFHL9AS8oAwMZHoXaDpHKfMBQEaOd18eWAwVW4EJA=";
hash = "sha256-NtSZ3TSF3nBD+mEU6+uW2x8nqv0dz3jpankyTjJ8xvE=";
};
dontConfigure = true;
@ -25,11 +25,12 @@ stdenvNoCC.mkDerivation (finalAttrs: {
asar
];
# Rebuild the ASAR archive with the assets embedded
# Rebuild the ASAR archive, hardcoding the resourcesPath
preInstall = ''
asar extract usr/lib/proton-pass/resources/app.asar tmp
cp -r usr/lib/proton-pass/resources/assets/ tmp/
rm usr/lib/proton-pass/resources/app.asar
substituteInPlace tmp/.webpack/main/index.js \
--replace-fail "process.resourcesPath" "'$out/share/proton-pass'"
asar pack tmp/ usr/lib/proton-pass/resources/app.asar
rm -fr tmp
'';
@ -38,7 +39,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
runHook preInstall
mkdir -p $out/share/proton-pass
cp -r usr/share/ $out/
cp -r usr/lib/proton-pass/resources/app.asar $out/share/proton-pass/
cp -r usr/lib/proton-pass/resources/{app.asar,assets} $out/share/proton-pass/
runHook postInstall
'';
@ -46,6 +47,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
makeWrapper ${lib.getExe electron} $out/bin/proton-pass \
--add-flags $out/share/proton-pass/app.asar \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
--set-default ELECTRON_FORCE_IS_PACKAGED 1 \
--set-default ELECTRON_IS_DEV 0 \
--inherit-argv0
'';

View File

@ -1,48 +1,45 @@
{ lib
, rustPlatform
, fetchFromGitLab
, installShellFiles
, pkg-config
, python3
, dbus
, glib
, gpgme
, gtk3
, libxcb
, libxkbcommon
, stdenv
{
lib,
rustPlatform,
fetchFromGitLab,
installShellFiles,
pkg-config,
python3,
glib,
gpgme,
gtk3,
stdenv,
}:
rustPlatform.buildRustPackage rec {
pname = "prs";
version = "0.5.1";
version = "0.5.2";
src = fetchFromGitLab {
owner = "timvisee";
repo = "prs";
rev = "refs/tags/v${version}";
hash = "sha256-MvQ0B35NF/AuGHBMa201FkFlU/UX0WXMcBRxTJwpUFw=";
hash = "sha256-W5wNmZWjSsM6Xe50fCpa/aGsJ8PDyh2INs1Oj86et04=";
};
cargoHash = "sha256-YDcAjBIdUboOKvGSnGW6b1JVbhQaB3ccXcSmK78M7DI=";
cargoHash = "sha256-T57RqIzurpYLHyeFhvqxmC+DoB6zUf+iTu1YkMmwtp8=";
postPatch = ''
# The GPGME backend is recommended
for f in "gtk3/Cargo.toml" "cli/Cargo.toml"; do
substituteInPlace "$f" --replace \
'default = ["backend-gnupg-bin"' 'default = ["backend-gpgme"'
done
'';
nativeBuildInputs = [
gpgme
installShellFiles
pkg-config
python3
];
nativeBuildInputs = [ gpgme installShellFiles pkg-config python3 ];
cargoBuildFlags = [
"--no-default-features"
"--features=alias,backend-gpgme,clipboard,notify,select-fzf-bin,select-skim-bin,tomb,totp"
];
buildInputs = [
dbus
glib
gpgme
gtk3
libxcb
libxkbcommon
];
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
@ -57,7 +54,7 @@ rustPlatform.buildRustPackage rec {
changelog = "https://gitlab.com/timvisee/prs/-/blob/v${version}/CHANGELOG.md";
license = with licenses; [
lgpl3Only # lib
gpl3Only # everything else
gpl3Only # everything else
];
maintainers = with maintainers; [ dotlambda ];
mainProgram = "prs";

View File

@ -1,14 +1,14 @@
{ lib, stdenv, fetchFromGitHub, mlton, futhark }:
{ lib, stdenv, fetchFromGitHub, mlton, mlkit, futhark }:
stdenv.mkDerivation rec {
pname = "smlfut";
version = "1.3.0";
version = "1.6.2";
src = fetchFromGitHub {
owner = "diku-dk";
repo = "smlfut";
rev = "v${version}";
hash = "sha256-Oj5+UNtV2GKB2GNsSFKePVpa1msSZwwJI/YElwBSH98=";
hash = "sha256-0Bqgoyp43Y961BMghJFBUx+1lcM2HHlPDjPyLHquWiE=";
};
enableParallelBuilding = true;
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
doCheck = true;
nativeCheckInputs = [ futhark ];
nativeCheckInputs = [ futhark mlkit ];
checkTarget = "run_test";

View File

@ -21,6 +21,12 @@ dependencies = [
"yansi",
]
[[package]]
name = "arrayvec"
version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50"
[[package]]
name = "atty"
version = "0.2.14"
@ -34,9 +40,9 @@ dependencies = [
[[package]]
name = "autocfg"
version = "1.3.0"
version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
[[package]]
name = "bitflags"
@ -45,14 +51,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "cc"
version = "1.1.19"
name = "bitflags"
version = "2.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2d74707dde2ba56f86ae90effb3b43ddd369504387e718014de010cec7959800"
checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
[[package]]
name = "cc"
version = "1.1.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baee610e9452a8f6f0a1b6194ec09ff9e2d85dea54432acdae41aa0761c95d70"
dependencies = [
"shlex",
]
[[package]]
name = "cfg-if"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "clap"
version = "3.2.25"
@ -60,7 +78,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123"
dependencies = [
"atty",
"bitflags",
"bitflags 1.3.2",
"clap_lex",
"indexmap",
"strsim",
@ -92,6 +110,38 @@ version = "0.8.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80"
[[package]]
name = "dirs-next"
version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1"
dependencies = [
"cfg-if",
"dirs-sys-next",
]
[[package]]
name = "dirs-sys-next"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d"
dependencies = [
"libc",
"redox_users",
"winapi",
]
[[package]]
name = "displaydoc"
version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.87",
]
[[package]]
name = "form_urlencoded"
version = "1.2.1"
@ -101,6 +151,17 @@ dependencies = [
"percent-encoding",
]
[[package]]
name = "getrandom"
version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
dependencies = [
"cfg-if",
"libc",
"wasi",
]
[[package]]
name = "hashbrown"
version = "0.12.3"
@ -117,13 +178,142 @@ dependencies = [
]
[[package]]
name = "idna"
version = "0.5.0"
name = "icu_collections"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526"
dependencies = [
"unicode-bidi",
"unicode-normalization",
"displaydoc",
"yoke",
"zerofrom",
"zerovec",
]
[[package]]
name = "icu_locid"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637"
dependencies = [
"displaydoc",
"litemap",
"tinystr",
"writeable",
"zerovec",
]
[[package]]
name = "icu_locid_transform"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e"
dependencies = [
"displaydoc",
"icu_locid",
"icu_locid_transform_data",
"icu_provider",
"tinystr",
"zerovec",
]
[[package]]
name = "icu_locid_transform_data"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e"
[[package]]
name = "icu_normalizer"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f"
dependencies = [
"displaydoc",
"icu_collections",
"icu_normalizer_data",
"icu_properties",
"icu_provider",
"smallvec",
"utf16_iter",
"utf8_iter",
"write16",
"zerovec",
]
[[package]]
name = "icu_normalizer_data"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516"
[[package]]
name = "icu_properties"
version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5"
dependencies = [
"displaydoc",
"icu_collections",
"icu_locid_transform",
"icu_properties_data",
"icu_provider",
"tinystr",
"zerovec",
]
[[package]]
name = "icu_properties_data"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569"
[[package]]
name = "icu_provider"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9"
dependencies = [
"displaydoc",
"icu_locid",
"icu_provider_macros",
"stable_deref_trait",
"tinystr",
"writeable",
"yoke",
"zerofrom",
"zerovec",
]
[[package]]
name = "icu_provider_macros"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.87",
]
[[package]]
name = "idna"
version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e"
dependencies = [
"idna_adapter",
"smallvec",
"utf8_iter",
]
[[package]]
name = "idna_adapter"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71"
dependencies = [
"icu_normalizer",
"icu_properties",
]
[[package]]
@ -144,9 +334,25 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
[[package]]
name = "libc"
version = "0.2.158"
version = "0.2.162"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439"
checksum = "18d287de67fe55fd7e1581fe933d965a5a9477b38e949cfa9f8574ef01506398"
[[package]]
name = "libredox"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
dependencies = [
"bitflags 2.6.0",
"libc",
]
[[package]]
name = "litemap"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704"
[[package]]
name = "log"
@ -172,7 +378,7 @@ version = "0.94.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c66bfd44a06ae10647fe3f8214762e9369fd4248df1350924b4ef9e770a85ea1"
dependencies = [
"bitflags",
"bitflags 1.3.2",
"serde",
"serde_json",
"serde_repr",
@ -272,9 +478,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
[[package]]
name = "proc-macro2"
version = "1.0.86"
version = "1.0.89"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77"
checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e"
dependencies = [
"unicode-ident",
]
@ -289,10 +495,21 @@ dependencies = [
]
[[package]]
name = "regex"
version = "1.10.6"
name = "redox_users"
version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619"
checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43"
dependencies = [
"getrandom",
"libredox",
"thiserror",
]
[[package]]
name = "regex"
version = "1.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
dependencies = [
"aho-corasick",
"memchr",
@ -302,9 +519,9 @@ dependencies = [
[[package]]
name = "regex-automata"
version = "0.4.7"
version = "0.4.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df"
checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3"
dependencies = [
"aho-corasick",
"memchr",
@ -313,9 +530,9 @@ dependencies = [
[[package]]
name = "regex-syntax"
version = "0.8.4"
version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b"
checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
[[package]]
name = "ryu"
@ -325,29 +542,29 @@ checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
[[package]]
name = "serde"
version = "1.0.210"
version = "1.0.214"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a"
checksum = "f55c3193aca71c12ad7890f1785d2b73e1b9f63a0bbc353c08ef26fe03fc56b5"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
version = "1.0.210"
version = "1.0.214"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f"
checksum = "de523f781f095e28fa605cdce0f8307e451cc0fd14e2eb4cd2e98a355b147766"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.77",
"syn 2.0.87",
]
[[package]]
name = "serde_json"
version = "1.0.128"
version = "1.0.132"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8"
checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03"
dependencies = [
"itoa",
"memchr",
@ -363,7 +580,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.77",
"syn 2.0.87",
]
[[package]]
@ -372,6 +589,18 @@ version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
[[package]]
name = "smallvec"
version = "1.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
[[package]]
name = "stable_deref_trait"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
[[package]]
name = "strsim"
version = "0.10.0"
@ -380,7 +609,7 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
[[package]]
name = "sus-proc-macro"
version = "0.0.1"
version = "0.1.0"
dependencies = [
"quote",
"syn 1.0.109",
@ -390,10 +619,12 @@ dependencies = [
[[package]]
name = "sus_compiler"
version = "0.0.2"
version = "0.1.1"
dependencies = [
"ariadne",
"arrayvec",
"clap",
"dirs-next",
"lsp-server",
"lsp-types",
"num",
@ -417,15 +648,26 @@ dependencies = [
[[package]]
name = "syn"
version = "2.0.77"
version = "2.0.87"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed"
checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]]
name = "synstructure"
version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.87",
]
[[package]]
name = "termcolor"
version = "1.4.1"
@ -442,19 +684,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9"
[[package]]
name = "tinyvec"
version = "1.8.0"
name = "thiserror"
version = "1.0.68"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938"
checksum = "02dd99dc800bbb97186339685293e1cc5d9df1f8fae2d0aecd9ff1c77efea892"
dependencies = [
"tinyvec_macros",
"thiserror-impl",
]
[[package]]
name = "tinyvec_macros"
version = "0.1.1"
name = "thiserror-impl"
version = "1.0.68"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
checksum = "a7c61ec9a6f64d2793d8a45faba21efbe3ced62a886d44c36a009b2b519b4c7e"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.87",
]
[[package]]
name = "tinystr"
version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f"
dependencies = [
"displaydoc",
"zerovec",
]
[[package]]
name = "tree-sitter"
@ -468,44 +725,29 @@ dependencies = [
[[package]]
name = "tree-sitter-sus"
version = "0.0.2"
version = "0.1.0"
dependencies = [
"cc",
"tree-sitter",
]
[[package]]
name = "unicode-bidi"
version = "0.3.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
[[package]]
name = "unicode-ident"
version = "1.0.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe"
[[package]]
name = "unicode-normalization"
version = "0.1.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
dependencies = [
"tinyvec",
]
[[package]]
name = "unicode-width"
version = "0.1.13"
version = "0.1.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d"
checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af"
[[package]]
name = "url"
version = "2.5.2"
version = "2.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c"
checksum = "8d157f1b96d14500ffdc1f10ba712e780825526c03d9a49b4d0324b0d9113ada"
dependencies = [
"form_urlencoded",
"idna",
@ -513,6 +755,24 @@ dependencies = [
"serde",
]
[[package]]
name = "utf16_iter"
version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246"
[[package]]
name = "utf8_iter"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
[[package]]
name = "wasi"
version = "0.11.0+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
name = "winapi"
version = "0.3.9"
@ -617,8 +877,87 @@ version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
[[package]]
name = "write16"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936"
[[package]]
name = "writeable"
version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51"
[[package]]
name = "yansi"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049"
[[package]]
name = "yoke"
version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5"
dependencies = [
"serde",
"stable_deref_trait",
"yoke-derive",
"zerofrom",
]
[[package]]
name = "yoke-derive"
version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.87",
"synstructure",
]
[[package]]
name = "zerofrom"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55"
dependencies = [
"zerofrom-derive",
]
[[package]]
name = "zerofrom-derive"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.87",
"synstructure",
]
[[package]]
name = "zerovec"
version = "0.10.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079"
dependencies = [
"yoke",
"zerofrom",
"zerovec-derive",
]
[[package]]
name = "zerovec-derive"
version = "0.10.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.87",
]

View File

@ -7,19 +7,23 @@
rustPlatform.buildRustPackage rec {
pname = "sus-compiler";
version = "0.0.2";
version = "0.1.1";
src = fetchFromGitHub {
owner = "pc2";
repo = "sus-compiler";
rev = "v${version}";
hash = "sha256-f93uT6ELW3T2Xd539EfZCf2LSbxcYnEX+smmLzBAxqc=";
hash = "sha256-VSoroUultjBn2KxfvyhS923RQ/1v9AXb15k4/MoR+oM=";
fetchSubmodules = true;
};
# no lockfile upstream
cargoLock.lockFile = ./Cargo.lock;
preBuild = ''
export HOME="$TMPDIR";
'';
postPatch = ''
ln -s ${./Cargo.lock} Cargo.lock
'';

View File

@ -5,60 +5,122 @@
pkg-config,
icu,
clucene_core,
autoreconfHook,
bzip2,
curl,
xz,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "sword";
version = "1.9.0";
stdenv.mkDerivation (
finalAttrs:
let
# Used on Windows, where libpsl doesn't compile, yet
curlDep = curl.override { pslSupport = false; };
in
{
pname = "sword";
version = "1.9.0";
src = fetchurl {
url = "https://www.crosswire.org/ftpmirror/pub/sword/source/v${lib.versions.majorMinor finalAttrs.version}/sword-${finalAttrs.version}.tar.gz";
hash = "sha256-QkCc894vrxEIUj4sWsB0XSH57SpceO2HjuncwwNCa4o=";
};
src = fetchurl {
url = "https://www.crosswire.org/ftpmirror/pub/sword/source/v${lib.versions.majorMinor finalAttrs.version}/sword-${finalAttrs.version}.tar.gz";
hash = "sha256-QkCc894vrxEIUj4sWsB0XSH57SpceO2HjuncwwNCa4o=";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [
icu
clucene_core
curl
];
nativeBuildInputs =
[
pkg-config
]
++ (lib.optionals stdenv.hostPlatform.isWindows [
autoreconfHook # The Windows patch modifies autotools files
]);
outputs = [
"out"
"dev"
];
buildInputs =
[
icu
]
++ (lib.optionals stdenv.hostPlatform.isUnix [
clucene_core
curl
])
++ (lib.optionals stdenv.hostPlatform.isWindows [
bzip2
curlDep
xz
]);
prePatch = ''
patchShebangs .;
'';
outputs = [
"out"
"dev"
];
configureFlags = [
"--without-conf"
"--enable-tests=no"
];
CXXFLAGS = [
"-Wno-unused-but-set-variable"
"-Wno-unknown-warning-option"
# compat with icu61+ https://github.com/unicode-org/icu/blob/release-64-2/icu4c/readme.html#L554
"-DU_USING_ICU_NAMESPACE=1"
];
meta = {
description = "Software framework that allows research manipulation of Biblical texts";
homepage = "https://www.crosswire.org/sword/";
longDescription = ''
The SWORD Project is the CrossWire Bible Society's free Bible software
project. Its purpose is to create cross-platform open-source tools --
covered by the GNU General Public License -- that allow programmers and
Bible societies to write new Bible software more quickly and easily. We
also create Bible study software for all readers, students, scholars, and
translators of the Bible, and have a growing collection of many hundred
texts in around 100 languages.
prePatch = ''
patchShebangs .;
'';
license = lib.licenses.gpl2;
maintainers = with lib.maintainers; [ AndersonTorres ];
platforms = lib.platforms.unix;
};
})
preConfigure = lib.optionalString stdenv.hostPlatform.isWindows ''
substituteInPlace configure --replace-fail "-no-undefined" "-Wl,-no-undefined"
'';
patches = lib.optional stdenv.hostPlatform.isWindows ./sword-1.9.0-diatheke-includes.patch;
configureFlags =
[
"--without-conf"
"--enable-tests=no"
]
++ (lib.optionals stdenv.hostPlatform.isWindows [
"--with-xz"
"--with-bzip2"
"--with-icuregex"
]);
makeFlags = lib.optionals stdenv.hostPlatform.isWindows [
"LDFLAGS=-no-undefined"
];
env = {
# When placed in nativeBuildInputs, icu.dev is finding the native ICU libs, but setting it
# explicitly here has it finding the platform appropriate version
ICU_CONFIG = lib.optionalString stdenv.hostPlatform.isWindows "${icu.dev}/bin/icu-config --noverify";
CURL_CONFIG = lib.optionalString stdenv.hostPlatform.isWindows "${lib.getDev curlDep}/bin/curl-config";
CXXFLAGS = (
builtins.concatStringsSep " " (
[
"-Wno-unused-but-set-variable"
"-Wno-unknown-warning-option"
# compat with icu61+ https://github.com/unicode-org/icu/blob/release-64-2/icu4c/readme.html#L554
"-DU_USING_ICU_NAMESPACE=1"
]
++ (lib.optionals stdenv.hostPlatform.isWindows [
"-Wint-to-pointer-cast"
"-fpermissive"
"-D_ICUSWORD_"
"-DCURL_STATICLIB"
])
)
);
};
meta = {
description = "Software framework that allows research manipulation of Biblical texts";
homepage = "https://www.crosswire.org/sword/";
longDescription = ''
The SWORD Project is the CrossWire Bible Society's free Bible software
project. Its purpose is to create cross-platform open-source tools --
covered by the GNU General Public License -- that allow programmers and
Bible societies to write new Bible software more quickly and easily. We
also create Bible study software for all readers, students, scholars, and
translators of the Bible, and have a growing collection of many hundred
texts in around 100 languages.
'';
license = lib.licenses.gpl2;
maintainers = with lib.maintainers; [
AndersonTorres
greg
];
platforms = lib.platforms.all;
};
}
)

View File

@ -0,0 +1,13 @@
diff --git a/utilities/diatheke/Makefile.am b/utilities/diatheke/Makefile.am
index 8ba34e5..545af2c 100644
--- a/utilities/diatheke/Makefile.am
+++ b/utilities/diatheke/Makefile.am
@@ -1,5 +1,8 @@
AUTOMAKE_OPTIONS = 1.6
+if USE_INTERNAL_REGEX
+AM_CPPFLAGS = -I$(top_srcdir)/include/internal/regex
+endif
LDADD = $(top_builddir)/lib/libsword.la
bin_PROGRAMS = diatheke

View File

@ -27,7 +27,7 @@
glslang,
spirv-tools,
gtest,
darwin,
apple-sdk_11,
}:
let
clientExecutable = "TaterClient-DDNet";
@ -80,15 +80,9 @@ stdenv.mkDerivation (finalAttrs: {
spirv-tools
]
++ lib.optionals stdenv.hostPlatform.isLinux [ libX11 ]
++ lib.optionals stdenv.hostPlatform.isDarwin (
with darwin.apple_sdk.frameworks;
[
Carbon
Cocoa
OpenGL
Security
]
);
++ lib.optionals stdenv.hostPlatform.isDarwin [
apple-sdk_11
];
postPatch = ''
substituteInPlace src/engine/shared/storage.cpp \

View File

@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchFromGitHub
, fetchpatch2
, cmake
, curl
, gpgme
@ -23,6 +24,14 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-p9g+b7Fqq8V6QSaikEQMMHWqBf4UtRA9a/VtH+s5JUM=";
};
patches = [
# Support for rpm >= 4.19
(fetchpatch2 {
url = "https://patch-diff.githubusercontent.com/raw/vmware/tdnf/pull/410.patch";
hash = "sha256-p/ix5O1J/lj2fw7qJokT+wPN4ROoulnVqByfxgFvuEo=";
})
];
nativeBuildInputs = [
cmake
pkg-config

View File

@ -9,7 +9,7 @@
buildGo123Module rec {
pname = "telegraf";
version = "1.32.1";
version = "1.32.2";
subPackages = [ "cmd/telegraf" ];
@ -17,10 +17,10 @@ buildGo123Module rec {
owner = "influxdata";
repo = "telegraf";
rev = "v${version}";
hash = "sha256-CtfPREsU2LU7Ptn3FzEDlPeWVWP/OdtIITdUL7qKbgI=";
hash = "sha256-hqYBoaklrdCkTwnkwqkZAvGLyWkUB3CVu4cg3Ujbyto=";
};
vendorHash = "sha256-WQbgGsGfyUGcgjXWjuyyCapeKgujoZD6HpKoFiIA//M=";
vendorHash = "sha256-KRZ5Rrdp69DTHtNu8vXuD7QKy2n6Sx7myNpB5TSZpRk=";
proxyVendor = true;
ldflags = [

View File

@ -6,13 +6,13 @@
buildGoModule rec {
pname = "terragrunt";
version = "0.67.9";
version = "0.68.7";
src = fetchFromGitHub {
owner = "gruntwork-io";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-TDYYPR+Sak2Kv89Fp+sCi2XC8eYrwVS5RIgzUTXaCRc=";
hash = "sha256-+66+qntwEILB0wbO/J5S6ED5W8JoE0C1KSGmGwIYGM0=";
};
nativeBuildInputs = [ go-mockery ];
@ -21,7 +21,7 @@ buildGoModule rec {
make generate-mocks
'';
vendorHash = "sha256-NERvQoxT01ew/rCkEXrthsqF1mXjhxZANBL9ApTyd7o=";
vendorHash = "sha256-MLIj+/FUw7C4sOWby9nmcQFAvjVNvnf6bKs3pmlhzRQ=";
doCheck = false;
@ -29,6 +29,7 @@ buildGoModule rec {
"-s"
"-w"
"-X github.com/gruntwork-io/go-commons/version.Version=v${version}"
"-extldflags '-static'"
];
doInstallCheck = true;

View File

@ -69,7 +69,6 @@ stdenv.mkDerivation rec {
psyanticy
Chili-Man
techknowlogick
mkaito
];
mainProgram = "vault";
platforms = [

View File

@ -6,6 +6,7 @@
buildXenPackage.override { inherit python3Packages; } {
pname = "xen";
version = "4.19.0-unstable-2024-11-12";
upstreamVersion = "4.19.1-pre"; # We track the stable branches. Despite the version number, this is actually 4.19.0, not 4.19.1.
rev = "251a9496485a86f302980a3f8d3c656831b5a62f";
hash = "sha256-kHuB6kagH3AU+Wsx4oD7HnNsZpxCu7x3v/m4/1xi6lY=";
}

View File

@ -2,11 +2,11 @@
buildGraalvmNativeImage rec {
pname = "yamlscript";
version = "0.1.79";
version = "0.1.83";
src = fetchurl {
url = "https://github.com/yaml/yamlscript/releases/download/${version}/yamlscript.cli-${version}-standalone.jar";
hash = "sha256-Jx3mnAgsTi/5nqcy6DVYPoM4GlQJf+10uuQzhUWp5ZU=";
hash = "sha256-c38jNaQSFTQA6+P2joduGe2fqSZmNiokKVf91vkJtEA=";
};
executable = "ys";

View File

@ -34,7 +34,7 @@
# Feature flags
, withAlsa ? withHeadlessDeps && stdenv.hostPlatform.isLinux # Alsa in/output supporT
, withAmf ? lib.meta.availableOn stdenv.hostPlatform amf # AMD Media Framework video encoding
, withAmf ? withHeadlessDeps && lib.meta.availableOn stdenv.hostPlatform amf # AMD Media Framework video encoding
, withAom ? withHeadlessDeps # AV1 reference encoder
, withAribb24 ? withFullDeps # ARIB text and caption decoding
, withAribcaption ? withFullDeps && lib.versionAtLeast version "6.1" # ARIB STD-B24 Caption Decoder/Renderer

View File

@ -94,7 +94,10 @@ else
unwrapped = overriddenUnwrappedGir;
};
dontStrip = true;
depsTargetTargetPropagated = [ overridenTargetUnwrappedGir ];
# Conditional is for `pkgsCross.x86_64-freebsd.pkgsBuildHost.gobject-introspection` `error: Don't know how to run x86_64-unknown-freebsd executables.`
# `pkgsCross.x86_64-freebsd.buildPackages.python3.withPackages (pp: [ pp.pygobject3 ])`
# Using the python module does not need this propagation
depsTargetTargetPropagated = lib.optionals (stdenv.targetPlatform.emulatorAvailable buildPackages) [ overridenTargetUnwrappedGir ];
buildCommand = ''
eval fixupPhase
${lib.concatMapStrings (output: ''

View File

@ -11,15 +11,19 @@
buildPerlPackage rec {
pname = "Image-ExifTool";
version = "12.84";
version = "13.00";
src = fetchurl {
url = "https://exiftool.org/Image-ExifTool-${version}.tar.gz";
hash = "sha256-sfSnx5bS7vI0KIhBOpB5VYzP6g8oi0rR7mUTxxNWEA0=";
hash = "sha256-SJV4jzT4NHZfhr5KWtWjJDP1ctdXFg7Ne2Eur17TfoQ=";
};
nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang;
postPatch = ''
patchShebangs exiftool
'';
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
shortenPerlShebang $out/bin/exiftool
'';

View File

@ -61,14 +61,14 @@ let
in
buildPythonPackage rec {
pname = "gftools";
version = "0.9.71";
version = "0.9.74";
pyproject = true;
src = fetchFromGitHub {
owner = "googlefonts";
repo = "gftools";
rev = "refs/tags/v${version}";
hash = "sha256-YVuTozuONZbBtrst4Q+NmHxqEZa/YPVRMiagjmjcW9U=";
hash = "sha256-AIE2b2BgW4LYtnS76t4vu6B2POmqKgMzLLqRs9K40Gg=";
};
postPatch = ''

View File

@ -8,7 +8,7 @@
}:
buildPythonPackage rec {
pname = "mypgoclient";
pname = "mygpoclient";
version = "1.9";
pyproject = true;

View File

@ -53,17 +53,18 @@ buildPythonPackage rec {
make -j $NIX_BUILD_CORES
'';
# skip testing on platforms disabled for tensorflow-bin
doCheck = !(builtins.elem stdenv.hostPlatform.system tensorflow-bin.meta.badPlatforms);
nativeCheckInputs = [
pytestCheckHook
numpy
scipy
torch
tensorflow-bin
jax
jaxlib
];
nativeCheckInputs =
[
pytestCheckHook
numpy
scipy
torch
]
++ lib.optionals (!(builtins.elem stdenv.hostPlatform.system tensorflow-bin.meta.badPlatforms)) [
tensorflow-bin
jax
jaxlib
];
meta = {
homepage = "https://github.com/wjakob/nanobind";

View File

@ -13,13 +13,13 @@
faust-cchardet,
orjson,
pynacl,
setuptools,
}:
buildPythonPackage rec {
pname = "nextcord";
version = "2.6.1";
format = "setuptools";
pyproject = true;
disabled = pythonOlder "3.8";
@ -38,13 +38,18 @@ buildPythonPackage rec {
})
];
propagatedBuildInputs = [
build-system = [
setuptools
];
dependencies = [
aiodns
aiohttp
brotli
faust-cchardet
orjson
pynacl
setuptools # for pkg_resources, remove with next release
];
# upstream has no tests

View File

@ -1,36 +1,34 @@
{ lib
, stdenv
, fetchFromGitHub
, cargo
, cmake
, ninja
, pkg-config
, rustPlatform
, rustc
, curl
, freetype
, libGLU
, libnotify
, libogg
, libX11
, opusfile
, pcre
, python3
, SDL2
, sqlite
, wavpack
, ffmpeg
, x264
, vulkan-headers
, vulkan-loader
, glslang
, spirv-tools
, gtest
, Carbon
, Cocoa
, OpenGL
, Security
, buildClient ? true
{
lib,
stdenv,
fetchFromGitHub,
cargo,
cmake,
ninja,
pkg-config,
rustPlatform,
rustc,
apple-sdk_11,
curl,
freetype,
libGLU,
libnotify,
libogg,
libX11,
opusfile,
pcre,
python3,
SDL2,
sqlite,
wavpack,
ffmpeg,
x264,
vulkan-headers,
vulkan-loader,
glslang,
spirv-tools,
gtest,
buildClient ? true,
}:
stdenv.mkDerivation rec {
@ -63,33 +61,36 @@ stdenv.mkDerivation rec {
gtest
];
buildInputs = [
curl
libnotify
pcre
python3
sqlite
] ++ lib.optionals buildClient ([
freetype
libGLU
libogg
opusfile
SDL2
wavpack
ffmpeg
x264
vulkan-loader
vulkan-headers
glslang
spirv-tools
] ++ lib.optionals stdenv.hostPlatform.isLinux [
libX11
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
Carbon
Cocoa
OpenGL
Security
]);
buildInputs =
[
curl
libnotify
pcre
python3
sqlite
]
++ lib.optionals buildClient (
[
freetype
libGLU
libogg
opusfile
SDL2
wavpack
ffmpeg
x264
vulkan-loader
vulkan-headers
glslang
spirv-tools
]
++ lib.optionals stdenv.hostPlatform.isLinux [
libX11
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
apple-sdk_11
]
);
postPatch = ''
substituteInPlace src/engine/shared/storage.cpp \
@ -130,7 +131,11 @@ stdenv.mkDerivation rec {
'';
homepage = "https://ddnet.org";
license = licenses.asl20;
maintainers = with maintainers; [ sirseruju lom ncfavier ];
maintainers = with maintainers; [
sirseruju
lom
ncfavier
];
mainProgram = "DDNet";
};
}

View File

@ -1,24 +1,28 @@
{ lib
, stdenv
, boost
, cmake
, pkg-config
, installShellFiles
, nix
{
lib,
stdenv,
boost,
meson,
ninja,
pkg-config,
installShellFiles,
nix,
}:
stdenv.mkDerivation {
name = "nixos-option";
src = ./src;
src = ./.;
postInstall = ''
installManPage ${./nixos-option.8}
installManPage ../nixos-option.8
'';
strictDeps = true;
nativeBuildInputs = [
cmake
meson
ninja
pkg-config
installShellFiles
];
@ -26,9 +30,6 @@ stdenv.mkDerivation {
boost
nix
];
cmakeFlags = [
"-DNIX_DEV_INCLUDEPATH=${nix.dev}/include/nix"
];
meta = with lib; {
license = licenses.lgpl2Plus;

View File

@ -0,0 +1,15 @@
project('nixos-option', 'cpp',
version : '0.1.6',
license : 'GPL-3.0',
)
nix_main_dep = dependency('nix-main', required: true)
nix_store_dep = dependency('nix-store', required: true)
nix_expr_dep = dependency('nix-expr', required: true)
nix_cmd_dep = dependency('nix-cmd', required: true)
nix_flake_dep = dependency('nix-flake', required: true)
threads_dep = dependency('threads', required: true)
nlohmann_json_dep = dependency('nlohmann_json', required: true)
boost_dep = dependency('boost', required: true)
subdir('src')

View File

@ -1,11 +0,0 @@
cmake_minimum_required (VERSION 2.6)
project (nixos-option)
set(NIX_DEV_INCLUDEPATH "" CACHE STRING "path to nix include directory")
add_executable(nixos-option nixos-option.cc libnix-copy-paste.cc)
target_include_directories(nixos-option PUBLIC "${NIX_DEV_INCLUDEPATH}")
target_link_libraries(nixos-option PRIVATE -lnixmain -lnixexpr -lnixstore -lnixutil -lnixcmd)
target_compile_features(nixos-option PRIVATE cxx_std_20)
install (TARGETS nixos-option DESTINATION bin)

View File

@ -2,79 +2,21 @@
// Since they are not, copy/paste them here.
// TODO: Delete these and use the ones in the library as they become available.
#include <nix/config.h> // for nix/globals.hh's reference to SYSTEM
#include "libnix-copy-paste.hh"
#include <boost/format/alt_sstream.hpp> // for basic_altstringbuf...
#include <boost/format/alt_sstream_impl.hpp> // for basic_altstringbuf...
#include <boost/optional/optional.hpp> // for get_pointer
#include <iostream> // for operator<<, basic_...
#include <nix/types.hh> // for Strings
#include <nix/error.hh> // for Error
#include <string> // for string, basic_string
using nix::Error;
using nix::Strings;
using std::string;
// From nix/src/libexpr/attr-path.cc
Strings parseAttrPath(const string & s)
{
Strings res;
string cur;
string::const_iterator i = s.begin();
while (i != s.end()) {
if (*i == '.') {
res.push_back(cur);
cur.clear();
} else if (*i == '"') {
++i;
while (1) {
if (i == s.end())
throw Error("missing closing quote in selection path '%1%'", s);
if (*i == '"')
break;
cur.push_back(*i++);
}
} else
cur.push_back(*i);
++i;
}
if (!cur.empty())
res.push_back(cur);
return res;
}
#include <nix/print.hh> // for Strings
// From nix/src/nix/repl.cc
bool isVarName(const string & s)
bool isVarName(const std::string_view & s)
{
if (s.size() == 0)
return false;
if (s.size() == 0) return false;
if (nix::isReservedKeyword(s)) return false;
char c = s[0];
if ((c >= '0' && c <= '9') || c == '-' || c == '\'')
return false;
if ((c >= '0' && c <= '9') || c == '-' || c == '\'') return false;
for (auto & i : s)
if (!((i >= 'a' && i <= 'z') || (i >= 'A' && i <= 'Z') || (i >= '0' && i <= '9') || i == '_' || i == '-' ||
i == '\''))
if (!((i >= 'a' && i <= 'z') ||
(i >= 'A' && i <= 'Z') ||
(i >= '0' && i <= '9') ||
i == '_' || i == '-' || i == '\''))
return false;
return true;
}
// From nix/src/nix/repl.cc
std::ostream & printStringValue(std::ostream & str, const char * string)
{
str << "\"";
for (const char * i = string; *i; i++)
if (*i == '\"' || *i == '\\')
str << "\\" << *i;
else if (*i == '\n')
str << "\\n";
else if (*i == '\r')
str << "\\r";
else if (*i == '\t')
str << "\\t";
else
str << *i;
str << "\"";
return str;
}

View File

@ -1,9 +1,5 @@
#pragma once
#include <iostream>
#include <nix/types.hh>
#include <string>
nix::Strings parseAttrPath(const std::string & s);
bool isVarName(const std::string & s);
std::ostream & printStringValue(std::ostream & str, const char * string);
bool isVarName(const std::string_view & s);

View File

@ -0,0 +1,20 @@
src = [
'nixos-option.cc',
'libnix-copy-paste.cc',
]
cc = meson.get_compiler('cpp')
executable('nixos-option', src,
dependencies : [
nix_main_dep,
nix_store_dep,
nix_expr_dep,
nix_cmd_dep,
nix_flake_dep,
boost_dep,
nlohmann_json_dep,
threads_dep
],
install: true,
cpp_args: ['-std=c++2a', '--include', 'nix/config.h'])

View File

@ -1,16 +1,8 @@
#include <nix/config.h> // for nix/globals.hh's reference to SYSTEM
#include <exception> // for exception_ptr, current_exception
#include <functional> // for function
#include <iostream> // for operator<<, basic_ostream, ostrin...
#include <iterator> // for next
#include <list> // for _List_iterator
#include <memory> // for allocator, unique_ptr, make_unique
#include <new> // for operator new
#include <nix/args.hh> // for argvToStrings, UsageError
#include <nix/attr-path.hh> // for findAlongAttrPath
#include <nix/attr-path.hh> // for findAlongAttrPath, parseAttrPath
#include <nix/attr-set.hh> // for Attr, Bindings, Bindings::iterator
#include <nix/common-eval-args.hh> // for MixEvalArgs
#include <nix/eval-gc.hh> // for initGC, initNix
#include <nix/eval-inline.hh> // for EvalState::forceValue
#include <nix/eval.hh> // for EvalState, initGC, operator<<
#include <nix/globals.hh> // for initPlugins, Settings, settings
@ -23,8 +15,6 @@
#include <nix/value.hh> // for Value, Value::(anonymous), Value:...
#include <string> // for string, operator+, operator==
#include <utility> // for move
#include <variant> // for get, holds_alternative, variant
#include <vector> // for vector<>::iterator, vector
#include "libnix-copy-paste.hh"
@ -119,7 +109,7 @@ Out::Out(Out & o, const std::string & start, const std::string & end, LinePolicy
Value evaluateValue(Context & ctx, Value & v)
{
ctx.state.forceValue(v, [&]() { return v.determinePos(nix::noPos); });
ctx.state.forceValue(v, v.determinePos(nix::noPos));
if (ctx.autoArgs.empty()) {
return v;
}
@ -133,8 +123,8 @@ bool isOption(Context & ctx, const Value & v)
if (v.type() != nAttrs) {
return false;
}
const auto & actualType = v.attrs->find(ctx.underscoreType);
if (actualType == v.attrs->end()) {
const auto & actualType = v.attrs()->find(ctx.underscoreType);
if (actualType == v.attrs()->end()) {
return false;
}
try {
@ -142,7 +132,7 @@ bool isOption(Context & ctx, const Value & v)
if (evaluatedType.type() != nString) {
return false;
}
return static_cast<std::string>(evaluatedType.string.s) == "option";
return evaluatedType.string_view() == "option";
} catch (Error &) {
return false;
}
@ -152,17 +142,17 @@ bool isOption(Context & ctx, const Value & v)
// These are needed for paths like:
// fileSystems."/".fsType
// systemd.units."dbus.service".text
std::string quoteAttribute(const std::string & attribute)
std::string quoteAttribute(const std::string_view & attribute)
{
if (isVarName(attribute)) {
return attribute;
return std::string(attribute);
}
std::ostringstream buf;
printStringValue(buf, attribute.c_str());
nix::printLiteralString(buf, attribute);
return buf.str();
}
const std::string appendPath(const std::string & prefix, const std::string & suffix)
const std::string appendPath(const std::string & prefix, const std::string_view & suffix)
{
if (prefix.empty()) {
return quoteAttribute(suffix);
@ -174,7 +164,7 @@ bool forbiddenRecursionName(const nix::Symbol symbol, const nix::SymbolTable & s
// note: this is created from a pointer
// According to standard, it may never point to null, and hence attempts to check against nullptr are not allowed.
// However, at the time of writing, I am not certain about the full implications of the omission of a nullptr check here.
const std::string & name = symbolTable[symbol];
const std::string_view & name = symbolTable[symbol];
// TODO: figure out why haskellPackages is not recursed here
return (!name.empty() && name[0] == '_') || name == "haskellPackages";
}
@ -198,34 +188,35 @@ void recurse(const std::function<bool(const std::string & path, std::variant<Val
if (evaluated_value.type() != nAttrs) {
return;
}
for (const auto & child : evaluated_value.attrs->lexicographicOrder(ctx.state.symbols)) {
for (const auto & child : evaluated_value.attrs()->lexicographicOrder(ctx.state.symbols)) {
if (forbiddenRecursionName(child->name, ctx.state.symbols)) {
continue;
}
recurse(f, ctx, *child->value, appendPath(path, ctx.state.symbols[child->name]));
std::string_view name = ctx.state.symbols[child->name];
recurse(f, ctx, *child->value, appendPath(path, name));
}
}
bool optionTypeIs(Context & ctx, Value & v, const std::string & soughtType)
{
try {
const auto & typeLookup = v.attrs->find(ctx.state.sType);
if (typeLookup == v.attrs->end()) {
const auto & typeLookup = v.attrs()->find(ctx.state.sType);
if (typeLookup == v.attrs()->end()) {
return false;
}
Value type = evaluateValue(ctx, *typeLookup->value);
if (type.type() != nAttrs) {
return false;
}
const auto & nameLookup = type.attrs->find(ctx.state.sName);
if (nameLookup == type.attrs->end()) {
const auto & nameLookup = type.attrs()->find(ctx.state.sName);
if (nameLookup == type.attrs()->end()) {
return false;
}
Value name = evaluateValue(ctx, *nameLookup->value);
if (name.type() != nString) {
return false;
}
return name.string.s == soughtType;
return name.string_view() == soughtType;
} catch (Error &) {
return false;
}
@ -242,7 +233,7 @@ Value getSubOptions(Context & ctx, Value & option)
{
Value getSubOptions = evaluateValue(ctx, *findAlongAttrPath(ctx.state, "type.getSubOptions", ctx.autoArgs, option).first);
if (getSubOptions.isLambda()) {
throw OptionPathError("Option's type.getSubOptions isn't a function");
throw OptionPathError(ctx.state, "Option's type.getSubOptions isn't a function");
}
Value emptyString{};
emptyString.mkString("");
@ -260,40 +251,40 @@ struct FindAlongOptionPathRet
};
FindAlongOptionPathRet findAlongOptionPath(Context & ctx, const std::string & path)
{
Strings tokens = parseAttrPath(path);
std::vector<Symbol> tokens = nix::parseAttrPath(ctx.state, path);
Value v = ctx.optionsRoot;
std::string processedPath;
for (auto i = tokens.begin(); i != tokens.end(); i++) {
const auto & attr = *i;
const std::string_view attr = ctx.state.symbols[*i];
try {
bool lastAttribute = std::next(i) == tokens.end();
v = evaluateValue(ctx, v);
if (attr.empty()) {
throw OptionPathError("empty attribute name");
throw OptionPathError(ctx.state, "empty attribute name");
}
if (isOption(ctx, v) && optionTypeIs(ctx, v, "submodule")) {
v = getSubOptions(ctx, v);
}
if (isOption(ctx, v) && isAggregateOptionType(ctx, v)) {
auto subOptions = getSubOptions(ctx, v);
if (lastAttribute && subOptions.attrs->empty()) {
if (lastAttribute && subOptions.attrs()->empty()) {
break;
}
v = subOptions;
// Note that we've consumed attr, but didn't actually use it. This is the path component that's looked
// up in the list or attribute set that doesn't name an option -- the "root" in "users.users.root.name".
} else if (v.type() != nAttrs) {
throw OptionPathError("Value is %s while a set was expected", showType(v));
throw OptionPathError(ctx.state, "Value is %s while a set was expected", showType(v));
} else {
const auto & next = v.attrs->find(ctx.state.symbols.create(attr));
if (next == v.attrs->end()) {
throw OptionPathError("Attribute not found", attr, path);
const auto & next = v.attrs()->find(ctx.state.symbols.create(attr));
if (next == v.attrs()->end()) {
throw OptionPathError(ctx.state, "Attribute not found", attr, path);
}
v = *next->value;
}
processedPath = appendPath(processedPath, attr);
} catch (OptionPathError & e) {
throw OptionPathError("At '%s' in path '%s': %s", attr, path, e.msg());
throw OptionPathError(ctx.state, "At '%s' in path '%s': %s", attr, path, e.msg());
}
}
return {v, processedPath};
@ -367,21 +358,23 @@ std::string describeError(const Error & e) { return "«error: " + e.msg() + "»"
void describeDerivation(Context & ctx, Out & out, Value v)
{
// Copy-pasted from nix/src/nix/repl.cc :(
// Copy-pasted from nix/src/nix/repl.cc printDerivation() :(
std::optional<nix::StorePath> storePath = std::nullopt;
if (auto i = v.attrs()->get(ctx.state.sDrvPath)) {
nix::NixStringContext context;
storePath = ctx.state.coerceToStorePath(i->pos, *i->value, context, "while evaluating the drvPath of a derivation");
}
out << "«derivation ";
Bindings::iterator i = v.attrs->find(ctx.state.sDrvPath);
nix::NixStringContext strContext;
if (i != v.attrs->end())
out << ctx.state.store->printStorePath(ctx.state.coerceToStorePath(i->pos, *i->value, strContext, "while evaluating the drvPath of a derivation"));
else
out << "???";
if (storePath) {
out << " " << ctx.state.store->printStorePath(*storePath);
}
out << "»";
}
Value parseAndEval(EvalState & state, const std::string & expression, const std::string & path)
{
Value v{};
state.eval(state.parseExprFromString(expression, nix::SourcePath(nix::CanonPath::fromCwd(path))), v);
state.eval(state.parseExprFromString(expression, state.rootPath(".")), v);
return v;
}
@ -398,10 +391,10 @@ void printList(Context & ctx, Out & out, Value & v)
void printAttrs(Context & ctx, Out & out, Value & v, const std::string & path)
{
Out attrsOut(out, "{", "}", v.attrs->size());
for (const auto & a : v.attrs->lexicographicOrder(ctx.state.symbols)) {
Out attrsOut(out, "{", "}", v.attrs()->size());
for (const auto & a : v.attrs()->lexicographicOrder(ctx.state.symbols)) {
if (!forbiddenRecursionName(a->name, ctx.state.symbols)) {
const std::string name = ctx.state.symbols[a->name];
std::string_view name = ctx.state.symbols[a->name];
attrsOut << name << " = ";
printValue(ctx, attrsOut, *a->value, appendPath(path, name));
attrsOut << ";" << Out::sep;
@ -409,9 +402,9 @@ void printAttrs(Context & ctx, Out & out, Value & v, const std::string & path)
}
}
void multiLineStringEscape(Out & out, const std::string & s)
void multiLineStringEscape(Out & out, const std::string_view & s)
{
int i;
size_t i;
for (i = 1; i < s.size(); i++) {
if (s[i - 1] == '$' && s[i] == '{') {
out << "''${";
@ -430,7 +423,7 @@ void multiLineStringEscape(Out & out, const std::string & s)
void printMultiLineString(Out & out, const Value & v)
{
std::string s = v.string.s;
std::string_view s = v.string_view();
Out strOut(out, "''", "''", Out::MULTI_LINE);
std::string::size_type begin = 0;
while (begin < s.size()) {
@ -458,11 +451,11 @@ void printValue(Context & ctx, Out & out, std::variant<Value, std::exception_ptr
printList(ctx, out, v);
} else if (v.type() == nAttrs) {
printAttrs(ctx, out, v, path);
} else if (v.type() == nString && std::string(v.string.s).find('\n') != std::string::npos) {
} else if (v.type() == nString && std::string(v.string_view()).find('\n') != std::string::npos) {
printMultiLineString(out, v);
} else {
ctx.state.forceValueDeep(v);
v.print(ctx.state.symbols, out.ostream);
v.print(ctx.state, out.ostream);
}
} catch (ThrownError & e) {
if (e.msg() == "The option `" + path + "' was accessed but has no value defined. Try setting the option.") {
@ -560,8 +553,8 @@ void printOption(Context & ctx, Out & out, const std::string & path, Value & opt
void printListing(Context & ctx, Out & out, Value & v)
{
out << "This attribute set contains:\n";
for (const auto & a : v.attrs->lexicographicOrder(ctx.state.symbols)) {
const std::string & name = ctx.state.symbols[a->name];
for (const auto & a : v.attrs()->lexicographicOrder(ctx.state.symbols)) {
const std::string_view & name = ctx.state.symbols[a->name];
if (!name.empty() && name[0] != '_') {
out << name << "\n";
}
@ -630,7 +623,11 @@ int main(int argc, char ** argv)
nix::initGC();
nix::settings.readOnlyMode = true;
auto store = nix::openStore();
auto state = std::make_unique<EvalState>(myArgs.searchPath, store);
auto evalStore = myArgs.evalStoreUrl ? nix::openStore(*myArgs.evalStoreUrl)
: nix::openStore();
auto state = nix::make_ref<nix::EvalState>(
myArgs.lookupPath, evalStore, nix::fetchSettings, nix::evalSettings);
Value optionsRoot = parseAndEval(*state, optionsExpr, path);
Value configRoot = parseAndEval(*state, configExpr, path);
@ -646,7 +643,7 @@ int main(int argc, char ** argv)
print(ctx, out, arg);
}
ctx.state.printStats();
ctx.state.maybePrintStats();
return 0;
}

View File

@ -14145,13 +14145,11 @@ with pkgs;
buildMozillaMach = opts: callPackage (import ../applications/networking/browsers/firefox/common.nix opts) { };
firefoxPackages = recurseIntoAttrs (callPackage ../applications/networking/browsers/firefox/packages.nix {});
firefox-unwrapped = firefoxPackages.firefox;
firefox-beta-unwrapped = firefoxPackages.firefox-beta;
firefox-devedition-unwrapped = firefoxPackages.firefox-devedition;
firefox-esr-128-unwrapped = firefoxPackages.firefox-esr-128;
firefox-esr-unwrapped = firefoxPackages.firefox-esr-128;
firefox-unwrapped = callPackage ../applications/networking/browsers/firefox/packages/firefox.nix { };
firefox-beta-unwrapped = callPackage ../applications/networking/browsers/firefox/packages/firefox-beta.nix { };
firefox-devedition-unwrapped = callPackage ../applications/networking/browsers/firefox/packages/firefox-devedition.nix { };
firefox-esr-128-unwrapped = callPackage ../applications/networking/browsers/firefox/packages/firefox-esr-128.nix { };
firefox-esr-unwrapped = firefox-esr-128-unwrapped;
firefox = wrapFirefox firefox-unwrapped { };
firefox-beta = wrapFirefox firefox-beta-unwrapped {
@ -17034,9 +17032,7 @@ with pkgs;
deliantra-maps = callPackage ../games/deliantra/maps.nix { };
deliantra-data = callPackage ../games/deliantra/data.nix { };
ddnet = callPackage ../games/ddnet {
inherit (darwin.apple_sdk.frameworks) Carbon Cocoa OpenGL Security;
};
ddnet = callPackage ../games/ddnet {};
ddnet-server = ddnet.override { buildClient = false; };
devilutionx = callPackage ../games/devilutionx {
@ -18694,9 +18690,7 @@ with pkgs;
nix-linter = haskell.lib.compose.justStaticExecutables (haskellPackages.nix-linter);
nixos-option = callPackage ../tools/nix/nixos-option {
nix = nixVersions.nix_2_18;
};
nixos-option = callPackage ../tools/nix/nixos-option { };
nix-pin = callPackage ../tools/package-management/nix-pin { };