Merge '$(git merge-base upstream/staging upstream/master)' into haskell-updates

This commit is contained in:
Michael Daniels
2025-12-30 19:55:16 -05:00
1320 changed files with 14062 additions and 12457 deletions
+1 -1
View File
@@ -30,7 +30,7 @@ The variables that this phase control are:
- `dontVersionCheck`: Disable adding this hook to the [`preInstallCheckHooks`](#ssec-installCheck-phase). Useful if you do want to load the bash functions of the hook, but run them differently.
- `versionCheckProgram`: The full path to the program that should print the `${version}` string. Defaults to using the first non-empty value `$binary` out of `${NIX_MAIN_PROGRAM}` and `${pname}`, in that order, to build roughly `${placeholder "out"}/bin/$binary`. `${NIX_MAIN_PROGRAM}`'s value comes from `meta.mainProgram`, and does not normally need to be set explicitly. When setting `versionCheckProgram`, using `$out` directly won't work, as environment variables from this variable are not expanded by the hook. Hence using `placeholder "out"` is unavoidable.
- `versionCheckProgramArg`: The argument that needs to be passed to `versionCheckProgram`. If undefined the hook tries first `--help` and then `--version`. Examples: `version`, `-V`, `-v`.
- `versionCheckProgramArg`: The argument that needs to be passed to `versionCheckProgram`. If undefined the hook tries first `--version` and then `--help`. Examples: `version`, `-V`, `-v`.
- `versionCheckKeepEnvironment`: A list of environment variables to keep and pass to the command. Only those variables should be added to this list that are actually required for the version command to work. If it is not feasible to explicitly list all these environment variables you can set this parameter to the special value `"*"` to disable the `--ignore-environment` flag and thus keep all environment variables.
- `preVersionCheck`: A hook to run before the check is done.
- `postVersionCheck`: A hook to run after the check is done.
+1 -32
View File
@@ -71,7 +71,7 @@ To install it with `nix-env` instead: `nix-env -f. -iA perlPackages.ClassC3`.
So what does `buildPerlPackage` do? It does the following:
1. In the configure phase, it calls `perl Makefile.PL` to generate a Makefile. You can set the variable `makeMakerFlags` to pass flags to `Makefile.PL`
2. It adds the contents of the `PERL5LIB` environment variable to `#! .../bin/perl` line of Perl scripts as `-Idir` flags. This ensures that a script can find its dependencies. (This can cause this shebang line to become too long for Darwin to handle; see the note below.)
2. It adds the contents of the `PERL5LIB` environment variable to a use lib statement at the start of Perl scripts. This ensures that a script can find its dependencies.
3. In the fixup phase, it writes the propagated build inputs (`propagatedBuildInputs`) to the file `$out/nix-support/propagated-user-env-packages`. `nix-env` recursively installs all packages listed in this file when you install a package that has it. This ensures that a Perl package can find its dependencies.
`buildPerlPackage` is built on top of `stdenv`, so everything can be customised in the usual way. For instance, the `BerkeleyDB` module has a `preConfigure` hook to generate a configuration file used by `Makefile.PL`:
@@ -120,37 +120,6 @@ Dependencies on other Perl packages can be specified in the `buildInputs` and `p
}
```
On Darwin, if a script has too many `-Idir` flags in its first line (its “shebang line”), it will not run. This can be worked around by calling the `shortenPerlShebang` function from the `postInstall` phase:
```nix
{
lib,
stdenv,
buildPerlPackage,
fetchurl,
shortenPerlShebang,
}:
{
ImageExifTool = buildPerlPackage {
pname = "Image-ExifTool";
version = "12.50";
src = fetchurl {
url = "https://exiftool.org/Image-ExifTool-${version}.tar.gz";
hash = "sha256-vOhB/FwQMC8PPvdnjDvxRpU6jAZcC6GMQfc0AH4uwKg=";
};
nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang;
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
shortenPerlShebang $out/bin/exiftool
'';
};
}
```
This will remove the `-I` flags from the shebang line, rewrite them in the `use lib` form, and put them on the next line instead. This function can be given any number of Perl scripts as arguments; it will modify them in-place.
### Generation from CPAN {#ssec-generation-from-CPAN}
Nix expressions for Perl packages can be generated (almost) automatically from CPAN. This is done by the program `nix-generate-from-cpan`, which can be installed as follows:
+1 -9
View File
@@ -25,15 +25,7 @@ stdenv.mkDerivation {
The same goes for Qt 5 where libraries and tools are under `libsForQt5`.
Any Qt package should include `wrapQtAppsHook` or `wrapQtAppsNoGuiHook` in `nativeBuildInputs`, or explicitly set `dontWrapQtApps` to bypass generating the wrappers.
::: {.note}
`wrapQtAppsHook` propagates plugins and QML components from `qtwayland` on platforms that support it, to allow applications to act as native Wayland clients. It should be used for all graphical applications.
`wrapQtAppsNoGuiHook` does not propagate `qtwayland` to reduce closure size for purely command-line applications.
:::
Any Qt package should include `wrapQtAppsHook` in `nativeBuildInputs`, or explicitly set `dontWrapQtApps` to bypass generating the wrappers.
## Packages supporting multiple Qt versions {#qt-versions}
+1 -1
View File
@@ -22,7 +22,7 @@ Since **Typst Universe** does not provide a way to fetch a package with a specif
```nix
typst.withPackages.override
(old: {
typstPackages = old.typstPackages.extend (
typstPackages = old.typstPackages.overrideScope (
_: previous: {
polylux_0_4_0 = previous.polylux_0_4_0.overrideAttrs (oldPolylux: {
src = oldPolylux.src.overrideAttrs { outputHash = YourUpToDatePolyluxHash; };
+7 -1
View File
@@ -3,7 +3,11 @@
## Highlights {#sec-nixpkgs-release-26.05-highlights}
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
- Create the first release note entry in this section!
- GCC has been updated from GCC 14 to GCC 15.
This introduces some backwards incompatible changes; Refer to the [upstream porting guide](https://gcc.gnu.org/gcc-15/porting_to.html) for details.
- Node.js default version has been updated from 22 LTS to 24 LTS.
This introduces some breaking changes; Refer to the [upstream migration article](https://nodejs.org/en/blog/migrations/v22-to-v24) for details.
## Backward Incompatibilities {#sec-nixpkgs-release-26.05-incompatibilities}
@@ -64,6 +68,8 @@
- All Xfce packages have been moved to top level (e.g. if you previously added `pkgs.xfce.xfce4-whiskermenu-plugin` to `environment.systemPackages`, you will need to change it to `pkgs.xfce4-whiskermenu-plugin`). The `xfce` scope will be removed in NixOS 26.11.
- `vimPlugins.nvim-treesitter` has been updated to `main` branch, which is a full and incompatible rewrite. If you can't or don't want to update, you should use `vimPlugins.nvim-treesitter-legacy`.
## Other Notable Changes {#sec-nixpkgs-release-26.05-notable-changes}
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
+22
View File
@@ -64,6 +64,11 @@ lib.mapAttrs mkLicense (
free = false;
};
adobeDisplayPostScript = {
spdxId = "Adobe-Display-PostScript";
fullName = "Adobe Display PostScript License";
};
adobeUtopia = {
fullName = "Adobe Utopia Font License";
spdxId = "Adobe-Utopia";
@@ -501,6 +506,11 @@ lib.mapAttrs mkLicense (
fullName = "curl License";
};
dec3Clause = {
spdxId = "DEC-3-Clause";
fullName = "DEC 3-Clause License";
};
doc = {
spdxId = "DOC";
fullName = "DOC License";
@@ -727,6 +737,11 @@ lib.mapAttrs mkLicense (
spdxId = "HPND-sell-variant";
};
hpndSellVariantMitDisclaimerXserver = {
spdxId = "HPND-sell-MIT-disclaimer-xserver";
fullName = "Historical Permission Notice and Disclaimer - sell xserver variant with MIT disclaimer";
};
hpndDec = {
fullName = "Historical Permission Notice and Disclaimer - DEC variant";
spdxId = "HPND-DEC";
@@ -1113,6 +1128,13 @@ lib.mapAttrs mkLicense (
fullName = "Non-Profit Open Software License 3.0";
};
# NTP is basically HPND, but spdx and the OSI recognize it
# hpnd says "and without fee", ntp "with or without fee"
ntp = {
spdxId = "NTP";
fullName = "NTP License";
};
nvidiaCuda = {
shortName = "CUDA EULA";
fullName = "CUDA Toolkit End User License Agreement (EULA)";
+11
View File
@@ -22281,6 +22281,11 @@
githubId = 395821;
name = "rht";
};
rhydianjenkins = {
name = "Rhydian Jenkins";
github = "RhydianJenkins";
githubId = 9198690;
};
rhysmdnz = {
email = "rhys@memes.nz";
matrix = "@rhys:memes.nz";
@@ -29461,6 +29466,12 @@
email = "rasmus@liaskar.net";
githubId = 152716976;
};
zivarah = {
name = "Brian Lyles";
github = "zivarah";
email = "brianmlyles@gmail.com";
githubId = 1123282;
};
zlepper = {
name = "Rasmus Hansen";
github = "zlepper";
+1 -1
View File
@@ -4,11 +4,11 @@
pkgs ? import ../../.. { inherit system config; },
lib ? pkgs.lib,
kernelVersionsToTest ? [
"5.4"
"5.10"
"5.15"
"6.1"
"6.6"
"6.12"
"latest"
],
}:
+20 -9
View File
@@ -96,16 +96,27 @@ let
# Note: secrets are stored outside /etc/ and /nix/store to
# test for accessibility of these paths
system.activationScripts.wpa-secrets = {
deps = [
"users"
"specialfs"
systemd.services.wpa-secrets = {
wantedBy = [
"network.target"
"multi-user.target"
];
text = ''
install -Dm600 -o wpa_supplicant ${pkgs.writeText "wpa" ''
psk_nixos_test=${naughtyPassphrase}
''} /var/lib/secrets/wpa
'';
before = [
"network.target"
"multi-user.target"
];
serviceConfig = {
Type = "oneshot";
};
script =
let
secretFile = pkgs.writeText "wpa" ''
psk_nixos_test=${naughtyPassphrase}
'';
in
''
install -Dm600 -o wpa_supplicant ${secretFile} /var/lib/secrets/wpa
'';
};
# wireless client
@@ -187,7 +187,6 @@ stdenv.mkDerivation (finalAttrs: {
versionCheckHook
];
versionCheckProgram = "${placeholder "out"}/bin/bitcoin-cli";
versionCheckProgramArg = "--version";
doInstallCheck = true;
meta = {
@@ -187,7 +187,6 @@ stdenv.mkDerivation (finalAttrs: {
versionCheckHook
];
versionCheckProgram = "${placeholder "out"}/bin/bitcoin-cli";
versionCheckProgramArg = "--version";
doInstallCheck = true;
passthru.tests = {
@@ -9,38 +9,38 @@
},
"clion": {
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}.tar.gz",
"version": "2025.2.5",
"sha256": "91474a3c35a9b3d50f43f0549098317b65aa881f2f80c3345f8dee7587d31f9e",
"url": "https://download.jetbrains.com/cpp/CLion-2025.2.5.tar.gz",
"build_number": "252.28238.22"
"version": "2025.3.1",
"sha256": "44ae3da5358ba010a62d55ab412b72f364c5dcd2c2dcd2004ae34b7463807bbd",
"url": "https://download.jetbrains.com/cpp/CLion-2025.3.1.tar.gz",
"build_number": "253.29346.141"
},
"datagrip": {
"url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}.tar.gz",
"version": "2025.3",
"sha256": "010ad3a676cfe984e7498d1eb4f84686d7a110acbde4f9d288f53967255340e6",
"url": "https://download.jetbrains.com/datagrip/datagrip-2025.3.tar.gz",
"build_number": "253.28294.259"
"version": "2025.3.2",
"sha256": "cb6ed6475d21eb8d30754131bd24003c114096bfa84ffccf334dc11cf8ac60cc",
"url": "https://download.jetbrains.com/datagrip/datagrip-2025.3.2.tar.gz",
"build_number": "253.29346.170"
},
"dataspell": {
"url-template": "https://download.jetbrains.com/python/dataspell-{version}.tar.gz",
"version": "2025.2.3",
"sha256": "1e4bc499da1ce8c63e8a4526159c20ef8a797315dc6d3ab4c8eb109f323faba6",
"url": "https://download.jetbrains.com/python/dataspell-2025.2.3.tar.gz",
"build_number": "252.27397.129"
"version": "2025.3.1",
"sha256": "37f13426ce4f5d859d7db246f2328ccbad61adf361d43c784cb6932af6644c28",
"url": "https://download.jetbrains.com/python/dataspell-2025.3.1.tar.gz",
"build_number": "253.29346.157"
},
"gateway": {
"url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}.tar.gz",
"version": "2025.2.5",
"sha256": "5a84a4dbc5fc1aa03fa1bf142e1eae51e265f6d17ec38c50932b83e629a4366c",
"url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2025.2.5.tar.gz",
"build_number": "252.28238.6"
"version": "2025.3",
"sha256": "90c8a54f619245a5435c343f94f39595ab59cd3cbada569e2b1e28bcacdbcb4a",
"url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2025.3.tar.gz",
"build_number": "253.28294.342"
},
"goland": {
"url-template": "https://download.jetbrains.com/go/goland-{version}.tar.gz",
"version": "2025.2.5",
"sha256": "7b748b7f5af267e8bd4d90d44bbeea8cb58b262115d884d2cd567af8d9d753c1",
"url": "https://download.jetbrains.com/go/goland-2025.2.5.tar.gz",
"build_number": "252.28238.32"
"version": "2025.3",
"sha256": "6151856286ea546eb8af9aeb025772cee6bd57134f45494a818e8da20a8691c6",
"url": "https://download.jetbrains.com/go/goland-2025.3.tar.gz",
"build_number": "253.28294.337"
},
"idea-community": {
"url-template": "https://download.jetbrains.com/idea/ideaIC-{version}.tar.gz",
@@ -51,24 +51,24 @@
},
"idea": {
"url-template": "https://download.jetbrains.com/idea/ideaIU-{version}.tar.gz",
"version": "2025.2.5",
"sha256": "dc92cd3850ba256d2cb1c9d884f9579f613f6fa747f628361458d21f66687393",
"url": "https://download.jetbrains.com/idea/ideaIU-2025.2.5.tar.gz",
"build_number": "252.28238.7"
"version": "2025.3.1",
"sha256": "21e1b90b5ec684767a03498ba424ef3f9acc5dbf759cceefd5edd474f043ad6c",
"url": "https://download.jetbrains.com/idea/ideaIU-2025.3.1.tar.gz",
"build_number": "253.29346.138"
},
"mps": {
"url-template": "https://download.jetbrains.com/mps/{versionMajorMinor}/MPS-{version}.tar.gz",
"version": "2025.2.1",
"sha256": "cfbe530d0385cf3e9ccc2f18f43db25525e0024abdbcd3203bd66fb77fc6f3b4",
"url": "https://download.jetbrains.com/mps/2025.2/MPS-2025.2.1.tar.gz",
"build_number": "252.26199.587"
"version": "2025.3",
"sha256": "c4023e52b4e17824d61d2768238619be14e5ae5735db533e3951647f377b6b79",
"url": "https://download.jetbrains.com/mps/2025.3/MPS-2025.3.tar.gz",
"build_number": "253.28294.432"
},
"phpstorm": {
"url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}.tar.gz",
"version": "2025.2.5",
"sha256": "4f102bb85add2527e46695f3b866c0e315423e19bc45e0adb0de0fe577a1efe6",
"url": "https://download.jetbrains.com/webide/PhpStorm-2025.2.5.tar.gz",
"build_number": "252.28238.9",
"version": "2025.3.1",
"sha256": "fd8937ab6b79605cefc9917ffe6a08e05a6b7cc0256fa2178623d24ec322fa29",
"url": "https://download.jetbrains.com/webide/PhpStorm-2025.3.1.tar.gz",
"build_number": "253.29346.151",
"version-major-minor": "2022.3"
},
"pycharm-community": {
@@ -80,38 +80,38 @@
},
"pycharm": {
"url-template": "https://download.jetbrains.com/python/pycharm-{version}.tar.gz",
"version": "2025.2.5",
"sha256": "b1e47419e5844c38e7a7a9be9e5260c75cea6aa8423f2584dc1727f792d5feb4",
"url": "https://download.jetbrains.com/python/pycharm-2025.2.5.tar.gz",
"build_number": "252.28238.29"
"version": "2025.3.1",
"sha256": "933fd42d7cc2a76ad4ba23f9112294e4df013fa4c3362435a1e3368051c07391",
"url": "https://download.jetbrains.com/python/pycharm-2025.3.1.tar.gz",
"build_number": "253.29346.142"
},
"rider": {
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}.tar.gz",
"version": "2025.3.0.3",
"sha256": "f09d5e060df110316e8abdedc397e6475e5d46d3f99b422d06de69f6e7025dbc",
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2025.3.0.3.tar.gz",
"build_number": "253.28294.237"
"version": "2025.3.1",
"sha256": "ba840f7c48da7f118cf57aa8c22df30120d16f175fbce3bec6a65590ed87f2e8",
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2025.3.1.tar.gz",
"build_number": "253.29346.144"
},
"ruby-mine": {
"url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}.tar.gz",
"version": "2025.2.5",
"sha256": "9d42262fa938e072a83828bd643c6d702b07e4a45c095315500a2a60d7bb805c",
"url": "https://download.jetbrains.com/ruby/RubyMine-2025.2.5.tar.gz",
"build_number": "252.28238.3"
"version": "2025.3.1",
"sha256": "e9eb2011ca2d5694c58c011690bf544d026e3a7c1c0c8de9bb37a18fa0cf8118",
"url": "https://download.jetbrains.com/ruby/RubyMine-2025.3.1.tar.gz",
"build_number": "253.29346.140"
},
"rust-rover": {
"url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}.tar.gz",
"version": "2025.2.5",
"sha256": "01ec30397ec61ac6dcb66cb037ea69b2be8a7e079020e50513f2e1e102ccfc84",
"url": "https://download.jetbrains.com/rustrover/RustRover-2025.2.5.tar.gz",
"build_number": "252.28238.28"
"version": "2025.3.1",
"sha256": "5a1b34e10a1c59eee30694236baa8233c7787580769381be01b4ccb09618ec89",
"url": "https://download.jetbrains.com/rustrover/RustRover-2025.3.1.tar.gz",
"build_number": "253.29346.139"
},
"webstorm": {
"url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}.tar.gz",
"version": "2025.2.5",
"sha256": "535167a94350f355e8d4b63624df25c9eca58e5f570df596c7ca8ab630f3c485",
"url": "https://download.jetbrains.com/webstorm/WebStorm-2025.2.5.tar.gz",
"build_number": "252.28238.10"
"version": "2025.3.1",
"sha256": "08a851d216b741c49ebb6846e178fb823d329fe7b9824a2134b68c8fd25ba2ae",
"url": "https://download.jetbrains.com/webstorm/WebStorm-2025.3.1.tar.gz",
"build_number": "253.29346.143"
},
"writerside": {
"url-template": "https://download.jetbrains.com/writerside/writerside-{version}.tar.gz",
@@ -131,38 +131,38 @@
},
"clion": {
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}-aarch64.tar.gz",
"version": "2025.2.5",
"sha256": "bff9d778fdfa41dc69019f05b01a9f242caa4406432f63b9d599799790f62655",
"url": "https://download.jetbrains.com/cpp/CLion-2025.2.5-aarch64.tar.gz",
"build_number": "252.28238.22"
"version": "2025.3.1",
"sha256": "b96c38c3d2f7ff7b988d75c970fd0e90363e09b8273106defc9ae3defa868ed7",
"url": "https://download.jetbrains.com/cpp/CLion-2025.3.1-aarch64.tar.gz",
"build_number": "253.29346.141"
},
"datagrip": {
"url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}-aarch64.tar.gz",
"version": "2025.3",
"sha256": "52a2e70f8903ee70ceb7fd45216f5d3ac35718ba066b30cb084c6bcacf9a5098",
"url": "https://download.jetbrains.com/datagrip/datagrip-2025.3-aarch64.tar.gz",
"build_number": "253.28294.259"
"version": "2025.3.2",
"sha256": "1a6feb3aa255dace332cc18b868593181b6ea62c3d9f0d36f90032ca0517d068",
"url": "https://download.jetbrains.com/datagrip/datagrip-2025.3.2-aarch64.tar.gz",
"build_number": "253.29346.170"
},
"dataspell": {
"url-template": "https://download.jetbrains.com/python/dataspell-{version}-aarch64.tar.gz",
"version": "2025.2.3",
"sha256": "4bebb406617b4179791d4b6560dc50355760773ef37f6ce9f27bd0d1fd638750",
"url": "https://download.jetbrains.com/python/dataspell-2025.2.3-aarch64.tar.gz",
"build_number": "252.27397.129"
"version": "2025.3.1",
"sha256": "40afd38cc704cdff2be89b9f0d67bdbcb1699d7b37b25d34d44d2d52ef6a46d3",
"url": "https://download.jetbrains.com/python/dataspell-2025.3.1-aarch64.tar.gz",
"build_number": "253.29346.157"
},
"gateway": {
"url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}-aarch64.tar.gz",
"version": "2025.2.5",
"sha256": "62cb3723786e66aec656561cc37f31bf232346be303184e3e73018e85b252430",
"url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2025.2.5-aarch64.tar.gz",
"build_number": "252.28238.6"
"version": "2025.3",
"sha256": "204ed3f7262877d0a46aaf30c5bafb7216b4e9736bebee71425c993c18486af8",
"url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2025.3-aarch64.tar.gz",
"build_number": "253.28294.342"
},
"goland": {
"url-template": "https://download.jetbrains.com/go/goland-{version}-aarch64.tar.gz",
"version": "2025.2.5",
"sha256": "c9bdfe1a106c470ee335d779ab59f61898098d4769dac8c2975113dba6d8dcf5",
"url": "https://download.jetbrains.com/go/goland-2025.2.5-aarch64.tar.gz",
"build_number": "252.28238.32"
"version": "2025.3",
"sha256": "c530dd4bcc7a075a040b64859ecb34142c8fc0399625c5a13ae2d7a8f5974340",
"url": "https://download.jetbrains.com/go/goland-2025.3-aarch64.tar.gz",
"build_number": "253.28294.337"
},
"idea-community": {
"url-template": "https://download.jetbrains.com/idea/ideaIC-{version}-aarch64.tar.gz",
@@ -173,24 +173,24 @@
},
"idea": {
"url-template": "https://download.jetbrains.com/idea/ideaIU-{version}-aarch64.tar.gz",
"version": "2025.2.5",
"sha256": "6203b9dbc2461abc59604a7fb319d8e06948b2886489ae03499e98f4c1a0a57c",
"url": "https://download.jetbrains.com/idea/ideaIU-2025.2.5-aarch64.tar.gz",
"build_number": "252.28238.7"
"version": "2025.3.1",
"sha256": "095711329d1e9c14641ba426e652d4dbd3885b27c9a046e44725ae677491e8c3",
"url": "https://download.jetbrains.com/idea/ideaIU-2025.3.1-aarch64.tar.gz",
"build_number": "253.29346.138"
},
"mps": {
"url-template": "https://download.jetbrains.com/mps/{versionMajorMinor}/MPS-{version}.tar.gz",
"version": "2025.2.1",
"sha256": "cfbe530d0385cf3e9ccc2f18f43db25525e0024abdbcd3203bd66fb77fc6f3b4",
"url": "https://download.jetbrains.com/mps/2025.2/MPS-2025.2.1.tar.gz",
"build_number": "252.26199.587"
"version": "2025.3",
"sha256": "c4023e52b4e17824d61d2768238619be14e5ae5735db533e3951647f377b6b79",
"url": "https://download.jetbrains.com/mps/2025.3/MPS-2025.3.tar.gz",
"build_number": "253.28294.432"
},
"phpstorm": {
"url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}-aarch64.tar.gz",
"version": "2025.2.5",
"sha256": "9dbf2ef4f69039f82ed1c4f279a22d5e1cb88051bcf5670e7c4d5bf0263295e9",
"url": "https://download.jetbrains.com/webide/PhpStorm-2025.2.5-aarch64.tar.gz",
"build_number": "252.28238.9",
"version": "2025.3.1",
"sha256": "7648667f85b4c45928b04d4c26f22882a8aa65a787a64fa2f7affe51a1bc2a61",
"url": "https://download.jetbrains.com/webide/PhpStorm-2025.3.1-aarch64.tar.gz",
"build_number": "253.29346.151",
"version-major-minor": "2022.3"
},
"pycharm-community": {
@@ -202,38 +202,38 @@
},
"pycharm": {
"url-template": "https://download.jetbrains.com/python/pycharm-{version}-aarch64.tar.gz",
"version": "2025.2.5",
"sha256": "7037672c6913f643ec4979ca5f16791588e001ffd39f830d874587f79e358be2",
"url": "https://download.jetbrains.com/python/pycharm-2025.2.5-aarch64.tar.gz",
"build_number": "252.28238.29"
"version": "2025.3.1",
"sha256": "2b6f5a430132773ea7caf3046f7763ea7a031dbfab6e1be72bdc86f3cc7a758b",
"url": "https://download.jetbrains.com/python/pycharm-2025.3.1-aarch64.tar.gz",
"build_number": "253.29346.142"
},
"rider": {
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}-aarch64.tar.gz",
"version": "2025.3.0.3",
"sha256": "eb3727a2c4159e185b839b0ee0c2ee7383d4bc5a8ef3c1f41dbd59ae7cb705d6",
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2025.3.0.3-aarch64.tar.gz",
"build_number": "253.28294.237"
"version": "2025.3.1",
"sha256": "19080fcdc48fa0f743ed60927b71975a3c478b805296161cfd8a0aa2c04c8f52",
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2025.3.1-aarch64.tar.gz",
"build_number": "253.29346.144"
},
"ruby-mine": {
"url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}-aarch64.tar.gz",
"version": "2025.2.5",
"sha256": "1dd8720dbb32a9ae6ed9856834baf5242aa8296ed179fee3e5b7be432f993155",
"url": "https://download.jetbrains.com/ruby/RubyMine-2025.2.5-aarch64.tar.gz",
"build_number": "252.28238.3"
"version": "2025.3.1",
"sha256": "bf603c6a1ba1e618afdb70589648447cfce53b4daa7a0cc68073c1b77e727d55",
"url": "https://download.jetbrains.com/ruby/RubyMine-2025.3.1-aarch64.tar.gz",
"build_number": "253.29346.140"
},
"rust-rover": {
"url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}-aarch64.tar.gz",
"version": "2025.2.5",
"sha256": "8e424e01a38faebbfd7fa36cdae51e233551f921a666e36a0a0a6a04e686fa0a",
"url": "https://download.jetbrains.com/rustrover/RustRover-2025.2.5-aarch64.tar.gz",
"build_number": "252.28238.28"
"version": "2025.3.1",
"sha256": "fb0f81c9d2a2a604718484954b261a642be9ed6f51de98fcdc6cedb32b0a4c9e",
"url": "https://download.jetbrains.com/rustrover/RustRover-2025.3.1-aarch64.tar.gz",
"build_number": "253.29346.139"
},
"webstorm": {
"url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}-aarch64.tar.gz",
"version": "2025.2.5",
"sha256": "d4a474c7434878906ed9d3c92572ac61c6fe8eb7dc48653677e2ead1785f4551",
"url": "https://download.jetbrains.com/webstorm/WebStorm-2025.2.5-aarch64.tar.gz",
"build_number": "252.28238.10"
"version": "2025.3.1",
"sha256": "fd8bb3ee70c549165d9102437bca03e857fc147281c1d7382249d4690c31dd87",
"url": "https://download.jetbrains.com/webstorm/WebStorm-2025.3.1-aarch64.tar.gz",
"build_number": "253.29346.143"
},
"writerside": {
"url-template": "https://download.jetbrains.com/writerside/writerside-{version}-aarch64.tar.gz",
@@ -253,38 +253,38 @@
},
"clion": {
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}.dmg",
"version": "2025.2.5",
"sha256": "234b93f26fbb411393dbfd7d1084ff8e8d35b745778d4b9ed1ecba670dafe0fb",
"url": "https://download.jetbrains.com/cpp/CLion-2025.2.5.dmg",
"build_number": "252.28238.22"
"version": "2025.3.1",
"sha256": "9a8174c9229f9c86f86da1a8e2bdab52ffb369ea0781b57eb245703ebc8307e2",
"url": "https://download.jetbrains.com/cpp/CLion-2025.3.1.dmg",
"build_number": "253.29346.141"
},
"datagrip": {
"url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}.dmg",
"version": "2025.3",
"sha256": "4a92e083ddc6edb7ff1639705d6bd3cf8d47d960659a9aa71e19b95fafad8d07",
"url": "https://download.jetbrains.com/datagrip/datagrip-2025.3.dmg",
"build_number": "253.28294.259"
"version": "2025.3.2",
"sha256": "0383a0a4f2fde583b62ea7d342e5718b0fa306fc8349541c75bec5ae841fb4fc",
"url": "https://download.jetbrains.com/datagrip/datagrip-2025.3.2.dmg",
"build_number": "253.29346.170"
},
"dataspell": {
"url-template": "https://download.jetbrains.com/python/dataspell-{version}.dmg",
"version": "2025.2.3",
"sha256": "7d1a60c4367a1e1bd43aec494177c4c30744cb5bf904a3c71d2a3d13439a7b12",
"url": "https://download.jetbrains.com/python/dataspell-2025.2.3.dmg",
"build_number": "252.27397.129"
"version": "2025.3.1",
"sha256": "388d956dd6243697a162c062c76b2fee4098f4f3405badb07a69ce6df7de6017",
"url": "https://download.jetbrains.com/python/dataspell-2025.3.1.dmg",
"build_number": "253.29346.157"
},
"gateway": {
"url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}.dmg",
"version": "2025.2.5",
"sha256": "a0a4314c5f08331a82420580bf3e26df19b52573cda3ecac354d8ac49caf191d",
"url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2025.2.5.dmg",
"build_number": "252.28238.6"
"version": "2025.3",
"sha256": "282fd7f302d95adeed022f8d6c679d3292778f96205394af52dd090f6201f338",
"url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2025.3.dmg",
"build_number": "253.28294.342"
},
"goland": {
"url-template": "https://download.jetbrains.com/go/goland-{version}.dmg",
"version": "2025.2.5",
"sha256": "b900b868b748b78c01c5da949e8bcc0df277caa2e3efcc50898641aadaf485f2",
"url": "https://download.jetbrains.com/go/goland-2025.2.5.dmg",
"build_number": "252.28238.32"
"version": "2025.3",
"sha256": "e1df4f10b158c7788736559666244e994500a40db5b08661e2691357d269dbf4",
"url": "https://download.jetbrains.com/go/goland-2025.3.dmg",
"build_number": "253.28294.337"
},
"idea-community": {
"url-template": "https://download.jetbrains.com/idea/ideaIC-{version}.dmg",
@@ -295,24 +295,24 @@
},
"idea": {
"url-template": "https://download.jetbrains.com/idea/ideaIU-{version}.dmg",
"version": "2025.2.5",
"sha256": "c0d6731d60bdcdaaea5c0474c296e39cc336f424da872c6ed022e8f139d779ee",
"url": "https://download.jetbrains.com/idea/ideaIU-2025.2.5.dmg",
"build_number": "252.28238.7"
"version": "2025.3.1",
"sha256": "adf5af3839e07ba6387bf0eca94df2f44c829023a1898170eacbc5cbafce0393",
"url": "https://download.jetbrains.com/idea/ideaIU-2025.3.1.dmg",
"build_number": "253.29346.138"
},
"mps": {
"url-template": "https://download.jetbrains.com/mps/{versionMajorMinor}/MPS-{version}-macos.dmg",
"version": "2025.2.1",
"sha256": "e0b2644918ffe76b10001fc7904a58b2ec88cda2d317b10508d3bac784a490b2",
"url": "https://download.jetbrains.com/mps/2025.2/MPS-2025.2.1-macos.dmg",
"build_number": "252.26199.587"
"version": "2025.3",
"sha256": "c216008ca905efd9ab9271df9599ef38ecb66cba2c61482e7a56434ae3eddee6",
"url": "https://download.jetbrains.com/mps/2025.3/MPS-2025.3-macos.dmg",
"build_number": "253.28294.432"
},
"phpstorm": {
"url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}.dmg",
"version": "2025.2.5",
"sha256": "2a765be05bd2176899297ba0599735c2a13d1065e9d65895a6ead7ed850f0254",
"url": "https://download.jetbrains.com/webide/PhpStorm-2025.2.5.dmg",
"build_number": "252.28238.9",
"version": "2025.3.1",
"sha256": "11988bcee5d94b271ea67aeacd3e836029595a6cfebfec2659565fc18a4ad2d1",
"url": "https://download.jetbrains.com/webide/PhpStorm-2025.3.1.dmg",
"build_number": "253.29346.151",
"version-major-minor": "2022.3"
},
"pycharm-community": {
@@ -324,38 +324,38 @@
},
"pycharm": {
"url-template": "https://download.jetbrains.com/python/pycharm-{version}.dmg",
"version": "2025.2.5",
"sha256": "00eccdeb39bd8eeaed1b98ad99f542fbc3851389f9e7d19355d05dfd979eb669",
"url": "https://download.jetbrains.com/python/pycharm-2025.2.5.dmg",
"build_number": "252.28238.29"
"version": "2025.3.1",
"sha256": "586c9eed67da609fc1e565a8bfc36eb155b23e5483d5dc6e9dcf8b5540f47fa5",
"url": "https://download.jetbrains.com/python/pycharm-2025.3.1.dmg",
"build_number": "253.29346.142"
},
"rider": {
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}.dmg",
"version": "2025.3.0.3",
"sha256": "e8261d30d549f1809228c84e4b31d2cae337cb7bc35cd6da4e0f801e4d2f52db",
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2025.3.0.3.dmg",
"build_number": "253.28294.237"
"version": "2025.3.1",
"sha256": "addd816dbdf130e2ef5e7dc184d7a8087f8bfbf6eba4e32ead2452069a49607d",
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2025.3.1.dmg",
"build_number": "253.29346.144"
},
"ruby-mine": {
"url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}.dmg",
"version": "2025.2.5",
"sha256": "7dedc215b849194f8814380a4e622e117346fb52fc3f102bfa53332d33c9433b",
"url": "https://download.jetbrains.com/ruby/RubyMine-2025.2.5.dmg",
"build_number": "252.28238.3"
"version": "2025.3.1",
"sha256": "4fce84983a6ace16d8479150b765280250a260b3d24fb37258d114000c6c1115",
"url": "https://download.jetbrains.com/ruby/RubyMine-2025.3.1.dmg",
"build_number": "253.29346.140"
},
"rust-rover": {
"url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}.dmg",
"version": "2025.2.5",
"sha256": "1f149d98d41b3929e3e920d5465eaa9963312d93f106d8821d0c51721ae2609c",
"url": "https://download.jetbrains.com/rustrover/RustRover-2025.2.5.dmg",
"build_number": "252.28238.28"
"version": "2025.3.1",
"sha256": "3899875452a5182db93b132c00dbc84394ffb637430b97f2390be8abb0412537",
"url": "https://download.jetbrains.com/rustrover/RustRover-2025.3.1.dmg",
"build_number": "253.29346.139"
},
"webstorm": {
"url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}.dmg",
"version": "2025.2.5",
"sha256": "1f3779bf695758e830126a95734360bd640794ec278c250fad9a71969de4ee39",
"url": "https://download.jetbrains.com/webstorm/WebStorm-2025.2.5.dmg",
"build_number": "252.28238.10"
"version": "2025.3.1",
"sha256": "a6cb906562f95b37e9c1e34c9bd9561dea653a726c95d02bfa957acbe909b88d",
"url": "https://download.jetbrains.com/webstorm/WebStorm-2025.3.1.dmg",
"build_number": "253.29346.143"
},
"writerside": {
"url-template": "https://download.jetbrains.com/writerside/writerside-{version}.dmg",
@@ -375,38 +375,38 @@
},
"clion": {
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}-aarch64.dmg",
"version": "2025.2.5",
"sha256": "b0496540a133c82c64ac959f1d4542fe331bd63403fd230e23adf4bc957c84af",
"url": "https://download.jetbrains.com/cpp/CLion-2025.2.5-aarch64.dmg",
"build_number": "252.28238.22"
"version": "2025.3.1",
"sha256": "11cae8aeb43d1870d96980f1d927ff545fabed989f3bf4e7327911b441e149f1",
"url": "https://download.jetbrains.com/cpp/CLion-2025.3.1-aarch64.dmg",
"build_number": "253.29346.141"
},
"datagrip": {
"url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}-aarch64.dmg",
"version": "2025.3",
"sha256": "16a5df01852648a82082fb667bbed6fcb43e15ef9a91e35a0be422dd37d07180",
"url": "https://download.jetbrains.com/datagrip/datagrip-2025.3-aarch64.dmg",
"build_number": "253.28294.259"
"version": "2025.3.2",
"sha256": "a7224548dc9da3863727b0c11cef9d613fd951d16baa016ca1407c56a9ec6964",
"url": "https://download.jetbrains.com/datagrip/datagrip-2025.3.2-aarch64.dmg",
"build_number": "253.29346.170"
},
"dataspell": {
"url-template": "https://download.jetbrains.com/python/dataspell-{version}-aarch64.dmg",
"version": "2025.2.3",
"sha256": "ad8a2d8403c7d44f66d0905ab6d28a3e888e78b9cc140725e7ca744257c6ce58",
"url": "https://download.jetbrains.com/python/dataspell-2025.2.3-aarch64.dmg",
"build_number": "252.27397.129"
"version": "2025.3.1",
"sha256": "fe0d8ef15e6e36af0ea4361bd474f204ee5c307ef90af8ec833976a1dae5a5a3",
"url": "https://download.jetbrains.com/python/dataspell-2025.3.1-aarch64.dmg",
"build_number": "253.29346.157"
},
"gateway": {
"url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}-aarch64.dmg",
"version": "2025.2.5",
"sha256": "af0a82a46ecad837ee6c86d97623e58d377eed7d5ee56c7af5765071e0b0c12e",
"url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2025.2.5-aarch64.dmg",
"build_number": "252.28238.6"
"version": "2025.3",
"sha256": "b10cabda93c88d27bcc135a44a1fd98fe60fe8305606d6e75a0d5b736f0df274",
"url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2025.3-aarch64.dmg",
"build_number": "253.28294.342"
},
"goland": {
"url-template": "https://download.jetbrains.com/go/goland-{version}-aarch64.dmg",
"version": "2025.2.5",
"sha256": "91faea3e0aff80e16a27cacaec1c39ef13eac2b3da1b0f0aa1af667be96f4c78",
"url": "https://download.jetbrains.com/go/goland-2025.2.5-aarch64.dmg",
"build_number": "252.28238.32"
"version": "2025.3",
"sha256": "d4ee20b5c3df6151d366d6cc9b06b915499ff0c1eb1184aab53a01078908ec89",
"url": "https://download.jetbrains.com/go/goland-2025.3-aarch64.dmg",
"build_number": "253.28294.337"
},
"idea-community": {
"url-template": "https://download.jetbrains.com/idea/ideaIC-{version}-aarch64.dmg",
@@ -417,24 +417,24 @@
},
"idea": {
"url-template": "https://download.jetbrains.com/idea/ideaIU-{version}-aarch64.dmg",
"version": "2025.2.5",
"sha256": "6ec8cf520556c75e91a3cae1c54f464dee3609c4d7efef3bb307b129c7d9cb63",
"url": "https://download.jetbrains.com/idea/ideaIU-2025.2.5-aarch64.dmg",
"build_number": "252.28238.7"
"version": "2025.3.1",
"sha256": "2137863cc3a5f4acd25ba38a82e004e935d3a94fa566f8e3851d6b8a8ac12777",
"url": "https://download.jetbrains.com/idea/ideaIU-2025.3.1-aarch64.dmg",
"build_number": "253.29346.138"
},
"mps": {
"url-template": "https://download.jetbrains.com/mps/{versionMajorMinor}/MPS-{version}-macos-aarch64.dmg",
"version": "2025.2.1",
"url": "https://download.jetbrains.com/mps/2025.2/MPS-2025.2.1-macos-aarch64.dmg",
"sha256": "d409c82b06cab622dc469d6929e291e40b81b21e1e4b784833d07eb7697f5f61",
"build_number": "252.26199.587"
"version": "2025.3",
"url": "https://download.jetbrains.com/mps/2025.3/MPS-2025.3-macos-aarch64.dmg",
"sha256": "dc79c41ce851448f4862306173914eee1e63e230410ed65356498efd2d5f0444",
"build_number": "253.28294.432"
},
"phpstorm": {
"url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}-aarch64.dmg",
"version": "2025.2.5",
"sha256": "8320ce229c03277f53a836bc19b796e9241bb00e3e40d4f048290baa27aa9a90",
"url": "https://download.jetbrains.com/webide/PhpStorm-2025.2.5-aarch64.dmg",
"build_number": "252.28238.9",
"version": "2025.3.1",
"sha256": "0453e0a6ee86c3cbf97b8c48f2826751d8085bf8211b541a04752621c5af16bc",
"url": "https://download.jetbrains.com/webide/PhpStorm-2025.3.1-aarch64.dmg",
"build_number": "253.29346.151",
"version-major-minor": "2022.3"
},
"pycharm-community": {
@@ -446,38 +446,38 @@
},
"pycharm": {
"url-template": "https://download.jetbrains.com/python/pycharm-{version}-aarch64.dmg",
"version": "2025.2.5",
"sha256": "71da1283259bc59897e5bb43c6c3771a72d026419ed4d79192889ea3885ac0de",
"url": "https://download.jetbrains.com/python/pycharm-2025.2.5-aarch64.dmg",
"build_number": "252.28238.29"
"version": "2025.3.1",
"sha256": "ec8e97856f00da902020c72b0f079cc10983de6bb4438292ea5faa1e5b0cb935",
"url": "https://download.jetbrains.com/python/pycharm-2025.3.1-aarch64.dmg",
"build_number": "253.29346.142"
},
"rider": {
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}-aarch64.dmg",
"version": "2025.3.0.3",
"sha256": "ff03408013ce86ffd437204d635401a4ca673ee15596e3d93cd9c69e63e7e7c3",
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2025.3.0.3-aarch64.dmg",
"build_number": "253.28294.237"
"version": "2025.3.1",
"sha256": "d7080323412900f5d37270233e5a4c773011c6853d6031ce1f5e635c77511426",
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2025.3.1-aarch64.dmg",
"build_number": "253.29346.144"
},
"ruby-mine": {
"url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}-aarch64.dmg",
"version": "2025.2.5",
"sha256": "8527cb286ea5d9cd612538cb55354dc689b7f7fe5ec0b81a8f1a4a2279e94351",
"url": "https://download.jetbrains.com/ruby/RubyMine-2025.2.5-aarch64.dmg",
"build_number": "252.28238.3"
"version": "2025.3.1",
"sha256": "67f1aa674b90ec54ba21f3523ad940218f979befd7429e38ad822bc8146d16a4",
"url": "https://download.jetbrains.com/ruby/RubyMine-2025.3.1-aarch64.dmg",
"build_number": "253.29346.140"
},
"rust-rover": {
"url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}-aarch64.dmg",
"version": "2025.2.5",
"sha256": "7927f48c24ff1e9b235f3f6bbcd74fb1fad907035146a04c55ef62ccdf90c087",
"url": "https://download.jetbrains.com/rustrover/RustRover-2025.2.5-aarch64.dmg",
"build_number": "252.28238.28"
"version": "2025.3.1",
"sha256": "103a12ed1c37b6b38cff5d637e7dc7b8dcc78f5c576ba38b8f862c6ba3647d52",
"url": "https://download.jetbrains.com/rustrover/RustRover-2025.3.1-aarch64.dmg",
"build_number": "253.29346.139"
},
"webstorm": {
"url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}-aarch64.dmg",
"version": "2025.2.5",
"sha256": "729d519244a4be15add4b0963ebf84fb9c3f3f2f7d1eab3ad925ef79fe359773",
"url": "https://download.jetbrains.com/webstorm/WebStorm-2025.2.5-aarch64.dmg",
"build_number": "252.28238.10"
"version": "2025.3.1",
"sha256": "1c21990cee2bbbffdd8f6c90e8071bc03ec7fe5a3662e51931c15222d4b7ccb2",
"url": "https://download.jetbrains.com/webstorm/WebStorm-2025.3.1-aarch64.dmg",
"build_number": "253.29346.143"
},
"writerside": {
"url-template": "https://download.jetbrains.com/writerside/writerside-{version}-aarch64.dmg",
+57 -49
View File
@@ -215,66 +215,74 @@ let
grammarToPlugin =
grammar:
let
name = lib.pipe grammar [
lib.getName
# If the grammar has already been processed by this function, return it as-is.
# This makes the function idempotent and prevents double-wrapping which mangles
# the names of the generated parser files.
if grammar ? origGrammar then
grammar
else
let
name = lib.pipe grammar [
lib.getName
# added in buildGrammar
(lib.removeSuffix "-grammar")
# added in buildGrammar
(lib.removeSuffix "-grammar")
# grammars from tree-sitter.builtGrammars
(lib.removePrefix "tree-sitter-")
(lib.replaceStrings [ "-" ] [ "_" ])
];
# grammars from tree-sitter.builtGrammars
(lib.removePrefix "tree-sitter-")
(lib.replaceStrings [ "-" ] [ "_" ])
];
nvimGrammars = lib.mapAttrsToList (
name: value:
value.origGrammar
or (throw "additions to `pkgs.vimPlugins.nvim-treesitter.grammarPlugins` set should be passed through `pkgs.neovimUtils.grammarToPlugin` first")
) vimPlugins.nvim-treesitter.grammarPlugins;
isNvimGrammar = x: builtins.elem x nvimGrammars;
nvimGrammars = lib.mapAttrsToList (
name: value:
value.origGrammar
or (throw "additions to `pkgs.vimPlugins.nvim-treesitter.grammarPlugins` set should be passed through `pkgs.neovimUtils.grammarToPlugin` first")
) vimPlugins.nvim-treesitter.grammarPlugins;
isNvimGrammar = x: builtins.elem x nvimGrammars;
toNvimTreesitterGrammar = makeSetupHook {
name = "to-nvim-treesitter-grammar";
} ./to-nvim-treesitter-grammar.sh;
in
toNvimTreesitterGrammar = makeSetupHook {
name = "to-nvim-treesitter-grammar";
} ./to-nvim-treesitter-grammar.sh;
in
(toVimPlugin (
stdenv.mkDerivation {
name = "treesitter-grammar-${name}";
(toVimPlugin (
stdenv.mkDerivation {
name = "nvim-treesitter-grammar-${name}";
origGrammar = grammar;
grammarName = name;
origGrammar = grammar;
grammarName = name;
# Queries for nvim-treesitter's (not just tree-sitter's) officially
# supported languages are bundled with nvim-treesitter
# Queries from repositories for such languages are incompatible
# with nvim's implementation of treesitter.
#
# We try our best effort to only include queries for niche languages
# (there are grammars for them in nixpkgs, but they're in
# `tree-sitter-grammars.tree-sitter-*`; `vimPlugins.nvim-treesitter-parsers.*`
# only includes officially supported languages)
#
# To use grammar for a niche language, users usually do:
# packages.all.start = with final.vimPlugins; [
# (pkgs.neovimUtils.grammarToPlugin pkgs.tree-sitter-grammars.tree-sitter-LANG)
# ]
#
# See also https://github.com/NixOS/nixpkgs/pull/344849#issuecomment-2381447839
installQueries = !isNvimGrammar grammar;
# Queries for nvim-treesitter's (not just tree-sitter's) officially
# supported languages are bundled with nvim-treesitter
# Queries from repositories for such languages are incompatible
# with nvim's implementation of treesitter.
#
# We try our best effort to only include queries for niche languages
# (there are grammars for them in nixpkgs, but they're in
# `tree-sitter-grammars.tree-sitter-*`; `vimPlugins.nvim-treesitter-parsers.*`
# only includes officially supported languages)
#
# To use grammar for a niche language, users usually do:
# packages.all.start = with final.vimPlugins; [
# (pkgs.neovimUtils.grammarToPlugin pkgs.tree-sitter-grammars.tree-sitter-LANG)
# ]
#
# See also https://github.com/NixOS/nixpkgs/pull/344849#issuecomment-2381447839
installQueries = !isNvimGrammar grammar;
dontUnpack = true;
__structuredAttrs = true;
dontUnpack = true;
__structuredAttrs = true;
nativeBuildInputs = [ toNvimTreesitterGrammar ];
nativeBuildInputs = [ toNvimTreesitterGrammar ];
meta = {
platforms = lib.platforms.all;
passthru = grammar.passthru or { };
meta = {
platforms = lib.platforms.all;
}
// grammar.meta;
}
// grammar.meta;
}
));
));
/*
Fork of vimUtils.packDir that additionally generates a propagated-build-inputs-file that
+2 -2
View File
@@ -1,6 +1,6 @@
{ lib, fetchFromGitHub }:
rec {
version = "9.1.1869";
version = "9.1.1918";
outputs = [
"out"
@@ -11,7 +11,7 @@ rec {
owner = "vim";
repo = "vim";
rev = "v${version}";
hash = "sha256-AHx4AHsJAsEE5LRzKgBeV3LoCaoHUB+0/gq7kOHObMk=";
hash = "sha256-NU/A7yWcLaC+wqsfiHYVhnSZHGDao6+Oib/bSFNSVyQ=";
};
enableParallelBuilding = true;
@@ -12000,12 +12000,12 @@ final: prev: {
nvim-treesitter = buildVimPlugin {
pname = "nvim-treesitter";
version = "0.10.0-unstable-2025-05-24";
version = "0.10.0-unstable-2025-12-29";
src = fetchFromGitHub {
owner = "nvim-treesitter";
repo = "nvim-treesitter";
rev = "42fc28ba918343ebfd5565147a42a26580579482";
hash = "sha256-CVs9FTdg3oKtRjz2YqwkMr0W5qYLGfVyxyhE3qnGYbI=";
rev = "7efc1b58a8061d29786860006c7257c90a5196dc";
hash = "sha256-AMEzUaVVPzHT7vpPJUFt5UbBiN9tygH5UMio/lU/baw=";
};
meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
meta.hydraPlatforms = [ ];
@@ -32,7 +32,6 @@ let
nativeInstallCheckInputs = [
versionCheckHook
];
versionCheckProgramArg = "--version";
doInstallCheck = false;
meta.mainProgram = "cord";
@@ -2,4 +2,4 @@
lib,
vimPlugins,
}:
lib.recurseIntoAttrs vimPlugins.nvim-treesitter.grammarPlugins
lib.recurseIntoAttrs vimPlugins.nvim-treesitter.parsers
File diff suppressed because it is too large Load Diff
@@ -1,12 +1,13 @@
{
lib,
callPackage,
symlinkJoin,
vimUtils,
tree-sitter,
neovim,
neovimUtils,
runCommand,
vimPlugins,
tree-sitter-grammars,
writableTmpDirAsHomeHook,
}:
@@ -15,18 +16,43 @@ self: super:
let
inherit (neovimUtils) grammarToPlugin;
overrides = prev: {
buildQueries =
{ language }:
vimUtils.toVimPlugin (
runCommand "nvim-treesitter-queries-${language}"
{
passthru = { inherit language; };
meta.description = "Queries for ${language} from nvim-treesitter";
}
''
mkdir -p "$out/queries"
if [ -d "${super.nvim-treesitter.src}/runtime/queries/${language}" ]; then
ln -s "${super.nvim-treesitter.src}/runtime/queries/${language}" "$out/queries/${language}"
else
echo "Error: there are no queries for ${language}."
exit 1
fi
''
);
generated = callPackage ./generated.nix {
inherit (tree-sitter) buildGrammar;
inherit buildQueries;
};
generatedGrammars =
let
generated = callPackage ./generated.nix {
inherit (tree-sitter) buildGrammar;
};
in
lib.overrideExisting generated (overrides generated);
inherit (generated) parsers queries;
generatedDerivations = lib.filterAttrs (_: lib.isDerivation) generatedGrammars;
parsersWithMeta = lib.mapAttrs (
lang: parser:
if lib.hasAttr lang queries then
parser.overrideAttrs (old: {
passthru = (old.passthru or { }) // {
associatedQuery = queries.${lang};
};
})
else
parser
) parsers;
# add aliases so grammars from `tree-sitter` are overwritten in `withPlugins`
# for example, for ocaml_interface, the following aliases will be added
@@ -34,7 +60,7 @@ let
# tree-sitter-ocaml-interface
# tree-sitter-ocaml_interface
builtGrammars =
generatedGrammars
parsersWithMeta
// lib.concatMapAttrs (
k: v:
let
@@ -47,9 +73,9 @@ let
${replaced} = v;
"tree-sitter-${replaced}" = v;
}
) generatedDerivations;
) parsersWithMeta;
allGrammars = lib.attrValues generatedDerivations;
allGrammars = lib.attrValues parsersWithMeta;
# Usage:
# pkgs.vimPlugins.nvim-treesitter.withPlugins (p: [ p.c p.java ... ])
@@ -57,28 +83,44 @@ let
# pkgs.vimPlugins.nvim-treesitter.withAllGrammars
withPlugins =
f:
let
selectedGrammars = f (tree-sitter.builtGrammars // builtGrammars);
grammarPlugins = map grammarToPlugin selectedGrammars;
queryPlugins = lib.pipe selectedGrammars [
(map (g: g.passthru.associatedQuery or null))
(lib.filter (q: q != null))
];
in
self.nvim-treesitter.overrideAttrs {
passthru.dependencies = map grammarToPlugin (f (tree-sitter.builtGrammars // builtGrammars));
passthru.dependencies = [
(symlinkJoin {
name = "nvim-treesitter-grammars";
paths = grammarPlugins ++ queryPlugins;
})
];
};
withAllGrammars = withPlugins (_: allGrammars);
grammarPlugins = lib.mapAttrs (_: grammarToPlugin) parsersWithMeta;
in
{
postPatch = ''
rm -r parser
'';
nvimSkipModules = [ "nvim-treesitter._meta.parsers" ];
passthru = (super.nvim-treesitter.passthru or { }) // {
passthru = super.nvim-treesitter.passthru or { } // {
inherit
buildQueries
builtGrammars
allGrammars
grammarPlugins
grammarToPlugin
withPlugins
withAllGrammars
queries
;
grammarPlugins = lib.mapAttrs (_: grammarToPlugin) generatedDerivations;
parsers = grammarPlugins;
tests = {
check-queries =
@@ -100,7 +142,7 @@ in
ln -s ${withAllGrammars}/CONTRIBUTING.md .
export ALLOWED_INSTALLATION_FAILURES=ipkg,norg,verilog
nvim --headless "+luafile ${withAllGrammars}/scripts/check-queries.lua" | tee log
nvim --headless -l "${withAllGrammars}/scripts/check-queries.lua" | tee log
if grep -q Warning log; then
echo "WARNING: warnings were emitted by the check"
@@ -108,45 +150,9 @@ in
fi
'';
tree-sitter-queries-are-present-for-custom-grammars =
let
pluginsToCheck =
map (grammar: grammarToPlugin grammar)
# non-derivations are here because there is a `recurseForDerivations = true`
(lib.filter lib.isDerivation (lib.attrValues tree-sitter-grammars));
in
runCommand "nvim-treesitter-test-queries-are-present-for-custom-grammars" { CI = true; } ''
touch "$out"
function check_grammar {
local grammar_name="$1"
local grammar_path="$2"
local grammar_queries=$(find -L "$grammar_path/queries/$grammar_name" -name '*.scm')
local EXPECTED_FILES="$grammar_path/parser/$grammar_name.so $grammar_queries"
echo ""
echo "expected files for $grammar_name:"
echo "$EXPECTED_FILES"
# the derivation has only symlinks, and `find` doesn't count them as files
# so we cannot use `-type f`, thus we use `-not -type d`
for file in $(find -L $2 -not -type d); do
echo "checking $file"
# see https://stackoverflow.com/a/8063284
if ! echo "$EXPECTED_FILES" | grep -wqF "$file"; then
echo "$file is unexpected, exiting"
exit 1
fi
done
}
${lib.concatLines (lib.forEach pluginsToCheck (g: "check_grammar \"${g.grammarName}\" \"${g}\""))}
'';
no-queries-for-official-grammars =
let
pluginsToCheck = lib.filter lib.isDerivation (lib.attrValues vimPlugins.nvim-treesitter-parsers);
pluginsToCheck = lib.filter lib.isDerivation (lib.attrValues vimPlugins.nvim-treesitter.parsers);
in
runCommand "nvim-treesitter-test-no-queries-for-official-grammars" { CI = true; } ''
touch "$out"
@@ -168,10 +174,8 @@ in
};
};
meta =
(super.nvim-treesitter.meta or { }) // {
license = lib.licenses.asl20;
maintainers = [ ];
};
meta = super.nvim-treesitter.meta or { } // {
license = lib.licenses.asl20;
maintainers = [ ];
};
}
@@ -13,7 +13,10 @@ import requests
log = logging.getLogger("vim-updater")
NURR_JSON_URL = (
"https://raw.githubusercontent.com/nvim-neorocks/nurr/main/tree-sitter-parsers.json"
"https://raw.githubusercontent.com/lumen-oss/nurr/main/tree-sitter-parsers.json"
)
NVIM_TREESITTER_QUERIES_URL = (
"https://api.github.com/repos/nvim-treesitter/nvim-treesitter/contents/runtime/queries"
)
@@ -28,33 +31,41 @@ def generate_grammar(lang, parser_info):
url = install_info["url"]
rev = install_info["revision"]
generated = f""" {lang} = buildGrammar {{
language = "{lang}";
version = "0.0.0+rev={rev[:7]}";
src = """
generated = f""" {lang} = buildGrammar {{
language = "{lang}";
version = "0.0.0+rev={rev[:7]}";
src = """
generated += subprocess.check_output(
["nurl", url, rev, "--indent=4"], text=True
["nurl", url, rev, "--indent=6"], text=True
)
generated += ";"
location = install_info.get("location", "")
if location:
generated += f"""
location = "{location}";"""
location = "{location}";"""
if install_info.get("generate", False):
generated += """
generate = true;"""
generate = true;"""
generated += f"""
meta.homepage = "{url}";
}};
meta.homepage = "{url}";
}};
"""
return generated
def generate_query(lang):
"""Generate query derivation for a language"""
return f""" {lang} = buildQueries {{
language = "{lang}";
}};
"""
def fetch_nurr_parsers():
"""Fetch the parser information from nurr repository"""
log.info("Fetching parser data from %s", NURR_JSON_URL)
@@ -81,6 +92,25 @@ def fetch_nurr_parsers():
return parsers
def fetch_available_queries():
"""Fetch list of languages that have queries in nvim-treesitter repo"""
log.info("Fetching available queries from %s", NVIM_TREESITTER_QUERIES_URL)
headers = {}
github_token = os.environ.get("GITHUB_TOKEN")
if github_token:
headers["Authorization"] = f"token {github_token}"
response = requests.get(NVIM_TREESITTER_QUERIES_URL, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
# We assume items with type="dir" in the queries/ folder are language names
languages = sorted([item["name"] for item in data if item["type"] == "dir"])
log.info(f"Found {len(languages)} languages with queries")
return languages
def process_parser_info(parser_info):
"""Process a single parser info entry and generate grammar for it"""
return generate_grammar(parser_info["lang"], parser_info)
@@ -89,12 +119,14 @@ def process_parser_info(parser_info):
def update_grammars():
"""Update grammar definitions using nurr's parser information"""
parsers_info = fetch_nurr_parsers()
queries_list = fetch_available_queries()
generated_file = """# generated by pkgs/applications/editors/vim/plugins/utils/nvim-treesitter/update.py
# Using parser data from https://github.com/nvim-neorocks/nurr/blob/main/tree-sitter-parsers.json
{
buildGrammar,
buildQueries,
"""
nurl_output = subprocess.check_output(["nurl", "-Ls", ","], text=True).strip()
@@ -104,6 +136,7 @@ def update_grammars():
}:
{
parsers = {
"""
# Process parsers in parallel for better performance
@@ -111,7 +144,16 @@ def update_grammars():
for generated in executor.map(process_parser_info, parsers_info):
generated_file += generated
generated_file += "}\n"
generated_file += """ };
queries = {
"""
# Process queries
for lang in queries_list:
generated_file += generate_query(lang)
generated_file += " };\n}\n"
return generated_file
@@ -13,13 +13,13 @@
}:
mkLibretroCore {
core = "ppsspp";
version = "0-unstable-2025-12-22";
version = "0-unstable-2025-12-30";
src = fetchFromGitHub {
owner = "hrydgard";
repo = "ppsspp";
rev = "036013ef87d2ac6b9fea36dbb513617c72e11254";
hash = "sha256-T2fUq6Iah/vQ/NaGPE/wa2sJL888VKRpdiNq7hbFsWI=";
rev = "34fde065b76805c851d7c4b5bc4c67a3d347aab9";
hash = "sha256-se8WptzipVwAE6Qwq2hTv7xBsY22HoACdVrPv+ssBDc=";
fetchSubmodules = true;
};
+1 -1
View File
@@ -207,7 +207,7 @@ stdenv.mkDerivation (
# Wine locates a lot of libraries dynamically through dlopen(). Add
# them to the RPATH so that the user doesn't have to set them in
# LD_LIBRARY_PATH.
NIX_LDFLAGS = toString (
env.NIX_LDFLAGS = toString (
map (path: "-rpath " + path) (
map (x: "${lib.getLib x}/lib") ([ stdenv.cc.cc ] ++ finalAttrs.buildInputs)
# libpulsecommon.so is linked but not found otherwise
@@ -1,5 +1,5 @@
## build described at https://wiki.winehq.org/Building_Wine#Shared_WoW64
preFlags="${configureFlags}"
preFlags="${configureFlags[@]}"
unpackPhase
cd $TMP/$sourceRoot
@@ -10,7 +10,7 @@ mkdir -p $TMP/wine-wow $TMP/wine64
cd $TMP/wine64
sourceRoot=`pwd`
configureFlags="${preFlags} --enable-win64"
configureFlags=($preFlags --enable-win64)
configurePhase
buildPhase
# checkPhase
@@ -37,7 +37,7 @@ PKG_CONFIG_PATH=$(IFS=":"; echo "${NEW_LIST_ARRAY[*]}")
cd $TMP/wine-wow
sourceRoot=`pwd`
configureFlags="${preFlags} --with-wine64=../wine64"
configureFlags=($preFlags --with-wine64=../wine64)
configurePhase
buildPhase
# checkPhase
+17 -5
View File
@@ -82,6 +82,16 @@ let
})
];
# Fix build with GCC 15
# https://bugs.winehq.org/show_bug.cgi?id=58191
patches-add-truncf-to-the-import-library = [
(pkgs.fetchpatch {
name = "add-truncf-to-the-import-library.patch";
url = "https://gitlab.winehq.org/wine/wine/-/commit/ed66bd5c97ecc17c42a4942dafac7d406c1e5120.patch";
hash = "sha256-mn0fRZ840MYk1WZsBLcachUzyNmBUSlvf50t9jFGXp0=";
})
];
inherit (pkgs) writeShellScript;
in
rec {
@@ -114,7 +124,8 @@ rec {
# Also look for root certificates at $NIX_SSL_CERT_FILE
./cert-path.patch
]
++ patches-binutils-2_44-fix-wine-older-than-10_2;
++ patches-binutils-2_44-fix-wine-older-than-10_2
++ patches-add-truncf-to-the-import-library;
updateScript = writeShellScript "update-wine-stable" ''
${updateScriptPreamble}
@@ -133,9 +144,9 @@ rec {
unstable = fetchurl rec {
# NOTE: Don't forget to change the hash for staging as well.
version = "10.18";
version = "10.19";
url = "https://dl.winehq.org/wine/source/10.x/wine-${version}.tar.xz";
hash = "sha256-Uftyc9ZdCd6gMsSl4hl7EnJLJ8o2DhpiKyNz0e5QrXs=";
hash = "sha256-fOxYMjxvKq7nrKk1Fzecu/75biwsWAxo/4XdAAy73UY=";
patches = [
# Also look for root certificates at $NIX_SSL_CERT_FILE
@@ -145,7 +156,7 @@ rec {
# see https://gitlab.winehq.org/wine/wine-staging
staging = fetchFromGitLab {
inherit version;
hash = "sha256-vhIjeEbWLpcKtkBd/KeAeaLKOUZt7LAkH6GTebs3ROM=";
hash = "sha256-GmHeqHZPnFZkntMOJJzRDUN9H+G1qXdacy/Al6T5eZU=";
domain = "gitlab.winehq.org";
owner = "wine";
repo = "wine-staging";
@@ -204,7 +215,8 @@ rec {
# Also look for root certificates at $NIX_SSL_CERT_FILE
./cert-path.patch
]
++ patches-binutils-2_44-fix-wine-older-than-10_2;
++ patches-binutils-2_44-fix-wine-older-than-10_2
++ patches-add-truncf-to-the-import-library;
# see https://gitlab.winehq.org/wine/wine-staging
staging = fetchFromGitLab {
+4 -4
View File
@@ -14,14 +14,12 @@
}:
let
qgis-unwrapped = libsForQt5.callPackage ./unwrapped.nix {
withGrass = withGrass;
withServer = withServer;
withWebKit = withWebKit;
inherit withGrass withServer withWebKit;
};
in
symlinkJoin {
inherit (qgis-unwrapped) version src;
inherit (qgis-unwrapped) version outputs src;
pname = "qgis";
paths = [ qgis-unwrapped ];
@@ -42,6 +40,8 @@ symlinkJoin {
--prefix PATH : $program_PATH \
--set PYTHONPATH $program_PYTHONPATH
done
ln -s ${qgis-unwrapped.man} $man
'';
passthru = {
+5 -1
View File
@@ -83,6 +83,10 @@ in
mkDerivation rec {
version = "3.44.5";
pname = "qgis-unwrapped";
outputs = [
"out"
"man"
];
src = fetchFromGitHub {
owner = "qgis";
@@ -181,7 +185,7 @@ mkDerivation rec {
dontWrapGApps = true; # wrapper params passed below
postFixup = lib.optionalString withGrass ''
# GRASS has to be availble on the command line even though we baked in
# GRASS has to be available on the command line even though we baked in
# the path at build time using GRASS_PREFIX.
# Using wrapGAppsHook also prevents file dialogs from crashing the program
# on non-NixOS.
@@ -85,13 +85,13 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "imagemagick";
version = "7.1.2-8";
version = "7.1.2-11";
src = fetchFromGitHub {
owner = "ImageMagick";
repo = "ImageMagick";
tag = finalAttrs.version;
hash = "sha256-2jSQ59Wi6/1dbS/AgM1DfW6WlwoYuJlnTLoM8Mc6Ji8=";
hash = "sha256-RFiE23VW8AbVb7iglxjQMT6njDw+P7vLW6+nSKqN0p8=";
};
outputs = [
@@ -46,7 +46,6 @@ buildGoModule (finalAttrs: {
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgram = "${placeholder "out"}/helm-schema/bin/schema";
versionCheckProgramArg = "--version";
passthru.updateScript = nix-update-script { };
@@ -456,7 +456,6 @@ buildGoModule (finalAttrs: {
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
passthru = {
inherit
@@ -21,7 +21,6 @@ rustPlatform.buildRustPackage rec {
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
meta = {
description = "kubectl plugin to list allocations (cpu, memory, gpu,... X utilization, requested, limit, allocatable,...)";
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchFromGitLab,
fetchpatch,
cmake,
ninja,
@@ -27,6 +28,17 @@ stdenv.mkDerivation {
fetchSubmodules = true;
};
patches = [
# Fix build with gcc15
# https://www.github.com/Mbed-TLS/mbedtls/pull/10215
(fetchpatch {
name = "linphone-mbedtls-fix-unterminated-string-initialization.patch";
url = "https://github.com/Mbed-TLS/mbedtls/commit/d593c54b3cbfc3c806476a725e7d82763da0da9e.patch";
hash = "sha256-hh2cGzL75fEqlFNhEyL2fI9qsBW2Eq43DdWFD9qLsKE=";
excludes = [ "ChangeLog.d/unterminated-string-initialization.txt" ];
})
];
nativeBuildInputs = [
cmake
ninja
@@ -174,7 +174,6 @@ stdenv.mkDerivation rec {
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
passthru.updateScript = writeScript "update-weechat" ''
#!/usr/bin/env nix-shell
@@ -110,7 +110,6 @@ rustPlatform.buildRustPackage rec {
nativeInstallCheckInputs = [
versionCheckHook
];
versionCheckProgramArg = "--version";
doInstallCheck = true;
passthru = {
@@ -93,6 +93,7 @@
ncurses,
libepoxy,
gpgme,
gpgmepp,
libwebp,
abseil-cpp,
libepubgen,
@@ -358,7 +359,7 @@ stdenv.mkDerivation (finalAttrs: {
# Fix this path to point to where the headers can actually be found instead.
substituteInPlace configure.ac --replace-fail \
'GPGMEPP_CFLAGS=-I/usr/include/gpgme++' \
'GPGMEPP_CFLAGS=-I${gpgme.dev}/include/gpgme++'
'GPGMEPP_CFLAGS=-I${lib.getDev gpgmepp}/include/gpgme++'
# Fix for Python 3.12
substituteInPlace configure.ac --replace-fail distutils.sysconfig sysconfig
@@ -422,6 +423,7 @@ stdenv.mkDerivation (finalAttrs: {
glm
adwaita-icon-theme
gpgme
gpgmepp
graphite2
gtk3
(harfbuzz.override { withIcu = true; })
@@ -27,6 +27,10 @@ let
cross = stdenv.hostPlatform != stdenv.buildPlatform;
in
{
outputs = [
"out"
"man"
];
src =
if overrideSrc != { } then
overrideSrc
+11 -5
View File
@@ -79,7 +79,7 @@ let
pythonEnv = unwrapped.python.withPackages (ps: pythonPkgs);
pname = unwrapped.pname + "-wrapped";
inherit (unwrapped) version;
inherit (unwrapped) outputs version;
makeWrapperArgs = builtins.concatStringsSep " " (
[
]
@@ -214,15 +214,21 @@ let
self =
if doWrap then
stdenv.mkDerivation {
inherit pname version passthru;
nativeBuildInputs = [ makeWrapper ];
buildInputs = [
inherit
pname
outputs
version
passthru
;
nativeBuildInputs = [
makeWrapper
xorg.lndir
];
buildCommand = ''
mkdir $out
cd $out
lndir -silent ${unwrapped}
lndir -silent ${unwrapped.out}
lndir -silent ${unwrapped.man}
${lib.optionalString (extraPackages != [ ]) (
builtins.concatStringsSep "\n" (
map (pkg: ''
@@ -32,6 +32,11 @@ stdenv.mkDerivation rec {
url = "https://github.com/myriadrf/LimeSuite/commit/4e5ad459d50c922267a008e5cecb3efdbff31f09.patch";
hash = "sha256-OASki3bISJvV7wjMz0pBT3kO5RvJ5BnymiF6ruHkCJ8=";
})
# Fixes for C23 (GCC 15). Remove upon next version bump
(fetchpatch {
url = "https://github.com/myriadrf/LimeSuite/commit/524cd2e548b11084e6f739b2dfe0f958c2e30354.patch";
hash = "sha256-wxwhFjXcIgBMTJoJ6efdtyttxMFZviCTXtEb2qFX9yU=";
})
];
nativeBuildInputs = [ cmake ];
@@ -264,7 +264,8 @@ let
]
++ lib.optional buildIde "coqide"
++ lib.optional (!coqAtLeast "8.14") "bin/votour";
enableParallelBuilding = true;
# workaround for irreproducible build error in https://github.com/NixOS/nixpkgs/pull/474970
enableParallelBuilding = coqAtLeast "8.14";
createFindlibDestdir = true;
@@ -59,6 +59,7 @@ stdenv.mkDerivation (finalAttrs: {
outputs = [
"out"
"man"
"tex"
];
@@ -361,7 +361,6 @@ let
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
passthru = {
# Exposed for tarsum build on non-linux systems (build-support/docker/default.nix)
@@ -9,7 +9,7 @@ index 45e9a1f9b0..494ee00c66 100644
+static int is_in_store_path(const char *path)
+{
+ static char *store_path = NULL;
+ int store_path_len = -1;
+ static ssize_t store_path_len = -1;
+
+ if (store_path_len == -1) {
+ if ((store_path = getenv("NIX_STORE")) != NULL)
@@ -19,7 +19,7 @@ index 45e9a1f9b0..494ee00c66 100644
+ }
+
+ if (store_path_len > 0)
+ return strncmp(path, store_path, strlen(store_path)) == 0;
+ return strncmp(path, store_path, store_path_len) == 0;
+ return 0;
+}
+
@@ -277,7 +277,6 @@ in
versionCheckHook
];
versionCheckProgram = "${placeholder "out"}/bin/${projectName}";
versionCheckProgramArg = "--version";
doInstallCheck = true;
meta = {
@@ -59,7 +59,9 @@ in
pkgsCross, # wasm32 rlbox
python3,
runCommand,
rustc,
rust-cbindgen,
rustPlatform,
unzip,
which,
wrapGAppsHook3,
@@ -201,25 +203,9 @@ assert elfhackSupport -> isElfhackPlatform stdenv;
let
inherit (lib) enableFeature;
rustPackages =
pkgs:
(pkgs.rust.override (
# aarch64-darwin firefox crashes on loading favicons due to a llvm 21 bug:
# https://github.com/NixOS/nixpkgs/issues/453372
# https://bugzilla.mozilla.org/show_bug.cgi?id=1995582#c16
lib.optionalAttrs (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) {
llvmPackages = pkgs.llvmPackages_20;
}
)).packages.stable;
toRustC = pkgs: (rustPackages pkgs).rustc;
rustc = toRustC pkgs;
inherit (rustPackages pkgs) rustPlatform;
# Target the LLVM version that rustc is built with for LTO.
llvmPackages0 = rustc.llvmPackages;
llvmPackagesBuildBuild0 = (toRustC pkgsBuildBuild).llvmPackages;
llvmPackagesBuildBuild0 = pkgsBuildBuild.rustc.llvmPackages;
# Force the use of lld and other llvm tools for LTO
llvmPackages = llvmPackages0.override {
@@ -234,7 +220,7 @@ let
# LTO requires LLVM bintools including ld.lld and llvm-ar.
buildStdenv = overrideCC llvmPackages.stdenv (
llvmPackages.stdenv.cc.override {
bintools = if ltoSupport then (toRustC buildPackages).llvmPackages.bintools else stdenv.cc.bintools;
bintools = if ltoSupport then buildPackages.rustc.llvmPackages.bintools else stdenv.cc.bintools;
}
);
+1 -1
View File
@@ -74,7 +74,7 @@ sub findFiles;
sub findFilesInDir($relName, $target, $ignoreCollisions, $checkCollisionContents, $priority, $ignoreSingleFileOutputs) {
opendir DIR, "$target" or die "cannot open `$target': $!";
my @names = readdir DIR or die;
my @names = readdir DIR;
closedir DIR;
foreach my $name (@names) {
@@ -89,17 +89,20 @@ lib.extendMkDerivation {
"buildRustPackage: `useFetchCargoVendor` is nonoptional and enabled by default as of 25.05, remove it"
true;
{
env = {
PKG_CONFIG_ALLOW_CROSS = if stdenv.buildPlatform != stdenv.hostPlatform then 1 else 0;
RUST_LOG = logLevel;
RUSTFLAGS =
lib.optionalString (
stdenv.hostPlatform.isDarwin && buildType == "debug"
) "-C split-debuginfo=packed "
# Workaround the existing RUSTFLAGS specified as a list.
+ interpolateString (args.RUSTFLAGS or "");
}
// args.env or { };
env =
let
isDarwinDebug = stdenv.hostPlatform.isDarwin && buildType == "debug";
in
{
PKG_CONFIG_ALLOW_CROSS = if stdenv.buildPlatform != stdenv.hostPlatform then 1 else 0;
RUST_LOG = logLevel;
# Prevent shadowing *_RUSTFLAGS environment variables
${if args ? RUSTFLAGS || isDarwinDebug then "RUSTFLAGS" else null} =
lib.optionalString isDarwinDebug "-C split-debuginfo=packed "
# Workaround the existing RUSTFLAGS specified as a list.
+ interpolateString (args.RUSTFLAGS or "");
}
// args.env or { };
cargoDeps =
if cargoVendorDir != null then
@@ -23,11 +23,16 @@ maturinBuildHook() {
"--target" "@rustcTargetSpec@"
"--manylinux" "off"
"--strip"
"--release"
"--out" "$dist"
"--interpreter" "$interpreter_name"
)
if [ -n "${maturinBuildProfile}" ]; then
flagsArray+=("--profile" "${maturinBuildProfile}")
else
flagsArray+=("--release")
fi
concatTo flagsArray maturinBuildFlags
echoCmd 'maturinBuildHook flags' "${flagsArray[@]}"
@@ -1,37 +1,35 @@
# symlinks are often created in postFixup
# don't use fixupOutputHooks, it is before postFixup
postFixupHooks+=(_makeSymlinksRelativeInAllOutputs)
if [[ -z "${dontRewriteSymlinks-}" ]]; then
postFixupHooks+=(_makeSymlinksRelative)
fi
# For every symlink in $output that refers to another file in $output
# ensure that the symlink is relative. This removes references to the output
# has from the resulting store paths and thus the NAR files.
# ensure that the symlink is relative.
# This increases the chance that NAR files can be deduplicated.
_makeSymlinksRelative() {
local symlinkTarget
if [ "${dontRewriteSymlinks-}" ] || [ ! -e "$prefix" ]; then
return
fi
while IFS= read -r -d $'\0' f; do
symlinkTarget=$(readlink "$f")
if [[ "$symlinkTarget"/ != "$prefix"/* ]]; then
# skip this symlink as it doesn't point to $prefix
continue
fi
if [ ! -e "$symlinkTarget" ]; then
echo "the symlink $f is broken, it points to $symlinkTarget (which is missing)"
fi
echo "rewriting symlink $f to be relative to $prefix"
ln -snrf "$symlinkTarget" "$f"
done < <(find $prefix -type l -print0)
}
_makeSymlinksRelativeInAllOutputs() {
local output
local prefixes
prefixes=()
for output in $(getAllOutputNames); do
prefix="${!output}" _makeSymlinksRelative
[ ! -e "${!output}" ] && continue
prefixes+=( "${!output}" )
done
find "${prefixes[@]}" -type l -printf '%H\0%p\0' \
| xargs -0 -n2 -r -P "$NIX_BUILD_CORES" sh -c '
output="$1"
link="$2"
linkTarget=$(readlink "$link")
# only touch links that point inside the same output tree
[[ $linkTarget == "$output"/* ]] || exit 0
if [ ! -e "$linkTarget" ]; then
echo "the symlink $link is broken, it points to $linkTarget (which is missing)"
fi
echo "making symlink relative: $link"
ln -snrf "$linkTarget" "$link"
' _
}
@@ -1,88 +1,4 @@
# This setup hook modifies a Perl script so that any "-I" flags in its shebang
# line are rewritten into a "use lib ..." statement on the next line. This gets
# around a limitation in Darwin, which will not properly handle a script whose
# shebang line exceeds 511 characters.
#
# Each occurrence of "-I /path/to/lib1" or "-I/path/to/lib2" is removed from
# the shebang line, along with the single space that preceded it. These library
# paths are placed into a new line of the form
#
# use lib "/path/to/lib1", "/path/to/lib2";
#
# immediately following the shebang line. If a library appeared in the original
# list more than once, only its first occurrence will appear in the output
# list. In other words, the libraries are deduplicated, but the ordering of the
# first appearance of each one is preserved.
#
# Any flags other than "-I" in the shebang line are left as-is, and the
# interpreter is also left alone (although the script will abort if the
# interpreter does not seem to be either "perl" or else "env" with "perl" as
# its argument). Each line after the shebang line is left unchanged. Each file
# is modified in place.
#
# Usage:
# shortenPerlShebang SCRIPT...
# Deprecated. Invocation in derivations can be safely removed.
shortenPerlShebang() {
while [ $# -gt 0 ]; do
_shortenPerlShebang "$1"
shift
done
}
_shortenPerlShebang() {
local program="$1"
echo "shortenPerlShebang: rewriting shebang line in $program"
if ! isScript "$program"; then
die "shortenPerlShebang: refusing to modify $program because it is not a script"
fi
local temp="$(mktemp)"
gawk '
(NR == 1) {
if (!($0 ~ /\/(perl|env +perl)\>/)) {
print "shortenPerlShebang: script does not seem to be a Perl script" > "/dev/stderr"
exit 1
}
idx = 0
while (match($0, / -I ?([^ ]+)/, pieces)) {
matches[idx] = pieces[1]
idx++
$0 = gensub(/ -I ?[^ ]+/, "", 1, $0)
}
print $0
if (idx > 0) {
prefix = "use lib "
for (idx in matches) {
path = matches[idx]
if (!(path in seen)) {
printf "%s\"%s\"", prefix, path
seen[path] = 1
prefix = ", "
}
}
print ";"
}
}
(NR > 1 ) {
print
}
' "$program" > "$temp" || die
# Preserve the mode of the original file
cp --preserve=mode --attributes-only "$program" "$temp"
mv "$temp" "$program"
# Measure the new shebang line length and make sure it's okay. We subtract
# one to account for the trailing newline that "head" included in its
# output.
local new_length=$(( $(head -n 1 "$program" | wc -c) - 1 ))
# Darwin is okay when the shebang line contains 511 characters, but not
# when it contains 512 characters.
if [ $new_length -ge 512 ]; then
die "shortenPerlShebang: shebang line is $new_length characters--still too long for Darwin!"
fi
:
}
@@ -80,7 +80,6 @@ stdenv.mkDerivation {
doInstallCheck = true;
versionCheckProgram = "${placeholder "out"}/bin/op";
versionCheckProgramArg = "--version";
passthru = {
updateScript = ./update.sh;
@@ -0,0 +1,101 @@
From ba9e372f3165e0cfd73fcc8a1352fbb790ea2439 Mon Sep 17 00:00:00 2001
From: Moraxyc <i@qaq.li>
Date: Sat, 27 Dec 2025 23:22:47 +0800
Subject: [PATCH] fix build with c23
---
dd/dd.c | 4 ++--
troff/n5.c | 24 ++++++++++++------------
2 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/dd/dd.c b/dd/dd.c
index 9e69b6b..1e7d4c5 100644
--- a/dd/dd.c
+++ b/dd/dd.c
@@ -312,11 +312,11 @@ match(char *s)
cs = string;
while(*cs++ == *s)
if(*s++ == '\0')
- goto true;
+ goto match_true;
if(*s != '\0')
return 0;
-true:
+match_true:
cs--;
string = cs;
return 1;
diff --git a/troff/n5.c b/troff/n5.c
index 7266432..7566068 100644
--- a/troff/n5.c
+++ b/troff/n5.c
@@ -642,15 +642,15 @@ void caseif(void)
void caseif1(int x)
{
extern int falsef;
- int notflag, true;
+ int notflag, truev;
Tchar i;
if (x == 2) {
notflag = 0;
- true = iflist[ifx];
+ truev = iflist[ifx];
goto i1;
}
- true = 0;
+ truev = 0;
skip();
if ((cbits(i = getch())) == '!') {
notflag = 1;
@@ -663,37 +663,37 @@ void caseif1(int x)
ifnum = 0;
if (!nonumb) {
if (i > 0)
- true++;
+ truev++;
goto i1;
}
i = getch();
switch (cbits(i)) {
case 'e':
if (!(numtabp[PN].val & 01))
- true++;
+ truev++;
break;
case 'o':
if (numtabp[PN].val & 01)
- true++;
+ truev++;
break;
case 'n':
if (NROFF)
- true++;
+ truev++;
break;
case 't':
if (TROFF)
- true++;
+ truev++;
break;
case ' ':
break;
default:
- true = cmpstr(i);
+ truev = cmpstr(i);
}
i1:
- true ^= notflag;
+ truev ^= notflag;
if (x == 1)
- iflist[ifx] = !true;
- if (true) {
+ iflist[ifx] = !truev;
+ if (truev) {
i2:
while ((cbits(i = getch())) == ' ')
;
--
2.51.2
+4
View File
@@ -29,6 +29,10 @@ stdenv.mkDerivation {
# https://github.com/9fans/plan9port/commit/540caa5873bcc3bc2a0e1896119f5b53a0e8e630
# https://github.com/9fans/plan9port/commit/323e1a8fac276f008e6d5146a83cbc88edeabc87
./getcallerpc-use-macro-or-stub.patch
# fix build with c23
# dd.c:315:30: error: expected identifier or '*' before 'true'
# n5.c:690:22: error: lvalue required as left operand of assignment
./fix-build-with-c23.patch
]
++ patches;
+11
View File
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchfossil,
fetchpatch2,
docutils,
pkg-config,
freetype,
@@ -19,6 +20,16 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-YA36wfj7owKu/KyWgCj6U8EJEh831cFtQj4/JtH6kVg=";
};
patches = [
# fix build with C23
# 'bool' is a keyword with '-std=c23' onwards
# error: 'bool' cannot be used here
(fetchpatch2 {
url = "https://salsa.debian.org/debian/abcm2ps/-/raw/f741931567bb8cac8c9ed8e73b7ba838e4c17eb3/debian/patches/c23.diff";
hash = "sha256-+2LuHqY5+nWykCYGEOazDeJAf9sggPNp2yiqMQRepfM=";
})
];
configureFlags = [
"--INSTALL=install"
];
+3
View File
@@ -15,6 +15,9 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-OBlkk5Fq3ep+wZqFfSXNqrXtznisNFjn9uDVj/Q4Odk=";
};
# TODO: remove once https://github.com/sshlien/abcmidi/pull/15 merged
env.NIX_CFLAGS_COMPILE = "-std=gnu17";
meta = {
homepage = "https://abc.sourceforge.net/abcMIDI/";
downloadPage = "https://ifdo.ca/~seymour/runabc/top.html";
@@ -0,0 +1,48 @@
From 2e3ea5ab32ed356c45e0a7a8db37924a77a1c949 Mon Sep 17 00:00:00 2001
From: Marcin Serwin <marcin@serwin.dev>
Date: Sat, 20 Dec 2025 12:51:13 +0100
Subject: [PATCH] Fix wcwidth declaration
The wcwidth function is declared in `wchar.h` on POSIX systems which
is not included in the default Autoconf includes. Because of this
HAVE_DECL_WCWIDTH would be configured to 0.
Since C23 functions with no arguments in prototypes are treated as
taking no arguments. This results in mismatched declaration since in
wchar.h the functions is declared as taking wchar_t.
Signed-off-by: Marcin Serwin <marcin@serwin.dev>
---
configure.ac | 2 +-
mbswidth.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac
index 7d756ee..a1ecbe2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -61,7 +61,7 @@ AC_CHECK_HEADER(wchar.h,[
AC_DEFINE(HAVE_WCHAR_H, 1, [Define if you have the <wchar.h> header file.])],
[ac_have_wchar_h=no])
AC_CHECK_FUNCS(mbtowc wcwidth mbrtowc mbsinit,,ac_widec_funcs=no)
-AC_CHECK_DECLS(wcwidth)
+AC_CHECK_DECLS(wcwidth, [], [], [#include <wchar.h>])
AC_CHECK_TYPE(wchar_t,,ac_widec_funcs=no)
if test x$ac_widec_funcs = xyes -a x$ac_have_wchar_h = xyes; then
diff --git a/mbswidth.c b/mbswidth.c
index 031e6b7..54a2cb5 100644
--- a/mbswidth.c
+++ b/mbswidth.c
@@ -63,7 +63,7 @@
# warn "this configure-time declaration test was not run"
#endif
#if !HAVE_DECL_WCWIDTH
-int wcwidth ();
+int wcwidth (wchar_t);
#endif
#ifndef wcwidth
--
2.51.2
+1 -5
View File
@@ -2,7 +2,6 @@
lib,
stdenv,
fetchgit,
fetchpatch,
autoreconfHook,
pkg-config,
ncurses,
@@ -20,10 +19,7 @@ stdenv.mkDerivation (finalAttrs: {
};
patches = [
(fetchpatch {
url = "https://aur.archlinux.org/cgit/aur.git/plain/abook-gcc15.patch?h=abook";
hash = "sha256-+73+USELoby8JvuVOWZe6E+xtdhajnLnDkzD/77QoTo=";
})
./0001-Fix-wcwidth-declaration.patch
];
# error: implicit declaration of function 'isalnum' [-Wimplicit-function-declaration]
+6
View File
@@ -21,6 +21,12 @@ stdenv.mkDerivation rec {
url = "https://src.fedoraproject.org/rpms/psacct/raw/rawhide/f/psacct-6.6.4-sprintf-buffer-overflow.patch";
hash = "sha256-l74tLIuhpXj+dIA7uAY9L0qMjQ2SbDdc+vjHMyVouFc=";
})
# fix build with C23
# error: passing argument 4 of 'qsort' from incompatible pointer type
(fetchpatch2 {
url = "https://salsa.debian.org/abower/acct/-/raw/7aeb2192d729bcd4583a75765add28c65a7fcf47/debian/patches/Fix-FTBFS-with-C23.patch";
hash = "sha256-q1LtmhYopgSWIzIoONbKjgigIBU+LPvSvtUM3iL36c0=";
})
];
meta = {
@@ -0,0 +1,22 @@
diff --git a/lib/table.c b/lib/table.c
index befe696..cc08415 100644
--- a/lib/table.c
+++ b/lib/table.c
@@ -297,10 +297,11 @@ check_dclick(int x, int y, int t)
}
int help_is_showing = 0;
-static void help_nothing() { help_is_showing = 0; }
+static void help_nothing(void) { help_is_showing = 0; }
+static void help_nothing_args(int a, int b, int c) { help_is_showing = 0; }
void (*help_redraw)(void) = help_nothing;
-void (*help_click)(int x, int y, int b) = help_nothing;
-void (*help_key)(int c, int x, int y) = help_nothing;
+void (*help_click)(int x, int y, int b) = help_nothing_args;
+void (*help_key)(int c, int x, int y) = help_nothing_args;
static int no_resize = 0;
void
--
2.51.2
@@ -25,6 +25,8 @@ stdenv.mkDerivation (finalAttrs: {
# make-imglib.c:205:5: error: 'return' with no value, in function returning non-void [-Wreturn-mismatch]
# imagelib.c:109:17: error: implicit declaration of function 'malloc' [-Wimplicit-function-declaration]
./fix-gcc-14.patch
# error: initialization of 'void (*)(int, int, int)' from incompatible pointer type 'void (*)(void)' [-Wincompatible-pointer-types]
./fix-gcc-15.patch
];
nativeBuildInputs = [
+13 -13
View File
@@ -1,14 +1,14 @@
{ lib, stdenv }:
{
lib,
stdenv,
makeSetupHook,
}:
makeSetupHook {
name = "add-driver-runpath-hook";
stdenv.mkDerivation {
name = "add-driver-runpath";
# Named "opengl-driver" for legacy reasons, but it is the path to
# hardware drivers installed by NixOS
driverLink = "/run/opengl-driver" + lib.optionalString stdenv.hostPlatform.isi686 "-32";
buildCommand = ''
mkdir -p $out/nix-support
substituteAll ${./setup-hook.sh} $out/nix-support/setup-hook
'';
}
substitutions = {
# Named "opengl-driver" for legacy reasons, but it is the path to
# hardware drivers installed by NixOS
driverLink = "/run/opengl-driver" + lib.optionalString stdenv.hostPlatform.isi686 "-32";
};
} ./setup-hook.sh
+10
View File
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch2,
autoreconfHook,
flex,
bison,
@@ -23,6 +24,15 @@ stdenv.mkDerivation rec {
sha256 = "0i37c9k6q1iglmzp9736rrgsnx7sw8xn3djqbbjw29zsyl3pf62c";
};
patches = [
# fix build with c23
# admsXml.c:645:8: error: too many arguments to function 'verilogaparse'; expected 0, have 1
(fetchpatch2 {
url = "https://salsa.debian.org/science-team/adms/-/raw/01ef4a94a48736c49c67d90da506b34f6114f0b0/debian/patches/0002-fix-ftbfs-gcc-15.patch";
hash = "sha256-rSNBqdpuXA9ViyygRGn4KVknLCu0Q+UoOGLfoNAgccc=";
})
];
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [
flex
+6
View File
@@ -28,6 +28,12 @@ stdenv.mkDerivation rec {
sha256 = "sha256-0XTsYeS4tNAnGhuJ81fmjHhFS6fVq1lirui5b+ojxTQ=";
};
# fix build with c23
# error: 'uint16_t' does not name a type
postPatch = ''
sed -i '1i #include <cstdint>' adriconf/ValueObject/GPUInfo.h
'';
nativeBuildInputs = [
cmake
gettext # msgfmt
@@ -0,0 +1,75 @@
From 5fbcd63a4fb8baca13184a2cc718ebf3ebbef245 Mon Sep 17 00:00:00 2001
From: Moraxyc <i@qaq.li>
Date: Sun, 28 Dec 2025 00:24:11 +0800
Subject: [PATCH] fix build with c23
---
emxdoc/input.c | 10 +++++-----
system/types.h | 5 +----
2 files changed, 6 insertions(+), 9 deletions(-)
diff --git a/emxdoc/input.c b/emxdoc/input.c
index 50fd7a0..7d9ad4a 100644
--- a/emxdoc/input.c
+++ b/emxdoc/input.c
@@ -31,7 +31,7 @@ Boston, MA 02111-1307, USA. */
struct cond
{
int start_line;
- int true;
+ int is_true;
int else_seen;
};
@@ -225,7 +225,7 @@ redo:
if (cond_sp + 1 >= COND_STACK_SIZE)
fatal ("%s:%d: Conditional stack overflow", input_fname, line_no);
++cond_sp;
- cond_stack[cond_sp].true = c1;
+ cond_stack[cond_sp].is_true = c1;
cond_stack[cond_sp].start_line = line_no;
cond_stack[cond_sp].else_seen = FALSE;
goto redo;
@@ -240,7 +240,7 @@ redo:
input_fname, line_no, escape, escape,
cond_stack[cond_sp].start_line);
cond_stack[cond_sp].else_seen = TRUE;
- cond_stack[cond_sp].true = !cond_stack[cond_sp].true;
+ cond_stack[cond_sp].is_true = !cond_stack[cond_sp].is_true;
goto redo;
}
else if (strcmp (p, "endif") == 0)
@@ -254,12 +254,12 @@ redo:
else if (p[0] == 'h' && p[1] >= '1' && p[1] <= '0' + SECTION_LEVELS)
{
/* Support h1 inside if */
- if (cond_sp >= 0 && !cond_stack[cond_sp].true)
+ if (cond_sp >= 0 && !cond_stack[cond_sp].is_true)
++ref_no;
}
}
- if (cond_sp >= 0 && !cond_stack[cond_sp].true)
+ if (cond_sp >= 0 && !cond_stack[cond_sp].is_true)
goto redo;
p = input;
diff --git a/system/types.h b/system/types.h
index 48b8013..327833f 100644
--- a/system/types.h
+++ b/system/types.h
@@ -21,10 +21,7 @@
#define _TYPES_H
#include "config.h"
-
-
-/* Booleans (C++/C99) style. */
-typedef int bool;
+#include <stdbool.h>
#ifndef true
#define true 1
--
2.51.2
+5
View File
@@ -18,6 +18,11 @@ stdenv.mkDerivation {
hash = "sha256-a3YQWxJ7+bYhf1W1kdIykV8U1R4dcDZJ7K3NvNxbF0s=";
};
# fix build with c23
# ../system/types.h:27:13: error: 'bool' cannot be defined via 'typedef'
# input.c:228:31: error: expected identifier before 'true'
patches = [ ./fix-build-with-c23.patch ];
# autoconf's AC_CHECK_HEADERS and AC_CHECK_LIBS fail to detect libfuse on
# Darwin if FUSE_USE_VERSION isn't set at configure time.
#
-1
View File
@@ -78,7 +78,6 @@ buildGoModule (finalAttrs: {
'';
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
doInstallCheck = true;
passthru.updateScript = nix-update-script { };
@@ -0,0 +1,81 @@
From 081d9c3284075c65b70837079bd67621c3b64da7 Mon Sep 17 00:00:00 2001
From: Moraxyc <i@qaq.li>
Date: Sun, 28 Dec 2025 00:39:49 +0800
Subject: [PATCH] fix build with c23
---
libAfterBase/fs.c | 2 +-
src/ASDocGen/ASDocGen.c | 2 +-
src/Ident/Ident.c | 2 +-
src/afterstep/dirtree.c | 2 +-
src/afterstep/menus.h | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/libAfterBase/fs.c b/libAfterBase/fs.c
index 731bfd3..954bfd6 100644
--- a/libAfterBase/fs.c
+++ b/libAfterBase/fs.c
@@ -818,7 +818,7 @@ my_scandir (char *dirname, struct direntry *(*namelist[]),
}
/* Optionally sort the list */
if (dcomp)
- qsort (*namelist, n, sizeof (struct direntry *), (int (*)())dcomp);
+ qsort (*namelist, n, sizeof (struct direntry *), (int (*)(const void *, const void *))dcomp);
/* Return the count of the entries */
return n;
diff --git a/src/ASDocGen/ASDocGen.c b/src/ASDocGen/ASDocGen.c
index 31d7a70..9a86219 100644
--- a/src/ASDocGen/ASDocGen.c
+++ b/src/ASDocGen/ASDocGen.c
@@ -667,7 +667,7 @@ write_options_keywords(const char *source_dir, const char *syntax_dir, SyntaxDef
sorted_list = safecalloc( max_i, sizeof(TermDef*));
for (i = 0; i < max_i; i++)
sorted_list[i] = &(syntax->terms[i]) ;
- qsort(sorted_list, max_i, sizeof(TermDef*), (int (*)())sort_terms_by_alpha );
+ qsort(sorted_list, max_i, sizeof(TermDef*), (int (*)(const void *, const void *))sort_terms_by_alpha );
for (i = 0; i < max_i; i++)
{
SyntaxDef *sub_syntax = sorted_list[i]->sub_syntax ;
diff --git a/src/Ident/Ident.c b/src/Ident/Ident.c
index 1497d06..d6ddad6 100644
--- a/src/Ident/Ident.c
+++ b/src/Ident/Ident.c
@@ -89,7 +89,7 @@ void HandleEvents();
void DispatchEvent (ASEvent * event);
void process_message (send_data_type type, send_data_type *body);
-Window make_ident_window();
+Window make_ident_window(int width, int height);
void fill_window_data();
void display_window_data();
void add_property( const char *name, const char *value, unsigned long value_encoding, Bool span_cols );
diff --git a/src/afterstep/dirtree.c b/src/afterstep/dirtree.c
index 46ce782..48f7e30 100644
--- a/src/afterstep/dirtree.c
+++ b/src/afterstep/dirtree.c
@@ -675,7 +675,7 @@ void dirtree_sort (dirtree_t * tree)
list = (dirtree_t **) safemalloc (n * sizeof (dirtree_t *));
for (n = 0, t = tree->child; t != NULL; t = t->next, n++)
list[n] = t;
- qsort (list, n, sizeof (dirtree_t *), (int (*)())dirtree_compar);
+ qsort (list, n, sizeof (dirtree_t *), (int (*)(const void *, const void *))dirtree_compar);
tree->child = list[0];
for (i = 1; i < n; i++)
list[i - 1]->next = list[i];
diff --git a/src/afterstep/menus.h b/src/afterstep/menus.h
index 98b2ad3..bb2a5b1 100644
--- a/src/afterstep/menus.h
+++ b/src/afterstep/menus.h
@@ -95,7 +95,7 @@ MenuData* FindPopup( const char* name, int quiet );
void DeleteMenuItem( MenuDataItem* item );
-MenuData *CreateMenuData();
+MenuData *CreateMenuData(char *name);
MenuData *NewMenuData (char *name);
void DeleteMenuData (MenuData * menu);
--
2.51.2
+6
View File
@@ -36,6 +36,12 @@ stdenv.mkDerivation (finalAttrs: {
url = "https://github.com/afterstep/afterstep/commit/5e9e897cf8c455390dd6f5b27fec49707f6b9088.patch";
hash = "sha256-aGMTyojzXEHGjO9lMT6dwLl01Fd333BUuCIX0FU9ac4=";
})
# fix build with c23
# fs.c:821:66: error: passing argument 4 of 'qsort' from incompatible pointer type [-Wincompatible-pointer-types]
# Ident.c:326:1: error: conflicting types for 'make_ident_window'; have 'Window(int, int)' {aka 'long unsigned int(int, int)'}
# menuitem.c:85:11: error: conflicting types for 'CreateMenuData'; have 'MenuData *(char *)'
./fix-build-with-c23.patch
];
postPatch = ''
-2
View File
@@ -28,8 +28,6 @@ buildGoModule (finalAttrs: {
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
passthru.updateScript = nix-update-script { };
meta = {
-1
View File
@@ -33,7 +33,6 @@ rustPlatform.buildRustPackage rec {
nativeInstallCheckInputs = [
versionCheckHook
];
versionCheckProgramArg = "--version";
doInstallCheck = true;
passthru = {
@@ -24,7 +24,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
versionCheckHook
];
versionCheckProgram = "${placeholder "out"}/bin/air";
versionCheckProgramArg = "--version";
doInstallCheck = true;
cargoBuildFlags = [ "-p air" ];
+5
View File
@@ -33,6 +33,11 @@ stdenv.mkDerivation rec {
url = "https://github.com/airspy/airspyone_host/commit/f467acd587617640741ecbfade819d10ecd032c2.patch";
hash = "sha256-qfJrxM1hq7NScxN++d9IH+fwFfXf/YwZZUDDOVbwIJk=";
})
(fetchpatch {
url = "https://gitlab.alpinelinux.org/alpine/aports/-/raw/9abb6b5fd1a02a7310226d03337f288be71f1d43/community/airspyone-host/gcc-15.patch";
hash = "sha256-TFtDLT94kXZswnm8K9+U1YV+T+0fbj6oB6rbRdEpSOQ=";
})
];
postPatch = ''
@@ -26,7 +26,6 @@ buildGoModule rec {
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgram = "${placeholder "out"}/bin/alertmanager_gotify_bridge";
versionCheckProgramArg = "--version";
doInstallCheck = true;
passthru.updateScript = nix-update-script { };
-1
View File
@@ -72,7 +72,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgram = "${placeholder "out"}/bin/amazon-q";
versionCheckProgramArg = "--version";
meta = {
description = "Amazon Q Developer AI coding agent CLI";
+13
View File
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
perl,
python3,
@@ -36,6 +37,18 @@ stdenv.mkDerivation (finalAttrs: {
patches = [
# Set the date stamp to $SOURCE_DATE_EPOCH
./build-date.patch
# backporting a fix for a GCC15 build error
# ./frame/include/bli_x86_asm_macros.h:102:21: error: 'asm' operand has impossible constraints or there are not enough registers
(fetchpatch {
name = "amd-blis-gcc-15-fix-1.patch";
url = "https://github.com/amd/blis/commit/14e46ad83bac5fd82569a43c7cbd3e791a1eacc8.patch";
hash = "sha256-3vk9NSnhT64J6PUabeP58Gn7p1zheGbPxSRjVEX7WNg=";
})
(fetchpatch {
name = "amd-blis-gcc-15-fix-2.patch";
url = "https://github.com/amd/blis/commit/30c42202d78fd5ee5e54d50ad57348e5e541a7d5.patch";
hash = "sha256-FCMWQzfzQxCQqngULoXfh35BFGaNTu732iu3HctNcFM=";
})
];
inherit blas64;
-1
View File
@@ -44,7 +44,6 @@ crystal.buildCrystalPackage rec {
];
doInstallCheck = true;
versionCheckProgram = "${placeholder "out"}/bin/ameba-ls";
versionCheckProgramArg = "--version";
meta = {
description = "Crystal language server powered by Ameba linter";
+11 -2
View File
@@ -3,8 +3,10 @@
fetchFromGitHub,
rustPlatform,
pkgsBuildBuild,
oniguruma,
stdenv,
zlib,
pkg-config,
writableTmpDirAsHomeHook,
}:
@@ -26,14 +28,21 @@ rustPlatform.buildRustPackage (finalAttrs: {
(pkgsBuildBuild.writeShellScriptBin "git" "echo 0000000")
];
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
buildInputs = [
oniguruma
]
++ (lib.optionals stdenv.hostPlatform.isDarwin [
zlib
];
]);
# Needing libgit2 <=1.8.0
#env.LIBGIT2_NO_VENDOR = 1;
# bundled oniguruma failed on gcc15
env.RUSTONIG_SYSTEM_LIBONIG = 1;
nativeCheckInputs = [
pkg-config
writableTmpDirAsHomeHook
];
-1
View File
@@ -32,7 +32,6 @@ buildGoModule (finalAttrs: {
writableTmpDirAsHomeHook
versionCheckHook
];
versionCheckProgramArg = "--version";
versionCheckKeepEnvironment = [ "HOME" ];
doInstallCheck = true;
+11
View File
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
gradle,
autoPatchelfHook,
jetbrains, # Requird by upstream due to JCEF dependency
@@ -97,6 +98,16 @@ let
cmakeFlags = (old.cmakeFlags or [ ]) ++ [
"-DCMAKE_POLICY_VERSION_MINIMUM=3.10"
];
patches = (old.patches or [ ]) ++ [
# Fix build with gcc15
# https://github.com/apache/thrift/pull/3078
(fetchpatch {
name = "thrift-add-missing-cstdint-include-gcc15.patch";
url = "https://github.com/apache/thrift/commit/947ad66940cfbadd9b24ba31d892dfc1142dd330.patch";
hash = "sha256-pWcG6/BepUwc/K6cBs+6d74AWIhZ2/wXvCunb/KyB0s=";
})
];
});
in
@@ -48,8 +48,6 @@ python3Packages.buildPythonApplication rec {
# ansible.errors.AnsibleError: Unable to create local directories(/private/var/empty/.ansible/tmp)
nativeCheckInputs = lib.optionals (!stdenv.hostPlatform.isDarwin) [ versionCheckHook ];
versionCheckProgramArg = "--version";
meta = {
description = "Annotation based documentation for your Ansible roles";
mainProgram = "ansible-doctor";
+16 -11
View File
@@ -3,32 +3,37 @@
stdenv,
fetchFromGitHub,
fetchurl,
fetchpatch,
cmake,
gtest,
lz4,
protobuf_30,
protobuf,
snappy,
zlib,
zstd,
}:
let
orc-format = fetchurl {
name = "orc-format-1.1.0.tar.gz";
url = "https://www.apache.org/dyn/closer.lua/orc/orc-format-1.1.0/orc-format-1.1.0.tar.gz?action=download";
hash = "sha256-1KesdsVEKr9xGeLLhOcbZ34HWv9TUYqoZgVeLq0EUNc=";
};
orc-format =
let
version = "1.1.1";
name = "orc-format-${version}";
archiveName = "${name}.tar.gz";
in
fetchurl {
name = archiveName;
url = "https://www.apache.org/dyn/closer.lua/orc/${name}/${archiveName}?action=download";
hash = "sha256-WE3+KkIClGF4/Y/H0SOb54BbntRZarIELe5znniAmSs=";
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "apache-orc";
version = "2.1.2";
version = "2.2.1";
src = fetchFromGitHub {
owner = "apache";
repo = "orc";
tag = "v${finalAttrs.version}";
hash = "sha256-hNKzqNOagBJOWQRebkVHIuvqfpk9Mi30bu4z7dGbsxk=";
hash = "sha256-H7nowl2pq31RIAmTUz15x48Wc99MljFJboc4F7Ln/zk=";
};
nativeBuildInputs = [
@@ -38,7 +43,7 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
gtest
lz4
protobuf_30
protobuf
snappy
zlib
zstd
@@ -62,7 +67,7 @@ stdenv.mkDerivation (finalAttrs: {
GTEST_HOME = gtest.dev;
LZ4_ROOT = lz4;
ORC_FORMAT_URL = orc-format;
PROTOBUF_HOME = protobuf_30;
PROTOBUF_HOME = protobuf;
SNAPPY_ROOT = snappy.dev;
ZLIB_ROOT = zlib.dev;
ZSTD_ROOT = zstd.dev;
@@ -0,0 +1,20 @@
From 53cae3b21af9dca65cbe244ab72ec310a2e02164 Mon Sep 17 00:00:00 2001
From: dkarpo <dkarpo@gmail.com>
Date: Tue, 30 Sep 2025 10:18:03 -0600
Subject: [PATCH] Add "<cstdint>" include to fix compilation.
---
ApfsLib/PList.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/ApfsLib/PList.h b/ApfsLib/PList.h
index 645df2d..a752059 100644
--- a/ApfsLib/PList.h
+++ b/ApfsLib/PList.h
@@ -1,5 +1,6 @@
#pragma once
+#include <cstdint>
#include <vector>
#include <map>
#include <memory>
+4
View File
@@ -26,6 +26,10 @@ stdenv.mkDerivation {
# fix for CMake v4
# https://github.com/sgan81/apfs-fuse/pull/211
./cmake-v4.patch
# fix for GCC 15
# https://github.com/sgan81/apfs-fuse/pull/209
./add_cstdint_fix_gcc15.patch
];
postPatch = lib.optionalString stdenv.hostPlatform.isDarwin ''
@@ -0,0 +1,36 @@
{
lib,
stdenvNoCC,
fetchFromGitHub,
}:
stdenvNoCC.mkDerivation {
pname = "apl2741-unicode";
version = "0-unstable-2022-11-10";
src = fetchFromGitHub {
owner = "abrudz";
repo = "APL2741";
rev = "1e11efae38e5095bfe49a786b111d563e83dad03";
hash = "sha256-/sAO+HL3zGMJZ+5SFHnkHxxevG0nJ7wo1yLTlHqYPkQ=";
};
dontConfigure = true;
dontBuild = true;
installPhase = ''
runHook preInstall
install -Dm644 -t $out/share/fonts/truetype *.ttf
runHook postInstall
'';
meta = {
description = "APL font based on Adrian Smith's IBM Selectric APL2741 golf-ball font";
license = lib.licenses.unlicense;
homepage = "https://abrudz.github.io/APL2741/";
maintainers = [ lib.maintainers.sternenseemann ];
platforms = lib.platforms.all;
};
}
-2
View File
@@ -30,8 +30,6 @@ rustPlatform.buildRustPackage rec {
versionCheckProgram = [ "${placeholder "out"}/bin/arp-scan" ];
versionCheckProgramArg = "--version";
doInstallCheck = true;
passthru.updateScript = gitUpdater { };
+76 -67
View File
@@ -17,6 +17,8 @@
"transfer"
];
},
azure-sdk-for-cpp,
azurite,
boost,
brotli,
bzip2,
@@ -37,7 +39,7 @@
openssl,
perl,
pkg-config,
protobuf_31,
protobuf,
python3,
rapidjson,
re2,
@@ -58,7 +60,8 @@
!stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isAarch64 && !stdenv.hostPlatform.isRiscV64,
enableS3 ? true,
# google-cloud-cpp fails to build on RiscV
enableGcs ? !stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isRiscV64,
enableGcs ? !stdenv.hostPlatform.isRiscV64,
enableAzure ? true,
}:
let
@@ -66,19 +69,19 @@ let
name = "arrow-testing";
owner = "apache";
repo = "arrow-testing";
rev = "d2a13712303498963395318a4eb42872e66aead7";
hash = "sha256-c8FL37kG0uo7o0Zp71WjCl7FD5BnVgqUCCXXX9gI0lg=";
rev = "9a02925d1ba80bd493b6d4da6e8a777588d57ac4";
hash = "sha256-dEFCkeQpQrU61uCwJp/XB2umbQHjXtzado36BGChoc0=";
};
parquet-testing = fetchFromGitHub {
name = "parquet-testing";
owner = "apache";
repo = "parquet-testing";
rev = "18d17540097fca7c40be3d42c167e6bfad90763c";
hash = "sha256-gKEQc2RKpVp39RmuZbIeIXAwiAXDHGnLXF6VQuJtnRA=";
rev = "a3d96a65e11e2bbca7d22a894e8313ede90a33a3";
hash = "sha256-Xd6o3RT6Q0tPutV77J0P1x3F6U3RHdCBOKGUKtkQCKk=";
};
version = "20.0.0";
version = "22.0.0";
in
stdenv.mkDerivation (finalAttrs: {
pname = "arrow-cpp";
@@ -88,7 +91,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "apache";
repo = "arrow";
rev = "apache-arrow-${version}";
hash = "sha256-JFPdKraCU+xRkBTAHyY4QGnBVlOjQ1P5+gq9uxyqJtk=";
hash = "sha256-i4Smt43oi4sddUt3qH7ePjensBSfPW+w/ExLVcVNKic=";
};
sourceRoot = "${finalAttrs.src.name}/cpp";
@@ -107,21 +110,21 @@ stdenv.mkDerivation (finalAttrs: {
ARROW_MIMALLOC_URL = fetchFromGitHub {
owner = "microsoft";
repo = "mimalloc";
rev = "v2.0.6";
hash = "sha256-u2ITXABBN/dwU+mCIbL3tN1f4c17aBuSdNTV+Adtohc=";
tag = "v3.1.5";
hash = "sha256-fk6nfyBFS1G0sJwUJVgTC1+aKd0We/JjsIYTO+IOfyg=";
};
ARROW_XSIMD_URL = fetchFromGitHub {
owner = "xtensor-stack";
repo = "xsimd";
rev = "13.0.0";
tag = "13.0.0";
hash = "sha256-qElJYW5QDj3s59L3NgZj5zkhnUMzIP2mBa1sPks3/CE=";
};
ARROW_SUBSTRAIT_URL = fetchFromGitHub {
owner = "substrait-io";
repo = "substrait";
rev = "v0.44.0";
tag = "v0.44.0";
hash = "sha256-V739IFTGPtbGPlxcOi8sAaYSDhNUEpITvN9IqdPReug=";
};
@@ -138,6 +141,7 @@ stdenv.mkDerivation (finalAttrs: {
boost
brotli
bzip2
curl
flatbuffers
gflags
glog
@@ -145,7 +149,7 @@ stdenv.mkDerivation (finalAttrs: {
libbacktrace
lz4
nlohmann_json # alternative JSON parser to rapidjson
protobuf_31 # substrait requires protobuf
protobuf # substrait requires protobuf
rapidjson
re2
snappy
@@ -157,7 +161,7 @@ stdenv.mkDerivation (finalAttrs: {
++ lib.optionals enableFlight [
grpc
openssl
protobuf_31
protobuf
sqlite
]
++ lib.optionals enableS3 [
@@ -166,10 +170,14 @@ stdenv.mkDerivation (finalAttrs: {
]
++ lib.optionals enableGcs [
crc32c
curl
google-cloud-cpp
grpc
nlohmann_json
]
++ lib.optionals enableAzure [
azure-sdk-for-cpp.identity
azure-sdk-for-cpp.storage-blobs
azure-sdk-for-cpp.storage-files-datalake
];
# apache-orc looks for things in caps
@@ -188,55 +196,61 @@ stdenv.mkDerivation (finalAttrs: {
'';
cmakeFlags = [
"-DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON"
"-DARROW_BUILD_SHARED=${if enableShared then "ON" else "OFF"}"
"-DARROW_BUILD_STATIC=${if enableShared then "OFF" else "ON"}"
"-DARROW_BUILD_TESTS=${if enableShared then "ON" else "OFF"}"
"-DARROW_BUILD_INTEGRATION=ON"
"-DARROW_BUILD_UTILITIES=ON"
"-DARROW_EXTRA_ERROR_CONTEXT=ON"
"-DARROW_VERBOSE_THIRDPARTY_BUILD=ON"
"-DARROW_DEPENDENCY_SOURCE=SYSTEM"
"-Dxsimd_SOURCE=AUTO"
"-DARROW_DEPENDENCY_USE_SHARED=${if enableShared then "ON" else "OFF"}"
"-DARROW_COMPUTE=ON"
"-DARROW_CSV=ON"
"-DARROW_DATASET=ON"
"-DARROW_FILESYSTEM=ON"
"-DARROW_FLIGHT_SQL=${if enableFlight then "ON" else "OFF"}"
"-DARROW_HDFS=ON"
"-DARROW_IPC=ON"
"-DARROW_JEMALLOC=${if enableJemalloc then "ON" else "OFF"}"
"-DARROW_JSON=ON"
"-DARROW_USE_GLOG=ON"
"-DARROW_WITH_BACKTRACE=ON"
"-DARROW_WITH_BROTLI=ON"
"-DARROW_WITH_BZ2=ON"
"-DARROW_WITH_LZ4=ON"
"-DARROW_WITH_NLOHMANN_JSON=ON"
"-DARROW_WITH_SNAPPY=ON"
"-DARROW_WITH_UTF8PROC=ON"
"-DARROW_WITH_ZLIB=ON"
"-DARROW_WITH_ZSTD=ON"
"-DARROW_MIMALLOC=ON"
"-DARROW_SUBSTRAIT=ON"
"-DARROW_FLIGHT=${if enableFlight then "ON" else "OFF"}"
"-DARROW_FLIGHT_TESTING=${if enableFlight then "ON" else "OFF"}"
"-DARROW_S3=${if enableS3 then "ON" else "OFF"}"
"-DARROW_GCS=${if enableGcs then "ON" else "OFF"}"
"-DARROW_ORC=ON"
(lib.cmakeBool "CMAKE_FIND_PACKAGE_PREFER_CONFIG" true)
(lib.cmakeBool "ARROW_BUILD_SHARED" enableShared)
(lib.cmakeBool "ARROW_BUILD_STATIC" (!enableShared))
(lib.cmakeBool "ARROW_BUILD_TESTS" enableShared)
(lib.cmakeBool "ARROW_BUILD_INTEGRATION" true)
(lib.cmakeBool "ARROW_BUILD_UTILITIES" true)
(lib.cmakeBool "ARROW_EXTRA_ERROR_CONTEXT" true)
(lib.cmakeBool "ARROW_VERBOSE_THIRDPARTY_BUILD" true)
(lib.cmakeFeature "ARROW_DEPENDENCY_SOURCE" "SYSTEM")
(lib.cmakeFeature "xsimd_SOURCE" "AUTO")
(lib.cmakeBool "ARROW_DEPENDENCY_USE_SHARED" enableShared)
(lib.cmakeBool "ARROW_COMPUTE" true)
(lib.cmakeBool "ARROW_CSV" true)
(lib.cmakeBool "ARROW_DATASET" true)
(lib.cmakeBool "ARROW_FILESYSTEM" true)
(lib.cmakeBool "ARROW_FLIGHT_SQL" enableFlight)
(lib.cmakeBool "ARROW_HDFS" true)
(lib.cmakeBool "ARROW_IPC" true)
(lib.cmakeBool "ARROW_JEMALLOC" enableJemalloc)
(lib.cmakeBool "ARROW_JSON" true)
(lib.cmakeBool "ARROW_USE_GLOG" true)
(lib.cmakeBool "ARROW_WITH_BACKTRACE" true)
(lib.cmakeBool "ARROW_WITH_BROTLI" true)
(lib.cmakeBool "ARROW_WITH_BZ2" true)
(lib.cmakeBool "ARROW_WITH_LZ4" true)
(lib.cmakeBool "ARROW_WITH_NLOHMANN_JSON" true)
(lib.cmakeBool "ARROW_WITH_SNAPPY" true)
(lib.cmakeBool "ARROW_WITH_UTF8PROC" true)
(lib.cmakeBool "ARROW_WITH_ZLIB" true)
(lib.cmakeBool "ARROW_WITH_ZSTD" true)
(lib.cmakeBool "ARROW_MIMALLOC" true)
(lib.cmakeBool "ARROW_SUBSTRAIT" true)
(lib.cmakeBool "ARROW_FLIGHT" enableFlight)
(lib.cmakeBool "ARROW_FLIGHT_TESTING" enableFlight)
(lib.cmakeBool "ARROW_S3" enableS3)
(lib.cmakeBool "ARROW_GCS" enableGcs)
(lib.cmakeBool "ARROW_AZURE" enableAzure)
(lib.cmakeBool "ARROW_ORC" true)
# Parquet options:
"-DARROW_PARQUET=ON"
"-DPARQUET_BUILD_EXECUTABLES=ON"
"-DPARQUET_REQUIRE_ENCRYPTION=ON"
(lib.cmakeBool "ARROW_PARQUET" true)
(lib.cmakeBool "PARQUET_BUILD_EXECUTABLES" true)
(lib.cmakeBool "PARQUET_REQUIRE_ENCRYPTION" true)
]
++ lib.optionals (!enableShared) [
(lib.cmakeFeature "ARROW_TEST_LINKAGE" "static")
]
++ lib.optionals (!enableShared) [ "-DARROW_TEST_LINKAGE=static" ]
++ lib.optionals stdenv.hostPlatform.isDarwin [
"-DCMAKE_INSTALL_RPATH=@loader_path/../lib" # needed for tools executables
# needed for tools executables
(lib.cmakeFeature "CMAKE_INSTALL_RPATH" "@loader_path/../lib")
]
++ lib.optionals (!stdenv.hostPlatform.isx86_64) [
(lib.cmakeBool "ARROW_USE_SIMD" false)
]
++ lib.optionals (!stdenv.hostPlatform.isx86_64) [ "-DARROW_USE_SIMD=OFF" ]
++ lib.optionals enableS3 [
"-DAWSSDK_CORE_HEADER_FILE=${aws-sdk-cpp-arrow}/include/aws/core/Aws.h"
(lib.cmakeFeature "AWSSDK_CORE_HEADER_FILE" "${aws-sdk-cpp-arrow}/include/aws/core/Aws.h")
];
doInstallCheck = true;
@@ -259,13 +273,6 @@ stdenv.mkDerivation (finalAttrs: {
"TestMinioServer.Connect"
"TestS3FS.*"
"TestS3FSGeneric.*"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# TODO: revisit at 12.0.0 or when
# https://github.com/apache/arrow/commit/295c6644ca6b67c95a662410b2c7faea0920c989
# is available, see
# https://github.com/apache/arrow/pull/15288#discussion_r1071244661
"ExecPlanExecution.StressSourceSinkStopped"
];
in
lib.optionalString finalAttrs.doInstallCheck "-${lib.concatStringsSep ":" filteredTests}";
@@ -278,7 +285,8 @@ stdenv.mkDerivation (finalAttrs: {
sqlite
]
++ lib.optionals enableS3 [ minio ]
++ lib.optionals enableFlight [ python3 ];
++ lib.optionals enableFlight [ python3 ]
++ lib.optionals enableAzure [ azurite ];
installCheckPhase =
let
@@ -309,6 +317,7 @@ stdenv.mkDerivation (finalAttrs: {
meta = {
description = "Cross-language development platform for in-memory data";
homepage = "https://arrow.apache.org/docs/cpp/";
changelog = "https://arrow.apache.org/release/${finalAttrs.version}.html";
license = lib.licenses.asl20;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [
-1
View File
@@ -30,7 +30,6 @@ python3.pkgs.buildPythonApplication rec {
];
nativeCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
pythonImportsCheck = [
"arsenal"
+1 -1
View File
@@ -114,7 +114,7 @@ stdenv.mkDerivation rec {
meta = {
description = "Raw converter based on RawTherapee";
homepage = "https://art.pixls.us";
homepage = "https://artraweditor.github.io";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ paperdigits ];
mainProgram = "ART";
-1
View File
@@ -63,7 +63,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
nativeInstallCheckInputs = [
versionCheckHook
];
versionCheckProgramArg = "--version";
doInstallCheck = true;
passthru = {
@@ -22,7 +22,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
meta = {
description = "Command-line tool for generating animated GIF files from asciicast v2 files produced by asciinema terminal recorder";
-1
View File
@@ -37,7 +37,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
meta = {
homepage = "https://asciinema.org/";
+5
View File
@@ -107,6 +107,11 @@ clangStdenv.mkDerivation (finalAttrs: {
postPatch = ''
substituteInPlace src/ver/CMakeLists.txt \
--replace-fail '"1.x-dev"' '"${finalAttrs.version}"'
# Using substituteInPlace because no upstream patch for GCC 15 was found for this bundled library.
substituteInPlace third_party/json11/json11.cpp \
--replace-fail "#include <cmath>" "#include <cmath>
#include <cstdint>"
'';
cmakeFlags = [
-1
View File
@@ -50,7 +50,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
nativeInstallCheckInputs = [
versionCheckHook
];
versionCheckProgramArg = "--version";
doInstallCheck = true;
passthru.updateScript = nix-update-script { };
-1
View File
@@ -30,7 +30,6 @@ stdenv.mkDerivation rec {
'';
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
doInstallCheck = !asLibrary;
meta = {
+2 -2
View File
@@ -28,7 +28,7 @@
stdenv.mkDerivation rec {
pname = "at-spi2-core";
version = "2.58.1";
version = "2.58.2";
outputs = [
"out"
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://gnome/sources/at-spi2-core/${lib.versions.majorMinor version}/at-spi2-core-${version}.tar.xz";
hash = "sha256-fzdKajjNcP9LMsnToDEL+oBNlG/tTJ5pp9SfrNy5Xpw=";
hash = "sha256-ooI7li7RbN1csfxTZQKf0hg5TYUqzUCYsyGFS9ZpL24=";
};
nativeBuildInputs = [
+1
View File
@@ -87,6 +87,7 @@ stdenv.mkDerivation (finalAttrs: {
"--disable-legacy-actions"
"--with-arm"
"--with-aarch64"
"--with-riscv"
"--with-io_uring"
# allows putting audit files in /run/audit, which removes the requirement
# to wait for tmpfiles to set up the /var/run -> /run symlink
@@ -21,7 +21,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;
versionCheckProgramArg = "--version";
meta = {
description = "Automatically update system timezone based on location";
+3
View File
@@ -41,6 +41,9 @@ stdenv.mkDerivation (finalAttrs: {
})
];
# Required by rocksdb after 10.7.5
env.EXTRA_CFLAGS = "-std=c++20 -fno-char8_t";
buildInputs = [
rocksdb
boost
@@ -73,7 +73,6 @@ buildGoModule (finalAttrs: {
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;
versionCheckProgram = "${placeholder "out"}/bin/avalanche";
versionCheckProgramArg = "--version";
doCheck = false;
-1
View File
@@ -43,7 +43,6 @@ stdenv.mkDerivation rec {
];
doInstallCheck = true;
versionCheckProgram = "${placeholder "out"}/bin/avrogencpp";
versionCheckProgramArg = "--version";
meta = {
description = "C++ library which implements parts of the Avro Specification";
-1
View File
@@ -40,7 +40,6 @@ stdenv.mkDerivation rec {
versionCheckHook
];
doInstallCheck = true;
versionCheckProgramArg = "--version";
meta = {
changelog = "https://github.com/slavaGanzin/await/releases/tag/${version}";
-2
View File
@@ -46,8 +46,6 @@ buildGoModule rec {
versionCheckHook
];
versionCheckProgramArg = "--version";
postInstallCheck = ''
$out/bin/aws-nuke resource-types | grep "IAMUser"
'';

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