├── .github ├── dependabot.yml └── workflows │ └── compile.yml ├── .gitignore ├── AppRun ├── CHANGELOG ├── Dockerfile ├── README.md ├── appimagetool-x86_64.AppImage ├── build_appimage.sh ├── build_flatpack.sh ├── com.github.wxMaxima-developers.wxmaxima.yml ├── io.github.wxmaxima_developers.wxMaxima.appdata.xml ├── io.github.wxmaxima_developers.wxMaxima.desktop ├── linux_1.png ├── maxima.png ├── org.flatpak.wxmaxima.yml ├── test.wxmx └── update_versions.sh /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: "github-actions" 4 | directory: "/" 5 | schedule: 6 | interval: "weekly" 7 | -------------------------------------------------------------------------------- /.github/workflows/compile.yml: -------------------------------------------------------------------------------- 1 | name: compile 2 | on: [push] 3 | 4 | permissions: 5 | contents: write 6 | actions: read 7 | checks: read 8 | deployments: write 9 | issues: read 10 | packages: read 11 | pull-requests: none 12 | repository-projects: read 13 | security-events: read 14 | statuses: write 15 | 16 | jobs: 17 | compile: 18 | runs-on: ubuntu-20.04 19 | 20 | steps: 21 | - name: Checkout_git 22 | uses: actions/checkout@v4 23 | with: 24 | # We must fetch at least the immediate parents so that if this is 25 | # a pull request then we can checkout the head. 26 | fetch-depth: 15 27 | - name: install_packages 28 | run: | 29 | sudo apt-get update 30 | sudo apt-get install runc containerd docker.io 31 | sudo systemctl unmask docker 32 | sudo systemctl start docker 33 | sudo systemctl status docker 34 | - name: start_docker 35 | run: | 36 | sudo usermod -aG docker $USER 37 | sudo gpasswd -a $USER docker 38 | id -nG 39 | - name: build_appimage 40 | run: | 41 | "./build_appimage.sh" 42 | chmod a+x wxmaxima-x86_64.AppImage 43 | ls -lh 44 | - name: Test for Appimage 45 | run: | 46 | if [ ! -s "wxmaxima-x86_64.AppImage" ]; then echo "AppImage wasn't created!"; fi 47 | # - name: build_flatpack 48 | # run: | 49 | # sudo apt-get install flatpak flatpak-builder 50 | # sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo 51 | # flatpak install --or-update flathub org.gnome.Sdk//42 org.gnome.Platform/x86_64/42 -y 52 | # flatpak-builder tmp org.flatpak.wxmaxima.yml 53 | - name: Release 54 | uses: softprops/action-gh-release@v2 55 | if: startsWith(github.ref, 'refs/tags/') 56 | with: 57 | files: wxmaxima-x86_64.AppImage 58 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | *.AppImage 3 | wxmaxima 4 | flatpack 5 | maxima 6 | #* 7 | .flatpak_builder 8 | .flatpak-builder/* -------------------------------------------------------------------------------- /AppRun: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | PATH="$APPDIR/usr/bin:$PATH" 4 | export PATH 5 | 6 | MAXIMA_PREFIX=$APPDIR/maxima-inst 7 | export MAXIMA_PREFIX 8 | 9 | LD_LIBRARY_PATH=$APPDIR/usr/lib 10 | export LD_LIBRARY_PATH 11 | 12 | GNUPLOT_DRIVER_DIR=$APPDIR/gnuplot-inst/libexec/gnuplot/5.2 13 | export GNUPLOT_DRIVER_DIR 14 | 15 | $APPDIR/usr/bin/wxmaxima "$@" -m $APPDIR/usr/bin/maxima 16 | -------------------------------------------------------------------------------- /CHANGELOG: -------------------------------------------------------------------------------- 1 | A compilation on a new release 2 | 3 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | #FROM ubuntu:trusty 2 | FROM debian:bookworm 3 | 4 | ARG ARCH=x86_64 5 | 6 | RUN apt-get update && apt-get -q -y install git autoconf python3 binutils \ 7 | texinfo gcc libtool vim desktop-file-utils pkgconf libcairo2-dev \ 8 | libssl-dev libfuse3-dev zsync wget fuse3 bzip2 gawk g++ gperf \ 9 | libgtk-3-dev doxygen libatspi2.0-dev ninja-build make flatpak flatpak-builder \ 10 | libwebkit2gtk-4.0-dev appstream appstream-util curl sbcl 11 | 12 | RUN apt-get update && apt-get -q -y install cmake 13 | 14 | RUN apt-get update && apt-get -q -y install libwxgtk3.2-dev libwxgtk-webview3.2-dev libwxgtk-media3.2-dev gnuplot libpng-dev 15 | 16 | ENV maxima_build tags/5.47.0 17 | 18 | RUN git clone https://git.code.sf.net/p/maxima/code maxima-code && \ 19 | cd maxima-code && \ 20 | git checkout ${maxima_build} 21 | 22 | RUN cd maxima-code && \ 23 | mkdir dist && \ 24 | ./bootstrap && \ 25 | ./configure --enable-sbcl-exec --enable-quiet-build --prefix=`pwd`/dist && \ 26 | make -s -j 2&& \ 27 | make install 28 | 29 | ENV wxmaxima_build Version-23.05.1 30 | 31 | RUN git clone https://github.com/wxMaxima-developers/wxmaxima.git && \ 32 | cd wxmaxima && \ 33 | git checkout ${wxmaxima_build} 34 | 35 | RUN cd wxmaxima && \ 36 | mkdir -p build && \ 37 | cd build && \ 38 | cmake -DCMAKE_INSTALL_PREFIX:PATH=/wxmaxima-inst -DCMAKE_CXX_FLAGS="-static-libgcc -static-libstdc++" -DCMAKE_LD_FLAGS="-static-libgcc -static-libstdc++" .. && \ 39 | cmake --build . && \ 40 | cmake --build . -- install 41 | 42 | COPY appimagetool-$ARCH.AppImage / 43 | RUN chmod +x appimagetool-$ARCH.AppImage 44 | RUN ./appimagetool-$ARCH.AppImage --appimage-extract && \ 45 | cp -R squashfs-root/* . 46 | 47 | RUN mkdir maxima-squashfs 48 | WORKDIR maxima-squashfs 49 | RUN mkdir -p usr/bin 50 | 51 | 52 | RUN mkdir maxima-inst && \ 53 | (cd ../maxima-code/dist && tar cf - *) | (cd maxima-inst && tar xf -) 54 | RUN ln -s share/info maxima-inst/info 55 | RUN ln -s ../../maxima-inst/bin/maxima usr/bin/maxima 56 | 57 | RUN (cd .. && tar cf - wxmaxima-inst) | tar xf - 58 | RUN ln -s ../../wxmaxima-inst/bin/wxmaxima usr/bin/wxmaxima 59 | 60 | RUN mkdir -p usr/share/metainfo 61 | COPY io.github.wxmaxima_developers.wxMaxima.appdata.xml usr/share/metainfo/ 62 | COPY linux_1.png . 63 | 64 | COPY AppRun . 65 | RUN chmod +x AppRun 66 | COPY io.github.wxmaxima_developers.wxMaxima.desktop . 67 | RUN mkdir -p /usr/share/applications/ 68 | COPY io.github.wxmaxima_developers.wxMaxima.desktop /usr/share/applications/ 69 | COPY maxima.png . 70 | RUN mkdir -p /usr/share/pixmaps/ 71 | COPY maxima.png /usr/share/pixmaps/io.github.wxmaxima_developers.wxMaxima.png 72 | 73 | WORKDIR / 74 | 75 | # https://github.com/AppImage/AppImageKit for "-n" option 76 | RUN ARCH=$ARCH appimagetool -n maxima-squashfs 77 | 78 | 79 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Appimage build for wxMaxima 2 | =========================== 3 | 4 | What is it? 5 | ----------- 6 | 7 | An AppImage is a a-complete-app-in-one-executable-file build of an application. 8 | 9 | How to download and use it 10 | -------------------------- 11 | 12 | * Download the appImage from https://github.com/wxMaxima-developers/docker-wxmaxima/releases 13 | * Tell your operating system that this file is executable (using `chmod +x filename` or 14 | similar) 15 | * Start the file. 16 | 17 | Building the Appimage yourself 18 | ------------------------------ 19 | 20 | To build the Appimage, run the following command: 21 | 22 | ``` 23 | $ docker build -t wxmaxima . 24 | ``` 25 | 26 | This will build all dependenecies and the wxMaxima application itself. 27 | After the build has completed, run the following command to copy the 28 | Appimage from the container: 29 | 30 | ``` 31 | $ docker run wxmaxima cat wxmaxima-x86_64.AppImage > wxmaxima-x86_64.AppImage 32 | ``` 33 | 34 | Finally, set the executable flag so that the executable can be run: 35 | 36 | ``` 37 | $ chmod +x wxmaxima-x86_64.AppImage 38 | ``` 39 | 40 | All of these commands have been combined to a shell script, 41 | 42 | ``` 43 | $ build.sh 44 | ``` 45 | 46 | Making an official release of the Appimage 47 | ------------------------------------------ 48 | 49 | In theory all that has to be made in order to generate an official release 50 | including a binary file is just creating a tag in this git repo. The rest 51 | is done by travis-ci. 52 | -------------------------------------------------------------------------------- /appimagetool-x86_64.AppImage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wxMaxima-developers/docker-wxmaxima/eb4798713d0bd74ca29ef11de141108cc4f9d291/appimagetool-x86_64.AppImage -------------------------------------------------------------------------------- /build_appimage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | docker build -t wxmaxima . 3 | docker run wxmaxima cat wxmaxima-x86_64.AppImage > wxmaxima-x86_64.AppImage 4 | chmod +x wxmaxima-x86_64.AppImage 5 | -------------------------------------------------------------------------------- /build_flatpack.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ENV wxmaxima_build Version-22.05.0 4 | 5 | export wxmaxima_build=Version-24.11.0 6 | export maxima_build=tags/5.47.0 7 | 8 | git clone https://github.com/wxMaxima-developers/wxmaxima.git 9 | cd wxmaxima 10 | git checkout ${wxmaxima_build} 11 | cd .. 12 | 13 | git clone https://git.code.sf.net/p/maxima/code maxima-code 14 | cd maxima-code 15 | git checkout ${maxima_build} 16 | cd .. 17 | 18 | mkdir flatpack 19 | flatpack-builder flatpack com.github.wxMaxima-developers.wxmaxima.yml 20 | -------------------------------------------------------------------------------- /com.github.wxMaxima-developers.wxmaxima.yml: -------------------------------------------------------------------------------- 1 | app-id: com.github.wxMaxima-developers.wxmaxima 2 | runtime: org.freedesktop.Platform 3 | sdk: org.freedesktop.Sdk 4 | command: wxmaxima 5 | modules: 6 | - name: wxmaxima 7 | buildsystem: cmake 8 | sources: 9 | - type: git 10 | url: https://github.com/wxMaxima-developers/wxmaxima.git 11 | tag: "Version-22.05.0" 12 | -------------------------------------------------------------------------------- /io.github.wxmaxima_developers.wxMaxima.appdata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | io.github.wxmaxima_developers.wxMaxima 4 | MIT 5 | GPL-2.0+ 6 | wxmaxima 7 | wxmaxima 8 | 9 |

Maxima is a system for the manipulation of symbolic and numerical expressions, including differentiation, integration, Taylor series, Laplace transforms, ordinary differential equations, systems of linear equations, polynomials, sets, lists, vectors, matrices and tensors. Maxima yields high precision numerical results by using exact fractions, arbitrary-precision integers and variable-precision floating-point numbers. Maxima can plot functions and data in two and three dimensions.

10 |
11 | io.github.wxmaxima_developers.wxMaxima.desktop 12 | https://wxmaxima-developers.github.io/wxmaxima/ 13 | 14 | 15 | https://wxmaxima-developers.github.io/wxmaxima/images/linux_1.png 16 | 17 | 18 | 19 | wxmaxima.desktop 20 | 21 |
22 | -------------------------------------------------------------------------------- /io.github.wxmaxima_developers.wxMaxima.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Name=wxmaxima 4 | Exec=foo2 5 | Comment=wxMaxima is a document based interface for the computer algebra system Maxima 6 | Icon=maxima 7 | Categories=Development; 8 | Terminal=true 9 | -------------------------------------------------------------------------------- /linux_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wxMaxima-developers/docker-wxmaxima/eb4798713d0bd74ca29ef11de141108cc4f9d291/linux_1.png -------------------------------------------------------------------------------- /maxima.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wxMaxima-developers/docker-wxmaxima/eb4798713d0bd74ca29ef11de141108cc4f9d291/maxima.png -------------------------------------------------------------------------------- /org.flatpak.wxmaxima.yml: -------------------------------------------------------------------------------- 1 | app-id: org.flatpak.wxMaxima 2 | runtime: org.gnome.Platform 3 | runtime-version: '42' 4 | sdk: org.gnome.Sdk 5 | command: wxmaxima 6 | modules: 7 | - name: wxWidgets 8 | buildsystem: autotools 9 | sources: 10 | - type: git 11 | url: https://github.com/wxWidgets/wxWidgets 12 | branch: 3.2 13 | - name: sbcl 14 | buildsystem: simple 15 | sources: 16 | - type: archive 17 | url: http://prdownloads.sourceforge.net/sbcl/sbcl-2.2.8-x86-64-linux-binary.tar.bz2 18 | sha512: db1b81b603cdf6b76147d13502d3c152b8a78c2119b9df59a4e3705c93bc5ab208491a4ba19e28e31813e7da13d2d8d3a1a493dc86e143a5725bebffdc10e397 19 | build-commands: 20 | - sh install.sh --prefix=/app 21 | - name: maxima 22 | buildsystem: autotools 23 | config-opts: 24 | - --enable-sbcl-exec 25 | sources: 26 | - type: git 27 | url: https://peterpall@git.code.sf.net/p/maxima/code 28 | branch: 5.46.0 29 | - name: wxmaxima 30 | buildsystem: cmake 31 | sources: 32 | - type: git 33 | url: https://github.com/wxmaxima-developers/wxmaxima.git 34 | branch: main 35 | # branch: Version-20.09.0 36 | 37 | -------------------------------------------------------------------------------- /test.wxmx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wxMaxima-developers/docker-wxmaxima/eb4798713d0bd74ca29ef11de141108cc4f9d291/test.wxmx -------------------------------------------------------------------------------- /update_versions.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | maxima_build='tags\/5.47.0' 4 | wxmaxima_build='Version-24.11.0' 5 | 6 | sed -i -e "s/ENV maxima_build .*/ENV maxima_build $maxima_build/" Dockerfile 7 | sed -i -e "s/ENV wxmaxima_build .*/ENV wxmaxima_build $wxmaxima_build/" Dockerfile 8 | sed -i -e "s/export wxmaxima_build.*/export wxmaxima_build=$wxmaxima_build/" build_flatpack.sh 9 | sed -i -e "s/export maxima_build.*/export maxima_build=$maxima_build/" build_flatpack.sh 10 | --------------------------------------------------------------------------------