!djTaTBQyWEPRQxrPTb:nixos.org

Nixpkgs Architecture Team

226 Members
https://github.com/nixpkgs-architecture, weekly public meetings on Wednesday 15:00-16:00 UTC at https://meet.jit.si/nixpkgs-architecture54 Servers

Load older messages


SenderMessageTime
6 Jul 2024
@raf:notashelf.devnotashelf

G'day, I was working on a treewide PR to move packages to by-name & format via nixfmt-rfc-style until I was informed that such PRs are actually discouraged in favor of https://github.com/NixOS/nixpkgs/pull/211832.

Are there any other ongoing processes that I can lend a hand with? Or things I can help speed up by making a series of PRs? Otherwise I plan to go forward with adding licenses to most of the packages listed here but I'd be happy to help with higher-priority issues if there are any.

23:17:48
8 Jul 2024
@julienmalka:matrix.org@julienmalka:matrix.org left the room.10:39:15
@felixalb:feal.no@felixalb:feal.no joined the room.16:16:05
@infinisil:matrix.orginfinisil notashelf: It's a bit tricky unfortunately, but: https://github.com/NixOS/nixpkgs-check-by-name/issues/56 17:21:25
@infinisil:matrix.orginfinisil notashelf: A bit easier is https://github.com/NixOS/nixpkgs/pull/322537, for which it would be best to join #nix-formatting:nixos.org :) 17:22:16
@ktemkin:katesiria.org@ktemkin:katesiria.org left the room.17:35:52
@emilazy:matrix.orgemily re "Which files are part of a package?", a reasonable start would be just migrating packages that only have default.nix in their directory and nothing else, right? 17:37:15
@infinisil:matrix.orginfinisil emily: Good idea, that sounds decent! 17:59:00
@emilazy:matrix.orgemily
emily@yuyuko ~/D/nixpkgs ((8e484a4c))> ls pkgs/*/*/default.nix | wc -l
     965
emily@yuyuko ~/D/nixpkgs ((8e484a4c))> for file in pkgs/*/*/default.nix; test (count (dirname $file)/*) = 1 && echo x; end | wc -l
     660
18:10:40
@emilazy:matrix.orgemilythat would work for ~68% of packages18:10:49
@emilazy:matrix.orgemily I imagine the rest are mostly divided into "things that vendor something like a Cargo.toml or a few patches" and "things that are going to have to be manually migrated anyway" 18:11:25
@emilazy:matrix.orgemily btw, I assume the intention is to get rid of all the "alternative" callPackage/mkDerivation analogues at some point so that everything can be by-name? 18:24:10
@philiptaron:matrix.orgPhilip Taron (UTC-8) callPackage works for a host of things (factories, generators, functions of various sorts) that pkgs/by-name rejects -- in particular, the nixpkgs-check-by-name tool rejects them. 19:12:58
@emilazy:matrix.orgemilyright; I guess I mean for actual derivations19:42:07
@emilazy:matrix.orgemilylike Python or Qt stuff19:42:10
@emilazy:matrix.orgemily(I would certainly be happy to see those go, as they obviously don't compose)19:42:30
@philiptaron:matrix.orgPhilip Taron (UTC-8)
In reply to @philiptaron:matrix.org

When I run maintainers/scripts/check-by-name.sh master locally in my nixpkgs repository, without any changes, I get this error:

I/O error:  Failed to get the definition info for attribute acl: In /tmp/tmp.bQmCobXFGj/merged/pkgs/stdenv/linux/default.nix, attribute parent node is not an attribute path node: NODE_INHERIT@28432..28603

Does anyone else reproduce this? It appears to be about this line in pkgs/stdenv/linux/default.nix:

inherit (prevStage)
          gzip bzip2 xz bash coreutils diffutils findutils gawk
          gnused gnutar gnugrep gnupatch patchelf
          attr acl zlib libunistring;
I've opened https://github.com/NixOS/nixpkgs-check-by-name/issues/78 for this issue. Doing some diagnostics now.
20:20:36
@philiptaron:matrix.orgPhilip Taron (UTC-8) And https://github.com/NixOS/nixpkgs-check-by-name/pull/79 now too in order to fix it. CC willbush and infinisil . 20:45:05
@qyriad:katesiria.orgQyriad
In reply to@emilazy:matrix.org
(I would certainly be happy to see those go, as they obviously don't compose)
have you seen the lib.extendMkDerivation PR?
20:50:55
@emilazy:matrix.orgemilynope, thanks for the pointer; subscribed20:52:12
@emilazy:matrix.orgemilyit seems like it still wouldn't work with the by-name model though20:52:22
@emilazy:matrix.orgemily I sort of imagine we want a world where it looks like stdenv.mkDerivation { mixins = [ qtMixin pythonMixin ]; … } or something 20:52:50
@emilazy:matrix.orgemily I guess we could write something like qtMixin (pythonMixin stdenv.mkDerivation) { … }? 20:53:04
@emilazy:matrix.orgemily well, it's really the callPackages that are the problem though, not mkDerivation 20:53:17
@emilazy:matrix.orgemilywhich gets into splicing stuff that I've never fully understood20:53:32
@colin:uninsane.orgColin
In reply to @emilazy:matrix.org
I sort of imagine we want a world where it looks like stdenv.mkDerivation { mixins = [ qtMixin pythonMixin ]; … } or something

both buildRustPackage and buildPythonPackage can be replaced with stdenv.mkDerivation and adding the appropriate setup hooks to nativeBuildInputs (e.g. cargoSetupHook or pypaSetupHook). i think the qt5.callPackage stuff is in a similar state.

the Python folk seem very against the idea of replacing buildPythonPackage with mkDerivation. i think there's more appetite for that on the Rust front.

21:01:05
@colin:uninsane.orgColin
In reply to @emilazy:matrix.org
I sort of imagine we want a world where it looks like stdenv.mkDerivation { mixins = [ qtMixin pythonMixin ]; … } or something
*

both buildRustPackage and buildPythonPackage can be replaced with stdenv.mkDerivation and adding the appropriate setup hooks to nativeBuildInputs (e.g. cargoSetupHook or pypaBuildHook). i think the qt5.callPackage stuff is in a similar state.

the Python folk seem very against the idea of replacing buildPythonPackage with mkDerivation. i think there's more appetite for that on the Rust front.

21:02:59
@qyriad:katesiria.orgQyriad buildPythonPackage very recently became a fair bit more than equivalent to mkDerivation with some setup hooks, now that it takes the pythonic dependencies and build-system arguments and mkDerivation-ifies them 21:22:18
9 Jul 2024
@emilazy:matrix.orgemilyright03:17:17
@emilazy:matrix.orgemily what about the callPackages? are those "just" the same as callPackage that brings another namespace into scope too? I've never been entirely clear on that 03:17:40

Show newer messages


Back to Room ListRoom Version: 9