#!/bin/bash
-set -e
+set -ex
-DISTRO="https://ftp.cs.ru.nl/Clean/builds/linux-x64/clean-bundle-complete-linux-x64-latest.tgz"
+if [ $# -ne 1 ]
+then
+ echo "Usage: $0 [x86|x64]"
+ exit 1
+fi
+
+DISTRO="https://ftp.cs.ru.nl/Clean/builds/linux-$1/clean-bundle-complete-linux-$1-latest.tgz"
TAGS="https://gitlab.science.ru.nl/cloogle/cloogle-tags/-/jobs/artifacts/master/raw/cloogletags?job=build"
CLMMAN="https://gitlab.science.ru.nl/clean-and-itasks/clm/raw/master/clm.1"
CP2CG="https://gitlab.science.ru.nl/clean-and-itasks/cleanprof2callgrind/-/jobs/artifacts/master/raw/cleanprof2callgrind?job=test"
-CLEAN_HOME="${CLEAN_HOME:-/opt/clean}"
+CLEAN_HOME="/opt/clean-$1"
echo "Cleaning up the old distro"
rm -rf "$CLEAN_HOME"/*
+mkdir -p "$CLEAN_HOME"
echo "Downloading clean"
curl -sSL "$DISTRO" | tar -C "$CLEAN_HOME" --strip-components=1 -xz
echo "Installing manpages"
chmod +x "$CLEAN_HOME"/bin/cloogletags
echo "Generating tags"
cloogletags -a -c -d "$CLEAN_HOME"/lib -o "$CLEAN_HOME"/lib/tags 2>/dev/null
-
-echo "Adding the iTasks-git environment"
-patch /opt/clean/etc/IDEEnvs <<EOPATCH
---- IDEEnvs.orig 2019-11-19 08:13:53.243123284 +0100
-+++ IDEEnvs 2019-11-19 08:15:02.819053965 +0100
-@@ -61,6 +61,39 @@
- Path: {Application}/lib/ABCInterpreter
- Path: {Application}/lib/GraphCopy
- Path: {Application}/lib/iTasks
-+ Path: {Application}/lib/Gast
-+ EnvironmentCompiler: lib/exe/cocl-itasks::-dynamics
-+ EnvironmentCodeGen: lib/exe/cg
-+ EnvironmentLinker: /usr/bin/gcc::-Wl,--gc-sections|lib/exe/itasks-web-collector
-+ EnvironmentABCOptimise: lib/exe/abcopt
-+ EnvironmentByteCodeGen: lib/exe/bcgen
-+ EnvironmentByteCodeLink: lib/exe/bclink
-+ EnvironmentByteCodeStrip: lib/exe/bcstrip
-+ EnvironmentByteCodePrelink: lib/exe/bcprelink
-+ EnvironmentVersion: 920
-+ EnvironmentRedirect: False
-+ EnvironmentCompileMethod: Pers
-+ EnvironmentProcessor: I386
-+ Environment64BitProcessor: True
-+ Environment
-+ EnvironmentName: iTasks-git
-+ EnvironmentPaths
-+ Path: {Application}/lib/StdEnv
-+ Path: {Application}/lib/Dynamics
-+ Path: {Application}/lib/TCPIP
-+ Path: {Application}/lib/ABCInterpreter
-+ Path: {Application}/lib/GraphCopy
-+ Path: {Application}/lib/Gast
-+ Path: /home/mrl/projects/clean/clean-platform/src/libraries/Platform-x86
-+ Path: /home/mrl/projects/clean/clean-platform/src/libraries/OS-Posix
-+ Path: /home/mrl/projects/clean/clean-platform/src/libraries/OS-Linux
-+ Path: /home/mrl/projects/clean/clean-platform/src/libraries/OS-Linux-64
-+ Path: /home/mrl/projects/clean/clean-platform/src/libraries/OS-Independent
-+ Path: /home/mrl/projects/clean/clean-platform/src/libraries/OS-Independent/Deprecated/Generics
-+ Path: /home/mrl/projects/clean/clean-platform/src/libraries/OS-Independent/Deprecated/StdLib
-+ Path: /home/mrl/projects/clean/clean-platform/src/libraries/OS-Independent/Deprecated/ArgEnv
-+ Path: /home/mrl/projects/clean/clean-platform/src/libraries/OS-Independent/Deprecated/MersenneTwister
-+ Path: /home/mrl/projects/clean/iTasks-SDK/Libraries
- EnvironmentCompiler: lib/exe/cocl-itasks::-dynamics
- EnvironmentCodeGen: lib/exe/cg
- EnvironmentLinker: /usr/bin/gcc::-Wl,--gc-sections|lib/exe/itasks-web-collector
-EOPATCH
*
* font: see http://freedesktop.org/software/fontconfig/fontconfig-user.html
*/
-static char *font = "DejaVu Sans Mono:style=Book:pixelsize=16:antialias=true:autohint=true";
+static char *font = "DejaVu Sans Mono:style=Book:pixelsize=20:antialias=true:autohint=true";
static int borderpx = 2;
/*
* What program is execed by st depends of these precedence rules:
* 1: program passed with -e
- * 2: utmp option
+ * 2: scroll and/or utmp
* 3: SHELL environment variable
* 4: value of shell in /etc/passwd
* 5: value of shell in config.h
*/
static char *shell = "/bin/sh";
char *utmp = NULL;
+/* scroll program: to enable use a string like "scroll" */
+char *scroll = NULL;
char *stty_args = "stty raw pass8 nl -echo -iexten -cstopb 38400";
/* identification sequence returned in DA and DECID */
/*
* word delimiter string
*
- * More advanced example: " `'\"()[]{}"
+ * More advanced example: L" `'\"()[]{}"
*/
wchar_t *worddelimiters = L" ";
/* Terminal colors (16 first used in escape sequence) */
static const char *colorname[] = {
/* 8 normal colors */
- "#000000",
- "#e01010",
- "#20ad20",
- "#d4c24f",
- "#231bb8",
- "#9c3885",
- "#1dbdb8",
- "#fefefe",
+ "black",
+ "red3",
+ "green3",
+ "yellow3",
+ "blue2",
+ "magenta3",
+ "cyan3",
+ "gray90",
+
/* 8 bright colors */
- "#6a6a6a",
- "#e83a3d",
- "#35e956",
- "#ffff2f",
- "#3a53f0",
- "#e628ba",
- "#1cf5f5",
- "#ffffff",
+ "gray50",
+ "red",
+ "green",
+ "yellow",
+ "#5c5cff",
+ "magenta",
+ "cyan",
+ "white",
[255] = 0,
*/
static unsigned int defaultattr = 11;
+/*
+ * Force mouse select/shortcuts while mask is active (when MODE_MOUSE is set).
+ * Note that if you want to use ShiftMask with selmasks, set this to an other
+ * modifier, set to 0 to not use it.
+ */
+static uint forcemousemod = ShiftMask;
+
/*
* Internal mouse shortcuts.
* Beware that overloading Button1 will disable the selection.
*/
static MouseShortcut mshortcuts[] = {
- /* button mask string */
- { Button4, XK_ANY_MOD, "\031" },
- { Button5, XK_ANY_MOD, "\005" },
+ /* mask button function argument release */
+ { XK_ANY_MOD, Button2, selpaste, {.i = 0}, 1 },
+ { XK_ANY_MOD, Button4, ttysend, {.s = "\031"} },
+ { XK_ANY_MOD, Button5, ttysend, {.s = "\005"} },
};
/* Internal keyboard shortcuts. */
{ ControlMask, XK_Print, toggleprinter, {.i = 0} },
{ ShiftMask, XK_Print, printscreen, {.i = 0} },
{ XK_ANY_MOD, XK_Print, printsel, {.i = 0} },
-// { TERMMOD, XK_Prior, zoom, {.f = +1} },
-// { TERMMOD, XK_Next, zoom, {.f = -1} },
-// { TERMMOD, XK_Home, zoomreset, {.f = 0} },
- { TERMMOD, XK_Up, zoom, {.f = +1} },
- { TERMMOD, XK_Down, zoom, {.f = -1} },
- { TERMMOD, XK_Left, zoomreset, {.f = 0} },
+ { TERMMOD, XK_Prior, zoom, {.f = +1} },
+ { TERMMOD, XK_Next, zoom, {.f = -1} },
+ { TERMMOD, XK_Home, zoomreset, {.f = 0} },
{ TERMMOD, XK_C, clipcopy, {.i = 0} },
{ TERMMOD, XK_V, clippaste, {.i = 0} },
{ TERMMOD, XK_Y, selpaste, {.i = 0} },
+ { ShiftMask, XK_Insert, selpaste, {.i = 0} },
{ TERMMOD, XK_Num_Lock, numlock, {.i = 0} },
-// { TERMMOD, XK_I, iso14755, {.i = 0} },
};
/*
* * 0: no value
* * > 0: cursor application mode enabled
* * < 0: cursor application mode disabled
- * crlf value
- * * 0: no value
- * * > 0: crlf mode is enabled
- * * < 0: crlf mode is disabled
*
* Be careful with the order of the definitions because st searches in
* this table sequentially, so any XK_ANY_MOD must be in the last
*/
static uint ignoremod = Mod2Mask|XK_SWITCH_MOD;
-/*
- * Override mouse-select while mask is active (when MODE_MOUSE is set).
- * Note that if you want to use ShiftMask with selmasks, set this to an other
- * modifier, set to 0 to not use it.
- */
-static uint forceselmod = ShiftMask;
-
/*
* This is the huge key array which defines all compatibility to the Linux
* world. Please decide about changes wisely.
https://www.youtube.com/feeds/videos.xml?channel_id=UC2oq8RM-S7dBk_cwF-Vvv5g yt "Vinyl Eyezz"
https://www.youtube.com/feeds/videos.xml?channel_id=UC8uT9cgJorJPWu7ITLGo9Ww yt "The 8-Bit Guy"
https://www.youtube.com/feeds/videos.xml?channel_id=UCLx053rWZxCiYWsBETgdKrQ yt "Lazy Game Reviews"
+https://www.youtube.com/feeds/videos.xml?channel_id=UCz9uUFDhsPYii-ZihoKsbPg yt "LGR Foods"
+https://www.youtube.com/feeds/videos.xml?channel_id=UCw_Sxdt27ASqErScT4Rlj8A yt "LGR Blerbs"
https://www.youtube.com/feeds/videos.xml?channel_id=UCkxMlA7rt-mnIc1AjbyAsPw yt "sexplanations"
https://www.youtube.com/feeds/videos.xml?channel_id=UCEFymXY4eFCo_AchSpxwyrg yt "MetalJesusRocks"
https://www.youtube.com/feeds/videos.xml?channel_id=UChturLXwYxwTOf_5krs0qvA yt "The Ben Heck Show"
-https://www.youtube.com/feeds/videos.xml?channel_id=UCz9uUFDhsPYii-ZihoKsbPg yt "LGR Foods"
https://www.youtube.com/feeds/videos.xml?channel_id=UCTp0MnlTlmqC3NdrPzD08EA yt "Infidelamsterdam"
https://www.youtube.com/feeds/videos.xml?channel_id=UC5I2hjZYiW9gZPVkvzM8_Cw yt "Techmoan"
https://www.youtube.com/feeds/videos.xml?channel_id=UCkWQ0gDrqOCarmUKmppD7GQ yt "JayzTwoCents"
https://www.youtube.com/feeds/videos.xml?channel_id=UCxzC4EngIsMrPmbm6Nxvb-A yt "Scott Manley
https://www.youtube.com/feeds/videos.xml?channel_id=UC8vR6VP-3o_SpdnEBrpYGiQ yt "AuthenticSound"
https://www.youtube.com/feeds/videos.xml?channel_id=UCq3CjAhR9foEpCXj88sMAKQ yt "Survival Russia"
+https://www.youtube.com/feeds/videos.xml?channel_id=UCg0PzY2Uo_Rs6v1M4J30N3w yt "Steve of Warr"
+https://www.youtube.com/feeds/videos.xml?channel_id=UC07JpCn-IUv4KnJUjRba9Wg yt "dosgamert"