Age | Commit message (Collapse) | Author |
|
Apparently the only reason that the `node --polyglot` added to test.sh
in the previous commit worked on my system is that it silently fell back
to `node --polyglot --jvm`; however, it’s *supposed* to run polyglot
Node + everything else as a native image, without a JVM. And apparently,
R can’t be built as a native image (for engineering reasons, I’ve been
told), so if it doesn’t fall back to --jvm mode, then our test doesn’t
work. Consequently, we should actually specify --polyglot --jvm.
The fallback happens when libpolyglot.so is missing. It’s supposed to be
built by `gu rebuild libpolyglot`, and apparently `gu` prints a message
recommending that you run this command when you use it to install a new
language; since we bypass gu, we should print a similar message in our
package installation process. We don’t directly run the command for the
same reason that gu doesn’t: it’s way too expensive, requiring over four
hours of CPU time on my system. Even as a hook, rather than a
post-install script (i.e. only running once at the end of all package
installs, not once per package), I can’t justify this expenditure for
everyone installing the package, especially since most people probably
won’t need this (evidently I’ve been using GraalVM for years without
ever having built libpolyglot.so). So we just make the hook print a
message for users, and they can hopefully decide for themselves if they
want to run the command or not. (If people ask about the message in the
AUR comments, we can probably iterate on the phrasing a bit.)
|
|
The Node.js component is not included in this package, making it
separate from the JS language (which is included), so we should make
sure to test it in test.sh. The simplest way to do that is to replace R
with Node as the host language for the polyglot test.
|
|
GraalPython and TruffleRuby come with JDK16 versions now, so the test.sh
script is closer to the JDK11 version. However, Espresso still doesn’t
have a JDK16 version (reportedly there will be a JDK17 version once the
upcoming Java 17, an LTS version, is released), so the Espresso block is
still missing.
|
|
GraalVM 21.1.0 is the first release that comes with an (experimental)
JDK16 version. The package files are mostly based on jdk11-graalvm-bin,
but I’ve had to remove parts of the test.sh script, since not all
components are available for JDK16 yet. (The original script is
version-independent, so once all components have JDK16 versions, I can
just copy the JDK11 test.sh again and discard this version.)
|