in reply to Re^4: Curses-based applications?
in thread Curses-based applications?

fantasic!
So you've managed tvision to run on termux and provided a fix for it?

Cool!

Thanks! )

Replies are listed 'Best First'.
Re^6: Curses-based applications? - TVision installation on Linux
by marioroy (Prior) on Apr 05, 2025 at 03:55 UTC

    Perl TVision installation on Linux

    The C library build requirements are "libncursesw" (note the 'w') and "libgpm" for mouse support. Install dev/devel packages if packaged separately i.e. on Debian, Fedora, and Ubuntu.

    # On Arch Linux sudo pacman -S ncurses gpm

    The Perl module build requires "Text::Template" to make "TVision-methods.xs" and "typemap". Install manually if missing.

    # On Arch Linux sudo pacman -S perl-text-template # or via CPAN sudo cpanm -n Text::Template

    From the Turbo Vision README, the runtime requirements are "xsel" or "xclip" for clipboard support in X11 or "wl-clipboard" in Wayland environments.

    # On Arch Linux sudo pacman -S xsel # X11 sudo pacman -S wl-clipboard # Wayland

    Build the "Turbo Vision" C shared library

    This requires a line change in "source/CMakeLists.txt" or the Perl module will fail due to missing shared library.

    git clone --depth=1 https://github.com/magiblot/tvision cd tvision sed -i 's! STATIC ! SHARED !g' source/CMakeLists.txt cmake . -B ./build -DCMAKE_BUILD_TYPE=Release cmake --build ./build sudo cmake --install ./build cd ..

    Build the "TVision" Perl module

    The GCC "-fpermissive" option is needed or the compiler will exit due to type mismatch.

    Ignore the MANIFEST missing warnings. It assumes having "tvision.git" in this folder.

    git clone --depth=1 https://github.com/vadrerko/perl-tvision cd perl-tvision X_CFLAGS="-I/usr/local/include -fpermissive -fPIC" X_LDFLAGS="-L/usr/local/lib -ltvision -lncursesw -lgpm" perl Makefile.PL --cflags="$X_CFLAGS" --ldflags="$X_LDFLAGS" make TVision-methods.xs make typemap make make test perl -Iblib/arch -Iblib/lib t/f.t perl -Iblib/arch -Iblib/lib demo/forms.pl perl -Iblib/arch -Iblib/lib demo/tdialog.pl sudo make install cd ..

    This worked for me on Arch-based Linux distro.

      thank you for your feedback,
      the module now is on its way for stabilisation, right now it is not finished and actually not ready for the actual release.

      Currently, I am in progress of borrowing of geometry managers from tcl/tk, which is somewhat non-trivial, and am planning to finish with geometry managers in a week or two.

      After that, will need to implement callbacks (also with tcl/tk like syntax) and then investigate about memory leaks.