By default, `/etc/urlview/url_handler.sh` is used which breaks by
default with the following error:
```
sh: /etc/urlview/url_handler.sh: No such file or directory
```
With this change, the script will be copied to `$out` and `urlview` will
be patched accordingly.
The provided patch doesn't apply cleanly on sundials_3 (no
SundialsTesting.cmake, SundialsAddTest.cmake containing trailing
whitespaces inside context), so for now we just disable tests for
sundials_3 - scikits-odes plans to move to sundials 4 anyways - see
https://github.com/bmcage/odes/pull/106.
The build was fixed in two ways, by both this patch and a substitution.
Let's keep the substitition instead of the patch as the patches may disappear.
This reverts commit ccc8c73ea0.
Resolves#68185.
The icons in Inkscape depend on gdk-pixbuf loaders, but because
strictDeps is set to true to fix some macOS issues it doesn't work
(see #56943). Adding librsvg to buildInputs explicitly fixes the issue.
Before this change, buildRustCrate always called rustc with
--extern libName=[...]libName[...]
However, Cargo permits using a different name under which a dependency
is known to a crate. For example, rand 0.7.0 uses:
[dependencies]
getrandom_package = { version = "0.1.1", package = "getrandom", optional = true }
Which introduces the getrandom dependency such that it is known as
getrandom_package to the rand crate. In this case, the correct extern
flag is of the form
--extern getrandom_package=[...]getrandom[...]
which is currently not supported. In order to support such cases, this
change introduces a crateRenames argument to buildRustCrate. This
argument is an attribute set of dependencies that should be renamed. In
this case, crateRenames would be:
{
"getrandom" = "getrandom_package";
}
The extern options are then built such that if the libName occurs as
an attribute in this set, it value will be used as the local
name. Otherwise libName will be used as before.