You are not logged in.
One may want to install the "DevelopmentSnapshot" of wxMaxima, because the "stable versions" of wxMaxima (available in Devuan/Debian repositories) are so buggy that they are impossible to use.
The "DevelopmentSnapshot" of wxMaxima seems to work on Devuan 5 Daedalus. It looks usable, although, of course, there still a lot of bugs.
The package of wxMaxima (DevelopmentSnapshot) is available in Arch Linux AUR repository:
_https://aur.archlinux.org/packages/wxmaxima
_https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=wxmaxima
Therefore, it is not difficult to build a Debian package of the "DevelopmentSnapshot".
$ inxi -b | grep Host -A1
Host: devuan Kernel: 6.1.0-33-amd64 arch: x86_64 bits: 64 Desktop: MATE
v: 1.26.0 Distro: Devuan GNU/Linux 5 (daedalus)
Install "build-essential", build dependencies, etc.:
sudo apt install build-essential debhelper
sudo apt install libwxgtk3.2-dev xvfb netcat-openbsd xauth desktop-file-utils appstream-util libwxgtk-webview3.2-dev libwebkit2gtk-4.0-dev
sudo apt install fakeroot dpkg-repack git sed tree maxima appstream pandoc po4a imagemagick doxygen texlive-xetex
man CMake
_https://cmake.org/cmake/help/latest/manual/cmake.1.html
Creating debian packages — CMake
_https://karthikkalyanaraman.medium.com/creating-debian-packages-cmake-e519a0186e87
Download portable CMake v4.0.1:
https://github.com/Kitware/CMake/releases/download/v4.0.1/cmake-4.0.1-linux-x86_64.tar.gz
The manual for portable CMake is here:
https://dev1galaxy.org/viewtopic.php?id=7161
Clone the source from git:
mkdir Build_wxmaxima_25.01.0_GIT
cd Build_wxmaxima_25.01.0_GIT
git clone https://github.com/wxmaxima-developers/wxmaxima.git
$ ls
wxmaxima
$ cmake --version
cmake version 3.25.1
export PATH="$HOME/.CTools/cmake-4.0.1/bin:$PATH"
$ cmake --version
cmake version 4.0.1
1. Generate the Project Buildsystem
cmake \
-S wxmaxima \
-B build \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_CXX_STANDARD=14 \
-DCMAKE_CXX_COMPILER=g++ \
-DwxWidgets_CONFIG_EXECUTABLE=/usr/bin/wx-config \
-Wno-dev
$ ls -1
build
wxmaxima
2. Build the Project
cmake --build build
3. Install wxMaxima to a sub-folder "WXMDIR"
DESTDIR="WXMDIR" cmake --install build
$ ls -1
build
wxmaxima
WXMDIR
$ du -sh WXMDIR
16M WXMDIR
$ du -s WXMDIR
15752 WXMDIR
$ tree -a -L 3 WXMDIR
WXMDIR
└── usr
├── bin
│ └── wxmaxima
└── share
├── applications
├── bash-completion
├── doc
├── icons
├── locale
├── man
├── metainfo
├── mime
├── pixmaps
└── wxMaxima
Open fakeroot console:
$ fakeroot
# mkdir -pv ./WXMDIR/DEBIAN
mkdir: created directory './WXMDIR/DEBIAN'
Create "DEBIAN/control":
# nano ./WXMDIR/DEBIAN/control
# cat ./WXMDIR/DEBIAN/control
Package: wxmaxima
Version: 25.01.0-1
Architecture: amd64
Maintainer: $USER
Installed-Size: 16M (≈15752)
Depends: libc6 (>= 2.34), libgcc-s1 (>= 3.0), libstdc++6 (>= 11), libwxbase3.2-1 (>= 3.2.2+dfsg), libwxgtk-webview3.2-1 (>= 3.2.2+dfsg), libwxgtk3.2-1 (>= 3.2.1+dfsg-2), maxima
Recommends: maxima-doc, fonts-inter, fonts-inter-variable
Suggests: fonts-jsmath, texlive-latex-extra, ibus-gtk3
Section: math
Priority: optional
Homepage: http://wxmaxima-developers.github.io/wxmaxima/
Description: GUI for the computer algebra system Maxima
wxMaxima is a graphical user interface for the computer algebra system
Maxima. It eases the use of Maxima by making most of its commands available
through a menu system and by providing input dialogs for commands that
require more than one argument. It also implements its own display engine
that outputs mathematical symbols directly instead of depicting them with
ASCII characters.
.
wxMaxima also features 2D and 3D inline plots, simple animations, mixing of
text and mathematical calculations to create documents, exporting of input
and output to TeX, and a browser for Maxima's manual including command index
and full text searching.
Source: https://github.com/wxMaxima-developers/wxmaxima
Generate DEBIAN/md5sums
# cd WXMDIR
# find . -type f -not -path "./DEBIAN/*" -exec md5sum {} + | sort -k 2 | sed 's/\.\/\(.*\)/\1/' > DEBIAN/md5sums
# ls -1 DEBIAN
control
md5sums
# cd ../
Build the Debian package:
# dpkg-deb -b WXMDIR wxmaxima_25.01.0-1-devuan5_amd64-git.deb
dpkg-deb: building package 'wxmaxima' in 'wxmaxima_25.01.0-1-devuan5_amd64-git.deb'.
# ls *.deb
wxmaxima_25.01.0-1-devuan5_amd64-git.deb
Exit fakeroot console
# exit
exit
Check the "info":
$ dpkg --info *git.deb
new Debian package, version 2.0.
size 4236464 bytes: control archive=928 bytes.
1249 bytes, 24 lines control
Package: wxmaxima
Version: 25.01.0-1
Architecture: amd64
...
sudo dpkg -i wxmaxima_25.01.0-1-devuan5_amd64-git.deb
$ wxmaxima --version
wxMaxima 25.01.0-DevelopmentSnapshot (Git version: 8de10d448)
$ apt info wxmaxima
Package: wxmaxima
Version: 25.01.0-1
Status: install ok installed
...
dpkg-repack
DESCRIPTION dpkg-repack creates a .deb file out of a Debian package that has already been installed on your system. If any changes have been made to the package while it was unpacked (e.g. conffiles files in /etc modified), the new package will inherit the changes. (There are exceptions to this, including changes to configuration files that are not conffiles, including those managed by ucf(1).) This utility can make it easy to copy packages from one computer to another, or to recreate packages that are installed on your system, but no longer available elsewhere. Note: dpkg-repack will place the created package in the current directory.
It can create a Debian package from the installed one (e.g. wxMaxima)
$ dpkg -l | grep wxmaxima
ii wxmaxima 25.01.0-1 amd64 GUI for the computer algebra system Maxima
$ fakeroot -u dpkg-repack wxmaxima
dpkg-deb: building package 'wxmaxima' in './wxmaxima_25.01.0-1_amd64.deb'.
$ ls
wxmaxima_25.01.0-1_amd64.deb
Extract "control-information" from the package:
$ dpkg-deb -e wxmaxima_25.01.0-1_amd64.deb
$ ls -1
DEBIAN
wxmaxima_25.01.0-1_amd64.deb
$ tree -a DEBIAN
DEBIAN
├── control
└── md5sums
See also:
Recreate Debian Binary Packages That Are Already Installed On A System
_https://ostechnix.com/recreate-debian-binary-packages-that-are-already-installed-on-a-system/
Creating debian packages — CMake
_https://karthikkalyanaraman.medium.com/creating-debian-packages-cmake-e519a0186e87
Last edited by igorzwx (2025-04-22 15:22:19)
Offline
mkdir wxmaxima_build
cd wxmaxima_build
git clone https://github.com/wxmaxima-developers/wxmaxima.git
$ ls
wxmaxima
Project: wxMaxima 25.01.0-DevelopmentSnapshot (git)
Create a sort of config for "CPack DEB Generator" with a text editor you like
nano ./wxmaxima/Packing.cmake
$ cat ./wxmaxima/Packing.cmake
# these are cache variables, so they could be overwritten with -D,
set(CPACK_PACKAGE_NAME ${PROJECT_NAME}
CACHE STRING "The resulting package name"
)
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY ${PROJECT_DESCRIPTION}
CACHE STRING "Package description for the package metadata"
)
set(CPACK_VERBATIM_VARIABLES TRUE)
set(CPACK_PACKAGING_INSTALL_PREFIX "/usr")
set(CPACK_PACKAGE_VERSION "${WXMAXIMA_VERSION}-1")
set(CPACK_DEBIAN_PACKAGE_MAINTAINER $USER)
# AUTO-Deps: autogenerate dependency information
set (CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
list(APPEND CPACK_DEBIAN_PACKAGE_DEPENDS maxima)
set(CPACK_DEBIAN_PACKAGE_RECOMMENDS "maxima-doc, fonts-inter, fonts-inter-variable, fonts-texgyre, fonts-texgyre-math, fonts-dejavu")
set(CPACK_DEBIAN_PACKAGE_SUGGESTS "fonts-jsmath, texlive-latex-extra, ibus-gtk3")
set(CPACK_DEBIAN_PACKAGE_SECTION math)
set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/README.md")
set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT)
include(CPack)
Find the config of the main project:
$ find . -maxdepth 2 -name 'CMakeLists*'
./wxmaxima/CMakeLists.txt
$ ls ./wxmaxima | grep CMakeLists
CMakeLists.txt
To enable the GPac config (Packing.cmake) in the config of the main project, append a "magic code"
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR})
include(Packing)
to the end of the file ./wxmaxima/CMakeLists.txt. This can be done with a text editor, or echo command:
$ echo -e '\n\nset(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR})\ninclude(Packing)' >> ./wxmaxima/CMakeLists.txt
$ tail -3 ./wxmaxima/CMakeLists.txt
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR})
include(Packing)
Enable CMake 4.0.1
$ cmake --version
cmake version 3.25.1
export PATH="$HOME/.CTools/cmake-4.0.1/bin:$PATH"
$ cmake --version
cmake version 4.0.1
1. Generate the Project Buildsystem
cmake \
-S wxmaxima \
-B build \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_CXX_STANDARD=14 \
-DCMAKE_CXX_COMPILER=g++ \
-DwxWidgets_CONFIG_EXECUTABLE=/usr/bin/wx-config \
-Wno-dev
$ ls -1
build
wxmaxima
2. Build the Project
cmake --build build
3. Make the Debian package of wxMaxima with CPack
$ ls ./build | grep Config.cmake
CPackConfig.cmake
CPackSourceConfig.cmake
$ cpack --config build/CPackConfig.cmake -G DEB
CPack: Create package using DEB
CPack: Install projects
CPack: - Run preinstall target for: wxMaxima
CPack: - Install project: wxMaxima []
CPack: Create package
CPackDeb: - Generating dependency list
CPack: - package: /home/.../wxmaxima_build/wxmaxima_25.01.0-DevelopmentSnapshot-1_amd64.deb generated.
CPack can also generate source packages:
cpack --config build/CPackSourceConfig.cmake
$ ls -1
build
_CPack_Packages
wxmaxima
wxmaxima_25.01.0-DevelopmentSnapshot-1_amd64.deb
wxMaxima-25.01.0-DevelopmentSnapshot-1-Source.tar.bz2
wxMaxima-25.01.0-DevelopmentSnapshot-1-Source.tar.gz
wxMaxima-25.01.0-DevelopmentSnapshot-1-Source.tar.xz
wxMaxima-25.01.0-DevelopmentSnapshot-1-Source.tar.Z
See also: _https://cmake.org/cmake/help/book/mastering-cmake/chapter/Packaging%20With%20CPack.html#simple-example
$ dpkg-deb -f *.deb
Architecture: amd64
Depends: maxima, libc6 (>= 2.34), libgcc-s1 (>= 3.0), libstdc++6 (>= 11), libwxbase3.2-1 (>= 3.2.2+dfsg), libwxgtk-webview3.2-1 (>= 3.2.2+dfsg), libwxgtk3.2-1 (>= 3.2.1+dfsg-2)
Description: wxMaxima is a document based interface for the computer algebra system Maxima.
Homepage: https://wxmaxima-developers.github.io/wxmaxima/
Maintainer: $USER
Package: wxmaxima
Priority: optional
Recommends: maxima-doc, fonts-inter, fonts-inter-variable, fonts-texgyre, fonts-texgyre-math, fonts-dejavu
Section: math
Suggests: fonts-jsmath, texlive-latex-extra, ibus-gtk3
Version: 25.01.0-DevelopmentSnapshot-1
Installed-Size: 15544
Install wxMaxima
sudo dpkg -i wxmaxima_25.01.0-DevelopmentSnapshot-1_amd64.deb
$ apt show wxmaxima
Package: wxmaxima
Version: 25.01.0-DevelopmentSnapshot-1
Status: install ok installed
Priority: optional
Section: math
Maintainer: $USER
Installed-Size: 15.9 MB
Depends: maxima, libc6 (>= 2.34), libgcc-s1 (>= 3.0), libstdc++6 (>= 11), libwxbase3.2-1 (>= 3.2.2+dfsg), libwxgtk-webview3.2-1 (>= 3.2.2+dfsg), libwxgtk3.2-1 (>= 3.2.1+dfsg-2)
Recommends: maxima-doc, fonts-inter, fonts-inter-variable, fonts-texgyre, fonts-texgyre-math, fonts-dejavu
Suggests: fonts-jsmath, texlive-latex-extra, ibus-gtk3
Homepage: https://wxmaxima-developers.github.io/wxmaxima/
Download-Size: unknown
APT-Manual-Installed: yes
APT-Sources: /var/lib/dpkg/status
Description: wxMaxima is a document based interface for the computer algebra system Maxima.
N: There is 1 additional record. Please use the '-a' switch to see it
Some bugs become visible, if you try a dark theme for wxMaxima worksheets.
A workaround is to disable "Intelligently hide cell brackets"wxMaxima → Edit → Configure → Worksheet: Disable (uncheck) "Intelligently hide cell brackets"
You may also try:
wxMaxima → View → "Invert worksheet brightness"
wxMaxima is a GUI for maxima. If maxima fails to work (as it usually happens on Fedora), wxMaxima does not react on maxima commands (e.g., 1 + 1). The Fedora users, of course, cannot understand what is going on. This is, largely because, perhaps, there are pipewire/pulseaudio users.
You may want to test maxima before testing wxMaxima. To open Maxima Shell, type the command maxima in the command-line terminal.
$ maxima Maxima 5.46.0 https://maxima.sourceforge.io using Lisp GNU Common Lisp (GCL) GCL 2.6.14 git tag Version_2_6_15pre3 Distributed under the GNU Public License. See the file COPYING. Dedicated to the memory of William Schelter. The function bug_report() provides bug reporting information. (%i1) A: (x-2)*(x-3); (%o1) (x - 3) (x - 2) (%i2) B: expand(A); 2 (%o2) x - 5 x + 6 (%i3) solve(B,x); (%o3) [x = 3, x = 2] (%i4) factor(B); (%o4) (x - 3) (x - 2) (%i5) subst(x=3,B); (%o5) 0 (%i6) subst(x=2,B); (%o6) 0 (%i7) quit();
Perhaps, mathematical knowledge may help to understand the problems of digital sound processing (e.g., resampling), but it may not liberate from ignorance. The cult of pulseaudio is a sort of Cargo cult, and therefore, it is doomed to persist despite any failures to materialize utopian dreams. If the particular "advanced projects" failed, the ends are still valid, and the dream as a vehicle of truth stays unimpaired. The "myth-dream" of the cult is, in essence, a self-generating "objective truth". The "myth-dream" of "advanced Linux sound system" will inevitably produce new sorts of pulseaudio/pipewire and other "advanced crap". The problem is that such myths generate the true knowledge which emerges as an imperative to action. The Cargo cult persists because it fails to fulfill its ends. The cult of systemd is the same thing.
In the context of Cargo the myth-dream is truth, and, moreover, the several truths contained in the myth-dream emerge as imperatives. Ideally, the task of the charismatic figure can be seen as an attempt to realize these imperatives in action. (Kenelm Burridge, Mambu (1960). pp. 249-250).
Last edited by igorzwx (Yesterday 00:00:10)
Offline