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

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.

Replies are listed 'Best First'.
Re^7: Curses-based applications? - TVision installation on Linux
by vkon (Curate) on Apr 24, 2025 at 06:32 UTC
    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.

Re^7: Curses-based applications? - TVision installation on Linux
by vkon (Curate) on Apr 24, 2025 at 06:39 UTC