2 # SPDX-License-Identifier: GPL-2.0-or-later
4 # Compilation-script for nightly builds.
5 # Should be copied to a private location (~/bin), so that
6 # git changes to that script can be reviewed before.
8 # Expects the Maxima git checkout in ~/maxima-code
10 # Calling from a cronjob does not work (don't know why),
11 # so call it from a screen session (which you can detach)
12 # and do everything in a loop.
14 # do everything in English:
17 # Use a recent CMake - installlers build with older versions
18 # seem to have problems when uninstalling the old version.
19 CMAKE
=/opt
/cmake-3.28
.1-linux-x86_64/bin
/cmake
20 test -x $CMAKE ||
exit 1
23 echo "Build information"
24 echo "-----------------"
26 echo "Operating system: "
28 echo -n "Maxima GIT Version: "
30 echo -n "Wxmaxima GIT Version: "
31 git
-C wxmaxima
/wxmaxima-git-prefix
/src
/wxmaxima-git describe
32 echo -n "Build date and time (UTC): "
38 # Should be called as buildprocess win32 or buildprocess win64
42 if [ "$1" == "win64" ]
44 $CMAKE -DBUILD_CURRENT=YES
-DWITH_ABCL=YES
-DBUILD_64BIT=YES ..
46 $CMAKE -DBUILD_CURRENT=YES
-DWITH_ABCL=YES
-DBUILD_64BIT=NO ..
53 cp maxima-current-
*.exe maxima-current-
*.
zip ~
56 # sleep until a given time
58 sleep $
(( (24*60*60 + $
(date -d "$1" +%s
) - $
(date +%s
) ) % (24*60*60) ))
62 cd ~
/maxima-code
/crosscompile-windows
/build ||
exit
66 rm -f ~
/maxima-
*-win32.exe ~
/maxima-
*-win64.exe ~
/buildlog-win32 ~
/buildlog-win64
69 buildprocess
"win32" 2>&1 |
tee ~
/buildlog-win32
70 buildprocess
"win64" 2>&1 |
tee ~
/buildlog-win64
72 for i
in ~
/maxima-current-win32.exe ~
/maxima-current-win64.exe ~
/maxima-current-win32.
zip ~
/maxima-current-win64.
zip ~
/buildlog-win32 ~
/buildlog-win64
; do
73 test -r $i && scp
-i ~
/.ssh
/maximakopierkey
$i maxima@ns1.dautermann.
at:/var
/www
/wolfgang.dautermann.at
/maxima
/nightlybuild
/