There is probably a way to have it work with substituteInPlace, but
using sed is a cheap solution to not having to figure out how to escape
"'$'" in Nix that works in both versions.
Issue #31179.
Fixes #33833.
The linter (nixpkgs-lint) was not able to find the bitscope packages
because `recurseIntoAttrs` was not applied to the suite's set.
The name supplied to `buildFHSUserEnv` produces a binary that
corresponds to the binary names in the deb packages (e.g.: bitscope-dso,
bitscope-chart, bitscope-logic, etc), however; this name does not
constitute a valid nixpkgs name. Valid nixpkgs names satisfy the
`/(.*)(-[0-9].*)$/` pattern, therefore a valid name is merged into the
derivation produced by `buildFHSUserEnv`.
This change sets an environment variable to ensure that Android Studio
uses the correct drivers to avoid any breackage when trying to run a
native application on a virtual device.
Without proper configuration `android-studio` would be unable to load
the drivers for the AVD and yield messages like this:
```
3:32 PM Executing tasks: [:app:assembleDebug]
3:32 PM Emulator: libGL error: unable to load driver: i965_dri.so
3:32 PM Emulator: libGL error: driver pointer missing
3:32 PM Emulator: libGL error: failed to load driver: i965
3:32 PM Emulator: libGL error: unable to load driver: i965_dri.so
3:32 PM Emulator: libGL error: driver pointer missing
3:32 PM Emulator: libGL error: failed to load driver: i965
3:32 PM Emulator: libGL error: unable to load driver: swrast_dri.so
3:32 PM Emulator: libGL error: failed to load driver: swrast
3:32 PM Emulator: X Error of failed request: BadValue (integer parameter out of range for operation)
3:32 PM Emulator: Major opcode of failed request: 155 (GLX)
3:32 PM Emulator: Minor opcode of failed request: 24 (X_GLXCreateNewContext)
3:32 PM Emulator: Value in failed request: 0x0
3:32 PM Emulator: Serial number of failed request: 64
3:32 PM Emulator: Current serial number in output stream: 65
3:32 PM Emulator: emulator: ERROR: Missing initial data partition file: /home/ma27/.android/avd/Nexus_5X_API_27.avd/userdata.img
3:32 PM Emulator: Process finished with exit code 1
3:32 PM Gradle build finished with 2 warnings(s) in 6s 378ms
```
For further reference have a look at the following StackOverflow
message: https://stackoverflow.com/a/40790339
This is a temporary workaround to make `nix-env -qa` and `nix search` ignore
broken packages as they they did before this patchset.
This patch should be reverted after `nix` gets a proper fix for this.
See NixOS/nix#1771.
This option makes `meta.evaluate` into a close approximation of the result of
evaluating `.outPath` by checking all the dependencies recursively at a cost of
2x slowdown. Note that actually evaluating `.outPath` costs some
5x-7x more because `.outPath` also computes all the hashes.