1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
|
# README #

[](https://scan.coverity.com/projects/uhlin-swirc)
[](https://github.com/uhlin/swirc/actions/workflows/codeql.yml)
[](https://github.com/uhlin/swirc/actions/workflows/macos.yml)
## What is Swirc? ##
Swirc is a BSD licensed, console based and lightweight ICB and IRC
client written in C/C++, whose goals are to be portable and secure.
[Official Swirc homepage](https://www.nifty-networks.net/swirc/)
## Program options ##
usage: swirc [-46?CPRSXdipv] [-W password] [-c server[:port]] [-h hostname] [-j join] [-n nickname] [-r rl name] [-u username] [-x config]
-4 Use IPv4 addresses only
-6 Use IPv6 addresses only
-?, --help Output help
-C Do not change color definitions
-P Permanently disable SASL authentication
-R Disable TLS/SSL peer verification
-S Force TLS
-W <password> Equal effect as flag 'p' but non-interactive
-X Disable all IRCv3 extensions
-c <server[:port]> Connect to IRC server
-d Debug logging
-h <hostname> Sets the bind host
-i Turn on Internet Citizen's Band mode
-j <join> A comma-separated list of channels to join
-n <nickname> Online nickname
-p Query for server password (for private servers)
-r <rl name> Your real name
-u <username> Your username
-v, --version Output Swirc version
-x <config> Config file
## SAST Tools ##
[PVS-Studio](https://pvs-studio.com/en/pvs-studio/?utm_source=website&utm_medium=github&utm_campaign=open_source) - static analyzer for C, C++, C#, and Java code.
## Cloning ##
To clone the repository use [Git](https://git-scm.com).
$ git clone https://github.com/uhlin/swirc.git
## Building ##
### Framework ###
Swirc currently depends on:
* [Curl](https://curl.haxx.se/libcurl/)
* [GNOME libnotify](https://wiki.gnome.org/)
* [GNU gettext](https://www.gnu.org/software/gettext/)
* [GNU libiconv](https://www.gnu.org/software/libiconv/)
* [GNU libidn](https://www.gnu.org/software/libidn/)
* [Hunspell](https://hunspell.github.io/)
* [Ncurses](https://www.gnu.org/software/ncurses/ncurses.html)
with wide character support
* [OpenSSL toolkit](https://www.openssl.org/)
Which means that on for example a Debian GNU/Linux system you need to
install these packages before building:
# apt install gettext libcurl4-openssl-dev libhunspell-dev libidn11-dev libncursesw5-dev libssl-dev
And on Mac OS X, provided that
[Homebrew](http://brew.sh/)
is installed, issue:
$ brew install hunspell
$ brew install libressl
Prompts that begin with a hash(#) symbolizes that the command shall be
executed as root, while prompts that begin with a dollar sign ($)
symbolizes that the command shall be executed as a normal user.
#### Void Linux ####
# xbps-install -S gettext-devel hunspell-devel libcurl-devel libidn-devel libnotify-devel ncurses-devel openssl-devel
### Building for the UNIX environment ###
On the BSDs and GNU/Linux the configure script will per default
generate make definitions that expects that the C compiler
[GCC](https://gcc.gnu.org/)
is installed on your system. A make utility must also be
present. Regarding Mac OS X I suggest that you install
[Xcode](https://developer.apple.com/xcode/).
Due to certain circumstances I no longer can confirm that building for
OS X works.
$ cd /path/to/swirc
$ ./configure
$ make
#### Configuration options ####
The following options can be passed to the configure script:
- `--with-libnotify`: Enable support for desktop notifications
- `--without-libiconv`: Build without GNU libiconv
- `--without-libidn`: Build without GNU libidn
- `--without-libintl`: No internationalization
#### Install ####
1. Installing it under `/usr/local`:
$ sudo make install
2. Installing it under `/home/user` without the translations (in which
case you also should've passed `--without-libintl` to the configure
script):
$ PREFIX=/home/user make install-no-lc-msgs
### Building for Windows ###
To build Swirc for Windows you must have
[Visual Studio](http://www.visualstudio.com/).
So, fire up the command prompt for
[Visual Studio](http://www.visualstudio.com/)
where the needed tools (the compiler, etc.) are loaded into the
environment. The regular command prompt won't work. Then:
cd c:\path\to\swirc
nmake -f Makefile.vc
*Done!*
To make a distribution of Swirc use:
nmake -f Makefile.vc dist
## Cleaning ##
Examples:
$ make clean
$ nmake -f Makefile.vc clean
|