From b9a78bd949f525106e05847edf808029c0a6036b Mon Sep 17 00:00:00 2001 From: Didier Spaier Date: Fri, 9 Oct 2015 23:57:37 +0700 Subject: system/bicon: Added (a Bidirectional Console). Signed-off-by: Willy Sudiarto Raharjo --- system/bicon/HISTORY | 87 +++++++++++++++++++++++++++++++++ system/bicon/README | 21 ++++++++ system/bicon/README.Slackware | 68 ++++++++++++++++++++++++++ system/bicon/bicon.SlackBuild | 110 ++++++++++++++++++++++++++++++++++++++++++ system/bicon/bicon.info | 10 ++++ system/bicon/slack-desc | 19 ++++++++ 6 files changed, 315 insertions(+) create mode 100644 system/bicon/HISTORY create mode 100644 system/bicon/README create mode 100644 system/bicon/README.Slackware create mode 100644 system/bicon/bicon.SlackBuild create mode 100644 system/bicon/bicon.info create mode 100644 system/bicon/slack-desc diff --git a/system/bicon/HISTORY b/system/bicon/HISTORY new file mode 100644 index 0000000000..7b540ea3ef --- /dev/null +++ b/system/bicon/HISTORY @@ -0,0 +1,87 @@ +======== +History +======== + +This program, BiCon, has a very entangled history. +That being said, here is a try on explaining it. + +Prologue +-------- + +The program is the last in a series on programs to make the +console support bidirectionality. This has been needed in the +Arabic, Persian and Hebrew languages among others. + +Acon +---- +Written by Ahmed Abdel-Hamid Mohamed, this was the first program +that enjoyed relatively wide support, as it was distributed in +Mandrake. + +Akka +---- +The second effort has gone into improving the original acon code +and giving it vast additional abilities, this was the Akka +project, in Arabeyes. The Akka project is still there, if +somebody wants to look at it. Key contributors are Chahine +Hamila, Mohamed Elzubeir and Samy Al Bahra. It reached the +version 1.0 beta, but the code is becoming too complicated for +further enhancements. Additional information is found in the +project site, at Arabeyes. + +Farsi +----- +Taking place more or less parallel to the Akka development, +Behdad Esfahbod - widely known for his work on FriBidi - wrote +"farsi", as a tool doing the same job as Akka, more Persian +oriented. He adopted the basic joining code from Roozbeh +Pournader, and borrowed some from script(1), mixed and matched +with FriBidi and Voila! The code from script(1) proved to be the +major stopper for its distribution. More of the story can be +found in HISTORY.farsi, in this package. + +At last: BiCon +-------------- +The next step in Arabeyes was to base the code on the old farsi +code. After cleaning up the problematic-licensed code and +enhancing Arabic support besides Persian, _BiCon_ was there. + +Here is the old ChangeLog: + + +2004-January Behdad Esfahbod + * *: Well, code is handed to Arabeyes people. Decided to + change the name to "BiCon". I'm not going to be the + maintainer anymore (hopefully). Already imported to + Arabeyes CVS. These nice people have removed the code + borrowed from "script" and replaced with code from Python + sources. We are still to make changes to fit the new + system. Thanks guys. + +========================================================================== + +2002-06-13 Behdad Esfahbod + * */*.[ch]: Major changes. Support many options now, among them is + the option to output logical text, not visual. + +2002-06-12 Behdad Esfahbod + * keymap/isiri2901.kmap.gz: Proposed key positions for bidi marks + added. + +2001-12-14 Behdad Esfahbod + * farsi: Makes the shells current directory to be the same as when + user runs the script. + +2001-12-05 Behdad Esfahbod + * fcon/fcon.c: Now accepts parameters to run instead of default /bin/sh. + * bin/farsi: Pass parameteres to fcon. + * bin/farsidict: A small script for dictionary lookup, using farsi. + +2001-10-13 Behdad Esfahbod + * */Makefile: Small changes. + +2001-10-04 Behdad Esfahbod + * fconsole/Makefile: Set target clean to remove fconsole-config too. + +2001-9-22 Behdad Esfahbod + * First released under farsidev mailing list. diff --git a/system/bicon/README b/system/bicon/README new file mode 100644 index 0000000000..d6bb8e8389 --- /dev/null +++ b/system/bicon/README @@ -0,0 +1,21 @@ +BiCon: a Bidirectional Console + +BiCon can be used under Linux console, or terminal emulators with +basic Unicode rendering (UTF-8). + +Run "bicon" to get a console supporting Arabic or Persian according +to LANG or specify the country on the command line, for instance: + bicon ir # for Persian (Iran) + +Keymaps and fonts for Arabic and Persian are included. + +Use alt+shift to switch keyboard layouts in a graphical environment. +To know more: + + "man bicon" +and + "man bicon.bin" + +See also /usr/doc/bicon-/README.Slackware for BiCon's usage. + +BiCon is maintained by Behdad Esfahbod. diff --git a/system/bicon/README.Slackware b/system/bicon/README.Slackware new file mode 100644 index 0000000000..5b3b0d83f5 --- /dev/null +++ b/system/bicon/README.Slackware @@ -0,0 +1,68 @@ +Additional information about BiCon's behavior +============================================= + +BiCon behaves differently if called as "bicon" or "bicon.bin", and also +started from the console (or a tty) versus in a graphical environment. + +BiCon ships two keymaps: arabic.map.gz and ir.map.gz and some console +fonts, mainly bicon-8x16-512.psfu.gz. + +It can be started as "bicon" or "bicon.bin" + +If started as "bicon" it sets the keymap or keyboard layout in a way that +depends whether the "bicon" command is given or not an argument. + +1) If started as "bicon" from the console. + +If a two characters country code is given as argument it is considered +to choose the keymap, else the country (or "territory" to be accurate) +part of LANG is used. +_ If the country (converted to lowercase letters) is found in this list: + ae dz eg iq jo ko kw lb ly ma om qa sa sd sy tn ye + then the keymap "arabic" is chosen. +_ If the country is "IR" or "ir" then the keymap "ir" is chosen. + +The font bicon-8x16-512 is always used with its Unicode map. + +IMPORTANT. You won't be able to use the "setfont" command after having +started bicon as a regular user. You will have to tentatively become root +with "su" to change the font if you want. + +2) If started as "bicon" from an X terminal. + +You will need to use an UTF-8 able or enabled terminal. + +A switchable keyboard layout (us + the language that correspond to the +country set by the user or found in LANG) is set. + +IMPORTANT: +_ BiCon doesn't set the font. You'll have to do that yourself. Be careful + to use a font including the needed glyphs. +_ BiCon sets the "option" for the X server to: + "grp:alt_shift_toggle,grp_led:scroll" + and the "layout" to: + "us," + +This will override the key combination that you possibly have set in +/etc/X11/xorg.conf.d/90-keyboard-layout.conf to toggle keyboards. + +But you can change the settings made by BiCon with a command like this +one (after having started BiCon, of course): + setxkbmap \ + -display "$DISPLAY" \ + -layout "," \ + -option " \ + -print | \ + xkbcomp -w 2 - "$DISPLAY" + +3) If started as bicon.bin, BiCon doesn't load any font or keyboard. +You might prefer it that way if you want to keep your own settings. + +Reference: file bin/bicon.in in the source archive. + +See also: +_ man bicon +_ man bicon.bin +_ documents in /usr/doc/bicon- + +Didier Spaier , 27/07/2015 diff --git a/system/bicon/bicon.SlackBuild b/system/bicon/bicon.SlackBuild new file mode 100644 index 0000000000..5095ce416e --- /dev/null +++ b/system/bicon/bicon.SlackBuild @@ -0,0 +1,110 @@ +#!/bin/sh + +# Slackware build script for bicon + +# Copyright 2015 Didier Spaier Paris, France +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PRGNAM=bicon +VERSION=${VERSION:-0.5} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i486 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -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-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +cd $PRGNAM-$VERSION +chown -R root:root . + +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + + +./autogen.sh +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --docdir=/usr/doc/$PRGNAM-$VERSION \ + --enable-static=no \ + --build=$ARCH-slackware-linux + +make +make install DESTDIR=$PKG + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +find $PKG/usr/man -type f -exec gzip -9 {} \; +for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a AUTHORS NEWS README THANKS TODO COPYING $PKG/usr/doc/$PRGNAM-$VERSION + +# The file HISTORY is missing in the source tarball but can be of interest +# to some. +cp -a $CWD/HISTORY $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +# Some additional explanations about BiCon's usage could help the user +cp -a $CWD/README.Slackware $PKG/usr/doc/$PRGNAM-$VERSION + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/system/bicon/bicon.info b/system/bicon/bicon.info new file mode 100644 index 0000000000..8f47b3eb8c --- /dev/null +++ b/system/bicon/bicon.info @@ -0,0 +1,10 @@ +PRGNAM="bicon" +VERSION="0.5" +HOMEPAGE="https://github.com/behdad/bicon" +DOWNLOAD="https://github.com/behdad/bicon/releases/download/0.5/bicon-0.5.tar.gz" +MD5SUM="862972ed260f9e74277b8eeb7c81e126" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="" +MAINTAINER="Didier Spaier" +EMAIL="didier at slint dot fr" diff --git a/system/bicon/slack-desc b/system/bicon/slack-desc new file mode 100644 index 0000000000..4157e58efe --- /dev/null +++ b/system/bicon/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------------------------------------------------------| +bicon: bicon (a Bidirectional Console) +bicon: +bicon: BiCon can be used under Linux console, or terminal emulators with +bicon: basic Unicode rendering (UTF-8). +bicon: +bicon: Run "bicon" to get a console supporting Arabic or Persian according +bicon: to LANG or specify the country on the command line, for instance: +bicon: bicon ir # for Persian (Iran) +bicon: +bicon: Use alt+shift to switch keyboard layouts. See "man bicon". +bicon: Keymaps and fonts for Arabic and Persian are included. -- cgit v1.2.3