diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
index dd9e22e9a689..a4b757e9b4f4 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -7,34 +7,44 @@ assignees: ''
---
-### Describe the bug
-A clear and concise description of what the bug is.
+## Describe the bug
+
+
+
+## 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.
+
-### Additional context
-Add any other context about the problem here.
+## Screenshots
-### Notify maintainers
+
+
+## Additional context
+
+
+
+## Metadata
+
+
+
+## Notify maintainers
-### Metadata
+---
-
+Note for maintainers: Please tag this issue in your PR.
---
diff --git a/.github/ISSUE_TEMPLATE/build_failure.md b/.github/ISSUE_TEMPLATE/build_failure.md
index 5e6c300b56d3..6df42832765b 100644
--- a/.github/ISSUE_TEMPLATE/build_failure.md
+++ b/.github/ISSUE_TEMPLATE/build_failure.md
@@ -7,31 +7,43 @@ assignees: ''
---
-### Steps To Reproduce
+## Steps To Reproduce
Steps to reproduce the behavior:
+
1. build *X*
-### Build log
+## Build log
+
+
+
+
+
+Build Log
```
-log here if short otherwise a link to a gist
```
-### Additional context
+
-Add any other context about the problem here.
+## Additional context
-### Notify maintainers
+
+
+## Metadata
+
+
+
+## Notify maintainers
-### Metadata
+---
-
+Note for maintainers: Please tag this issue in your PR.
---
diff --git a/.github/ISSUE_TEMPLATE/missing_documentation.md b/.github/ISSUE_TEMPLATE/missing_documentation.md
index 6f8e583bd346..a7f0fd83c5bc 100644
--- a/.github/ISSUE_TEMPLATE/missing_documentation.md
+++ b/.github/ISSUE_TEMPLATE/missing_documentation.md
@@ -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
diff --git a/.github/ISSUE_TEMPLATE/module_request.md b/.github/ISSUE_TEMPLATE/module_request.md
index db0b68cfe453..752011fb5449 100644
--- a/.github/ISSUE_TEMPLATE/module_request.md
+++ b/.github/ISSUE_TEMPLATE/module_request.md
@@ -7,11 +7,11 @@ assignees: ''
---
-### Description
+## Description
-### Notify maintainers
+## Notify maintainers
diff --git a/.github/ISSUE_TEMPLATE/out_of_date_package_report.md b/.github/ISSUE_TEMPLATE/out_of_date_package_report.md
index 802f47935aee..da42c82ca4ea 100644
--- a/.github/ISSUE_TEMPLATE/out_of_date_package_report.md
+++ b/.github/ISSUE_TEMPLATE/out_of_date_package_report.md
@@ -7,23 +7,30 @@ assignees: ''
---
+## Package Information
+
+
+
- Package name:
- Latest released version:
-
- Current version on the unstable channel:
- Current version on the stable/release channel:
+
+## Checklist
+
+
- [ ] Checked the [nixpkgs pull requests](https://github.com/NixOS/nixpkgs/pulls)
-**Notify maintainers**
+## Notify maintainers
------
+---
Note for maintainers: Please tag this issue in your PR.
diff --git a/.github/ISSUE_TEMPLATE/packaging_request.md b/.github/ISSUE_TEMPLATE/packaging_request.md
index 021c9060ebe5..91175402bed3 100644
--- a/.github/ISSUE_TEMPLATE/packaging_request.md
+++ b/.github/ISSUE_TEMPLATE/packaging_request.md
@@ -7,11 +7,11 @@ assignees: ''
---
-**Project description**
+## Project description
-**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/
diff --git a/.github/ISSUE_TEMPLATE/unreproducible_package.md b/.github/ISSUE_TEMPLATE/unreproducible_package.md
index dd19abaf7588..83b672be31b3 100644
--- a/.github/ISSUE_TEMPLATE/unreproducible_package.md
+++ b/.github/ISSUE_TEMPLATE/unreproducible_package.md
@@ -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 `` 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# && nix build nixpkgs# --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
```
-#### 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#)
```
-### 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
+
+
+
+---
+
+Note for maintainers: Please tag this issue in your PR.
---
diff --git a/.github/labeler.yml b/.github/labeler.yml
index 1d8e612d4ed3..9b4ae79ce188 100644
--- a/.github/labeler.yml
+++ b/.github/labeler.yml
@@ -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
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 0827d8ddec1b..4e7365e5d520 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -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";
diff --git a/nixos/tests/oci-containers.nix b/nixos/tests/oci-containers.nix
index 9adceb11f18c..bc80f2d9b5db 100644
--- a/nixos/tests/oci-containers.nix
+++ b/nixos/tests/oci-containers.nix
@@ -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, ... }: {
diff --git a/pkgs/applications/audio/ft2-clone/default.nix b/pkgs/applications/audio/ft2-clone/default.nix
index 84de0229497d..18eff60feb24 100644
--- a/pkgs/applications/audio/ft2-clone/default.nix
+++ b/pkgs/applications/audio/ft2-clone/default.nix
@@ -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 ];
diff --git a/pkgs/applications/misc/pagefind/default.nix b/pkgs/applications/misc/pagefind/default.nix
index 8caf7c0fbe17..9bdeb864ca95 100644
--- a/pkgs/applications/misc/pagefind/default.nix
+++ b/pkgs/applications/misc/pagefind/default.nix
@@ -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";
diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix
deleted file mode 100644
index 8385e3b2f52f..000000000000
--- a/pkgs/applications/networking/browsers/firefox/packages.nix
+++ /dev/null
@@ -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";
- };
- };
-}
diff --git a/pkgs/applications/networking/browsers/firefox/packages/firefox-beta.nix b/pkgs/applications/networking/browsers/firefox/packages/firefox-beta.nix
new file mode 100644
index 000000000000..a2226073fe21
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox/packages/firefox-beta.nix
@@ -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]*";
+ };
+}
diff --git a/pkgs/applications/networking/browsers/firefox/packages/firefox-devedition.nix b/pkgs/applications/networking/browsers/firefox/packages/firefox-devedition.nix
new file mode 100644
index 000000000000..0497854f56b4
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox/packages/firefox-devedition.nix
@@ -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/";
+ };
+}
diff --git a/pkgs/applications/networking/browsers/firefox/packages/firefox-esr-128.nix b/pkgs/applications/networking/browsers/firefox/packages/firefox-esr-128.nix
new file mode 100644
index 000000000000..3fa5c6afc375
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox/packages/firefox-esr-128.nix
@@ -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";
+ };
+}
diff --git a/pkgs/applications/networking/browsers/firefox/packages/firefox.nix b/pkgs/applications/networking/browsers/firefox/packages/firefox.nix
new file mode 100644
index 000000000000..41da0ebdfce1
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox/packages/firefox.nix
@@ -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";
+ };
+}
diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json
index fd26b32f7bf6..eeab969c6512 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json
@@ -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=",
diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix
index 67b80ef18649..9d1772a0b731 100644
--- a/pkgs/applications/networking/instant-messengers/discord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/default.nix
@@ -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";
diff --git a/pkgs/build-support/xen/default.nix b/pkgs/build-support/xen/default.nix
index fa40fdc6d066..efff9b304544 100644
--- a/pkgs/build-support/xen/default.nix
+++ b/pkgs/build-support/xen/default.nix
@@ -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.";
diff --git a/pkgs/by-name/ab/abiword/package.nix b/pkgs/by-name/ab/abiword/package.nix
index 87918b9e854f..f960a41531a3 100644
--- a/pkgs/by-name/ab/abiword/package.nix
+++ b/pkgs/by-name/ab/abiword/package.nix
@@ -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";
diff --git a/pkgs/by-name/ac/acme-sh/package.nix b/pkgs/by-name/ac/acme-sh/package.nix
index c79bcebda086..d0b8eadbbd00 100644
--- a/pkgs/by-name/ac/acme-sh/package.nix
+++ b/pkgs/by-name/ac/acme-sh/package.nix
@@ -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";
};
diff --git a/pkgs/by-name/ca/cargo-llvm-cov/package.nix b/pkgs/by-name/ca/cargo-llvm-cov/package.nix
index 2672d165b26d..7f55d8e7f814 100644
--- a/pkgs/by-name/ca/cargo-llvm-cov/package.nix
+++ b/pkgs/by-name/ca/cargo-llvm-cov/package.nix
@@ -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
diff --git a/pkgs/by-name/fa/fabric-ai/package.nix b/pkgs/by-name/fa/fabric-ai/package.nix
index 8ec2686ddc43..0951610b3274 100644
--- a/pkgs/by-name/fa/fabric-ai/package.nix
+++ b/pkgs/by-name/fa/fabric-ai/package.nix
@@ -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"
diff --git a/pkgs/by-name/ff/ffsubsync/package.nix b/pkgs/by-name/ff/ffsubsync/package.nix
index f247edf6e2aa..35885e0f725b 100644
--- a/pkgs/by-name/ff/ffsubsync/package.nix
+++ b/pkgs/by-name/ff/ffsubsync/package.nix
@@ -34,9 +34,11 @@ python3.pkgs.buildPythonApplication rec {
ffmpeg-python
future
numpy
+ pkgs.ffmpeg
pysubs2
chardet
rich
+ setuptools
six
srt
tqdm
diff --git a/pkgs/by-name/gd/gdtoolkit_4/package.nix b/pkgs/by-name/gd/gdtoolkit_4/package.nix
index 0f54bd3385ed..13735386293b 100644
--- a/pkgs/by-name/gd/gdtoolkit_4/package.nix
+++ b/pkgs/by-name/gd/gdtoolkit_4/package.nix
@@ -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 = [
diff --git a/pkgs/by-name/gp/gptscript/package.nix b/pkgs/by-name/gp/gptscript/package.nix
index a034a08aa721..81fc45b2bf90 100644
--- a/pkgs/by-name/gp/gptscript/package.nix
+++ b/pkgs/by-name/gp/gptscript/package.nix
@@ -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];
diff --git a/pkgs/by-name/hu/hullcaster/package.nix b/pkgs/by-name/hu/hullcaster/package.nix
new file mode 100644
index 000000000000..ec7d11575aec
--- /dev/null
+++ b/pkgs/by-name/hu/hullcaster/package.nix
@@ -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 ];
+ };
+}
diff --git a/pkgs/by-name/li/libgweather/package.nix b/pkgs/by-name/li/libgweather/package.nix
index 838ad727b739..c528a2198ddc 100644
--- a/pkgs/by-name/li/libgweather/package.nix
+++ b/pkgs/by-name/li/libgweather/package.nix
@@ -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;
diff --git a/pkgs/by-name/me/mergiraf/Cargo.lock b/pkgs/by-name/me/mergiraf/Cargo.lock
index 84be0981f768..a7e2ac84ca83 100644
--- a/pkgs/by-name/me/mergiraf/Cargo.lock
+++ b/pkgs/by-name/me/mergiraf/Cargo.lock
@@ -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]]
diff --git a/pkgs/by-name/me/mergiraf/package.nix b/pkgs/by-name/me/mergiraf/package.nix
index d0437be51e6f..6e888e0bfa21 100644
--- a/pkgs/by-name/me/mergiraf/package.nix
+++ b/pkgs/by-name/me/mergiraf/package.nix
@@ -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";
};
}
diff --git a/pkgs/by-name/mo/mollysocket/package.nix b/pkgs/by-name/mo/mollysocket/package.nix
index c282bbba2630..f5cdf5c75231 100644
--- a/pkgs/by-name/mo/mollysocket/package.nix
+++ b/pkgs/by-name/mo/mollysocket/package.nix
@@ -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
diff --git a/pkgs/by-name/nb/nbsdgames/package.nix b/pkgs/by-name/nb/nbsdgames/package.nix
new file mode 100644
index 000000000000..552694601833
--- /dev/null
+++ b/pkgs/by-name/nb/nbsdgames/package.nix
@@ -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;
+ };
+})
diff --git a/pkgs/by-name/ni/nim-unwrapped-2_0/package.nix b/pkgs/by-name/ni/nim-unwrapped-2_0/package.nix
index 232d4dcbfac7..ab8d1dc8120a 100644
--- a/pkgs/by-name/ni/nim-unwrapped-2_0/package.nix
+++ b/pkgs/by-name/ni/nim-unwrapped-2_0/package.nix
@@ -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 (
diff --git a/pkgs/by-name/pi/picom-pijulius/package.nix b/pkgs/by-name/pi/picom-pijulius/package.nix
index 098e7a68be1a..442e32fda0dc 100644
--- a/pkgs/by-name/pi/picom-pijulius/package.nix
+++ b/pkgs/by-name/pi/picom-pijulius/package.nix
@@ -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
+ ];
};
})
diff --git a/pkgs/by-name/pi/picom/package.nix b/pkgs/by-name/pi/picom/package.nix
index ae649d49c456..1e07ef86231f 100644
--- a/pkgs/by-name/pi/picom/package.nix
+++ b/pkgs/by-name/pi/picom/package.nix
@@ -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;
};
})
diff --git a/pkgs/by-name/pi/pinact/package.nix b/pkgs/by-name/pi/pinact/package.nix
index 133688d22693..4c2f34a45043 100644
--- a/pkgs/by-name/pi/pinact/package.nix
+++ b/pkgs/by-name/pi/pinact/package.nix
@@ -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;
diff --git a/pkgs/by-name/pr/proton-pass/package.nix b/pkgs/by-name/pr/proton-pass/package.nix
index 82ab6501009e..8869d038d435 100644
--- a/pkgs/by-name/pr/proton-pass/package.nix
+++ b/pkgs/by-name/pr/proton-pass/package.nix
@@ -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
'';
diff --git a/pkgs/by-name/pr/prs/package.nix b/pkgs/by-name/pr/prs/package.nix
index 02f6d0725f90..38924b4faf58 100644
--- a/pkgs/by-name/pr/prs/package.nix
+++ b/pkgs/by-name/pr/prs/package.nix
@@ -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";
diff --git a/pkgs/by-name/sm/smlfut/package.nix b/pkgs/by-name/sm/smlfut/package.nix
index 7caafc4db345..97ade088ed57 100644
--- a/pkgs/by-name/sm/smlfut/package.nix
+++ b/pkgs/by-name/sm/smlfut/package.nix
@@ -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";
diff --git a/pkgs/by-name/su/sus-compiler/Cargo.lock b/pkgs/by-name/su/sus-compiler/Cargo.lock
index 56bc269bde50..6f70ec513dab 100644
--- a/pkgs/by-name/su/sus-compiler/Cargo.lock
+++ b/pkgs/by-name/su/sus-compiler/Cargo.lock
@@ -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",
+]
diff --git a/pkgs/by-name/su/sus-compiler/package.nix b/pkgs/by-name/su/sus-compiler/package.nix
index adc2bf9b4e7d..c7f38a8fe4f3 100644
--- a/pkgs/by-name/su/sus-compiler/package.nix
+++ b/pkgs/by-name/su/sus-compiler/package.nix
@@ -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
'';
diff --git a/pkgs/by-name/sw/sword/package.nix b/pkgs/by-name/sw/sword/package.nix
index c8382ccbaa7c..d2be17e78d92 100644
--- a/pkgs/by-name/sw/sword/package.nix
+++ b/pkgs/by-name/sw/sword/package.nix
@@ -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;
+ };
+ }
+)
diff --git a/pkgs/by-name/sw/sword/sword-1.9.0-diatheke-includes.patch b/pkgs/by-name/sw/sword/sword-1.9.0-diatheke-includes.patch
new file mode 100644
index 000000000000..182ec53d2183
--- /dev/null
+++ b/pkgs/by-name/sw/sword/sword-1.9.0-diatheke-includes.patch
@@ -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
diff --git a/pkgs/by-name/ta/taterclient-ddnet/package.nix b/pkgs/by-name/ta/taterclient-ddnet/package.nix
index 9c912e0799e1..0b46b3614771 100644
--- a/pkgs/by-name/ta/taterclient-ddnet/package.nix
+++ b/pkgs/by-name/ta/taterclient-ddnet/package.nix
@@ -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 \
diff --git a/pkgs/by-name/td/tdnf/package.nix b/pkgs/by-name/td/tdnf/package.nix
index 745f6af0eeee..315b53a8fe2f 100644
--- a/pkgs/by-name/td/tdnf/package.nix
+++ b/pkgs/by-name/td/tdnf/package.nix
@@ -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
diff --git a/pkgs/by-name/te/telegraf/package.nix b/pkgs/by-name/te/telegraf/package.nix
index d2fac7003969..ae2f74c44773 100644
--- a/pkgs/by-name/te/telegraf/package.nix
+++ b/pkgs/by-name/te/telegraf/package.nix
@@ -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 = [
diff --git a/pkgs/by-name/te/terragrunt/package.nix b/pkgs/by-name/te/terragrunt/package.nix
index 43edfeb3999c..964a95d4d725 100644
--- a/pkgs/by-name/te/terragrunt/package.nix
+++ b/pkgs/by-name/te/terragrunt/package.nix
@@ -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;
diff --git a/pkgs/by-name/va/vault-bin/package.nix b/pkgs/by-name/va/vault-bin/package.nix
index b852097eee14..2e5d4f322f3a 100644
--- a/pkgs/by-name/va/vault-bin/package.nix
+++ b/pkgs/by-name/va/vault-bin/package.nix
@@ -69,7 +69,6 @@ stdenv.mkDerivation rec {
psyanticy
Chili-Man
techknowlogick
- mkaito
];
mainProgram = "vault";
platforms = [
diff --git a/pkgs/by-name/xe/xen/package.nix b/pkgs/by-name/xe/xen/package.nix
index 8c574d141ad4..d20abea06ecb 100644
--- a/pkgs/by-name/xe/xen/package.nix
+++ b/pkgs/by-name/xe/xen/package.nix
@@ -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=";
}
diff --git a/pkgs/by-name/ya/yamlscript/package.nix b/pkgs/by-name/ya/yamlscript/package.nix
index 2bdc0ed09ebd..005a28b2cd62 100644
--- a/pkgs/by-name/ya/yamlscript/package.nix
+++ b/pkgs/by-name/ya/yamlscript/package.nix
@@ -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";
diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix
index eab578cf931f..33cebfb2a9a3 100644
--- a/pkgs/development/libraries/ffmpeg/generic.nix
+++ b/pkgs/development/libraries/ffmpeg/generic.nix
@@ -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
diff --git a/pkgs/development/libraries/gobject-introspection/wrapper.nix b/pkgs/development/libraries/gobject-introspection/wrapper.nix
index 53b1a35f8212..5d6547a2b67d 100644
--- a/pkgs/development/libraries/gobject-introspection/wrapper.nix
+++ b/pkgs/development/libraries/gobject-introspection/wrapper.nix
@@ -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: ''
diff --git a/pkgs/development/perl-modules/ImageExifTool/default.nix b/pkgs/development/perl-modules/ImageExifTool/default.nix
index 46efb33f23ca..7a282e4acf7e 100644
--- a/pkgs/development/perl-modules/ImageExifTool/default.nix
+++ b/pkgs/development/perl-modules/ImageExifTool/default.nix
@@ -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
'';
diff --git a/pkgs/development/python-modules/gftools/default.nix b/pkgs/development/python-modules/gftools/default.nix
index dbed4711f54f..c997cee039ff 100644
--- a/pkgs/development/python-modules/gftools/default.nix
+++ b/pkgs/development/python-modules/gftools/default.nix
@@ -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 = ''
diff --git a/pkgs/development/python-modules/mygpoclient/default.nix b/pkgs/development/python-modules/mygpoclient/default.nix
index 8205ba66befe..badf6d899708 100644
--- a/pkgs/development/python-modules/mygpoclient/default.nix
+++ b/pkgs/development/python-modules/mygpoclient/default.nix
@@ -8,7 +8,7 @@
}:
buildPythonPackage rec {
- pname = "mypgoclient";
+ pname = "mygpoclient";
version = "1.9";
pyproject = true;
diff --git a/pkgs/development/python-modules/nanobind/default.nix b/pkgs/development/python-modules/nanobind/default.nix
index f08378fdec68..63070760c9b4 100644
--- a/pkgs/development/python-modules/nanobind/default.nix
+++ b/pkgs/development/python-modules/nanobind/default.nix
@@ -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";
diff --git a/pkgs/development/python-modules/nextcord/default.nix b/pkgs/development/python-modules/nextcord/default.nix
index 83b34084a0a5..d9c1fcc82742 100644
--- a/pkgs/development/python-modules/nextcord/default.nix
+++ b/pkgs/development/python-modules/nextcord/default.nix
@@ -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
diff --git a/pkgs/games/ddnet/default.nix b/pkgs/games/ddnet/default.nix
index b6d276c64a3f..7ab1ef89e2e7 100644
--- a/pkgs/games/ddnet/default.nix
+++ b/pkgs/games/ddnet/default.nix
@@ -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";
};
}
diff --git a/pkgs/tools/nix/nixos-option/default.nix b/pkgs/tools/nix/nixos-option/default.nix
index b01ee138170f..db6c974288c8 100644
--- a/pkgs/tools/nix/nixos-option/default.nix
+++ b/pkgs/tools/nix/nixos-option/default.nix
@@ -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;
diff --git a/pkgs/tools/nix/nixos-option/meson.build b/pkgs/tools/nix/nixos-option/meson.build
new file mode 100644
index 000000000000..ff88cf3fbf89
--- /dev/null
+++ b/pkgs/tools/nix/nixos-option/meson.build
@@ -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')
diff --git a/pkgs/tools/nix/nixos-option/src/CMakeLists.txt b/pkgs/tools/nix/nixos-option/src/CMakeLists.txt
deleted file mode 100644
index 9aee9e6ccada..000000000000
--- a/pkgs/tools/nix/nixos-option/src/CMakeLists.txt
+++ /dev/null
@@ -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)
diff --git a/pkgs/tools/nix/nixos-option/src/libnix-copy-paste.cc b/pkgs/tools/nix/nixos-option/src/libnix-copy-paste.cc
index ad6084844e57..b5ae1b495884 100644
--- a/pkgs/tools/nix/nixos-option/src/libnix-copy-paste.cc
+++ b/pkgs/tools/nix/nixos-option/src/libnix-copy-paste.cc
@@ -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 // for nix/globals.hh's reference to SYSTEM
-
#include "libnix-copy-paste.hh"
-#include // for basic_altstringbuf...
-#include // for basic_altstringbuf...
-#include // for get_pointer
-#include // for operator<<, basic_...
-#include // for Strings
-#include // for Error
-#include // 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 // 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;
-}
diff --git a/pkgs/tools/nix/nixos-option/src/libnix-copy-paste.hh b/pkgs/tools/nix/nixos-option/src/libnix-copy-paste.hh
index 2274e9a0f853..f680b4c1a718 100644
--- a/pkgs/tools/nix/nixos-option/src/libnix-copy-paste.hh
+++ b/pkgs/tools/nix/nixos-option/src/libnix-copy-paste.hh
@@ -1,9 +1,5 @@
#pragma once
-#include
#include
-#include
-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);
diff --git a/pkgs/tools/nix/nixos-option/src/meson.build b/pkgs/tools/nix/nixos-option/src/meson.build
new file mode 100644
index 000000000000..8ee9765ce239
--- /dev/null
+++ b/pkgs/tools/nix/nixos-option/src/meson.build
@@ -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'])
diff --git a/pkgs/tools/nix/nixos-option/src/nixos-option.cc b/pkgs/tools/nix/nixos-option/src/nixos-option.cc
index 658b836d491a..977ea83d1973 100644
--- a/pkgs/tools/nix/nixos-option/src/nixos-option.cc
+++ b/pkgs/tools/nix/nixos-option/src/nixos-option.cc
@@ -1,16 +1,8 @@
-#include // for nix/globals.hh's reference to SYSTEM
-
-#include // for exception_ptr, current_exception
-#include // for function
-#include // for operator<<, basic_ostream, ostrin...
-#include // for next
-#include // for _List_iterator
-#include // for allocator, unique_ptr, make_unique
-#include // for operator new
#include // for argvToStrings, UsageError
-#include // for findAlongAttrPath
+#include // for findAlongAttrPath, parseAttrPath
#include // for Attr, Bindings, Bindings::iterator
#include // for MixEvalArgs
+#include // for initGC, initNix
#include // for EvalState::forceValue
#include // for EvalState, initGC, operator<<
#include // for initPlugins, Settings, settings
@@ -23,8 +15,6 @@
#include // for Value, Value::(anonymous), Value:...
#include // for string, operator+, operator==
#include // for move
-#include // for get, holds_alternative, variant
-#include // 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(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::functionlexicographicOrder(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 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 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::variantlexicographicOrder(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(myArgs.searchPath, store);
+
+ auto evalStore = myArgs.evalStoreUrl ? nix::openStore(*myArgs.evalStoreUrl)
+ : nix::openStore();
+ auto state = nix::make_ref(
+ 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;
}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index f2e1ec01a5d9..3c459fdffa8d 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -14140,13 +14140,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 {
@@ -17029,9 +17027,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 {
@@ -18689,9 +18685,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 { };