nixpkgs
nixpkgs copied to clipboard
iosevka{,-bin}: 15.5.2 -> 15.6.3
- iosevka: 15.5.2 -> 15.6.3
- iosevka-bin: 15.6.1 -> 15.6.3
Description of changes
Things done
- Built on platform(s)
- [ ] x86_64-linux
- [ ] aarch64-linux
- [ ] x86_64-darwin
- [ ] aarch64-darwin
- [ ] For non-Linux: Is
sandbox = true
set innix.conf
? (See Nix manual) - [ ] Tested, as applicable:
- NixOS test(s) (look inside nixos/tests)
- and/or package tests
- or, for functions and "core" functionality, tests in lib/tests or pkgs/test
- made sure NixOS tests are linked to the relevant packages
- [ ] Tested compilation of all packages that depend on this change using
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage - [ ] Tested basic functionality of all binary files (usually in
./result/bin/
) -
22.11 Release Notes (or backporting 22.05 Release notes)
- [ ] (Package updates) Added a release notes entry if the change is major or breaking
- [ ] (Module updates) Added a release notes entry if the change is significant
- [ ] (Module addition) Added a release notes entry if adding a new NixOS module
- [ ] (Release notes changes) Ran
nixos/doc/manual/md-to-db.sh
to update generated release notes
- [ ] Fits CONTRIBUTING.md.
The iosevka-comfy
build hangs (which was mentioned in https://github.com/NixOS/nixpkgs/issues/185597#issuecomment-1207718125), let me see if it persists across all systems.
@ofborg build iosevka-comfy.comfy
Hangs on darwin-intel
The build is currently failing, will this update fix it aswell?
The
iosevka-comfy
build hangs (which was mentioned in #185597 (comment)), let me see if it persists across all systems.@ofborg build iosevka-comfy.comfy
It is not only iosevka-comfy that fails, the default variant fails as well on master:
~/code/github.com/NixOS/nixpkgs master
❯ nix build '.#iosevka'
error: builder for '/nix/store/p0l5xkfh3fj32kckxsgfbf3xflap5dng-iosevka-15.5.2.drv' failed with exit code 1;
last 7 log lines:
> unpacking sources
> unpacking source archive /nix/store/8k7893693wqpnfi8s0c9bv8mh2kjicxz-iosevka-15.5.2.tar.gz
> source root is Iosevka-15.5.2
> setting SOURCE_DATE_EPOCH to timestamp 1656159437 of file Iosevka-15.5.2/verdafile.js
> patching sources
> configuring
> building
For full logs, run 'nix log /nix/store/p0l5xkfh3fj32kckxsgfbf3xflap5dng-iosevka-15.5.2.drv'.
~/code/github.com/NixOS/nixpkgs master 1m 55s
❯ nix log /nix/store/p0l5xkfh3fj32kckxsgfbf3xflap5dng-iosevka-15.5.2.drv
@nix { "action": "setPhase", "phase": "unpackPhase" }
unpacking sources
unpacking source archive /nix/store/8k7893693wqpnfi8s0c9bv8mh2kjicxz-iosevka-15.5.2.tar.gz
source root is Iosevka-15.5.2
setting SOURCE_DATE_EPOCH to timestamp 1656159437 of file Iosevka-15.5.2/verdafile.js
@nix { "action": "setPhase", "phase": "patchPhase" }
patching sources
@nix { "action": "setPhase", "phase": "configurePhase" }
configuring
@nix { "action": "setPhase", "phase": "buildPhase" }
building
EDIT: seems like the update should fix this: https://github.com/be5invis/Iosevka/issues/1383#issuecomment-1186611609
I've opened https://github.com/be5invis/Iosevka/issues/1394.
For what it's worth, we were disabling build logs (probably because they were too noisy), so that's why nobody saw any output: https://github.com/NixOS/nixpkgs/blob/e322b140209ecf72300f171e6f7d4274120ebc0f/pkgs/data/fonts/iosevka/default.nix#L111
@otavio Just to be sure:
- Did you successfully build this, as indicated in the PR template, or did you just tick that since you're running on
x86_64-linux
? - Did you run the
node-packages
regeneration script? I ask since there are some formatting changes in there which makes me suspect that you might've edited this manually instead of running the script.
- Did you successfully build this, as indicated in the PR template, or did you just tick that since you're running on
x86_64-linux
?
No; I ran it again and it failed.
I looked at this as 15.5.2 were failing to me. I ended moving to -bin
.
- Did you run the
node-packages
regeneration script? I ask since there are some formatting changes in there which makes me suspect that you might've edited this manually instead of running the script.
I did by hand. Want me to rerun it?
I looked at this as 15.5.2 were failing to me. I ended moving to
-bin
.
So -bin
built successfully, that's why you ticked it? (Just want to make sure, sorry.)
I did by hand. Want me to rerun it?
Yes, please. Whatever dependencies that changed with this release didn't get changed in the derivation, so that may be the source of the failures (although it's weird that it would stall upon a dependency not being found as opposed to exiting, but shrugs). Note that the script will probably take a while to run.
Thanks!
I looked at this as 15.5.2 were failing to me. I ended moving to
-bin
.So
-bin
built successfully, that's why you ticked it? (Just want to make sure, sorry.)
Yes.
I did by hand. Want me to rerun it?
Yes, please. Whatever dependencies that changed with this release didn't get changed in the derivation, so that may be the source of the failures (although it's weird that it would stall upon a dependency not being found as opposed to exiting, but shrugs). Note that the script will probably take a while to run.
Sure. Running it.
Hello, I did the update, and it fail due to a lack of verda
as buildInput
.
Please fix the merge conflict (best way is to rebase ontop of master and regenerate the file from there, to avoid any issues).
Did and it fails as:
setting SOURCE_DATE_EPOCH to timestamp 1659758719 of file Iosevka-15.6.3/verdafile.mjs
patching sources
configuring
building
sh: line 1: verda: command not found
error: builder for '/nix/store/pdmn0ls6dxkc6w2k7mbl5cgpcbr2jq2f-iosevka-15.6.3.drv' failed with exit code 127;
last 8 log lines:
> unpacking sources
> unpacking source archive /nix/store/xq8ffccmwjcfs61kpgpw9gkzx7qbkpqz-iosevka-15.6.3.tar.gz
> source root is Iosevka-15.6.3
> setting SOURCE_DATE_EPOCH to timestamp 1659758719 of file Iosevka-15.6.3/verdafile.mjs
> patching sources
> configuring
> building
> sh: line 1: verda: command not found
For full logs, run 'nix log /nix/store/pdmn0ls6dxkc6w2k7mbl5cgpcbr2jq2f-iosevka-15.6.3.drv'.
I was able to fix this with
diff --git a/pkgs/data/fonts/iosevka/default.nix b/pkgs/data/fonts/iosevka/default.nix
index b4f64c59d80..fa825fe7277 100644
--- a/pkgs/data/fonts/iosevka/default.nix
+++ b/pkgs/data/fonts/iosevka/default.nix
@@ -72,6 +72,7 @@ stdenv.mkDerivation rec {
nodeIosevka
remarshal
ttfautohint-nox
+ nodePackages.verda
];
buildPlan =
But then, there is a Node.js-related error, which I don't know how to fix, because I've no experience with Node:
Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'verda' imported from /build/Iosevka-15.6.3/verdafile.mjs
Did you mean to import verda-1.10.0/lib/node_modules/verda/lib/index.js?
at new NodeError (internal/errors.js:322:7)
at packageResolve (internal/modules/esm/resolve.js:732:9)
at moduleResolve (internal/modules/esm/resolve.js:773:18)
at Loader.defaultResolve [as _resolve] (internal/modules/esm/resolve.js:887:11)
at Loader.resolve (internal/modules/esm/loader.js:89:40)
at Loader.getModuleJob (internal/modules/esm/loader.js:242:28)
at ModuleWrap.<anonymous> (internal/modules/esm/module_job.js:76:40)
at link (internal/modules/esm/module_job.js:75:36) {
code: 'ERR_MODULE_NOT_FOUND'
@wentasah It's hard to tell from this but could the NODE_PATH
environment variable be off to explain why it can't find libraries... https://nodejs.org/api/modules.html#loading-from-the-global-folders. Does something like this magically help?
{
buildPhase = ''
export NODE_PATH="${pkgs.nodePackages.verda}/lib/node_modules:$NODE_PATH"
'';
}
That said, verda
should already be resolved given it's a dependency.
That said,
verda
should already be resolved given it's a dependency.
It'a now a development dependency, which node2nix does not support using when deploying a collection of packages.
There are two cleaner/more proper/more future proof ways that we can fix this, one which would require adding a new feature to node2nix, and one that would require restructuring this package a bit. I'm going to lean towards the second one (generating a node-packages.nix
expression for the package) for now, though, so we can get this merged sooner.
@otavio Do you mind if I push this work to your branch? Thanks!
@otavio Do you mind if I push this work to your branch? Thanks!
Absolutely not. Let me know if I can help somehow.
@toastal NODE_PATH
seems to be set correctly - it already contains /nix/store/fsvkchsrzsgsnk37gl021izqh1f60b4c-verda-1.10.0/lib/node_modules
.
I tried to play with the package along the lines suggested by @winterqt, but without success. I hope somebody more familiar with NodeJS will be able to continue.
Accidentally dropped the node-packages
update, but that doesn't matter.
83519fe97684e52bac2a82c2457ed934bff2dfb0 fixes building iosevka
and ioseveka-comfy.comfy
(I only tested the comfy build, but all the others should work too), but it's not ready to merge yet (I need to clean up node-packages
, add support for updating the dependency files to the update script, and most likely rework how I use the generated package). No matter the clean up changes I do make, though, the basic mechanism and fix is still the same -- so it shouldn't have any impact on if this builds or not.
@otavio @wentasah @toastal @romildo @t184256 @DamienCassou, please test and let me know if something goes awry.
Builds fine on my system. I'm just surprised that building a font takes so long even on a 32 way machine.
ofborg's aarch64-darwin tests timed out, but from the logs, it seems the build would succeed given more time.
It indeed takes forever... nice it got fixed.
Builds for me: x86_64 NixOS
Builds perfectly fine on my Fedora.
Building iosevka has always been very long for me and these commits don't seem to make it even longer.
This was not ready to be merged. 😕 should've marked it as draft I guess, my bad.
I'll make a follow up PR cleaning up the bits I left, and fixing the update script, but the package builds so at least it'll work once it hits unstable. (This shouldn't be reverted, to be clear, it does build.)
Lesson learned (to mark things as draft) I guess 🙃
Building iosevka has always been very long for me and these commits don't seem to make it even longer.
Not sure I can confirm this. Iosevka has always been slow, but it currently builds extremely long time on my pretty decently spec'ed system. Is there really nothing that can be done to speed it up? Is there a problem upstream?