add patch to ensure writability of created projects
(upstream issue 12941)
disable the qa_eeschema test as it fails to find the ngspice lib
which allows re-enabling tests as a whole on unstable
there is a patch for this, but it still fails with something else...
(upstream issue 12491)
and remove ngspice workaround that doesn't work anymore
set meta.mainProgram
since for kicad-unstable, the binary isn't called kicad-unstable
This reverts commit 4e37151703.
This broke the build as the source now returns 404.
The script seems also more bloat over just using `nix-update --commit --build mimir`
when using --ozone-platform-hint=wayland it will dlopen this library.
Adding wayland to rpath does not increase the closure size since gtk3
already should have wayland in its closure.
This fixes element-desktop for example.
To reduce size, stage 1 (the initrd) is populated by copying specific
binaries in, then copying the libraries specifically needed by those
binaries. `patchelf` is then used to make the binaries search in the
directory where these libraries are copied to instead of their original
store paths.
Some filesystems (e.g. ZFS) do not guarantee that copying the same files
in the same order into a given directory will result in `find` returning
them in any particular order (though the order appears consistent so
long as the directory is not modified).
Therefore, when the binaries are scanned for libraries to copy in, they
might be scanned in a different order each time the derivation is built.
If two binaries need two different libraries with the same name, then a
different instance of the library might be copied in first, changing the
derivation contents and breaking reproducibility.
This turns out to be the case with `libudev.so.1` from both `systemd`
(needed by e.g. `mdadm`) and `systemdMinimal` (needed by e.g.
`dmsetup`). This issue is fixed by sorting the list of binaries to be
scanned instead of relying on filesystem order so that the same instance
always gets seen and copied first.
Both before this change (at least on ext4) and after this change
(without any options that affect stage 1), this is the `libudev.so.1`
from `systemdMinimal` by way of `dmsetup`. Whether this is appropriate
and how much the two different systemd configurations and udev libraries
need to be involved is a topic left for future work.