New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
mathematica: 11.3 -> 12.0 #63620
mathematica: 11.3 -> 12.0 #63620
Conversation
cc @herberteuler as author of xkb patch Also should we drop 11.3? |
Actually we need to drop 11.3 at least for english because it's impossible to select it after this change. This is because the only configurable setting is |
@@ -99,8 +99,9 @@ stdenv.mkDerivation rec { | |||
|
|||
# Fix xkeyboard config path for Qt | |||
for path in mathematica Mathematica; do | |||
line=$(grep -n QT_PLUGIN_PATH $path | sed 's/:.*//') | |||
sed -i -e "$line iexport QT_XKB_CONFIG_ROOT=\"${xkeyboard_config}/share/X11/xkb\"" $path | |||
for line in $(grep -n QT_PLUGIN_PATH $path | sed 's/:.*//'); do |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What kind of lines do we get from this "grep -n QT_PLUGIN_PATH $path"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IIRC the purpose of this change is to setup QT properly to use Mathematica in KDE. It exports QT_XKB_CONFIG_ROOT
, such as in the following case (from $out/libexec/Mathematica/Executables/mathematica
):
export QT_XKB_CONFIG_ROOT="/nix/store/17588p39scnw7y71y7f2wvhm5mpa63wi-xkeyboard-config-2.24/share/X11/xkb"
export QT_PLUGIN_PATH=${M_LIBRARY_PATH}/Qt-Plugins
The first line is added by this change.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@herberteuler
Why not just do:
sed -i -e "/export QT_PLUGIN_PATH/iexport QT_XKB_CONFIG_ROOT=\"${xkeyboard_config}/share/X11/xkb\"" $path
?
Also do you think the change proposed in this PR is reasonable?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using sed
's built-in function to reference places to change is indeed better than referencing with line numbers, especially in this case, because after each iteration of the for
loop the old line numbers will become invalid.
Considering that exporting QT_XKB_CONFIG_ROOT
needs to be done only once, this is perhaps better:
sed -i -e "/^\"\${MathematicaFE/iexport QT_XKB_CONFIG_ROOT=\"${xkeyboard_config}/share/X11/xkb\"\n" $path
As for dropping 11.3, I think perhaps it would be better to still provide it in another file, e.g. 11.nix
, just like what we do for 10 and 9 now. How do you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@herberteuler Could you provide a PR for that? I guess, we might as well insert this export on the line 2 instead of matching by the regex.
I don't mind keeping 11.3 if someone wants to use it and willing to maintain.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also thanks for pointing out that we have Mathematica 9 and 10. I didn't know.
Resolved in #65031 |
Motivation for this change
Add support for Mathematica 12.0
Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nix-review --run "nix-review wip"
./result/bin/
)nix path-info -S
before and after)