Skip to content
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

Closed
wants to merge 1 commit into from

Conversation

entonderfurchtlose
Copy link

@entonderfurchtlose entonderfurchtlose commented Jun 21, 2019

Motivation for this change

Add support for Mathematica 12.0

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Assured whether relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@veprbl
Copy link
Member

veprbl commented Jun 21, 2019

cc @herberteuler as author of xkb patch
cc @mnacamura as possibly interested

Also should we drop 11.3?

@veprbl
Copy link
Member

veprbl commented Jun 24, 2019

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 lang and it picks first match which is now 12.0. It would be nice if somebody could update the hash for Japanese version too.

@@ -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
Copy link
Member

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"?

Copy link
Member

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.

Copy link
Member

@veprbl veprbl Jun 26, 2019

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?

Copy link
Member

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?

Copy link
Member

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.

Copy link
Member

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.

@herberteuler herberteuler mentioned this pull request Jun 27, 2019
10 tasks
@herberteuler herberteuler mentioned this pull request Jul 18, 2019
10 tasks
@veprbl
Copy link
Member

veprbl commented Jul 23, 2019

Resolved in #65031

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants