Add Winehq key problem workaround. #40
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: crosscompile_maxima64 | |
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-x86-64 cmake nsis automake texlive texlive-plain-generic texlive-xetex rsync p7zip-full g++ gettext python3 tcl pandoc po4a libgcc-s1:i386 libstdc++6:i386 bsdutils wget | |
- name: install wine from winehq | |
run: | | |
# already done: sudo dpkg --add-architecture i386 | |
sudo mkdir -pm755 /etc/apt/keyrings | |
sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key | |
# recommended on https://wiki.winehq.org/Ubuntu#Winehq_key_problems | |
sudo sed -i s@/usr/share/keyrings/@/etc/apt/keyrings/@ /etc/apt/sources.list.d/winehq-focal.sources | |
sudo apt-add-repository https://dl.winehq.org/wine-builds/ubuntu/ | |
sudo apt-get update | |
sudo apt-get install -y --install-recommends winehq-stable | |
- name: configure compiler | |
run: | | |
sudo update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix | |
sudo update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-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 .. | |
# 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 |