The jpeg `configure` script fails to detect clang as a functioning C
compiler because it uses a test with a `main` that returns an implicit
`int`, which results in an error with clang 16.
The motivation behind this is wanting to reduce the reverse closure size of
texlive.
When internationalizing tex files, Po4a attempts to follow included files. In
order to find the correct files, po4a uses texlive's file-finding utility
kpsewhich. This commit replaces texlive with a tiny shell script, which is
precisely good enough to run the tests.
This does not change the resulting package in any way, it only affects how the
test is run.
result/bin/strip-nondeterminism: bad interpreter: /nix/store/mym5b5zbzgny17ixqr8kgwmndc3k4y2r-perl-5.36.0/bin/perl -I/nix/store/mym5b5zbzgny17ixqr8kgwmndc3k4y2r-perl-5.36.0/lib: exec format error
checkInputs used to be added to nativeBuildInputs. Now we have
nativeCheckInputs to do that instead. Doing this treewide change allows
to keep hashes identical to before the introduction of
nativeCheckInputs.
Part of BioPerl Extensions (BioPerl-Ext) distribution, a collection of Bioperl C-compiled extensions. These are no longer maintained but needed for Ensembl-VEP (annotation
for genomics).
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
Currently `buildPerlPackage` prefixes the Perl version to the package's
`pname`, which results in `nix run` not being able to work for any
packages build with it out of the box. This commit corrects that and
phases out the ability to set `name` directly, as well as refactors the
code to not require `cleanedAttrs`.
Because perl packages are prefixed with the perl version, it means that
the `lib.getExe` heuristic will never point to the binary name. So we
provide the meta.mainProgram that overrides that, using the original
pname or parsed name. It's not perfect but should yield better results
already.
`file` is used by the perl script.
```
sub _get_file_type($) {
my $file=shift;
open(FILE, '-|') # handle all filenames safely
|| exec('file', $file)
|| die "can't exec file: $!";
my $type=<FILE>;
close FILE;
return $type;
}
```
This script is very handy to run within a `nix-build` context,
specifically during the fixupPhase.
Unfortunately, file is not propagated, and does not exist causing the
build to fail. Fix it by adding it.
Co-authored-by: Jonathan Ringer <jonringer@users.noreply.github.com>