-
Notifications
You must be signed in to change notification settings - Fork 0
83 lines (78 loc) · 2.88 KB
/
compile_maxima32.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
name: crosscompile_maxima32
on: [push]
env:
BUILD_TYPE: Release
permissions:
contents: read
jobs:
compile_latest:
runs-on: ubuntu-latest
steps:
- name: install_packages
run: |
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install g++-mingw-w64-i686 cmake nsis wine wine64 automake texlive texlive-plain-generic texlive-xetex rsync p7zip-full g++ gettext python3 tcl pandoc po4a wine32 libgcc-s1:i386 libstdc++6:i386 bsdutils
- name: configure compiler
run: |
sudo update-alternatives --set i686-w64-mingw32-gcc /usr/bin/i686-w64-mingw32-gcc-posix
sudo update-alternatives --set i686-w64-mingw32-g++ /usr/bin/i686-w64-mingw32-g++-posix
- name: checkout maxima
run: |
git clone --depth 1 https://git.code.sf.net/p/maxima/code maxima-code
- name: configure
run: |
mkdir maxima-code/crosscompile-windows/build
cd maxima-code/crosscompile-windows/build
cmake -DBUILD_64BIT=NO ..
# It is not required to build every software component with a separate
# make XYZ
# command. A simple 'make' (or 'make package' to build the complete
# installer package) works too. The separate make commands here
# are mostly for a better structured output on Github.
- name: build tcl
run: |
cd maxima-code/crosscompile-windows/build
make tcl
- name: build tk
run: |
cd maxima-code/crosscompile-windows/build
make tk
- name: build clisp
run: |
cd maxima-code/crosscompile-windows/build
make clisp
- name: build sbcl
run: |
cd maxima-code/crosscompile-windows/build
make sbcl
- name: build gnuplot
run: |
cd maxima-code/crosscompile-windows/build
make gnuplot
- name: build vtk
run: |
cd maxima-code/crosscompile-windows/build
make vtk
- name: build texinfo
run: |
cd maxima-code/crosscompile-windows/build
make texinfo
# Building Maxima needs some sort of 'terminal access', therefore use the command 'script' to run this build step.
- name: build maxima
run: |
cd maxima-code/crosscompile-windows/build
script -qc /bin/bash -c "make maxima"
- name: build wxWidgets
run: |
cd maxima-code/crosscompile-windows/build
make wxwidgets
- name: build wxMaxima
run: |
cd maxima-code/crosscompile-windows/build
make wxmaxima
# After everything is compiled, build finally the NSIS installer.
- name: create package
run: |
cd maxima-code/crosscompile-windows/build
make package