work around unset SAGE_ROOT in Debian Sage package
authorJohn Scott <jscott@posteo.net>
Wed, 19 May 2021 07:16:20 +0000 (16:16 +0900)
committerNorbert Preining <norbert@preining.info>
Wed, 19 May 2021 07:16:20 +0000 (16:16 +0900)
Bug-Debian: https://bugs.debian.org/972346
Forwarded: https://bugs.kde.org/show_bug.cgi?id=408176#c19
Last-Update: 2021-01-17

In this shell script, '$1' refers to the Sage binary that is to
be used. The script is needlessly complex to accommodate for old
versions of Sage, and perhaps the author is unaware of Sage's
new command-line arguments.

Debian's `sage --root` is an empty string, so Cantor fails to
start it. This patch is more succinct by starting the Sage shell
which sets all variables appropriately, then starting
'sage-ipython' as desired. This way, as opposed to having
'#!/usr/bin/sage --sh' as the shebang, still permits usage of
local Sage copies.

Gbp-Pq: Name work-around-Sage-no-root.diff

src/backends/sage/cantor-execsage

index d909a13fbbaaf9411b692b3caf33f8f0cebb6e08..694d0529aa3b1c21d4bb10ea4bf26161248bfbfc 100644 (file)
@@ -1,23 +1,2 @@
 #!/usr/bin/env bash
-
-export SAGE_ROOT="$($1 --root)"
-
-# Sage 9.2 stop source sage-env-config automatically, so do it manually
-if [[ -f $SAGE_ROOT"/bin/sage-env" ]]; then
-    if [[ -f $SAGE_ROOT"/bin/sage-env-config" ]]; then
-        source "$SAGE_ROOT/bin/sage-env-config" >&2
-    fi
-    . "$SAGE_ROOT/bin/sage-env" >&2
-elif [[ -f $SAGE_ROOT"/local/bin/sage-env" ]]; then
-    if [[ -f $SAGE_ROOT"/local/bin/sage-env-config" ]]; then
-        source "$SAGE_ROOT/local/bin/sage-env-config" >&2
-    fi
-    . "$SAGE_ROOT/local/bin/sage-env" >&2
-elif [[ -f $SAGE_ROOT"/src/bin/sage-env" ]]; then
-    if [[ -f $SAGE_ROOT"/src/bin/sage-env-config" ]]; then
-        source "$SAGE_ROOT/src/bin/sage-env-config" >&2
-    fi
-    . "$SAGE_ROOT/src/bin/sage-env" >&2
-fi
-
-exec sage-ipython -i --simple-prompt
+{ echo "sage-ipython -i --simple-prompt"; cat; } | $1 --sh