diff options
author | B. Watson <urchlay@slackware.uk> | 2023-07-30 15:17:55 +0900 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2023-08-05 10:08:45 +0700 |
commit | 12a2b7302f0839ae592ed87e2a8528b603ab6729 (patch) | |
tree | 15ed158f53c752a788eb6cb7fdf30f4635126b23 /network/qodem | |
parent | ca3340edf0ac64e1ff7557b25273dfa7a04183cb (diff) |
network/qodem: Added (terminal emulator).
Signed-off-by: Andrew Clemons <andrew.clemons@gmail.com>
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'network/qodem')
-rw-r--r-- | network/qodem/README | 20 | ||||
-rw-r--r-- | network/qodem/doinst.sh | 17 | ||||
-rw-r--r-- | network/qodem/qodem-convert.1 | 101 | ||||
-rw-r--r-- | network/qodem/qodem-convert.rst | 67 | ||||
-rw-r--r-- | network/qodem/qodem-x11.desktop | 10 | ||||
-rw-r--r-- | network/qodem/qodem.SlackBuild | 172 | ||||
-rw-r--r-- | network/qodem/qodem.desktop | 10 | ||||
-rw-r--r-- | network/qodem/qodem.info | 10 | ||||
-rw-r--r-- | network/qodem/slack-desc | 19 |
9 files changed, 426 insertions, 0 deletions
diff --git a/network/qodem/README b/network/qodem/README new file mode 100644 index 0000000000000..577222ae811c4 --- /dev/null +++ b/network/qodem/README @@ -0,0 +1,20 @@ +qodem (BBS-oriented terminal emulator) + +qodem is a from-scratch clone implementation of the Qmodem +communications program made popular in the days when Bulletin Board +Systems ruled the night. Qodem emulates the dialing directory and +the terminal screen features of Qmodem over both modem and Internet +connections. + +qodem also emulates ATASCII (Atari 8-bit) and PETSCII (Commodore +8-bit), and can be used to run a local shell. + +Note: qodem-x11 doesn't handle PETSCII correctly. Instead, launch +qodem in a terminal with the PETSCII font (adjust the size= to your +taste): + +$ urxvt -fn "xft:C64 Pro Mono:size=13" -e qodem + +More information on BBSes can be found here, along with an up-to-date +list of telnet BBSes: +https://www.telnetbbsguide.com/ diff --git a/network/qodem/doinst.sh b/network/qodem/doinst.sh new file mode 100644 index 0000000000000..12b14570f0614 --- /dev/null +++ b/network/qodem/doinst.sh @@ -0,0 +1,17 @@ +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 +fi + +if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then + if [ -x /usr/bin/gtk-update-icon-cache ]; then + /usr/bin/gtk-update-icon-cache -f usr/share/icons/hicolor >/dev/null 2>&1 + fi +fi + +if [ -x /usr/bin/mkfontdir -a -x /usr/bin/mkfontscale ]; then + ( cd usr/share/fonts/TTF + /usr/bin/mkfontscale . + /usr/bin/mkfontdir . ) +fi + +[ -x /usr/bin/fc-cache ] && /usr/bin/fc-cache -f diff --git a/network/qodem/qodem-convert.1 b/network/qodem/qodem-convert.1 new file mode 100644 index 0000000000000..e92a4d9bfa642 --- /dev/null +++ b/network/qodem/qodem-convert.1 @@ -0,0 +1,101 @@ +.\" Man page generated from reStructuredText. +. +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.TH "QODEM-CONVERT" 1 "2023-07-29" "1.0.1" "SlackBuilds.org" +.SH NAME +qodem-convert \- convert BBS dialing lists to qodem format +.\" RST source for qodem-convert(1) man page. Convert with: +. +.\" rst2man.py qodem-convert.rst > qodem-convert.1 +. +.SH SYNOPSIS +.sp +qodem\-convert\-syncterm \fBinput.lst\fP \fBoutput.txt\fP +.sp +qodem\-convert\-ibbs \fBinput.txt\fP \fBoutput.txt\fP +.SH DESCRIPTION +.sp +These utilities convert BBS dialing lists to the \fBfonebook.txt\fP +format used by \fBqodem\fP(1). +.sp +To convert a \fBsyncterm\fP(1) list, use a command like: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +qodem\-convert\-syncterm ~/.syncterm/syncterm.lst ~/.qodem/fonebook.txt +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +To convert the telnetbbsguide list, first download it from: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +https://www.telnetbbsguide.com/lists/download\-list/ +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Get either the Monthly or Daily zip file. Extract it, and find the +"short form" list, which will have a filename like \fBshort_Jul_23.txt\fP\&. +Use a command like: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +qodem\-convert\-ibbs short_Jul_23.txt ~/.qodem/fonebook.txt +.ft P +.fi +.UNINDENT +.UNINDENT +.SH COPYRIGHT +.sp +Public Domain, or CC0 License in jurisdictions that do not recognize +the public domain. +.SH AUTHORS +.sp +\fBqodem\fP, \fBqodem\-convert\-syncterm\fP, and \fBqodem\-convert\-ibbs\fP were +written by Autumn Lamonte. +.sp +This man page written for the SlackBuilds.org project +by B. Watson, and is licensed under the WTFPL. +.SH SEE ALSO +.sp +\fBqodem\fP(1), \fBqodem\-x11\fP(1), \fBsyncterm\fP(1) +.sp +The qodem homepage: \fI\%https://qodem.sourceforge.io/\fP +.\" Generated by docutils manpage writer. +. diff --git a/network/qodem/qodem-convert.rst b/network/qodem/qodem-convert.rst new file mode 100644 index 0000000000000..e51935eee0dcc --- /dev/null +++ b/network/qodem/qodem-convert.rst @@ -0,0 +1,67 @@ +.. RST source for qodem-convert(1) man page. Convert with: +.. rst2man.py qodem-convert.rst > qodem-convert.1 + +.. |version| replace:: 1.0.1 +.. |date| date:: + +============= +qodem-convert +============= + +----------------------------------------- +convert BBS dialing lists to qodem format +----------------------------------------- + +:Manual section: 1 +:Manual group: SlackBuilds.org +:Date: |date| +:Version: |version| + +SYNOPSIS +======== + +qodem-convert-syncterm **input.lst** **output.txt** + +qodem-convert-ibbs **input.txt** **output.txt** + +DESCRIPTION +=========== + +These utilities convert BBS dialing lists to the **fonebook.txt** +format used by **qodem**\(1). + +To convert a **syncterm**\(1) list, use a command like:: + + qodem-convert-syncterm ~/.syncterm/syncterm.lst ~/.qodem/fonebook.txt + +To convert the telnetbbsguide list, first download it from:: + + https://www.telnetbbsguide.com/lists/download-list/ + +Get either the Monthly or Daily zip file. Extract it, and find the +"short form" list, which will have a filename like **short_Jul_23.txt**. +Use a command like:: + + qodem-convert-ibbs short_Jul_23.txt ~/.qodem/fonebook.txt + +COPYRIGHT +========= + +Public Domain, or CC0 License in jurisdictions that do not recognize +the public domain. + +AUTHORS +======= + +**qodem**, **qodem-convert-syncterm**, and **qodem-convert-ibbs** were +written by Autumn Lamonte. + +This man page written for the SlackBuilds.org project +by B. Watson, and is licensed under the WTFPL. + +SEE ALSO +======== + +**qodem**\(1), **qodem-x11**\(1), **syncterm**\(1) + +The qodem homepage: https://qodem.sourceforge.io/ diff --git a/network/qodem/qodem-x11.desktop b/network/qodem/qodem-x11.desktop new file mode 100644 index 0000000000000..e1cdcadca82b7 --- /dev/null +++ b/network/qodem/qodem-x11.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Type=Application +Name=Qodem (X11) +Comment=ANSI-BBS Terminal +Comment[es]=Emulador de Terminal ANSI-BBS +Icon=qodem +Exec=qodem-x11 %u +Terminal=false +Categories=TerminalEmulator;Network;Dialup; +Keywords=BBS;Terminal;Ansi; diff --git a/network/qodem/qodem.SlackBuild b/network/qodem/qodem.SlackBuild new file mode 100644 index 0000000000000..87c818eec392e --- /dev/null +++ b/network/qodem/qodem.SlackBuild @@ -0,0 +1,172 @@ +#!/bin/bash + +# Slackware build script for qodem + +# Written by B. Watson (urchlay@slackware.uk) + +# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details. + +# Notes: +# - Package includes both terminal (qodem) and X11 (qodem-x11) binaries. +# - qodem-x11 always builds with its bundled copy of pdcurses, regardless of +# whether our PDCurses package is installed. Perfectly OK, just worth +# mentioning why PDCurses isn't a dependency. +# - Two choices for ssh support: build with bundled cryptlib (like syncterm +# does), or run an external ssh command. Upstream's default is the latter, +# I won't change it. Plus, using the ssh binary has the useful side effect +# of respecting your ~/.ssh/config. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=qodem +VERSION=${VERSION:-1.0.1} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-v$VERSION +tar xvf $CWD/$PRGNAM-v$VERSION.tar.gz +cd $PRGNAM-v$VERSION +chown -R root:root . +find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} + -o \ + \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} + + +# There's no configure option to override use of the system miniupnp +# library; it'll fall back to its own bundled version if not found. +# This makes it always use the bundled one, for a reproducible build +# and to avoid a hidden dependency. +sed -i '/Q_USE_SYSTEM_UPNP="yes"/s,yes,no,' configure + +# Use our flags for sub-makes. +sed -i -e 's,-ggdb,,' \ + -e "s,-O0,$SLKCFLAGS," \ + lib/pdcurses/Makefile \ + lib/upnp/Makefile + +# The X11 build runs external commands in a separate terminal. Change +# the default terminal to something that actually exists on Slackware. +# This is just the default (can still be changed in ~/.qodem/qodemrc). +sed -i 's,x-terminal-emulator,xterm,g' source/{options,help}.c + +# Don't repeat myself (much, anyway): +buildit() { + CFLAGS="$SLKCFLAGS" \ + CXXFLAGS="$SLKCFLAGS" \ + ./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --docdir=/usr/doc/$PRGNAM-$VERSION \ + --build=$ARCH-slackware-linux \ + "$@" + make + make install-strip DESTDIR=$PKG +} + +### this builds the terminal binary (qodem): +buildit + +### now start over, prepare to build the x11 binary (qodem-x11): +make distclean + +# we have to build these separately, for parallel builds (-jN, N>1): +make -C lib/pdcurses +make -C lib/upnp + +# sub-projects built, now we can build qodem-x11: +buildit --enable-x11 + +### everything else: + +# This script isn't useful. All it would ever do is "exec qodem-x11", since +# our package includes that. +rm -f $PKG/usr/bin/x$PRGNAM $PKG/usr/man/man1/x$PRGNAM.1 + +# There was no documentation for the conversion scripts, so I wrote some: +cat $CWD/qodem-convert.1 > $PKG/usr/man/man1/qodem-convert.1 + +# All man pages in place, so: +gzip -9 $PKG/usr/man/man*/* + +# useful-looking stuff in misc/, include in package: +for i in ibbs syncterm; do + cp -a misc/convert_${i}.pl $PKG/usr/bin/qodem-convert-$i + ln -s qodem-convert.1.gz $PKG/usr/man/man1/qodem-convert-$i.1.gz +done + +# qodem-x11 doesn't seem to use this font when in PETSCII mode, but +# it works OK if you run qodem in a terminal using the font: +mkdir -p $PKG/usr/share/fonts/TTF +cp -a misc/fonts/C64_Pro_Mono-STYLE.ttf $PKG/usr/share/fonts/TTF + +# .desktop files written by SlackBuild author: +mkdir -p $PKG/usr/share/applications +install -oroot -groot -m0644 $CWD/$PRGNAM*.desktop $PKG/usr/share/applications + +# Upstream provided icons at various sizes: +cp build/icons/qodem.png build/osx/icons/qodem-64.png +for png in build/osx/icons/qodem-*.png; do + px="$( basename $png .png | cut -d- -f2 )" + size=${px}x${px} + dir=$PKG/usr/share/icons/hicolor/$size/apps + mkdir -p $dir + cat $png > $dir/$PRGNAM.png +done + +mkdir -p $PKG/usr/share/pixmaps +ln -s ../icons/hicolor/48x48/apps/$PRGNAM.png $PKG/usr/share/pixmaps/$PRGNAM.png + +# Most of what's in docs/ is developer-oriented, but the PD +# announcement is the closest thing we've got to a license... +PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION +mkdir -p $PKGDOC +cp -a C* README* docs/pd_announcement2.txt $PKGDOC +cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$PRGNAM.SlackBuild + +# It works out OK to use the same script for doinst.sh and douninst.sh. +# Result is that it truly does clean up after itself. +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh +cat $CWD/doinst.sh > $PKG/install/douninst.sh + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/network/qodem/qodem.desktop b/network/qodem/qodem.desktop new file mode 100644 index 0000000000000..523db54cde33c --- /dev/null +++ b/network/qodem/qodem.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Type=Application +Name=Qodem (curses) +Comment=ANSI-BBS Terminal +Comment[es]=Emulador de Terminal ANSI-BBS +Icon=qodem +Exec=qodem %u +Terminal=true +Categories=TerminalEmulator;Network;Dialup; +Keywords=BBS;Terminal;Ansi; diff --git a/network/qodem/qodem.info b/network/qodem/qodem.info new file mode 100644 index 0000000000000..b542a46e41617 --- /dev/null +++ b/network/qodem/qodem.info @@ -0,0 +1,10 @@ +PRGNAM="qodem" +VERSION="1.0.1" +HOMEPAGE="https://qodem.sourceforge.net/" +DOWNLOAD="https://gitlab.com/AutumnMeowMeow/qodem/-/archive/v1.0.1/qodem-v1.0.1.tar.gz" +MD5SUM="57d58342377a7232e7bf66246d6a18e6" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="" +MAINTAINER="B. Watson" +EMAIL="urchlay@slackware.uk" diff --git a/network/qodem/slack-desc b/network/qodem/slack-desc new file mode 100644 index 0000000000000..12885b8c96c89 --- /dev/null +++ b/network/qodem/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +qodem: qodem (BBS-oriented terminal emulator) +qodem: +qodem: qodem is a from-scratch clone implementation of the Qmodem +qodem: communications program made popular in the days when Bulletin Board +qodem: Systems ruled the night. Qodem emulates the dialing directory and +qodem: the terminal screen features of Qmodem over both modem and Internet +qodem: connections. +qodem: +qodem: qodem also emulates ATASCII (Atari 8-bit) and PETSCII (Commodore +qodem: 8-bit), and can be used to run a local shell. +qodem: |