This was achieved using the following command:
sd 'wrapGAppsHook\b' wrapGAppsHook3 (rg -l 'wrapGAppsHook\b')
And then manually reverted the following changes:
- alias in top-level.nix
- function name in wrap-gapps-hook.sh
- comment in postFixup of at-spi2-core
- comment in gtk4
- comment in preFixup of 1password-gui/linux.nix
- comment in postFixup of qgis/unwrapped-ltr.nix and qgis/unwrapped.nix
- comment in postFixup of telegram-desktop
- comment in postFixup of fwupd
- buildCommand of mongodb-compass
- postFixup of xflux-gui
- comment in a patch in kdePackages.kde-gtk-config and plasma5Packages.kde-gtk-config
- description of programs.sway.wrapperFeatures.gtk NixOS option (manual rebuild)
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
auto-multiple-choice (the GUI) needs to run subcommands of itself,
e.g., `auto-multiple-choice prepare ...` to work correctly. Until now,
for this to work, it was necessary to install auto-multiple-choice to
$PATH. Running it via e.g. `nix run` was not possible.
This commit changes that. It enables not only using `nix run`, but
also having multiple working AMC versions installed simultaneously.
Currently, auto-multiple-choice from nixpkgs doesn't work on systems with
/lib directory. Running auto-multiple-choice there fails with:
Unknown action gui at /nix/store/n3cyw5ngp0v52rny9gr6z35vslh5d4vx-auto-multiple-choice-1.6.0/bin/.auto-multiple-choice-wrapped line 94.
This happens on non-NixOS systems as well as on NixOS with e.g.
nix-ld [1] enabled.
The reason is documented in the Nix expression and the problem is
reported upstream at https://project.auto-multiple-choice.net/issues/872.
However, the problem can be worked around without requiring upstream
changes, as shown in this commit. We stop using the "portable
distribution", which tries to detect the base directory at run time, and
instead hardcode all paths as absolute at build time.
[1] https://github.com/Mic92/nix-ld
Changing this value broke the program, because the variable controls
the installation path of Perl modules, but the main binary uses a
constant, hardcoded path.
AMC will look for its libraries on the nix store path if and only iff
its default modules directory doesn't exist. The value for this
variable was /lib/, which exists on some systems. This commit changes
it to /nonexistent, the "canonical non-existent home directory" per
Debian policy, which probably won't exist anywhere.
Without this, AMC cannot export the results to OpenOffice. When one
presses "Reports->OpenOffice->Export", a dialog appears saying that
OpenOffice::OODoc perl module is not installed.
We switch to using makeFullPerlPath to make dependencies of
OpenOfficeOODoc also available. Without this, export complains about
missing XMLTwig.
Without this change, LaTeX run during "Update documents" (AMC-prepare)
phase complains about not finding automultiplechoice.sty. TEXINPUTS
should match TEXDIR value specified in makeFlags.