1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-13 06:34:47 +02:00

Compare commits

..

2 Commits

Author SHA1 Message Date
Sebastien Helleu b01bc3eb21 Version 0.2.6.1 2009-03-14 17:06:55 +01:00
Sebastien Helleu d44762aa43 Fix crash with some special chars in IRC messages (bug #25862) 2009-03-14 17:06:03 +01:00
1436 changed files with 290233 additions and 833361 deletions
-30
View File
@@ -1,30 +0,0 @@
# SPDX-FileCopyrightText: 2024 Emil Velikov <emil.l.velikov@gmail.com>
# SPDX-FileCopyrightText: 2024-2025 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# To use this config on you editor, follow the instructions at:
# https://editorconfig.org
root = true
[*]
charset = utf-8
insert_final_newline = true
indent_size = 4
indent_style = space
tab_width = 8
trim_trailing_whitespace = true
[{*.{c,cpp,h}}]
max_line_length = 80
[{CMakeLists.txt,*.cmake}]
max_line_length = 80
indent_size = 2
[*.html]
indent_size = 2
[*.yml]
indent_size = 2
-11
View File
@@ -1,11 +0,0 @@
# SPDX-FileCopyrightText: 2013-2025 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
# files/directories excluded from tarballs
.git* export-ignore
debian-devel export-ignore
debian-stable export-ignore
.mailmap export-ignore
tools/build_debian.sh export-ignore
-5
View File
@@ -1,5 +0,0 @@
# SPDX-FileCopyrightText: 2019-2025 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
custom: https://weechat.org/donate/
-114
View File
@@ -1,114 +0,0 @@
# SPDX-FileCopyrightText: 2023-2025 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
name: Bug report
description: Create a bug report
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Before submitting a bug, please check that it has not already been reported by searching in [open and closed bugs](https://github.com/weechat/weechat/issues?q=is%3Aissue+label%3Abug).
If you don't use the latest version, please try if possible with the latest stable release to be sure the issue is still present and report the issue on this version.
**IMPORTANT**: please do not report any security issue here, see [CONTRIBUTING.md](https://github.com/weechat/weechat/blob/main/CONTRIBUTING.md#security-reports).
- type: textarea
id: bug-description
attributes:
label: Describe the bug
description: A clear and concise description of what the bug is.
validations:
required: true
- type: textarea
id: steps-to-reproduce
attributes:
label: Steps to reproduce
description: |
Steps to reproduce the issue.
If possible, please try to reproduce with a default configuration and no scripts loaded (`weechat -t`). If the issue is related to a script, please mention the list of all scripts loaded.
placeholder: |
1.
2.
3.
validations:
required: true
- type: textarea
id: current-behavior
attributes:
label: Current behavior
description: |
What currently happens.
validations:
required: true
- type: textarea
id: expected-behavior
attributes:
label: Expected behavior
description: What is actually supposed to happen.
validations:
required: true
- type: textarea
id: suggested-solutions
attributes:
label: Suggested solutions
description: How you think this issue can be resolved.
validations:
required: false
- type: textarea
id: additional-information
attributes:
label: Additional information
description: |
For a crash, please include a backtrace from gdb, see the [User's guide](https://weechat.org/doc/weechat/user/#report_crashes).
For a display issue, please add a screenshot if it makes sense.
Please mention if other versions are affected as well and if some versions are not affected (regression?).
And any additional information you deem relevant.
validations:
required: false
- type: input
id: weechat-version
attributes:
label: WeeChat version
description: |
For a stable release: output of `weechat --version`.
For the development version: output of command `/v` in WeeChat.
placeholder: "4.1.1"
validations:
required: true
- type: input
id: os-version
attributes:
label: What OS/distribution are you using?
description: Name of the operating system and its version.
placeholder: Debian 12, Ubuntu 24.04, macOS 14, ...
validations:
required: true
- type: input
id: terminal
attributes:
label: On which terminal are you running WeeChat?
description: The name of terminal if you think it can be related to the issue (mainly for display issues).
placeholder: Terminator, Xterm, GNOME Terminal, Urxvt, ...
validations:
required: false
- type: input
id: terminal-multiplexer
attributes:
label: Which terminal multiplexer are you using?
description: The name of the terminal multiplexer if you think it can be related to the issue (mainly for display issues).
placeholder: none, tmux, screen, ...
validations:
required: false
-5
View File
@@ -1,5 +0,0 @@
# SPDX-FileCopyrightText: 2020-2025 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
blank_issues_enabled: false
@@ -1,21 +0,0 @@
# SPDX-FileCopyrightText: 2023-2025 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
name: Feature request
description: Request a new feature / enhancement
labels: ["feature"]
body:
- type: markdown
attributes:
value: |
Before submitting a feature request, please check that it has not already been reported by searching in [open and closed feature requests](https://github.com/weechat/weechat/issues?q=is%3Aissue+label%3Afeature).
- type: textarea
id: feature
attributes:
label: Feature description
description: A description of the feature you would like.
validations:
required: true
-25
View File
@@ -1,25 +0,0 @@
# SPDX-FileCopyrightText: 2023-2025 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
name: Question
description: Ask a question
labels: ["question"]
body:
- type: markdown
attributes:
value: |
Before opening an issue with a question:
- please read the [FAQ](https://weechat.org/doc/weechat/faq) and [documentation](https://weechat.org/doc/weechat/)
- please ask on #weechat channel (on server irc.libera.chat).
**IMPORTANT**: please do not report any security issue here, see [CONTRIBUTING.md](https://github.com/weechat/weechat/blob/main/CONTRIBUTING.md#security-reports).
- type: textarea
id: question
attributes:
label: Question
description: Your question.
validations:
required: true
-449
View File
@@ -1,449 +0,0 @@
# SPDX-FileCopyrightText: 2020-2025 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
name: CI
on:
push:
pull_request:
schedule:
- cron: '22 9 * * 2'
env:
WEECHAT_DEPS_UBUNTU: >-
asciidoctor
build-essential
cmake
curl
devscripts
equivs
flake8
gem2deb
guile-3.0-dev
lcov
libargon2-dev
libaspell-dev
libcjson-dev
libcpputest-dev
libcurl4-gnutls-dev
libgcrypt20-dev
libgnutls28-dev
liblua5.3-dev
libncurses-dev
libperl-dev
libphp-embed
libsodium-dev
libv8-dev
libzstd-dev
ninja-build
php-dev
pipx
pkgconf
pylint
python3-bandit
python3-dev
ruby-pygments.rb
shellcheck
tcl8.6-dev
zlib1g-dev
WEECHAT_DEPS_ROCKYLINUX: >-
asciidoctor
aspell-devel
cjson-devel
clang
cmake
cpputest-devel
gcc
gettext
glibc-langpack-en
gnutls-devel
guile30-devel
libcurl-devel
libgcrypt-devel
libzstd-devel
lua-devel
ncurses-devel
perl-devel
php-devel
php-embedded
python-devel
ruby-devel
sudo
tcl-devel
zlib-devel
WEECHAT_DEPS_FREEBSD: >-
aspell
cmake
cpputest
curl
gcc
gettext
git
gnutls
guile3
libargon2
libcjson
libgcrypt
libiconv
llvm
lua54
ncurses
perl5
php83
pkgconf
python3
ruby
rubygem-asciidoctor
sudo
tcl86
zstd
jobs:
tests_ubuntu:
strategy:
matrix:
os:
- ubuntu-24.04
config:
- name: "gcc"
cc: "gcc"
cxx: "g++"
buildargs: "-DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_TESTS=ON"
- name: "gcc_ninja"
cc: "gcc"
cxx: "g++"
buildargs: "-G Ninja -DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_TESTS=ON"
- name: "gcc_no_nls"
cc: "gcc"
cxx: "g++"
buildargs: "-DENABLE_MAN=ON -DENABLE_TESTS=ON -DENABLE_NLS=OFF"
- name: "gcc_no_zstd"
cc: "gcc"
cxx: "g++"
buildargs: "-DENABLE_TESTS=ON -DENABLE_ZSTD=OFF"
- name: "gcc_no_cjson"
cc: "gcc"
cxx: "g++"
buildargs: "-DENABLE_TESTS=ON -DENABLE_CJSON=OFF"
- name: "gcc_no_perl_multiplicity"
cc: "gcc"
cxx: "g++"
buildargs: "-DENABLE_TESTS=ON -DCMAKE_C_FLAGS=\"-DNO_PERL_MULTIPLICITY=1\""
- name: "gcc_coverage"
cc: "gcc"
cxx: "g++"
buildargs: "-DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_TESTS=ON -DENABLE_CODE_COVERAGE=ON"
- name: "clang"
cc: "clang"
cxx: "clang++"
buildargs: "-DENABLE_CODE_COVERAGE=ON -DENABLE_FUZZ=ON"
name: "${{ matrix.os }} (${{ matrix.config.name }})"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update -qq
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPS_UBUNTU }}
# uninstall php imagick as is causes a crash when loading php plugin (see #2009)
sudo apt-get --yes purge php8.3-imagick
pipx install msgcheck schemathesis
- name: Check gettext files
run: msgcheck po/*.po
- name: Check shell and Python scripts
run: ./tools/check_scripts.sh
- name: Check Python stub file
run: ./tools/generate_python_stub.py | diff src/plugins/python/weechat.pyi -
- name: Check Curl symbols
run: curl --silent --show-error --fail --retry 10 https://raw.githubusercontent.com/curl/curl/master/docs/libcurl/symbols-in-versions | ./tools/check_curl_symbols.py
- name: Build and run tests
env:
CC: ${{ matrix.config.cc }}
CXX: ${{ matrix.config.cxx }}
run: ./tools/build_test.sh ${{ matrix.config.buildargs }}
- name: Run WeeChat
env:
TERM: xterm-256color
run: |
weechat --help
weechat-curses --help
weechat --version
weechat --build-info
weechat --colors
weechat --license
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
- name: Test Relay OpenAPI
if: ${{ matrix.config.name == 'gcc' }}
env:
RELAY_PASSWORD: test
run: |
weechat-headless \
--dir /tmp/weechat-test-api \
--run-command '/set relay.network.password "${{ env.RELAY_PASSWORD }}"' \
--run-command '/relay add api 9000' \
--daemon \
;
sleep 5
./tools/test_relay_api.sh http://localhost:9000
echo '*/quit' >/tmp/weechat-test-api/weechat_fifo_*
- name: Code coverage
if: ${{ matrix.config.name == 'gcc_coverage' }}
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
run: |
cd build-tmp-*
lcov --directory . --capture --output-file coverage.info
lcov --remove coverage.info '/usr/*' --output-file coverage.info
lcov --list coverage.info
bash <(curl -s https://codecov.io/bash) -f coverage.info || echo 'Codecov error'
build_debian:
strategy:
matrix:
os:
- ubuntu-24.04
name: "${{ matrix.os }} (build Debian)"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update -qq
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPS_UBUNTU }}
- name: Test Debian patches
run: ./tools/build_debian.sh test-patches
- name: Build Debian packages
run: ./tools/build_debian.sh devel ubuntu/noble
- name: Install Debian packages
run: sudo dpkg -i ../weechat-devel*.deb
- name: Run WeeChat
env:
TERM: xterm-256color
run: |
weechat --help
weechat-curses --help
weechat --version
weechat --build-info
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
codeql-analysis:
strategy:
matrix:
os:
- ubuntu-24.04
name: "${{ matrix.os }} (CodeQL)"
runs-on: ${{ matrix.os }}
permissions:
actions: read
contents: read
security-events: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update -qq
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPS_UBUNTU }}
# uninstall php imagick as is causes a crash when loading php plugin (see #2009)
sudo apt-get --yes purge php8.3-imagick
pipx install msgcheck
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: cpp
- name: Autobuild
uses: github/codeql-action/autobuild@v3
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:cpp"
tests_rockylinux:
strategy:
matrix:
os:
- ubuntu-24.04
config:
- name: "gcc"
cc: "gcc"
cxx: "g++"
buildargs: "-DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_TESTS=ON"
- name: "clang"
cc: "clang"
cxx: "clang++"
buildargs: "-DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_TESTS=ON -DENABLE_CODE_COVERAGE=ON -DENABLE_FUZZ=ON"
name: "rockylinux-9 (${{ matrix.config.name }})"
runs-on: ${{ matrix.os }}
container:
image: rockylinux:9
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
dnf install -y epel-release
dnf config-manager --set-enabled crb
dnf install -y ${{ env.WEECHAT_DEPS_ROCKYLINUX }}
- name: Build and run tests
env:
CC: ${{ matrix.config.cc }}
CXX: ${{ matrix.config.cxx }}
run: ./tools/build_test.sh ${{ matrix.config.buildargs }}
- name: Run WeeChat
env:
TERM: xterm-256color
run: |
weechat --help
weechat-curses --help
weechat --version
weechat --build-info
weechat --colors
weechat --license
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
tests_freebsd:
strategy:
matrix:
os:
- ubuntu-24.04
config:
# - name: "gcc"
# cc: "gcc"
# cxx: "g++"
# buildargs: "-DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_TESTS=ON"
- name: "clang"
cc: "clang"
cxx: "clang++"
buildargs: "-DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_TESTS=ON -DENABLE_CODE_COVERAGE=ON -DENABLE_FUZZ=ON"
name: "freebsd-14 (${{ matrix.config.name }})"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Install dependencies, build and run tests, run WeeChat
uses: vmactions/freebsd-vm@v1
env:
CC: ${{ matrix.config.cc }}
CXX: ${{ matrix.config.cxx }}
TERM: xterm-256color
with:
envs: "CC CXX TERM"
usesh: true
prepare: pkg install -y ${{ env.WEECHAT_DEPS_FREEBSD }}
run: |
./tools/build_test.sh ${{ matrix.config.buildargs }}
weechat --help
weechat-curses --help
weechat --version
weechat --build-info
weechat --colors
weechat --license
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
tests_macos:
strategy:
matrix:
os:
- macos-14
config:
- name: "gcc"
cc: "gcc"
cxx: "g++"
buildargs: "-DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_DOC_INCOMPLETE=ON -DENABLE_PHP=OFF -DENABLE_TESTS=OFF"
- name: "clang"
cc: "clang"
cxx: "clang++"
buildargs: "-DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_DOC_INCOMPLETE=ON -DENABLE_PHP=OFF -DENABLE_TESTS=OFF"
name: "${{ matrix.os }} (${{ matrix.config.name }})"
runs-on: ${{ matrix.os }}
steps:
- name: Setup Homebrew
id: setup-homebrew
uses: Homebrew/actions/setup-homebrew@master
- name: Install dependencies
run: |
brew update
# temporary fix, see: https://github.com/actions/setup-python/issues/577
rm -f \
/usr/local/bin/2to3 \
/usr/local/bin/idle3 \
/usr/local/bin/pydoc3 \
/usr/local/bin/python3 \
/usr/local/bin/python3-config \
/usr/local/bin/2to3-3.11 \
/usr/local/bin/idle3.11 \
/usr/local/bin/pydoc3.11 \
/usr/local/bin/python3.11 \
/usr/local/bin/python3.11-config \
;
brew install asciidoctor aspell cjson guile lua pkg-config ruby
- uses: actions/checkout@v4
- name: Build
env:
CC: ${{ matrix.config.cc }}
CXX: ${{ matrix.config.cxx }}
RUN_TESTS: "0"
JOBS: "2"
run: ./tools/build_test.sh ${{ matrix.config.buildargs }}
- name: Run WeeChat
env:
TERM: xterm-256color
run: |
weechat --help
weechat-curses --help
weechat --version
weechat --build-info
weechat --colors
weechat --license
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
-22
View File
@@ -1,22 +0,0 @@
# SPDX-FileCopyrightText: 2025 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
name: REUSE Compliance Check
on:
- push
- pull_request
jobs:
test:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: REUSE Compliance Check
uses: fsfe/reuse-action@v4
-13
View File
@@ -1,13 +0,0 @@
# SPDX-FileCopyrightText: 2007-2025 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
/build
/builddir
/debian
/debian-devel/changelog
/debian-devel/*.log
/debian-devel/*-stamp
/debian-stable/*.log
/debian-stable/*-stamp
/release
-25
View File
@@ -1,25 +0,0 @@
# SPDX-FileCopyrightText: 2014-2025 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# Map author and committer names and email addresses to canonical real names
# and email addresses.
#
# For example with these commands:
# git shortlog -nse
# git shortlog -se | cut -f2 | sort
Sébastien Helleu <flashcode@flashtux.org>
Sébastien Helleu <flashcode@flashtux.org> <flashcode@krypton>
Sébastien Helleu <flashcode@flashtux.org> <flashcode>
Sébastien Helleu <flashcode@flashtux.org> <uid67137>
Nils Görs <weechatter@arcor.de>
Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
Krzysztof Korościk <soltys@soltys.info>
Krzysztof Korościk <soltys@soltys.info> <soltys1@gmail.com>
Krzysztof Korościk <soltys@soltys.info> <soltys@szluug.org>
Marco Paolone <marcopaolone@gmail.com>
<marcopaolone@gmail.com> <marco@DrB4tch.sitecomwl601>
<mikaela.suomalainen@outlook.com> <mkaysi@outlook.com>
<simon@arlott.org> <sa.me.uk>
<Simon.Kuhnle@cs.fau.de> <simon@blarzwurst.de>
+1111
View File
File diff suppressed because it is too large Load Diff
+47
View File
@@ -0,0 +1,47 @@
WeeChat - Wee Enhanced Environment for Chat
===========================================
Developers:
----------
* General code
FlashCode <flashcode@flashtux.org>
Web : http://weechat.flashtux.org
IRC : nick is "FlashCode" @ irc.freenode.net
* Scripts plugins
kolter <kolter@openics.org>
IRC : nick is "kolter" @ irc.freenode.net
Debian packager:
---------------
Julien Louis <ptitlouis@sysif.net>
IRC : nick is "ptitlouis" @ irc.freenode.net
Jabber: ptitlouis@amessage.info
Contributors:
------------
Rudolf Polzer <rpolzer-rp@durchnull.de>, IRC: "divVerent"
Jiri Golembiovsky <golemj@gmail.com>, IRC: "GolemJ"
Jim Ramsay <i.am@jimramsay.com>, IRC: "lack"
Odin <odin@dtdm.org>, IRC: "Odin"
Pistos, IRC: "pistos"
Gwenn, IRC: "gwenn"
Voroskoi, IRC: "voroskoi"
Frank Zacharias
Pavel Shevchuk, IRC: "Stalwart"
=====
Whole team is connected to IRC:
server: irc.freenode.net, channels: #weechat and #weechat-fr (french)
See README file for licence detail.
-173
View File
@@ -1,173 +0,0 @@
<!--
SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
SPDX-License-Identifier: GPL-3.0-or-later
-->
# WeeChat Authors
## Developers
- General code
- [Sébastien Helleu](https://github.com/flashcode) (FlashCode)
- Scripts plugins, debian packager
- [Emmanuel Bouthenot](https://github.com/k0lter) (kolter)
## Contributors
Alphabetically:
- Adam Saponara (adsr)
- Adrian Bjugård
- Ailin Nemui (Nei)
- Aleksey V Zapparov
- Alex Tarkovsky
- Anders Bergh
- Andrew Potter (talisein)
- Antoine Pietri (seirl)
- Arvydas Sidorenko
- Asakura
- Bazerka
- Benoit Papillault (benoit)
- Chris Hills
- Christian Duerr
- Christian Heinz
- Christopher O'Neill (deltafire)
- coypoop
- Daniel Lublin
- Danilo Spinella
- David Flatz
- Dmitry Kobylin
- Dominik Honnef
- Dominique Martinet
- dotflac
- Eduardo Elias
- Eli Schwartz
- Elizabeth Myers (Elizacat)
- Elián Hanisch (m4v)
- Emanuele Giaquinta
- Emil Velikov
- Emir Sarı
- emk
- Érico Nogueira
- Esteban I. Ruiz Moreno (Exio)
- Evgeny Shmarnev
- Felix Eckhofer
- Frank Zacharias
- Fredrik Fornwall
- Grant Wu
- Gu1ll4um3r0m41n
- Guido Berhoerster
- Gwenn
- Hasan Kiran (turgay)
- Ivan Pešić
- Ivan Sichmann Freitas
- Jakub Jirutka
- James C. Morey
- Jan Palus
- Jason A. Donenfeld (zx2c4)
- JD Horelick (jdhore)
- jesopo
- Jim Ramsay (lack)
- Jiri Golembiovsky (GolemJ)
- Joe Hermaszewski
- Joey Pabalinas (alyptik)
- Johan Rylander
- Johannes Kuhn
- Joram Schrijver
- Jos Ahrens
- Joseph Kichline
- Josh Soref
- Juan Francisco Cantero Hurtado
- Julien Louis (ptitlouis)
- Karthik K
- Koka El Kiwi (KiwiDash)
- Krzysztof Koroscik (soltys)
- Kyle Fuller (kylef)
- Kyle Sabo
- Latchezar Tzvetkoff
- Lázaro A.
- Leonid Evdokimov
- Linus Heckemann
- LuK1337
- Maarten de Vries
- Mantas Mikulėnas (grawity)
- Marco Paolone
- Marco Sirabella
- Mario Campos
- Mateusz Poszwa
- Matt Robinson
- Matthew Horan
- Matthew Martin
- Matti Virkkunen
- Max Anton Teufel
- Maxim Baz
- Michael Siegel
- Miko
- Miroslav Koskar
- Murilo Opsfelder Araujo
- Neui
- Nick (SolitaryCipher)
- Nicolas Cavigneaux
- Nils Görs (nils_2)
- nyuszika7h
- Odin
- Ondřej Súkup
- Patrick Steinhardt
- Patrik Janoušek
- Paul Komkoff
- Pavel Shevchuk (Stalwart)
- Peter Boström (pbos)
- Phillip Sz
- Pierre Carru
- Piotr Szymaniak
- Pistos
- Quentin Glidic (SardemFF7)
- Quentin Pradet
- Quico Noizeux
- rafasc
- Raghavendra Prabhu
- raspbeguy
- Rettub
- Rob Campbell
- Romero B. de S. Malaquias
- Rudolf Polzer (divVerent)
- Ruslan Bekenev
- Ryan Farley
- Ryan Qian
- Ryuunosuke Ayanokouzi
- scumjr
- Sergio Durigan Junior
- Shane McCarron
- Shawn Smith
- Shun Sakai
- Simmo Saan (sim642)
- Simon Arlott
- Simon Kuhnle
- Simon Ser
- Stefano Pigozzi
- Stfn
- Sven Knurr (Cthulhux)
- Tim D. Smith
- Tim Harder
- Tobias Stoeckmann
- Tom Alsberg
- Tom Fitzhenry
- Tomoe Mami
- Tor Hveem (xt)
- Trevor Bergeron
- Valentin Lorentz (progval)
- Vasco Almeida
- Victorhck
- Voroskoi
- wfrsk
- Wojciech Kwolek
- W. Trevor King
- Yannick Palanque
- Yiheng Cao
- ZethJack
- Ørjan Malde
## Contact
See the [support page](https://weechat.org/about/support/).
+5
View File
@@ -0,0 +1,5 @@
WeeChat - Wee Enhanced Environment for Chat
===========================================
WeeChat known bugs:
please look at https://savannah.nongnu.org/bugs/?group=weechat
-4434
View File
File diff suppressed because it is too large Load Diff
+48 -325
View File
@@ -1,349 +1,72 @@
# Copyright (c) 2003-2007 FlashCode <flashcode@flashtux.org>
#
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
# SPDX-FileCopyrightText: 2007-2008 Julien Louis <ptitlouis@sysif.net>
# SPDX-FileCopyrightText: 2008-2009 Emmanuel Bouthenot <kolter@openics.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This file is part of WeeChat, the extensible chat client.
#
# WeeChat is free software; you can redistribute it and/or modify
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# WeeChat is distributed in the hope that it will be useful,
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
cmake_minimum_required(VERSION 3.18)
PROJECT(weechat)
project(weechat C)
SET(CMAKE_VERBOSE_MAKEFILE OFF)
SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
SET(CMAKE_SKIP_RPATH ON)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -W")
IF(PREFIX)
SET(CMAKE_INSTALL_PREFIX ${PREFIX} CACHE PATH "Install path prefix" FORCE)
ENDIF(PREFIX)
# CMake options
set(CMAKE_VERBOSE_MAKEFILE OFF)
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake" "${CMAKE_MODULE_PATH}")
set(CMAKE_SKIP_RPATH ON)
SET(VERSION 0.2.6.1)
SET(PKG_STRING "${PROJECT_NAME} ${VERSION}")
SET(LIBDIR ${CMAKE_INSTALL_PREFIX}/lib/weechat)
SET(SHAREDIR ${CMAKE_INSTALL_PREFIX}/share/weechat)
SET(LOCALEDIR ${CMAKE_INSTALL_PREFIX}/share/locale)
STRING(REPLACE "\";\"" "\ " PKG_STRING ${PKG_STRING})
# compiler options
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsigned-char -fms-extensions -Wall -Wextra -Werror-implicit-function-declaration -Wformat -Werror=format-security")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsigned-char -fms-extensions -Wall -Wextra")
if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
# extra options specific to GCC
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wformat-overflow=2 -Wformat-truncation=2")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wformat-overflow=2 -Wformat-truncation=2")
endif()
OPTION(DISABLE_NCURSES "Disable Ncurses interface")
OPTION(ENABLE_GTK "Enable GTK interface")
OPTION(DISABLE_NLS "Disable Native Language Support")
OPTION(DISABLE_GNUTLS "Disable SSLv3/TLS connection support")
OPTION(DISABLE_PLUGINS "Disable Plugins support")
OPTION(DISABLE_PERL "Disable Perl scripting language")
OPTION(DISABLE_PYTHON "Disable Python scripting language")
OPTION(DISABLE_RUBY "Disable Ruby scripting language")
OPTION(DISABLE_LUA "Disable Lua scripting language")
OPTION(DISABLE_ASPELL "Disable Aspell plugin")
OPTION(DISABLE_CHARSET "Disable Charset plugin")
OPTION(DISABLE_DOC "Disable Doc")
# version
execute_process(COMMAND "${CMAKE_SOURCE_DIR}/version.sh" devel-major OUTPUT_VARIABLE VERSION_MAJOR)
execute_process(COMMAND "${CMAKE_SOURCE_DIR}/version.sh" devel-minor OUTPUT_VARIABLE VERSION_MINOR)
execute_process(COMMAND "${CMAKE_SOURCE_DIR}/version.sh" devel-patch OUTPUT_VARIABLE VERSION_PATCH)
string(REGEX REPLACE "\n" "" VERSION_MAJOR "${VERSION_MAJOR}")
string(REGEX REPLACE "\n" "" VERSION_MINOR "${VERSION_MINOR}")
string(REGEX REPLACE "\n" "" VERSION_PATCH "${VERSION_PATCH}")
if(VERSION_PATCH STREQUAL "")
set(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}")
else()
set(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
endif()
ADD_SUBDIRECTORY( po )
ADD_SUBDIRECTORY( src )
IF(NOT DISABLE_DOC)
ADD_SUBDIRECTORY( doc )
ENDIF(NOT DISABLE_DOC)
# license
set(LICENSE "GPL3")
CONFIGURE_FILE(config.h.cmake config.h @ONLY)
# add definitions for version and license
if(COMMAND cmake_policy)
cmake_policy(SET CMP0005 NEW)
add_definitions(-DWEECHAT_VERSION="${VERSION}" -DWEECHAT_LICENSE="${LICENSE}")
else()
add_definitions(-DWEECHAT_VERSION='"${VERSION}"' -DWEECHAT_LICENSE='"${LICENSE}"')
endif()
CONFIGURE_FILE(
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/makedist.sh.in"
"${CMAKE_CURRENT_BINARY_DIR}/makedist.sh" IMMEDIATE
@ONLY)
# package string
set(PKG_STRING "${PROJECT_NAME} ${VERSION}")
string(REPLACE "\";\"" "\ " PKG_STRING ${PKG_STRING})
if(NOT DEFINED LIBDIR)
set(LIBDIR "${CMAKE_INSTALL_PREFIX}/lib")
endif()
if(NOT DEFINED WEECHAT_LIBDIR)
set(WEECHAT_LIBDIR "${LIBDIR}/${PROJECT_NAME}")
endif()
if(NOT DEFINED DATAROOTDIR)
set(DATAROOTDIR "${CMAKE_INSTALL_PREFIX}/share")
endif()
if(NOT DEFINED WEECHAT_SHAREDIR)
set(WEECHAT_SHAREDIR "${DATAROOTDIR}/weechat")
endif()
if(NOT DEFINED MANDIR)
set(MANDIR "${DATAROOTDIR}/man")
endif()
if(NOT DEFINED LOCALEDIR)
set(LOCALEDIR "${DATAROOTDIR}/locale")
endif()
if(DEFINED INCLUDEDIR)
set(INCLUDEDIR "${INCLUDEDIR}/${PROJECT_NAME}")
else()
set(INCLUDEDIR "${CMAKE_INSTALL_PREFIX}/include/${PROJECT_NAME}")
endif()
option(ENABLE_NCURSES "Compile the Ncurses interface" ON)
option(ENABLE_HEADLESS "Compile the headless binary" ON)
option(ENABLE_NLS "Enable Native Language Support" ON)
option(ENABLE_LARGEFILE "Enable Large File Support" ON)
option(ENABLE_ZSTD "Enable Zstandard compression" ON)
option(ENABLE_CJSON "Enable cJSON support" ON)
option(ENABLE_ALIAS "Enable Alias plugin" ON)
option(ENABLE_BUFLIST "Enable Buflist plugin" ON)
option(ENABLE_CHARSET "Enable Charset plugin" ON)
option(ENABLE_EXEC "Enable Exec plugin" ON)
option(ENABLE_FIFO "Enable FIFO plugin" ON)
option(ENABLE_FSET "Enable Fast Set plugin" ON)
option(ENABLE_IRC "Enable IRC plugin" ON)
option(ENABLE_LOGGER "Enable Logger plugin" ON)
option(ENABLE_RELAY "Enable Relay plugin" ON)
option(ENABLE_SCRIPT "Enable Script plugin (script manager)" ON)
option(ENABLE_SCRIPTS "Enable script plugins (perl, python, …)" ON)
option(ENABLE_PERL "Enable Perl scripting language" ON)
option(ENABLE_PYTHON "Enable Python scripting language" ON)
option(ENABLE_RUBY "Enable Ruby scripting language" ON)
option(ENABLE_LUA "Enable Lua scripting language" ON)
option(ENABLE_TCL "Enable Tcl scripting language" ON)
option(ENABLE_GUILE "Enable Scheme (guile) scripting language" ON)
option(ENABLE_JAVASCRIPT "Enable JavaScript scripting language" OFF)
option(ENABLE_PHP "Enable PHP scripting language" ON)
option(ENABLE_SPELL "Enable Spell checker plugin" ON)
option(ENABLE_ENCHANT "Use Enchant lib in Spell checker plugin" OFF)
option(ENABLE_TRIGGER "Enable Trigger plugin" ON)
option(ENABLE_TYPING "Enable Typing plugin" ON)
option(ENABLE_XFER "Enable Xfer plugin" ON)
option(ENABLE_MAN "Enable build of man page" OFF)
option(ENABLE_DOC "Enable build of documentation" OFF)
option(ENABLE_DOC_INCOMPLETE "Enable incomplete doc" OFF)
option(ENABLE_TESTS "Enable tests" OFF)
option(ENABLE_FUZZ "Enable fuzz testing" OFF)
option(ENABLE_CODE_COVERAGE "Enable code coverage" OFF)
# code coverage
add_library(coverage_config INTERFACE)
if(ENABLE_CODE_COVERAGE)
if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
# GCC
target_compile_options(coverage_config INTERFACE -O0 -g --coverage)
target_link_libraries(coverage_config INTERFACE --coverage)
elseif(CMAKE_C_COMPILER_ID STREQUAL "Clang")
# Clang
target_compile_options(coverage_config INTERFACE -g -fprofile-instr-generate -fcoverage-mapping)
target_link_libraries(coverage_config INTERFACE -fprofile-instr-generate)
endif()
endif()
# headless mode is required for documentation
if(ENABLE_DOC AND NOT ENABLE_HEADLESS)
message(FATAL_ERROR "Headless mode is required to build documentation.")
endif()
# all plugins (except javascript) are required for documentation
if(ENABLE_DOC AND NOT ENABLE_DOC_INCOMPLETE
AND (NOT ENABLE_NLS OR NOT ENABLE_ALIAS OR NOT ENABLE_BUFLIST
OR NOT ENABLE_CHARSET OR NOT ENABLE_EXEC OR NOT ENABLE_FIFO
OR NOT ENABLE_FSET OR NOT ENABLE_IRC OR NOT ENABLE_LOGGER
OR NOT ENABLE_RELAY OR NOT ENABLE_SCRIPT OR NOT ENABLE_SCRIPTS
OR NOT ENABLE_PERL OR NOT ENABLE_PYTHON OR NOT ENABLE_RUBY
OR NOT ENABLE_LUA OR NOT ENABLE_TCL OR NOT ENABLE_GUILE
OR NOT ENABLE_PHP OR NOT ENABLE_SPELL OR NOT ENABLE_TRIGGER
OR NOT ENABLE_TYPING OR NOT ENABLE_XFER))
message(
FATAL_ERROR
" All plugins are required to build documentation.\n"
" If you really want to build incomplete docs, enable this option:\n"
" -DENABLE_DOC_INCOMPLETE=ON"
)
endif()
# headless mode is required for tests
if(ENABLE_TESTS AND NOT ENABLE_HEADLESS)
message(FATAL_ERROR "Headless mode is required for tests.")
endif()
# Set this to override aspell's dictionaries directory
if(ASPELL_DICT_DIR)
add_definitions(-DASPELL_DICT_DIR="${ASPELL_DICT_DIR}")
endif()
# Set this to override the myspell dictionaries directory when using enchant
if(ENCHANT_MYSPELL_DICT_DIR)
add_definitions(-DENCHANT_MYSPELL_DICT_DIR="${ENCHANT_MYSPELL_DICT_DIR}")
endif()
# option WEECHAT_HOME
set(WEECHAT_HOME "${WEECHAT_HOME}" CACHE
STRING "Force a single WeeChat home directory for config, logs, scripts, etc."
FORCE)
mark_as_advanced(CLEAR WEECHAT_HOME)
if(COMMAND cmake_policy)
if(POLICY CMP0003)
cmake_policy(SET CMP0003 NEW)
endif()
if(POLICY CMP0017)
cmake_policy(SET CMP0017 NEW)
endif()
endif()
add_definitions(-DHAVE_CONFIG_H)
include(FindPkgConfig)
include(CheckIncludeFiles)
include(CheckFunctionExists)
include(CheckSymbolExists)
check_include_files("langinfo.h" HAVE_LANGINFO_CODESET)
check_include_files("sys/resource.h" HAVE_SYS_RESOURCE_H)
check_include_files("malloc.h" HAVE_MALLOC_H)
check_symbol_exists("malloc_trim" "malloc.h" HAVE_MALLOC_TRIM)
check_function_exists(mallinfo HAVE_MALLINFO)
check_function_exists(mallinfo2 HAVE_MALLINFO2)
check_symbol_exists("eat_newline_glitch" "term.h" HAVE_EAT_NEWLINE_GLITCH)
# Check for Large File Support
if(ENABLE_LARGEFILE)
add_definitions(-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -D_LARGE_FILES)
endif()
# Check for libgcrypt
pkg_check_modules(LIBGCRYPT REQUIRED libgcrypt)
include_directories(${LIBGCRYPT_INCLUDE_DIRS})
list(APPEND EXTRA_LIBS ${LIBGCRYPT_LDFLAGS})
# Check for GnuTLS
pkg_check_modules(GNUTLS REQUIRED gnutls>=3.3.0)
include_directories(${GNUTLS_INCLUDE_DIRS})
list(APPEND EXTRA_LIBS ${GNUTLS_LDFLAGS})
# Check for zlib
find_package(ZLIB REQUIRED)
# Check for zstd
if(ENABLE_ZSTD)
pkg_check_modules(LIBZSTD REQUIRED libzstd)
add_definitions(-DHAVE_ZSTD)
endif()
# Check for cJSON
if(ENABLE_CJSON)
pkg_check_modules(LIBCJSON REQUIRED libcjson)
add_definitions(-DHAVE_CJSON)
endif()
# Check for iconv
find_package(Iconv)
if(ICONV_FOUND)
add_definitions(-DHAVE_ICONV)
endif()
# Check for CURL
# NOTE: keep version in sync with tools/check_curl_symbols.py
pkg_check_modules(LIBCURL REQUIRED libcurl>=7.47.0)
include_directories(${LIBCURL_INCLUDE_DIRS})
list(APPEND EXTRA_LIBS ${LIBCURL_LDFLAGS})
find_library(DL_LIBRARY
NAMES dl
PATHS /lib /usr/lib /usr/libexec /usr/local/lib /usr/local/libexec
)
if(DL_LIBRARY)
list(APPEND EXTRA_LIBS ${DL_LIBRARY})
endif()
add_subdirectory(icons)
if(ENABLE_NLS)
find_package(Gettext REQUIRED)
find_package(Intl REQUIRED)
include_directories(${Intl_INCLUDE_DIRS})
list(APPEND EXTRA_LIBS "${Intl_LIBRARIES}")
add_subdirectory(po)
else()
add_custom_target(translations COMMAND true)
endif()
add_subdirectory(src)
add_subdirectory(doc)
if(ENABLE_TESTS)
find_package(CppUTest)
if(CPPUTEST_FOUND)
enable_testing()
else()
message(SEND_ERROR "CppUTest not found")
endif()
else()
enable_testing()
add_test(NAME notests COMMAND true)
endif()
add_subdirectory(tests)
configure_file(config.h.cmake config.h @ONLY)
# set the git version in "config-git.h"
add_custom_target(version_git ALL
COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/tools/set_git_version.sh" "${CMAKE_CURRENT_SOURCE_DIR}" "${VERSION}" "config-git.h"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
)
configure_file(
CONFIGURE_FILE(
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
IMMEDIATE @ONLY
)
IMMEDIATE @ONLY)
add_custom_target(uninstall
"${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
)
ADD_CUSTOM_TARGET(uninstall
"${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
add_custom_target(dist
"${CMAKE_CURRENT_SOURCE_DIR}/tools/makedist.sh" "${VERSION}" "HEAD" "${CMAKE_CURRENT_BINARY_DIR}"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
)
ADD_CUSTOM_TARGET(dist
"${CMAKE_BINARY_DIR}/makedist.sh"
DEPENDS doc
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
# pkgconfig file
set(PACKAGE "${PROJECT_NAME}")
set(prefix "${CMAKE_INSTALL_PREFIX}")
set(exec_prefix "\${prefix}")
string(REPLACE "${CMAKE_INSTALL_PREFIX}" "\${prefix}" libdir "${LIBDIR}")
set(includedir "\${prefix}/include")
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/weechat.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/weechat.pc" @ONLY)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/weechat.pc" DESTINATION "${LIBDIR}/pkgconfig")
# cygport file (used to build Cygwin packages)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/weechat.cygport.in" "${CMAKE_CURRENT_BINARY_DIR}/weechat-${VERSION}-1.cygport" @ONLY)
# install some files (only on Cygwin)
if(CYGWIN)
install(FILES
"${CMAKE_CURRENT_SOURCE_DIR}/AUTHORS.md"
"${CMAKE_CURRENT_SOURCE_DIR}/CHANGELOG.md"
"${CMAKE_CURRENT_SOURCE_DIR}/CONTRIBUTING.md"
"${CMAKE_CURRENT_SOURCE_DIR}/README.md"
"${CMAKE_CURRENT_SOURCE_DIR}/UPGRADING.md"
DESTINATION "${DATAROOTDIR}/doc/${PROJECT_NAME}"
)
endif()
# desktop file
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/weechat.desktop" DESTINATION "${DATAROOTDIR}/applications")
-115
View File
@@ -1,115 +0,0 @@
<!--
SPDX-FileCopyrightText: 2014-2025 Sébastien Helleu <flashcode@flashtux.org>
SPDX-License-Identifier: GPL-3.0-or-later
-->
# Contributing to WeeChat
## Reporting bugs
First, some basic things:
- Use only English to communicate with developers.
- Search in issues if the same problem or feature request has already been
reported (a duplicate is waste of time for you and the developers!).
- If you can, please check if the problem has been fixed in development version
(if you are using a stable release or old version).
- Report only one bug or feature request per issue.
### Security reports
Please **DO NOT** file a GitHub issue for security related problems, but send an
email to [security@weechat.org](mailto:security@weechat.org) instead.
### Required info
When reporting [issues](https://github.com/weechat/weechat/issues) on GitHub,
please include:
- Your **WeeChat version**: the output of `/v` in WeeChat, for example:
`WeeChat 1.7-dev (git: v1.6-6-g997f47f)`.\
If WeeChat does not start at all, please include the version displayed by
`weechat --help` (or the version installed with your package manager).
- Your **operating system**: its name and version (examples: Linux Debian Bookworm,
FreeBSD 13.0, Windows/Cygwin 64-bit, Windows/Ubuntu 64-bit…).
- The **steps to reproduce**: if possible, please include a reproducible example:
explain the steps which led you to the problem.\
It's even better if you can reproduce the problem with a new config (and no
scripts loaded): try `weechat --dir /tmp/weechat` and check if you have the
problem here.
- The **gdb's backtrace** (only for a crash): if you can reproduce the crash
(or if you have a core file), please include the backtrace from gdb (look at
[User's guide](https://weechat.org/doc/weechat/user/#report_crashes) for more info).
- The **actual result**.
- The **expected result**: the correct result you are expecting.
> [!IMPORTANT]
> Most of times, the WeeChat crash log file (_weechat_crash_YYYYMMDD_xxx.log_)
is **NOT USEFUL** to fix the bug, so please report this file **ONLY** if a developer
asked you to send it (and be extremely careful, this file can contain personal
data like passwords and contents of your chats).
### Scripts related issues
If you are using scripts, they can cause problems/crashes. To check if the
problem is related to one script, try to unload them one by one (using
command `/script unload <name>`).
Many issues reported are in fact related to bugs in scripts, so please first
check that before reporting any issue on WeeChat itself.
If you think the problem comes from a specific script, please report the issue
in the [scripts git repository](https://github.com/weechat/scripts/issues) instead.
## Translations
Pull requests on GitHub for fixes or new translations are welcome at any
time, for [WeeChat](https://github.com/weechat/weechat) and the website
[weechat.org](https://github.com/weechat/weechat.org).
To start a translation in a new language (not yet supported), please look at
[translations](https://weechat.org/doc/weechat/dev/#translations)
in Developer's guide.
## Feature requests
WeeChat is under active development, so your idea may already have been
implemented, or scheduled for a future version (you can check in
[roadmap](https://weechat.org/dev/) or
[milestones](https://github.com/weechat/weechat/milestones) on GitHub.
Pull requests on GitHub are welcome for minor new features.
For major new features, it's better to discuss about it in IRC
(server: `irc.libera.chat`, channel `#weechat`).
Before submitting any pull request, be sure you have read the
[coding rules](https://weechat.org/doc/weechat/dev/#coding_rules)
in Developer's guide, which contains info about styles used, naming convention
and other useful info.
## Semantic versioning
Since version 4.0.0, WeeChat is following a "practical" semantic versioning.
It is based on [Semantic Versioning](https://semver.org/) but in a less strict way:
breaking changes in API with low user impact don't bump the major version.
The version number is on three digits `X.Y.Z`, where:
- `X` is the major version
- `Y` is the minor version
- `Z` is the patch version.
Rules to increment the version number:
- the **major version** number (`X`) is incremented only when intentional breaking changes
target feature areas that are actively consumed by users, scripts or C plugin API
- the **minor version** number (`Y`) is incremented for any new release of WeeChat
that includes new features and bug fixes, possibly breaking API with low impact on users
- the **patch version** number (`Z`) is reserved for releases that address severe bugs
or security issues found after the release.
For more information, see the
[specification](https://specs.weechat.org/specs/2023-003-practical-semantic-versioning.html).
+4 -4
View File
@@ -1,7 +1,7 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -645,7 +645,7 @@ the "copyright" line and a pointer to where the full notice is found.
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
along with this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
@@ -664,11 +664,11 @@ might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<https://www.gnu.org/licenses/>.
<http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>.
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+664
View File
@@ -0,0 +1,664 @@
WeeChat - Wee Enhanced Environment for Chat
===========================================
ChangeLog - 2009-03-14
Version 0.2.6.1 (2009-03-14):
* fix crash with some special chars in IRC messages (bug #25862)
Version 0.2.6 (2007-09-06):
* fixed bug with log of plugin messages (option log_plugin_msg)
* added new option "deloutq" to /server command to delete all servers
messages out queues (task #7221)
* fixed display bug with some special chars in messages (some words were
truncated on screen) (bug #20944)
* fixed UTF-8 bug with color encoding/decoding
* fixed crash when searching text in buffer with ctrl-R (bug #20938)
* added string length limit for setup file options
* fixed bug with flock() when home is on NFS filesystem (bug #20913)
* added option to align text of messages (except first lines) (task #7246)
* fixed user modes in nicklist when ban and nick mode are received in the
same MODE message (bug #20870)
* fixed IRC message 333: silently ignore message if error when parsing it
* fixed server option "command_delay": does not freeze WeeChat any more
* added paste detection, new options look_paste_max_lines and
col_input_actions (task #5442)
* fixed bug with highlight and UTF-8 chars around word (bug #20753)
* added swedish quickstart guide
* added support of channel mode +u (channel user) (bug #20717)
* improved /connect command to connect to a host by creating a temporary
server, added option to /server to create temporary server (task #7095)
* added "copy", "rename" and "keep" options to /server command
* allow clear of multiple selected buffers with /clear (patch #6112)
* added key for setting unread marker on all buffers (default:
ctrl-S + ctrl-U) (task 7180)
* fixed nick prefix display on servers that doesn't support all prefixes
(bug #20025)
* fixed terminal encoding detection when NLS is disabled (bug #20646)
* fixed crash when sending data to channel or pv on disconnected server
(bug #20524)
* improved command /server ant its output
* added 3 default new keys: ctrl-B (left), ctrl-F (right), ctrl-D (delete)
* added "buffer_move" event handler to plugins API (task #6708)
* added key function "jump_previous_buffer" to jump to buffer previously
displayed (new key: alt-J + alt-P) (task #7085)
* added "%*" to completion template, to repeat last completion
* added "-nojoin" option for /connect and /reconnect commands (task #7074)
* fixed bugs with IRC color in messages, now color codes are inserted in
command line with ^Cc,^Cb,.. instead of %C,%B,.. (bug #20222, task #7060)
* fixed bug with smart nick completion (last speakers first) when a nick
is changed
* fixed charset bug with channel names in status bar (bug #20400)
* added "scroll" option to /buffer command
* down key now saves input to history and clears input line (task #7049)
* fixed log file when channel name contains "/" (bug #20072)
* command /away allowed when not connected to server (internally stored
and AWAY command is sent when connecting to server) (task #7003)
* added argument for /upgrade command (path to binary)
* fixed bug with /topic when channel not open and topic not defined
(bug #20141)
* added hotlist sort with new option "look_hotlist_sort" (task #5870)
Version 0.2.5 (2007-06-07):
* fixed QUOTE command: now allowed when socket is ok (even if IRC
connection to server is not ok) (bug #20113)
* added missing IRC commands (327, 378, 379) (bug #20091)
* fixed hotlist when exiting search mode: current buffer is removed from
hotlist
* added "%M" for completion with nicks of current server (nicks on open
channels) (task #6931)
* improved key bindings: now possible to bind a key on many commands,
separated by semicolon (task #5444)
* improved IRC long message split: use word boundary (task #6685)
* removed ":" for unknown IRC commands before arguments (bug #19929)
* fixed "%C" completion: now completes with all channels of all servers
* fixed bug with "/buffer query_name", added server and channel completion
for /buffer command (bug #19928)
* added cmake for weechat compile (patch #5943)
* fixed IRC mode parsing when receiving modes with arguments (bug #19902)
* fixed crash with IRC JOIN malformed message (bug #19891)
* fixed bug with nick prefixes on some IRC servers (bug #19854)
* improved setup file save: now writes temporary file, then rename it
(task #6847)
* fixed bug with $nick/$channel/$server variables in commands
* forget current nick when user manually disconnects from server
* fixed nick display in input window
* fixed bug with erroneous nickname when connecting to server (bug #19812)
* fixed display bugs in IRC error messages
* added protocol priority for gnutls (patch #5915)
* added channel admin mode '!' for some IRC servers
* fixed bug with iso2022jp locale (bug #18719)
* fixed string format bug when displaying string thru plugin script API
* added /reconnect command (task #5448)
* added "-all" option for /connect and /disconnect commands (task #6232)
* improved nick completion: completion with last speakers first and self
nick at the end; added option look_nick_completion_smart, enabled by
default (task #5896)
* fixed nick completion in command arguments (bug #19590)
* fixed possible crash with nick completion when a nick leaves channel
(bug #19589)
* added color for input text not found in buffer history
* fixed USER message when connecting to IRC server (patch #5835)
Version 0.2.4 (2007-03-29):
* fixed color bug with IRC messages displayed by plugins (bug #19442)
* fixed topic charset, now using channel charset if defined (bug #19386)
* renamed log file for DCC chat (now <server>.dcc.<nick>.weechatlog)
* fixed crash when closing a pv if a DCC chat is open on same nick
(bug #19147)
* fixed bug with channel topic after reconnection (not erased) (bug #19384)
* added current buffer in hotlist when scrolling up in buffer (task #6664)
* fixed bug with explode_string / free_exploded_string when max_items > 0
* added new key (ctrl-R) for interactive and incremental search in buffer
history (task #6628)
* fixed /topic completion when no topic set on current channel (bug #19322)
* improved password hiding, code cleanup (bug #19229)
* added new return code in plugin API to force highlight (for message
handlers only)
* fixed bug with server buffer when "look_one_server_buffer" is ON and
server buffer is moved to any number > 1 (bug #19219)
* fixed /help command: displays plugin help for redefined commands
(bug #19166)
* prefix '/' disabled in commands (patch #5769)
* fixed completion of redefined commands removed by plugins (bug #19176)
* fixed memory leaks in perl and python plugins (bug #19163)
* added "call" option to /key command, added new key function "insert" to
insert text on command line (task #6468)
* fixed permissions on "dcc" and "logs" directories (bug #18978)
* added event handler to plugin API
* added scots quickstart guide
* added numeric argument for /clear command (buffer number) (patch #5372)
* fixed crash when /away command is issued with no server connection
(bug #18839)
* fixed crash when closing a buffer opened on many windows
* fixed freeze with SSL server when disconnecting after connection loss
(bug #18735)
Version 0.2.3 (2007-01-10):
* fixed display bugs with nicklist at top/bottom when look_nicklist_separator
is OFF (bug #18737)
* fixed iconv problem, causing truncated words when using iso locale
* fixed topic scroll when topic has multi-bytes chars
* fixed compilation problem with iconv under FreeBSD
* fixed bugs with charset: now decodes/encodes nicks and channels in IRC
messages (bug #18716)
Version 0.2.2 (2007-01-06):
* fixed bug with status bar (missing refresh) when closing a buffer
* fixed bug with use of first buffer for a channel if not connected
to server (now allowed only for a server buffer)
* fixed refresh bug with private buffer title
* fixed bug with nick completion in command args (now uses option
look_nick_completion_ignore)
* fixed display bug with color for first line on screen (bug #17719)
* added anti-flood option (irc_anti_flood) (task #5442)
* fixed bug with "set_config" function in plugins API (bug #18448)
* plugins: "add_message_handler" now accepts "*" for all IRC messages
* added keys (F9/F10) to scroll topic (task #6030)
* added auto completion with channels and filenames (task #5423)
* fixed memleak in keyboard input
* fixed refresh bug when changing config options if window is splited
* added space between chat and nicklist when position is "right" (bug #17852)
* added option "look_nicklist_separator" (task #5437)
* fixed bug with DCC SEND when filename begins with '~'
* added "irc_send_unknown_commands" option to send unknown commands to
IRC server (OFF by default) (task #5947)
* /charset command and charset conversions now made by "charset" plugin
* fixed display bug in status bar, wrong length when using UTF-8
* fixed bug with ignore: now any IRC command is allowed
* fixed crash with Ctrl-T (transpose) and one char on line (bug #18153)
* added filename completion (task #5425)
* added "modifier" in plugins API
* improved /plugin command
* fixed bug on ignore with "mode" IRC command (bug #18058)
* fixed crash when loading ruby script if file does not exist, with
Ruby >= 1.9 only (bug #18064)
* added date in plugin function get_buffer_data()
* fixed some portability bugs (patch #5271)
* fixed iconv detection for BSD (patch #5456)
* fixed typo in configure.in (bash specific test) (patch #5450)
* mode changes with /op, /deop, /voice, /devoice, /halfop, /dehalfop are
now sent in one mode command to server (task #5968)
* added more values for config boolean values: y/true/t/1 and n/false/f/0
* fixed bug with /alias and arguments (like $1), now text after
argument(s) is used (bug #17944)
* fixed minor display bug with special chars on some arch like PPC
Version 0.2.1 (2006-10-01):
* fixed crash for DCC receiver when resuming a file (bug #17885)
* fixed DCC error for sender when receiver cancels DCC (bug #17838)
* fixed random crash with /upgrade command (error when loading buffers)
* fixed buffer search by server/channel: now if only channel is specified,
a channel of another server can be found
* fixed highlight for DCC, invite and notice: when a window is displaying
buffer, there's no highlight
* command "/away -all" now allowed when not connected to current server
* new signals handled: SIGTERM and SIGHUP (received when terminal is closed):
clean WeeChat quit (send quit to irc servers then quit WeeChat)
* added some new default key bindings for existing keys (for some OS)
* command /key now ok with one arg (key name): display key if found
* fixed bug with CTCP VERSION sent on channels (bug #17547)
* added current channel completion for /ctcp command
* fixed bugs in get_buffer_data() which breaks the retrieval of buffer
content (perl, lua)
* fixed nicklist display bug when top/bottom (not enough lines) (bug #17537)
* fixed bug with auto-rejoin of keyed chans (bug #17534)
* added default nick completion when line starts with '//' (bug #17535)
* values yes/no accepted (as on/off) for config boolean values (task #5454)
* added server default notify level (set by /buffer notify on server buffer)
(task #5634)
* fixed crashs with /buffer and /charset commands when not connected to any
server (bug #17525)
* added special vars $nick/$channel/$server for server_command, alias and
plugin command handlers
* added arguments $1,$2,..,$9 and $* for alias (task #5831)
* added hotlist in session file when using /upgrade command (task #5449)
* fixed nick refresh problem with unrealircd specific modes: chan owner (~)
and chan admin (&) (bug #17340)
Version 0.2.0 (2006-08-19):
* added 'C'lear option on IRC raw buffer
* IRC raw buffer now uses join/part prefix with color to display messages
* added send of "quit" message to server when using /disconnect
* fixed "wallops" command when received, now displayed by WeeChat (bug #17441)
* fixed /wallops command (now many words are correctly sent)
* fixed command 348 (channel exception list, received by /mode #chan e)
* added missing modes (channel & user), now all modes are allowed (bug #16606)
* added "%m" for completion with self nick (on current server)
* added missing IRC commands (310, 326, 329, 338)
* fixed DCC restore after /upgrade (order is now correctly saved)
* fixed away after server disconnection (now away is set again when
reconnecting) (bug #16359)
* fixed DCC file connection problem (connection from receiver to sender)
* improved DCC speed (up to x5 on LAN) by forking for DCC files and a
new option "dcc_fast_send" (does not wait for ACK) (task #5758)
* fixed crash when purging DCC with high number of DCC (> window size)
* fixed completion for command handlers (now empty completion_template
means nick completion, "-" string means no completion at all)
* fixed nick alignment problem when look_nickmode is off
* added generic function for incoming numeric IRC commands (bug #16611)
* fixed crash when doing "/part something" on a server buffer (bug #17201)
* charsets are now checked when set by /charset command
* added "look_save_on_exit" option (patch from Emanuele Giaquinta)
* fixed crash on DCC buffer under Darwin 8 (bug #17115)
* added configure option for doc XSL prefix (bug #16991)
* fixed bug with spaces in script names (bug #16957)
* fixed random crash when "MODE #chan -l" is received
* fixed bug in IRC parser (random crash with malformed IRC messages)
* fixed refresh bugs when terminal is resized: too many refreshs,
display bug with splited windows
* case ignored for channel names in charset options (bug #16858)
* fixed crash when setting look_one_server_buffer to ON (bug #16932)
* added new functions in plugin/script API: get window info,
get buffer info, get buffer content
* added polish, russian and czech quickstart guide
* fixed display bug with special char (bug #16732)
* added color encoding for some commands like /me
* added aspell plugin
* renamed plugins names (removed "lib" prefix in name)
* fixed crash when closing DCC/raw buffer if 2 are open (bug #16808)
* fixed crashes with DCC chat remove/purge on DCC view (bug #16775)
* fixed bug with connection to bnc (bug #16760)
* command /save now writes plugins options (~/.weechat/plugins.rc)
* fixed crash with "register" function in plugin scripts (bug #16701)
* fixed random crash at exit (/quit or /upgrade) with splited windows
Version 0.1.9 (2006-05-25):
* fixed /squery command (message sent to server, now ok with # args > 2)
* fixed /alias command (with an alias name, display content)
* improved lua plugin detection (bug #16574)
* added backtrace when WeeChat crashes, log file automatically renamed
* added lock for log file (~/.weechat/weechat.log), only one WeeChat
process can use this file (bug #16382)
* fixed crash with malformed UTF-8 strings
* fixed crash with ncurses color when too many colors defined in ncurses
(bug #16556)
* added new key to find previous completion (shift-tab by default)
* fixed bug with long outgoing IRC messages (> 512 bytes) (bug #16358)
* fixed Ruby crash when handler does not return OK or KO (bug #16552)
* fixed UTF-8 display bug with chars using more than one cell on screen
(bug #16356)
* fixed display bug with DCC file size when > 1 Gb
* fixed refresh bug (deadlock in curses) when terminal is resized
(bug #16542)
* fixed nicklist sort bug
* added russian translations (thanks to Pavel Shevchuk)
* added german doc (thanks to Frank Zacharias)
* added missing IRC commands (006, 007, 290, 292, 310, 379, 437, 974)
* fixed crash when multiple pv have same name: now it's forbidden
and pv buffer is not renamed (when a nick changes) if another
exists with same name (bug #16369)
* command /clear [-all] now clears hotlist
* fixed crash after /upgrade if a line in history is empty (bug #16379)
* fixed many crashes with DCC chat (bug #16416)
* added new option to customize input prompt
* added nick modes
* fixed commands 332, 333 (/topic now ok when channel is not opened)
* removed color encoding and charset conversion for commands (only
allowed in text sent to channel/private)
* added hostnames associeted to nicks (available for /ban completion)
* added "+p" mode for channels, fixed mode display in status bar
* added nick alignment options
* fixed /names command: now displays result when not on a channel
* fixed refresh bug (too many refresh) when terminal is resized
* fixed nicklist display bugs when on top or bottom of chat window
* added keyboard handler to plugin API
* improved script plugin loader
* added hostname/IP option for connection to server
* fixed --disable-plugins option in configure script
* added /setp command (set plugin options)
* fixed high CPU usage when running under a screen that has been killed
* aliases are executed before WeeChat/IRC commands, /builtin command added
* added /cycle command, /part command does close buffer any more (use
/buffer close (or alias /close) to part and close buffer
Version 0.1.8 (2006-03-18):
* improved Ruby plugin
* fixed /set command when internal server name contains one or many dots
* fixed get_info plugin API function when no server at all is opened
* fixed display bug when top of buffer is displayed and first line is
removed (according to "history_max_lines" setting)
* fixed /mode command output
* improved alias completion (now uses target command for completion)
* fixed completion problem in private with nicks
* added missing IRC command (487)
* added inactivity time, available for plugins via get_info("inactivity")
* keys alt-{home|end} to scroll top/bottom, alt-{f11-f12} to scroll
nicklist top/bottom
* added special names for plugin message handlers: weechat_pv,
weechat_highlight, weechat_ctcp, weechat_dcc
* script plugins now load scripts in WeeChat system share directory
* /msg command does not open any buffer any more
* fixed crash when using global history (when older entry is removed)
* added IRC raw data buffer (new key: alt-J + alt-R)
* fixed display bug with /kill command
* added new plugins functions: add_timer_handler, remove_timer_handler,
remove_infobar
* plugin messages handlers now called when message is ignored (by /ignore)
* new behaviour for messages ignored by a message handler: now WeeChat
executes standard handler, treating message as "ignored"
* many commands allowed for aliases
* many commands allowed when connecting to server
* added Lua script plugin
* added functions in plugins API: get_server_info, free_server_info,
get_channel_info, free_channel_info, get_nick_info, free_nick_info
* added option "look_nick_complete_first" (patch from Gwenn)
* added option "look_open_near_server" (patch from Gwenn)
* fixed bug with /upgrade and servers buffer
* fixed bug with "get_dcc_info" plugin interface function
* added new scroll keys for a few lines up/down (default: meta-pgup/pgdn)
(patch from Pistos)
* added new option "irc_away_check_max_nicks" to disable away check on
channels with high number of nicks (patch from Gwenn)
* added new command line argument for setting WeeChat homedir (-d or --dir)
(patch from Gwenn)
* fixed bug with charset in infobar highlights
* fixed bug with buffer detection in plugins/scripts commands
* fixed bug with /history command
* added option "irc_show_away_once", to show away message only once in pv
* added partial hungarian translation
Version 0.1.7 (2006-01-14):
* fixed msg command (now allowed in private buffer with "*" as target)
* removed "irc_default_msg_away" setting, for RFC 2812 conformity
(/away command wihtout argument only removes away status),
new values for "irc_display_away" (off, local, channel)
* fixed refresh bug with Solaris when term size is changed
* replaced Texinfo doc by XML Docbook
* added color for window separators (when splited)
* added completion system for plugins/scripts commands
* fixed plugins autoload
* added charset by server and channel, new command: /charset
* added Ruby script plugin
* added /upgrade command
* added ETA (Estimated Time of Arrival) for DCC files
* /nick command is now allowed when not connected to server
* added server/channel arg to /buffer command for jumping to buffer
* fixed display bug in chat window when a message length equals to window
width
* added new keys for switching to other windows: alt-W followed by
alt-{arrow}
* added new keys for scrolling to previous/next highlight: alt-P / alt-N
* added "read marker": an indicator for first unread line in a
server or channel buffer (new key alt-U to scroll to marker)
* new window maganement: custom size for windows, auto resize when
terminal is resized
* fixed infinite loop when resizing term to small size
* added /history command
Version 0.1.6 (2005-11-11):
* new color management system, IRC colors are now correctly
displayed and can be removed by new options irc_colors_receive
and irc_colors_send
* fixed scroll problem when one line is bigger than screen size
* added setting for having one server buffer for all servers
(look_one_server_buffer)
* added setting for ignoring some chars when completing nicks
* fixed IRC message parser bug
* signal SIGPIPE is now ignored
* added partial match for highlights
* added dcc_own_ip and dcc_port_range settings
* full UTF-8 support, auto-detection of UTF-8 usage (locale)
* added "Day changed to [date]" message when day changes
* new plugin interface, rewritten from scratch: now loads dynamic C
library, and perl/python are script plugins
* log options (for server/channel/private) can now be set while
WeeChat is running
* added channel modes +e and +f
* added some missing IRC commands, fixed command 367
* added colors for input buffer and current channel of status bar
* added online help for config options (with /set full_option_name)
* enhanced "smart" hotlist, with names (new options:
look_hotlist_names_{count|level|length})
Version 0.1.5 (2005-09-24):
* added /ame command (send CTCP action to all channels of all
connected servers)
* added setting "irc_notice_as_pv" to see notices as pv
* added nicks colors in setup file
* fixed DCC bug: delete failed file only if really empty (on disk)
* fixed IRC message parser bug
* fixed scroll problem (screen moving when scrolling and new line
displayed)
* fixed infinite loop when scrolling back and displaying long lines
* fixed crash when closing a buffer used by more than one window
* added some missing IRC commands
* fixed DCC display bug (now decodes string according to charset)
* added /ignore and /unignore commands
* fixed bug with strings comparison (str[n]casecmp) and some locales
(like turkish), now using ASCII comparison (thanks to roktas)
* signal SIGQUIT is now ignored
* fixed refresh bug when one line is bigger than screen size
* fixed look_nicklist_min_size and look_nicklist_max_size options
* fixed refresh bug when changing channel modes
* jump to next server now saves current channel buffer for each server
* ctrl-up/ctrl-down keys added to call previous/next command in global
history (common to all buffers)
Version 0.1.4 (2005-07-30):
* join and part/quit prefixes (arrows) now displayed with different colors
* added "irc_highlight" setting, to get highlight with any word
* fixed auto-rejoin for channels with key
* fixed /ctcp command (now any command/data allowed)
* added /amsg command (send text to all channels of all connected servers)
* fixed SIGSEGV handler (now write a core file by aborting program)
* fixed statusbar & infobar background refresh problem with some systems
* added color for private in hotlist (different than color for highlight)
* added DCC resume and timeout
* added function for Perl/Python to get DCC list
* fixed FIFO pipe (command now authorized on a buffer not connected
to an IRC server)
* topic completion now decodes UTF-8 string
* fixed bug with IRC URL on command line (irc://)
* new keyboard management: keys are setup in config file, new command
/key was added and some new default keys were added, alt-K key is
used to grab key (useful for /key command)
* added seconds in infobar time (optional thanks to new setting)
* fixed some curses refreshs
* channels auto-prefixed by "#" (if no prefix found) for /join command
Version 0.1.3 (2005-07-02):
* proxy support (http, socks4, socks5) with authentification (http, socks5)
and ipv6 support (client to proxy)
* completion added for config option (with /set command)
* commands from users outside channel now authorized (if special user or
channel without "n" flag)
* added IPv6 support
* kill command now received and displayed
* added SSL support
* channel notify levels are saved in config file (new option
"server_notify_levels" for server sections)
* part message now accepts %v (replaced by WeeChat version), like quit message
* errors while loading perl scripts are now displayed in server buffer
(instead of current buffer)
* in python scripts, all messages written in stdin and stderr are redirected
in server buffer
* fix a filename error while loading a python script manually
* fixed plugins "print" and "prnt" functions: now ok for writing on server
buffers
* fixed color problem with new libcurses version
* fixed crash when using alt-S or alt-X on DCC buffer (alt-D)
* fixed startup crash when config file (~/.weechat/weechat.rc) is not found
* improved Perl/Python libs detection for ./configure script
Version 0.1.2 (2005-05-21):
* added Python plugin support, improved Perl interface (and now Perl/Python
libraries are checked by configure script)
* added nicklist scroll keys (alt+{home/end/pgup/pgdn} or F11/F12)
* added transfer rate for DCC files
* added "-all" option for /nick command
* buffers timestamp can now be changed (new option in config file)
* WeeChat now ok under *BSD and Mac OS X
* fixed nicklist sort
* fixed crash when purging old DCC
* fixed crash with 64-bits arch (like AMD64) when converting UTF-8
* added missing IRC commands (307, 341, 485, 671)
Version 0.1.1 (2005-03-20):
* added nicks count for channel buffers
* added FIFO pipe for remote control
* added crash dump when WeeChat receives SIGSEGV (Segmentation fault)
* added new display engine: doesn't cut words at end of lines
* added DCC send and DCC chat
* added /halfop & /dehalfop commands, fixed halfop display bug in nicklist
* added /ban, /unban and /kickban commands
* added spanish translation
* added --irc-commands and --weechat-commands command line options
* connection to IRC server is now made by child process (non blocking)
* added support for UnrealIrcd ("~" for chan owner, "&" for chan admin)
* new key for window switch (now: F5/F6=switch buffer, F7/F8=switch window)
* on server buffer, only server messages are logged
* improved /help command output
* plugins messages are logged with new config option (log_plugin_msg)
* fixed /kick command
* fixed /invite command (and now invite requests are displayed)
* fixed /buffer close command (now ok when disconnected from server)
* fixed display bugs when many windows are opened
Version 0.1.0 (2005-02-12):
* improved /window command: now split and merge are ok
* away nicks are now displayed with another color (new option: "irc_away_check")
* added away indicator in status bar
* added lag indicator (and auto-disconnect after a delay if important lag)
* improved completion: now completes commands arguments (IRC and internal),
when only one completion matches, completion mechanism is stoped (to
complete command arg for example)
* improved /set command: empty strings are allowed, new colors, server
options can be changed while WeeChat is running
* added default away/part/quit messages in config file
* new [irc] section in config file, option "look_display_away" moved to
"irc_display_away"
* server messages & errors are all prefixed (by 3 chars, like '-@-')
* added new options for charset (UTF-8 support): look_charset_decode,
look_charset_encode and look_charset_internal
* fixed many memory leaks
* fixed colors bug: removed "gray" color (replaced by "default"), colors are
ok when terminal has white (or light) background
* fixed crash when resizing terminal to small size
* fixed crash when multiple servers and big messages received from server
* fixed crash when closing some private buffers
* fixed crash when unknown section with option(s) in config file
* fixed /op, /deop, /voice, /devoice (now ok with many nicks)
* fixed /me command (now ok without parameter)
* fixed /away command (now ok if not away)
* logs are now disabled by default (server/channel/private)
Version 0.0.9 (2005-01-01):
* auto-reconnection to server (new options: server_autoreconnect (on/off),
server_autoreconnect_delay (in seconds))
* major bug fixed when socket is closed by server (100% CPU usage fixed),
and disconnections are now ok (all channels are "closed", history is still
visible, and buffer will be used again if reconnection to server)
* option "look_remove_colors_from_msgs" is now working
* fixed display of nick mode changes
* new command "/buffer close" (close any server/channel/private buffer)
* /notice command fixed (and display when received from server)
* new keys: ctrl+A (=home), ctrl+E (=end), ctrl+W (= ctrl+Backspace),
alt-S (switch to server buffer), alt-X (switch to first channel of next
server)
* added new config option: "server_command_delay" (delay in seconds after
startup command for each server)
Version 0.0.8 (2004-10-30):
* /kick command fixed: now ok with many words as reason
* nickserv passwords hidden (new config option: log_hide_nickserv_pwd on/off)
* auto-rejoin channels when kicked (new config option: server_autorejoin on/off)
* added IRC::command function for Perl scripts
* fixed bug when adding alias with same name as other
* /buffer command developed (buffers list, move and notify)
* logging buffers to disk (server/channel/private according to user prefs)
* Away now announced in channels, and config option "look_display_away" added
to enable/disable this feature
* Fixed crash when resizing terminal to very small size
* "-MORE-" message is now erased when switching to another buffer
* DCC file receive ok (alt-D for DCC view)
* /query command now reopens private buffer if already opened
* added key for redrawing terminal (ctrl-L)
* added key for clearing hotlist (alt-R)
Version 0.0.7 (2004-08-08):
* new "col_status_delimiters" config option
* /buffer command added, buffers ordered by number, auto-jump to active
buffers (alt-A), jump to buffers by number (alt-number)
* /window command added, split terminal horizontally/vertically
* unique color for each nick (based on nickname)
* action messages are now considered as messages, not crappy joins/parts
* fixed display bug when nicklist is displayed at bottom of screen
* added history limit (text buffer & commands)
* replaced --enable-debug with --with-debug option for ./configure, which is
now integer: 1 = compiler debug flag, 2 = same 1 with verbose debug messages
in WeeChat (default: 0 = no debug)
Version 0.0.6 (2004-06-05):
* improved channel highlight (priority to message vs join/part)
* fixed bug when opened private win and remote user changes his nick
* /query command added (starts private conversation)
* IRC messages 476, 477 added
* /mode command is now ok and channel flags are displayed in status bar
* fixed display bug (text was blinking when scrolling)
* CTCP Version reply is now in english only and doesn't show host (security reason)
Version 0.0.5 (2004-02-07):
* /set command to modify config options when WeeChat is running
* fixed look_nicklist config option, now enables/disables nicklist
* secured code to prevent buffer overflows and memory leaks
* fixed QUIT IRC command: now sent to all connected servers (not only current)
* URL command line parameter to connect to server(s)
* new Perl script function to display message in info bar ("IRC::print_infobar")
* info bar highlight notifications
* info bar timestamp is added to config ("look_infobar_timestamp")
* added info bar (optional, "look_infobar" to enable it, "on" by default)
* fixed crash with /oper command
* for default config file, nick is now based on un*x username (thanks to Witukind)
* fixed crash when config file cannot be written
* -c (or --config) command line parameter added to see config file options
* highlight action messages
Version 0.0.4 (2004-01-01):
* Perl plugin, with auto-load
* when private window is created (another user is talking), WeeChat does not
switch to this window
* highlight when our nick is written in a channel/private window
* ctrl-C now intercepted (ignored)
* debug messages can be enabled via ./configure --enbale-debug option
Version 0.0.3 (2003-11-03):
* ./configure script to build WeeChat
* nicks are now correctly sorted (op, halfop, voice, other)
* fixed problem with '353' IRC message (nicklist)
* fixed problem when nick is truncated by server
* fixed crash when entering text without any server connection
* fixed crash when /set command is executed
* fixed display bug (text was blinking when scrolling)
* french translation
* new IRC command: /stats, /service, /squit, /motd, /lusers, /links, /time,
/trace, /admin, /info, /servlist, /squery, /who, /whowas, /die, /summon,
/users, /wallops, /userhost, /ison, /ctcp ping
* code cleanup
Version 0.0.2 (2003-10-05):
* added commands /rehash and /restart
* command & auto-join channels when connected to server
* new commands for alias: /alias, /unalias (new section in config file)
* config is now saved automatically when quitting WeeChat, /save command added
* new commands for servers: /server, /connect, /disconnect
* added autoconnect flag for each server in config file
* added "look_set_title" option in config file
* term window title is modified with WeeChat name and version
* fixed nicklist display bug
* fixed crash when sending command which can only be received
* CTCP version returns more info (about OS)
Version 0.0.1 (2003-09-27):
* ncurses GUI with color output
* multi-servers
* channel windows, with nicklist (position: top, bottom, left or right)
* private windows
* IRC commands: away, ctcp, deop, devoice, invite, join, kick, kill, list,
me, mode, msg, names, nick, notice, op, oper, part, ping, pong, quit,
quote, topic, version, voice, whois
* WeeChat commands: clear, help, set (partial)
* many config options
* log file (~/.weechat/weechat.log)
* nicklist can be moved on top, bottom, left or right of window
+274
View File
@@ -0,0 +1,274 @@
WeeChat FAQ, 2007-09-06
=======================
Intended audience:
All WeeChat users.
Before reading the following:
the following Q/A list is *not* exhaustive.
It is also possible that you won't find any Q/A that matches your problem.
Please read them anyway, they may provide you help in fixing your problem
anyway.
And even if your problem is listed below, it is possible that the answers don't
help you anymore to solve it. Then, please contact us, we will try to help you
finding a solution.
1 - Compiling
2 - Using WeeChat
3 - Development
1.1
================================================================================
Q: I heard about many GUI for WeeChat. How can I compile/use them?
A: Curses GUI is built by default.
To build Gtk, wxWidgets or Qt GUI you've to specify extra options to
./configure script:
--enable-gtk to enable Gtk GUI
--enable-wxwidgets to enable wxWidgets GUI
--enable-qt to enable Qt QUI
Type ./configure --help to see available options.
WARNING: only Curses GUI is ok today. Other GUI are under development!
1.2
================================================================================
Q: I can't compile WeeChat CVS.
A: Check that you have latest version of autoconf and automake.
WeeChat has been developed with autoconf version 2.59 and automake
version 1.9.5.
You should have at least these versions in order to compile WeeChat CVS.
If you can't or don't want to install these versions, you can download and
install "devel package", a package built almost every day, based on CVS.
Note that this package may not correspond exactly to CVS base.
2.1
================================================================================
Q: Why using WeeChat ? X-Chat and Irssi are so good...
A: Because WeeChat is very light and has new features.
Some new features:
* many GUI (Curses, Gtk, wxWidgets, Qt)
* available in many languages
* nicklist available in all GUI
* extensible with plugins (C, Perl, Python, Ruby, Lua)
* horizontal and vertical window split
* infobar highlight
* FIFO pipe for remote control
* developed from scratch (not based on any other IRC client)
* multi-platform
* 100% GPL and free
This is the "geekest" IRC client ;)
More info on this page: http://weechat.flashtux.org/features.php
2.2
================================================================================
Q: I've launched WeeChat, but I'm lost, what can I do?
A: For help you can type /help. For help about a command, type /help command.
Keys and commands are listed in documentation.
2.3
================================================================================
Q: I heard about "buffers" and "windows", what's the difference?
A: A window is used when you split screen vertically or horizontally.
A buffer is a "view" for a window. Each window displays a buffer, and
many windows may display same buffer.
Examples of buffers: server messages, channel, DCC list, ..
2.4
================================================================================
Q: I don't see some chars with accents, what can I do?
A: For versions < 0.2.3, please upgrade to last stable version.
For versions >= 0.2.3 :
- check that weechat-curses is linked to libncursesw (warning: needed
on most distributions but not all) :
ldd /path/to/weechat-curses
- check that "Charset" plugin is loaded with /plugin command
(if it is not, then you probably need "weechat-plugins" package)
- check charset line (on server buffer), you should see ISO-XXXXXX or
UTF-8 for terminal charset. If you see ANSI_X3.4-1968 or other values,
probably your locale is wrong.
- setup global decode value, for example:
/setp charset.global.decode = ISO-8859-15
- if you are using UTF-8 locale, check that your terminal is UTF-8
ready. Terminal recommended for UTF-8 is rxvt-unicode.
2.5
================================================================================
Q: How can I customize key bindings?
A: Key bindings are customizable with /key command.
Default key Meta-k (usually Alt-k) lets you grab key code and insert it
in input zone.
2.6
================================================================================
Q: How can I load Perl scripts?
Are Perl scripts compatible with other IRC clients ?
A: You can use /perl command to load scripts (default path is
~/.weechat/perl).
Note that scripts in ~/.weechat/perl/autoload are automatically loaded
when WeeChat is starting up.
Perl scripts are not compatible with other IRC clients.
2.7
================================================================================
Q: How can I load Python scripts?
Are Python scripts compatible with other IRC clients ?
A: You can use /python command to load scripts (default path is
~/.weechat/python).
Note that scripts in ~/.weechat/python/autoload are automatically loaded
when WeeChat is starting up.
Python scripts are not compatible with other IRC clients.
2.8
================================================================================
Q: How can I load Ruby scripts?
Are Ruby scripts compatible with other IRC clients ?
A: You can use /ruby command to load scripts (default path is
~/.weechat/ruby).
Note that scripts in ~/.weechat/ruby/autoload are automatically loaded
when WeeChat is starting up.
Ruby scripts are not compatible with other IRC clients.
2.9
================================================================================
Q: How can I load Lua scripts?
Are Lua scripts compatible with other IRC clients ?
A: You can use /lua command to load scripts (default path is
~/.weechat/lua).
Note that scripts in ~/.weechat/lua/autoload are automatically loaded
when WeeChat is starting up.
Lua scripts are not compatible with other IRC clients.
2.10
================================================================================
Q: When I'm using weechat under screen, I have weird chars, when I switch
window for example, how to fix that?
A: This may be caused by bad value of TERM variable (look at echo $TERM).
For example, "xterm-color" displays such weird chars, use "xterm" which
is ok (like many other values).
2.11
================================================================================
Q: I want to change language used by WeeChat for messages, but without
exiting WeeChat, is it possible?
A: Yes, you have to use python script shell.py (available on WeeChat
website) and issue these commands when script is loaded:
/shell setenv LANG=en_US.UTF-8
/upgrade
(to have english messages with UTF-8 encoding for terminal, for ISO
users, you can issue: /shell setenv LANG=en_US)
2.12
================================================================================
Q: With Curses GUI, how can I copy/paste text without pasting nicklist ?
A: You can use a terminal with rectangular selection (like rxvt-unicode,
konsole, ...).
Other solution is to move nicklist to top or bottom, for example:
/set look_nicklist_position = top
2.13
================================================================================
Q: How to be warned when someone highlights me on a channel ?
A: You can use sound.pl script (available on scripts page), and then
setup a system command (to play sound, display message, ..) with this
command :
/setp perl.sound.cmd_highlight = "/usr/bin/command arguments..."
3.1
================================================================================
Q: How should I report bugs?
A: There is 3 ways to report bugs:
1. you can join us on IRC: irc.freenode.net, channel #weechat
2. you can submit your bug at this URL:
http://savannah.nongnu.org/bugs/?func=addbug&group=weechat
3. you can mail your problem, look at support page for developer's mails:
http://weechat.flashtux.org/support.php
(you can subscribe and send to "support" mailing list)
3.2
================================================================================
Q: How should I submit patches?
A: There is 3 ways to submit patches:
1. you can join us on IRC: irc.freenode.net, channel #weechat
2. you can submit your patch at this URL:
http://savannah.nongnu.org/patch/?func=addpatch&group=weechat
3. you can mail your patch, look at support page for developer's mails:
http://weechat.flashtux.org/support.php
(you can subscribe and send to "support" mailing list)
3.3
================================================================================
Q: How should I submit new feature request?
A: There is 2 ways to submit your feature request:
1. you can join us on IRC: irc.freenode.net, channel #weechat
2. you can mail your feature request, look at support page for developer's
mails:
http://weechat.flashtux.org/support.php
(you can subscribe and send to "support" mailing list)
3.4
================================================================================
Q: What is the list of supported platforms for WeeChat?
A: Full list is on this page:
http://weechat.flashtux.org/download.php?lang=en&view=supported_os
3.5
================================================================================
Q: Will WeeChat be ported to QNX or other operating systems?
A: Yes. Future versions will be available for these OS.
We need help for such systems, any help is welcome :)
3.6
================================================================================
Q: I want to help WeeChat developers. What can I do?
A: There's many tasks to do (code, documentation, ...)
Please contact us with IRC or mail, look at support page:
http://weechat.flashtux.org/support.php
3.7
================================================================================
Q: Can I give money or other things to WeeChat developers?
A: You can give us money to help development.
Details on http://weechat.flashtux.org/donate.php?lang=en
+292
View File
@@ -0,0 +1,292 @@
WeeChat FAQ, 2007-09-06
=======================
Public concerné :
Tous les utilisateurs de WeeChat.
Avant de lire la suite ceci :
la liste suivante de questions/réponses n'est *pas* exhaustive.
Il est donc possible que vous ne trouviez pas de question/réponse correspondant
à votre problème.
Lisez les quand même SVP, elles peuvent vous aider à corriger votre problème.
Et même si votre problème est mentionné ci-dessous, il est possible que la
réponse ne vous aide pas à corriger le problème. Dans ce cas, contactez-nous,
nous essaierons de vous aider à trouver une solution.
1 - Compilation
2 - Utilisation de WeeChat
3 - Développement
1.1
================================================================================
Q: J'ai entendu parler de plusieurs interfaces pour WeeChat.
Comment puis-je les compiler/utiliser ?
R: L'interface Curses est construite par défaut.
Pour construire l'interface Gtk, wxWidgets ou Qt, vous devez spécifier des
options pour le script ./configure :
--enable-gtk pour activer l'interface Gtk
--enable-wxwidgets pour activer l'interface wxWidgets
--enable-qt pour activer l'interface Qt
Tapez ./configure --help pour voir les options disponibles.
ATTENTION : seule l'interface Curses est ok aujourd'hui.
Les autres interfaces sont en développement.
1.2
================================================================================
Q: Je ne peux pas compiler le CVS WeeChat.
R: Vérifiez que vous avez bien la dernière version d'autoconf et automake.
WeeChat a été développé avec autoconf version 2.59 et automake
version 1.9.5.
Vous devez avoir au moins ces versions pour compiler le CVS WeeChat.
Si vous n'avez pas ou ne souhaitez pas installer ces versions, vous
pouvez télécharger et installer le paquet "devel", un paquet construit
quasiment tous les jours, basé sur le CVS.
Notez que ce paquet peut ne pas correspondre exactement à la base CVS.
2.1
================================================================================
Q: Pourquoi utiliser WeeChat ? X-Chat et Irssi sont si bien...
R: Parce que WeeChat est très léger et a de nouvelles fonctionnalités.
Quelques nouvelles fonctionnalités :
* plusieurs interfaces (Curses, Gtk, wxWidgets, Qt)
* disponible en plusieurs langues
* liste des pseudos disponible dans toutes les interfaces
* extensible par des extensions (C, Perl, Python, Ruby, Lua)
* découpage de la fenêtre horizontalement et verticalement
* highlight dans la barre d'infos
* tube FIFO pour contrôle à distance
* développé à partir de zéro (non basé sur un quelconque client IRC)
* multi-platformes
* 100% GPL et libre
C'est le client IRC le plus "geek" ;)
Plus d'infos sur cette page: http://weechat.flashtux.org/features.php
2.2
================================================================================
Q: J'ai lancé WeeChat, mais je suis perdu, que puis-je faire ?
R: Pour obtenir de l'aide tapez /help. Pour de l'aide sur une commande,
tapez /help commande.
Les touches et commandes sont listées dans la documentation.
2.3
================================================================================
Q: J'ai entendu parler de "buffers" et "windows", quelle est la
différence ?
R: Une fenêtre ("window") est utilisée quand vous partagez l'écran
verticalement ou horizontalement.
Un tampon ("buffer") est une "vue" pour une fenêtre. Chaque fenêtre
affiche un tampon, et plusieurs fenêtres peuvent afficher le même
tampon.
Exemples de tampons: messages serveur, canal, liste des DCC, etc...
2.4
================================================================================
Q: Je ne vois pas bien certains accents dans WeeChat, que faire ?
R: Pour les versions < 0.2.3, merci d'installer la dernière version stable.
Pour les versions >= 0.2.3 :
- vérifiez que weechat-curses est lié avec libncursesw (attention:
nécessaire sur beaucoup de distributions, mais pas toutes) :
ldd /chemin/vers/weechat-curses
- vérifiez que l'extension "Charset" est chargée avec la commande
/plugin (s'il ne l'est pas, vous devez peut-être installer le
paquet "weechat-plugins")
- vérifiez la ligne charset (sur le tampon serveur), vous devriez voir
ISO-XXXXXX ou UTF-8 pour le charset du terminal. Si vous voyez
ANSI_X3.4-1968 ou d'autres valeurs, votre locale est probablement
erronée.
- affectez la valeur pour le décodage global, par exemple :
/setp charset.global.decode = ISO-8859-15
- si vous utilisez la locale UTF-8, vérifiez que votre terminal est
compatible UTF-8. Un terminal conseillé pour l'UTF-8 est rxvt-unicode.
2.5
================================================================================
Q: Comment puis-je configurer les raccourcis clavier ?
R: Les raccourcis clavier sont modifiables avec la commande /key.
La touche par défaut Meta-k (souvent Alt-k) permet de capturer le code
d'une touche et de l'inclure dans la zone de saisie.
2.6
================================================================================
Q: Comment puis-je charger des scripts Perl ?
Les scripts Perl sont-ils compatibles avec d'autres clients IRC ?
R: La commande /perl permet de charger les scripts Perl (le chemin par défaut
est ~/.weechat/perl).
Notez que les scripts dans ~/.weechat/perl/autoload sont automatiquement
chargés par WeeChat lorsqu'il démarre.
Les scripts Perl ne sont pas compatibles avec d'autres clients IRC.
2.7
================================================================================
Q: Comment puis-je charger les scripts Python ?
Les scripts Python sont-ils compatibles avec d'autres clients IRC ?
R: La commande /python permet de charger les scripts Python (le chemin par
défaut est ~/.weechat/python).
Notez que les scripts dans ~/.weechat/python/autoload sont automatiquement
chargés par WeeChat lorsqu'il démarre.
Les scripts Python ne sont pas compatibles avec d'autres clients IRC.
2.8
================================================================================
Q: Comment puis-je charger des scripts Ruby ?
Les scripts Ruby sont-ils compatibles avec d'autres clients IRC ?
R: La commande /ruby permet de charger les scripts Ruby (le chemin par
défaut est ~/.weechat/ruby).
Notez que les scripts dans ~/.weechat/ruby/autoload sont automatiquement
chargés par WeeChat lorsqu'il démarre.
Les scripts Ruby ne sont pas compatibles avec d'autres clients IRC.
2.9
================================================================================
Q: Comment puis-je charger des scripts Lua ?
Les scripts Lua sont-ils compatibles avec d'autres clients IRC ?
R: La commande /lua permet de charger les scripts Lua (le chemin par
défaut est ~/.weechat/lua).
Notez que les scripts dans ~/.weechat/lua/autoload sont automatiquement
chargés par WeeChat lorsqu'il démarre.
Les scripts Lua ne sont pas compatibles avec d'autres clients IRC.
2.10
================================================================================
Q: Quand j'utilise weechat sous screen, j'ai des caractères bizarres
notamment en changeant de fenêtre, comment corriger ça ?
R: Cela peut être du à la variable TERM qui n'a pas la bonne valeur
(regardez echo $TERM). Par exemple "xterm-color" provoque ce genre de
problèmes, utilisez "xterm" qui est ok (comme plein d'autres valeurs).
2.11
================================================================================
Q: Je souhaite changer la langue des messages affichés par WeeChat, mais
sans quitter WeeChat, est-ce possible ?
R: Oui, il faut utiliser le script python shell.py (disponible sur le site
de WeeChat) et taper ces commandes une fois le script chargé :
/shell setenv LANG=en_US.UTF-8
/upgrade
(pour avoir des messages anglais avec encodage UTF-8 pour le terminal,
pour les utilisateurs en ISO, vous pouvez taper:
/shell setenv LANG=en_US)
2.12
================================================================================
Q: Avec l'interface Curses, comment puis-je copier/coller du texte sans
coller la liste des pseudos ?
R: Vous pouvez utiliser un terminal qui propose la sélection rectangulaire
(comme rxvt-unicode, konsole, etc...).
Une autre solution est de déplacer la liste des pseudos en haut ou en
bas, par exemple :
/set look_nicklist_position = top
2.13
================================================================================
Q: Comment être averti lorsque quelqu'un prononce mon pseudo sur un canal ?
R: Vous pouvez utiliser le script sound.pl (disponible sur la page des
scripts), puis configurer une commande système (jouant un son, affichant
un message à l'écran, etc...) comme ceci :
/setp perl.sound.cmd_highlight = "/usr/bin/commande parametres..."
3.1
================================================================================
Q: Comment dois-je reporter les bugs ?
R: Il y a 3 manières de reporter les bugs :
1. vous pouvez nous joindre sur IRC: irc.freenode.net, canal #weechat
2. vous pouvez soumettre votre bug à cette adresse :
http://savannah.nongnu.org/bugs/?func=addbug&group=weechat
3. vous pouvez envoyer votre problème par mail, consultez la page
support pour les mails des développeurs :
http://weechat.flashtux.org/support.php
(vous pouvez souscrire et envoyer à la liste de diffusion
"support")
3.2
================================================================================
Q: Comment dois-je soumettre les patches ?
R: Il y a 3 manières de soumettre les patches :
1. vous pouvez nous joindre sur IRC: irc.freenode.net, canal #weechat
2. vous pouvez soumettre votre patch à cette adresse :
http://savannah.nongnu.org/patch/?func=addpatch&group=weechat
3. vous pouvez envoyer votre patch par mail, consultez la page
support pour les mails des développeurs :
http://weechat.flashtux.org/support.php
(vous pouvez souscrire et envoyer à la liste de diffusion
"support")
3.3
================================================================================
Q: Comment dois-je soumettre les demandes de nouvelles fonctionnalités ?
R: Il y a 2 manières :
1. vous pouvez nous joindre sur IRC: irc.freenode.net, channel #weechat
2. vous pouvez envoyer un mail, consultez la page support pour les
mails des développeurs :
http://weechat.flashtux.org/support.php
(vous pouvez souscrire et envoyer à la liste de diffusion
"support")
3.4
================================================================================
Q: Quelle est la liste des plate-formes supportées par WeeChat ?
R: La liste complète est sur cette page :
http://weechat.flashtux.org/download.php?lang=fr&view=supported_os
3.5
================================================================================
Q: WeeChat sera-t-il porté sur QNX ou d'autres systèmes d'exploitation ?
R: Oui. Les futures versions seront disponibles pour ces OS.
Nous avons besoin d'aide pour ces systèmes, toute aide est la bienvenue :)
3.6
================================================================================
Q: Je souhaiterai aider les développeurs WeeChat. Que puis-je faire ?
R: Il y a plusieurs choses à faire (code, documentation, ...)
Merci de prendre contact avec nous par IRC ou mail, consultez la page
support :
http://weechat.flashtux.org/support.php
3.7
================================================================================
Q: Puis-je donner de l'argent ou d'autres choses aux développeurs WeeChat ?
R: Vous pouvez donner de l'argent pour aider le développement.
Plus de détails sur http://weechat.flashtux.org/donate.php
+13
View File
@@ -0,0 +1,13 @@
WeeChat - Installation instructions
===================================
1) Run './configure'
(./configure --help so see options)
2) Run 'make'
3) As root, run 'make install'
4) Enjoy ! :-)
See AUTHORS for support, feel free to contact us for any problem.
-11
View File
@@ -1,11 +0,0 @@
Copyright (c) <year> <owner>.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT HOLDER OR CONTRIBUTORS 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.
-232
View File
@@ -1,232 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright © 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for software and other kinds of works.
The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions.
Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and modification follow.
TERMS AND CONDITIONS
0. Definitions.
“This License” refers to version 3 of the GNU General Public License.
“Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.
“The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals or organizations.
To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work.
A “covered work” means either the unmodified Program or a work based on the Program.
To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.
To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.
1. Source Code.
The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work.
A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.
The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.
The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.
The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.
The Corresponding Source for a work in source code form is that same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.
When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”.
c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.
d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.
A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.
“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).
The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.
7. Additional Terms.
“Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.
All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).
However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.
An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
11. Patents.
A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's “contributor version”.
A contributor's “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.
In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To “grant” such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.
If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. “Knowingly relying” means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.
A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation.
If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.
Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an “about box”.
You should also get your employer (if you work as a programmer) or school, if any, to sign a “copyright disclaimer” for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see <https://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read <https://www.gnu.org/philosophy/why-not-lgpl.html>.
+29
View File
@@ -0,0 +1,29 @@
# Copyright (c) 2003-2007 FlashCode <flashcode@flashtux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
SUBDIRS = po doc intl src
EXTRA_DIST = config.rpath BUGS FAQ FAQ.fr \
debian/changelog debian/control \
debian/copyright debian/compat \
debian/rules debian/weechat-common.docs \
debian/lintian-override \
debian/weechat-common.install debian/weechat-curses.dirs \
debian/weechat-curses.install debian/weechat-plugins.install \
debian/weechat-curses.menu debian/NEWS debian/weechat.xpm \
weechat.spec weechat_icon_32.png
ACLOCAL_AMFLAGS = -I m4
+196
View File
@@ -0,0 +1,196 @@
WeeChat - Wee Enhanced Environment for Chat
===========================================
* FlashCode, 2009-03-14
WeeChat 0.2.6.1 released.
This version fixes a major bug: crash with some special chars in IRC
messages.
* FlashCode, 2007-09-06
WeeChat 0.2.6 released.
* FlashCode, 2007-06-07
WeeChat 0.2.5 released.
* FlashCode, 2007-03-29
WeeChat 0.2.4 released.
* FlashCode, 2007-01-10
WeeChat 0.2.3 released.
This version fixes several major bugs of version 0.2.2.
All users of version 0.2.2 should upgrade to this version.
* FlashCode, 2007-01-06
WeeChat 0.2.2 released.
Important release notes:
- new charset plugin:
- for users of any previous version, all your charset settings
in weechat.rc will be LOST! You should save your weechat.rc
to keep your values and set them again with new "charset" plugin.
- for ISO users: history of channels may be without accents
(after /upgrade), this is not recoverable, but this is not a bug.
All new messages should be ok.
- be careful, now default encode is UTF-8 for all channels (before
it was terminal charset). If you still want to send messages as
ISO-8859-1, you should send either global encode or server specific
encode to ISO-8859-1.
For global encode: /setp charset.global.encode = "ISO-8859-1"
For server encode: (on server buffer) /charset encode ISO-8859-1
- new keys for topic scroll:
- new keys for scrolling topic: F9/F10
- key F10 was used for "infobar_clear" in previous WeeChat versions,
you have to manually rebind this key (except for new WeeChat users):
/key <press alt-k then F10> scroll_topic_right
which gives something like this:
/key meta2-21~ scroll_topic_right
* FlashCode, 2006-10-01
WeeChat 0.2.1 released.
* FlashCode, 2006-08-19
WeeChat 0.2.0 released.
Important release notes:
- if you upgraded with /upgrade in WeeChat, you should /disconnect and
then /reconnect on each server, to display properly channel/user modes
- if you're using plugins, you should remove some old plugins libraries
in WeeChat system library directory (commonly
/usr/local/lib/weechat/plugins): remove lib* files (like libperl.*,
libpython.*, ..) and keep only new libraries (perl.*, python.*, ..)
* FlashCode, 2006-05-25
WeeChat 0.1.9 released.
Important release notes:
- please close all DCC chat buffers before using /upgrade command,
otherwise you may experience problems with DCC chats.
- some changes in script API: now timer handlers functions takes exactly
0 (zero) argument (in version 0.1.8, two arguments were mandatory but
not used: server and args)
* FlashCode, 2006-03-18
WeeChat 0.1.8 released.
Important release notes:
- it is recommended for users of version 0.1.7 (or any older), to
replace values in setup file (~/.weechat/weechat.rc) :
- option: log_path: replace "~/.weechat/logs" by "%h/logs"
- option: plugins_path: replace "~/.weechat/plugins" by "%h/plugins"
"%h" is replaced by WeeChat home (default: ~/.weechat, may be overriden
by new command line arg --dir)
- after installing 0.1.8 (or with /upgrade), issue both commands (if you
didn't redefined these keys (alt-home/end):
/key unbind meta-meta2-1~
/key unbind meta-meta2-4~
then launch again WeeChat (or issue /upgrade).
Alt-home/end were used for nicklist scroll, they're now replaced by
Alt-F11/F12.
* FlashCode, 2006-01-14
WeeChat 0.1.7 released.
Important release notes:
- Ruby script plugin has been added but is experimental in this release.
You're warned!
- "/away" command was changed to be RFC 2812 compliant.
Now argument is required to set away, and no argument means
remove away ("back"). Setting "irc_default_msg_away" has been removed.
* FlashCode, 2005-11-11
WeeChat 0.1.6 released.
Important release notes:
- incompatibility with some old scripts: now all handlers have to return
a code for completion, and to do some actions about message to ignore
(please look at documentation for detail)
- on OpenBSD, the new option "plugins_extension" should be set to ".so.0.0"
since the plugins names are ending by ".so.0.0" and not ".so"
- with new and full UTF-8 support, the option "look_charset_internal"
should be set to blank for most cases. Forces it only if your locale is
not properly detected by WeeChat (you can set "UTF-8" or "ISO-8859-15"
for example, depending on your locale). WeeChat is looking for "UTF-8" in
your locale name at startup.
* FlashCode, 2005-09-24
WeeChat 0.1.5 released.
* FlashCode, 2005-07-30
WeeChat 0.1.4 released.
* FlashCode, 2005-07-02
WeeChat 0.1.3 released.
* FlashCode, 2005-05-21
WeeChat 0.1.2 released.
* FlashCode, 2005-03-20
WeeChat 0.1.1 released.
* FlashCode, 2005-02-12
WeeChat 0.1.0 released.
* FlashCode, 2005-01-01
WeeChat 0.0.9 released.
* FlashCode, 2004-10-30
WeeChat 0.0.8 released.
* FlashCode, 2004-08-08
WeeChat 0.0.7 released.
* FlashCode, 2004-06-05
WeeChat 0.0.6 released.
* FlashCode, 2004-02-07
WeeChat 0.0.5 released.
* FlashCode, 2004-01-01
WeeChat 0.0.4 released.
* FlashCode, 2003-11-03
WeeChat 0.0.3 released.
* FlashCode, 2003-10-05
WeeChat 0.0.2 released.
* FlashCode, 2003-09-27
WeeChat 0.0.1 released.
+46
View File
@@ -0,0 +1,46 @@
WeeChat - Wee Enhanced Environment for Chat
===========================================
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat
environment for many operating systems. Everything can be done with a keyboard.
It is customizable and extensible with scripts.
Features
--------
* IRC chat client with multi-server connection
* many GUI (curses, Gtk, Qt) (1)
* small, fast and very light
* customizable and extensible with plugins (C, Perl, Python, Ruby, Lua)
* compliant with RFC 1459,2810,2811,2812,2813
* developed from scratch
* multi-platform (GNU/Linux, *BSD, Mac OS X, QNX, Windows & other) (2)
* 100% GPL & free
Copyright
---------
WeeChat (c) Copyright 2003-2007 by FlashCode <flashcode@flashtux.org>
(see AUTHORS file if you want to contact authors)
WeeChat is distributed under GPL licence (see COPYING file for complete license):
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
---
(1) only Curses interface is available today
(2) Windows version is under construction
-75
View File
@@ -1,75 +0,0 @@
<!--
SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
SPDX-License-Identifier: GPL-3.0-or-later
-->
# WeeChat
<p align="center">
<img src="https://weechat.org/media/images/weechat_logo_large.png" alt="WeeChat" />
</p>
[![Mastodon](https://img.shields.io/badge/mastodon-follow-blue.svg)](https://hostux.social/@weechat)
[![Diaspora*](https://img.shields.io/badge/diaspora*-follow-blue.svg)](https://diasp.eu/u/weechat)
[![X](https://img.shields.io/badge/x-follow-blue.svg)](https://x.com/WeeChatClient)
[![Devel blog](https://img.shields.io/badge/devel%20blog-follow-blue.svg)](https://blog.weechat.org/)
[![Slant](https://img.shields.io/badge/slant-recommend-28acad.svg)](https://www.slant.co/topics/1323/~best-irc-clients-for-linux)
[![Donate](https://img.shields.io/badge/help-donate%20%E2%9D%A4-ff69b4.svg)](https://weechat.org/donate/)
[![CI](https://github.com/weechat/weechat/workflows/CI/badge.svg)](https://github.com/weechat/weechat/actions)
[![Code coverage](https://codecov.io/gh/weechat/weechat/branch/main/graph/badge.svg)](https://codecov.io/gh/weechat/weechat)
[![REUSE status](https://api.reuse.software/badge/github.com/weechat/weechat)](https://api.reuse.software/info/github.com/weechat/weechat)
**WeeChat** (Wee Enhanced Environment for Chat) is a free chat client, fast and light, designed for many operating systems.\
It is highly customizable and extensible with scripts.
Homepage: [https://weechat.org/](https://weechat.org/)
## Features
- **Modular chat client**: WeeChat has a lightweight core and optional [plugins](https://weechat.org/doc/weechat/user/#plugins). All plugins (including [IRC](https://weechat.org/doc/weechat/user/#irc)) are independent and can be unloaded.
- **Multi-platform**: WeeChat runs on GNU/Linux, *BSD, GNU/Hurd, Haiku, macOS and Windows (Bash/Ubuntu and Cygwin).
- **Multi-protocols**: WeeChat is designed to support multiple protocols by plugins, like IRC.
- **Standards-compliant**: the IRC plugin is compliant with RFCs [1459](https://datatracker.ietf.org/doc/html/rfc1459), [2810](https://datatracker.ietf.org/doc/html/rfc2810), [2811](https://datatracker.ietf.org/doc/html/rfc2811), [2812](https://datatracker.ietf.org/doc/html/rfc2812), [2813](https://datatracker.ietf.org/doc/html/rfc2813) and [7194](https://datatracker.ietf.org/doc/html/rfc7194).
- **Small, fast, and very light**: the core is and should stay as light and fast as possible.
- **Customizable and extensible**: there are a lot of options to customize WeeChat, and it is extensible with C plugins and [scripts](https://weechat.org/scripts/) ([Perl](https://weechat.org/scripts/language/perl/), [Python](https://weechat.org/scripts/language/python/), [Ruby](https://weechat.org/scripts/language/ruby), [Lua](https://weechat.org/scripts/language/lua/), [Tcl](https://weechat.org/scripts/language/tcl/), [Scheme](https://weechat.org/scripts/language/guile/), [JavaScript](https://weechat.org/scripts/language/javascript/) and [PHP](https://weechat.org/scripts/language/php/)).
- **Fully documented**: there is comprehensive [documentation](https://weechat.org/doc/weechat/), which is [translated](https://weechat.org/doc/weechat/dev/#translations) into several languages.
- **Developed from scratch**: WeeChat was built from scratch and is not based on any other client.
- **Free software**: WeeChat is released under [GPLv3](https://www.gnu.org/licenses/gpl-3.0.html).
<p align="center">
<img src="https://weechat.org/media/images/screenshots/weechat/medium/weechat_2013-04-27_phlux_shadow.png" alt="WeeChat" />
</p>
On WeeChat's website you can find [more screenshots](https://weechat.org/about/screenshots/).
## Installation
WeeChat can be installed using your favorite package manager (recommended) or by compiling it yourself.\
For detailed instructions, please check the [WeeChat user's guide](https://weechat.org/doc/weechat/user/#install).
## Semantic versioning
WeeChat is following a "practical" semantic versioning, see file [CONTRIBUTING.md](CONTRIBUTING.md#semantic-versioning).
## Copyright
<!-- REUSE-IgnoreStart -->
Copyright © 2003-2025 [Sébastien Helleu](https://github.com/flashcode)
This file is part of WeeChat, the extensible chat client.
WeeChat is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
WeeChat is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
<!-- REUSE-IgnoreEnd -->
-21
View File
@@ -1,21 +0,0 @@
# SPDX-FileCopyrightText: 2025 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
version = 1
[[annotations]]
path = [
"debian-devel/**",
"debian-stable/**",
"icons/**/*.png",
"icons/**/*.svg",
"src/plugins/php/weechat-php_arginfo.h",
"src/plugins/php/weechat-php_legacy_arginfo.h",
"tools/debian/patches/**",
"weechat.desktop",
"weechat.pc.in",
]
precedence = "override"
SPDX-FileCopyrightText = "2003-2025 Sébastien Helleu <flashcode@flashtux.org>"
SPDX-License-Identifier = "GPL-3.0-or-later"
+5
View File
@@ -0,0 +1,5 @@
WeeChat - Wee Enhanced Environment for Chat
===========================================
WeeChat TODO:
please look at https://savannah.nongnu.org/task/?group=weechat
-3152
View File
File diff suppressed because it is too large Load Diff
Executable
+79
View File
@@ -0,0 +1,79 @@
#!/bin/sh
#
# Copyright (c) 2003-2007 FlashCode <flashcode@flashtux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###
### common stuff
###
OK="\\033[70G[\\033[1;32mOK\\033[1;00m]"
FAIL="\\033[70G[\\033[1;31mFAILED\\033[1;00m]"
AUTOGEN_LOG=autogen.log
err ()
{
echo "-------"
echo "Error :"
echo "---8<-----------------------------------"
cat $AUTOGEN_LOG
echo "----------------------------------->8---"
exit 1
}
run ()
{
echo -n "Running \"$@\""
eval $@ >$AUTOGEN_LOG 2>&1
if [ $? = 0 ] ; then
echo -e $OK
else
echo -e $FAIL
err
fi
}
###
### cleanning part
###
# remove autotools stuff
run "rm -rf config"
run "rm -f config.h.in"
run "rm -f aclocal.m4 configure config.log config.status"
run "rm -rf autom4te*.cache"
# remove libtool stuff
run "rm -f libtool"
# remove gettext stuff
run "rm -f ABOUT-NLS"
run "rm -rf intl"
###
### configuration part
###
# create the config directory
run "mkdir -p config/m4"
run "mkdir intl"
# execute autotools cmds
run "autopoint -f"
run "libtoolize --automake --force --copy"
run "aclocal --force -I config/m4"
run "autoheader"
run "autoconf"
run "automake --add-missing --copy --gnu"
# ending
rm -f $AUTOGEN_LOG
-51
View File
@@ -1,51 +0,0 @@
#
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This file is part of WeeChat, the extensible chat client.
#
# WeeChat is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# WeeChat is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# - Find Asciidoctor
# This module finds if asciidoctor (version 1.5.4 or newer) is installed.
if(ASCIIDOCTOR_FOUND)
# Already in cache, be silent
set(ASCIIDOCTOR_FIND_QUIETLY TRUE)
endif()
find_program(
ASCIIDOCTOR_EXECUTABLE asciidoctor
PATHS /bin /usr/bin /usr/local/bin /usr/pkg/bin
)
if(ASCIIDOCTOR_EXECUTABLE)
execute_process(
COMMAND ${ASCIIDOCTOR_EXECUTABLE} --version
OUTPUT_VARIABLE ASCIIDOCTOR_VERSION
)
string(REGEX REPLACE "^Asciidoctor ([^ ]+) .*" "\\1" ASCIIDOCTOR_VERSION "${ASCIIDOCTOR_VERSION}")
if(ASCIIDOCTOR_VERSION VERSION_EQUAL "1.5.4" OR ASCIIDOCTOR_VERSION VERSION_GREATER "1.5.4")
set(ASCIIDOCTOR_FOUND TRUE)
endif()
mark_as_advanced(
ASCIIDOCTOR_EXECUTABLE
ASCIIDOCTOR_VERSION
)
endif()
+14 -26
View File
@@ -1,26 +1,21 @@
# Copyright (c) 2003-2007 FlashCode <flashcode@flashtux.org>
#
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This file is part of WeeChat, the extensible chat client.
#
# WeeChat is free software; you can redistribute it and/or modify
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# WeeChat is distributed in the hope that it will be useful,
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# - Find Aspell
# This module finds if libaspell is installed and determines where
# This module finds if libaspell is installed and determines where
# the include files and libraries are.
#
# This code sets the following variables:
@@ -28,33 +23,26 @@
# ASPELL_INCLUDE_PATH = path to where aspell.h can be found
# ASPELL_LIBRARY = path to where libaspell.so* can be found
if(ASPELL_FOUND)
IF (ASPELL_FOUND)
# Already in cache, be silent
SET(ASPELL_FIND_QUIETLY TRUE)
endif()
ENDIF (ASPELL_FOUND)
find_path(ASPELL_INCLUDE_PATH
FIND_PATH(ASPELL_INCLUDE_PATH
NAMES aspell.h
PATHS /usr/include /usr/local/include /usr/pkg/include
)
find_library(ASPELL_LIBRARY
FIND_LIBRARY(ASPELL_LIBRARY
NAMES aspell aspell-15
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
)
if(ASPELL_INCLUDE_PATH AND ASPELL_LIBRARY)
set(ASPELL_FOUND TRUE)
IF (ASPELL_INCLUDE_PATH AND ASPELL_LIBRARY)
SET(ASPELL_FOUND TRUE)
ENDIF (ASPELL_INCLUDE_PATH AND ASPELL_LIBRARY)
# check if function aspell_version_string() exists
set(CMAKE_REQUIRED_INCLUDES ${ASPELL_INCLUDE_PATH})
set(CMAKE_REQUIRED_LIBRARIES ${ASPELL_LIBRARY})
check_symbol_exists(aspell_version_string "aspell.h" HAVE_ASPELL_VERSION_STRING)
set(CMAKE_REQUIRED_INCLUDES)
set(CMAKE_REQUIRED_LIBRARIES)
endif()
mark_as_advanced(
MARK_AS_ADVANCED(
ASPELL_INCLUDE_PATH
ASPELL_LIBRARY
)
)
-39
View File
@@ -1,39 +0,0 @@
#
# SPDX-FileCopyrightText: 2014-2025 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This file is part of WeeChat, the extensible chat client.
#
# WeeChat is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# WeeChat is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# - Find CppUTest
# This module finds if CppUTest is installed and determines where the include
# files and libraries are. It also determines what the name of the library is.
# This code sets the following variables:
#
# CPPUTEST_FOUND = CppUTest is installed
# CPPUTEST_INCLUDE_DIRS = CppUTest include directory
# CPPUTEST_LIBRARIES = Link options to compile with CppUTest
if(CPPUTEST_FOUND)
# Already in cache, be silent
set(CPPUTEST_FIND_QUIETLY TRUE)
endif()
find_package(PkgConfig)
if(PKG_CONFIG_FOUND)
pkg_search_module(CPPUTEST cpputest)
endif()
-51
View File
@@ -1,51 +0,0 @@
# SPDX-FileCopyrightText: 2006 Zack Rusin <zack@kde.org>
#
# SPDX-License-Identifier: BSD-3-Clause
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
# - Try to find the Enchant spell checker
# Once done this will define
#
# ENCHANT_FOUND - system has ENCHANT
# ENCHANT_INCLUDE_DIR - the ENCHANT include directory
# ENCHANT_LIBRARIES - Link these to use ENCHANT
# ENCHANT_DEFINITIONS - Compiler switches required for using ENCHANT
if(ENCHANT_INCLUDE_DIR AND ENCHANT_LIBRARIES)
# in cache already
set(ENCHANT_FOUND TRUE)
else()
if(NOT WIN32)
# use pkg-config to get the directories and then use these values
# in the FIND_PATH() and FIND_LIBRARY() calls
find_package(PkgConfig)
pkg_check_modules(PC_ENCHANT enchant)
set(ENCHANT_DEFINITIONS ${PC_ENCHANT_CFLAGS_OTHER})
endif()
find_path(ENCHANT_INCLUDE_DIR
NAMES enchant++.h
HINTS ${PC_ENCHANT_INCLUDEDIR} ${PC_ENCHANT_INCLUDE_DIRS}
PATH_SUFFIXES enchant-2 enchant
)
find_library(ENCHANT_LIBRARIES
NAMES enchant-2 enchant
HINTS ${PC_ENCHANT_LIBDIR}
${PC_ENCHANT_LIBRARY_DIRS}
)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(ENCHANT DEFAULT_MSG ENCHANT_INCLUDE_DIR ENCHANT_LIBRARIES)
mark_as_advanced(ENCHANT_INCLUDE_DIR ENCHANT_LIBRARIES)
# check if function enchant_get_version() exists
set(CMAKE_REQUIRED_INCLUDES ${ENCHANT_INCLUDE_DIR})
set(CMAKE_REQUIRED_LIBRARIES ${ENCHANT_LIBRARIES})
check_symbol_exists(enchant_get_version "enchant.h" HAVE_ENCHANT_GET_VERSION)
set(CMAKE_REQUIRED_INCLUDES)
set(CMAKE_REQUIRED_LIBRARIES)
endif()
+39 -46
View File
@@ -1,74 +1,67 @@
# Copyright (c) 2003-2007 FlashCode <flashcode@flashtux.org>
#
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
# SPDX-FileCopyrightText: 2007 Julien Louis <ptitlouis@sysif.net>
# SPDX-FileCopyrightText: 2009 Emmanuel Bouthenot <kolter@openics.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This file is part of WeeChat, the extensible chat client.
#
# WeeChat is free software; you can redistribute it and/or modify
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# WeeChat is distributed in the hope that it will be useful,
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# - Find Gettext
# This module finds if gettext is installed and determines where
# This module finds if gettext is installed and determines where
# the include files and libraries are.
#
# This code sets the following variables:
#
# GETTEXT_FOUND = is gettext usable on system?
if(GETTEXT_FOUND)
# Already in cache, be silent
set(GETTEXT_FIND_QUIETLY TRUE)
endif()
IF(GETTEXT_FOUND)
# Already in cache, be silent
SET(GETTEXT_FIND_QUIETLY TRUE)
ENDIF(GETTEXT_FOUND)
include(CheckIncludeFiles)
include(CheckLibraryExists)
include(CheckFunctionExists)
INCLUDE(CheckIncludeFiles)
INCLUDE(CheckLibraryExists)
INCLUDE(CheckFunctionExists)
find_path(LIBINTL_INCLUDE
FIND_PATH(LIBINTL_INCLUDE
NAMES libintl.h
PATH /usr/local/include /usr/pkg/include /usr/include
)
set(CMAKE_REQUIRED_INCLUDES ${LIBINTL_INCLUDE})
SET(CMAKE_REQUIRED_INCLUDES ${LIBINTL_INCLUDE})
check_include_files(libintl.h HAVE_LIBINTL_H)
CHECK_INCLUDE_FILES(libintl.h HAVE_LIBINTL_H)
if(NOT HAVE_LIBINTL_H)
message(SEND_ERROR "Header libintl.h not found, required if ENABLE_NLS is enabled")
endif()
IF(HAVE_LIBINTL_H)
check_function_exists(dgettext LIBC_HAS_DGETTEXT)
if(LIBC_HAS_DGETTEXT)
set(GETTEXT_FOUND TRUE)
else()
find_library(LIBINTL_LIBRARY NAMES intl
PATHS
/usr/local/lib
/usr/lib
)
if(LIBINTL_LIBRARY)
if(${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
set(CMAKE_REQUIRED_LIBRARIES "iconv")
check_library_exists(${LIBINTL_LIBRARY} "libintl_dgettext" "" LIBINTL_HAS_DGETTEXT)
else()
check_library_exists(${LIBINTL_LIBRARY} "dgettext" "" LIBINTL_HAS_DGETTEXT)
endif()
if(LIBINTL_HAS_DGETTEXT)
set(GETTEXT_FOUND TRUE)
endif()
endif()
endif()
CHECK_FUNCTION_EXISTS(dgettext LIBC_HAS_DGETTEXT)
IF(LIBC_HAS_DGETTEXT)
SET(GETTEXT_FOUND TRUE)
ELSE(LIBC_HAS_DGETTEXT)
FIND_LIBRARY(LIBINTL_LIBRARY NAMES intl
PATHS
/usr/local/lib
/usr/lib
)
IF(LIBINTL_LIBRARY)
IF(${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD")
SET(CMAKE_REQUIRED_LIBRARIES "iconv")
CHECK_LIBRARY_EXISTS(${LIBINTL_LIBRARY} "libintl_dgettext" "" LIBINTL_HAS_DGETTEXT)
ELSE(${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD")
CHECK_LIBRARY_EXISTS(${LIBINTL_LIBRARY} "dgettext" "" LIBINTL_HAS_DGETTEXT)
ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD")
IF(LIBINTL_HAS_DGETTEXT)
SET(GETTEXT_FOUND TRUE)
ENDIF(LIBINTL_HAS_DGETTEXT)
ENDIF(LIBINTL_LIBRARY)
ENDIF(LIBC_HAS_DGETTEXT)
ENDIF(HAVE_LIBINTL_H)
+69
View File
@@ -0,0 +1,69 @@
# Copyright (c) 2003-2007 FlashCode <flashcode@flashtux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# - Find GnuTLS
# This module finds if libgnutls is installed and determines where
# the include files and libraries are.
#
# This code sets the following variables:
#
# GNUTLS_INCLUDE_PATH = path to where <gnutls/gnutls.h> can be found
# GNUTLS_LIBRARY = path to where libgnutls.so* can be found
# GNUTLS_CFLAGS = cflags to use to compile
# GNUTLS_LDFLAGS = ldflags to use to compile
IF(GNUTLS_INCLUDE_PATH AND GNUTLS_LIBRARY)
# Already in cache, be silent
set(GNUTLS_FIND_QUIETLY TRUE)
ENDIF(GNUTLS_INCLUDE_PATH AND GNUTLS_LIBRARY)
FIND_PROGRAM(GNUTLS_CONFIG_EXECUTABLE NAMES libgnutls-config)
EXECUTE_PROCESS(COMMAND ${GNUTLS_CONFIG_EXECUTABLE} --prefix
OUTPUT_VARIABLE GNUTLS_PREFIX
)
EXECUTE_PROCESS(COMMAND ${GNUTLS_CONFIG_EXECUTABLE} --cflags
OUTPUT_VARIABLE GNUTLS_CFLAGS
)
EXECUTE_PROCESS(COMMAND ${GNUTLS_CONFIG_EXECUTABLE} --libs
OUTPUT_VARIABLE GNUTLS_LDFLAGS
)
SET(GNUTLS_POSSIBLE_INCLUDE_PATH "${GNUTLS_PREFIX}/include")
SET(GNUTLS_POSSIBLE_LIB_DIR "${GNUTLS_PREFIX}/lib")
FIND_PATH(GNUTLS_INCLUDE_PATH
NAMES gnutls/gnutls.h
PATHS GNUTLS_POSSIBLE_INCLUDE_PATH
)
FIND_LIBRARY(GNUTLS_LIBRARY
NAMES gnutls
PATHS GNUTLS_POSSIBLE_LIB_DIR
)
IF (GNUTLS_INCLUDE_PATH AND GNUTLS_LIBRARY)
SET(GNUTLS_FOUND TRUE)
ENDIF (GNUTLS_INCLUDE_PATH AND GNUTLS_LIBRARY)
MARK_AS_ADVANCED(
GNUTLS_INCLUDE_PATH
GNUTLS_LIBRARY
GNUTLS_CFLAGS
GNUTLS_LDFLAGS
)
-47
View File
@@ -1,47 +0,0 @@
#
# SPDX-FileCopyrightText: 2011-2025 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This file is part of WeeChat, the extensible chat client.
#
# WeeChat is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# WeeChat is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# - Find Guile
# This module finds if Guile is installed and determines where the include files
# and libraries are. It also determines what the name of the library is. This
# code sets the following variables:
#
# GUILE_FOUND = Guile is installed
# GUILE_INCLUDE_DIRS = Guile include directory
# GUILE_LIBRARIES = Link options to compile Guile
if(GUILE_FOUND)
# Already in cache, be silent
set(GUILE_FIND_QUIETLY TRUE)
endif()
find_package(PkgConfig)
if(PKG_CONFIG_FOUND)
pkg_search_module(GUILE guile-3.0 guile-2.2 guile-2.0)
if(GUILE_FOUND)
# check if variable "scm_install_gmp_memory_functions" exists
set(CMAKE_REQUIRED_INCLUDES ${GUILE_INCLUDE_DIRS})
set(CMAKE_REQUIRED_LIBRARIES ${GUILE_LDFLAGS})
check_symbol_exists(scm_install_gmp_memory_functions "libguile.h" HAVE_GUILE_GMP_MEMORY_FUNCTIONS)
set(CMAKE_REQUIRED_INCLUDES)
set(CMAKE_REQUIRED_LIBRARIES)
endif()
endif()
+28 -37
View File
@@ -1,26 +1,21 @@
# Copyright (c) 2003-2007 FlashCode <flashcode@flashtux.org>
#
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This file is part of WeeChat, the extensible chat client.
#
# WeeChat is free software; you can redistribute it and/or modify
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# WeeChat is distributed in the hope that it will be useful,
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# - Find Iconv
# This module finds if libiconv is installed and determines where
# This module finds if libiconv is installed and determines where
# the include files and libraries are.
#
# This code sets the following variables:
@@ -30,44 +25,41 @@
#
# ICONV_FOUND = is iconv usable on system?
if(ICONV_FOUND)
# Already in cache, be silent
set(ICONV_FIND_QUIETLY TRUE)
endif()
IF(ICONV_FOUND)
# Already in cache, be silent
set(ICONV_FIND_QUIETLY TRUE)
ENDIF(ICONV_FOUND)
include(CheckLibraryExists)
include(CheckFunctionExists)
find_path(ICONV_INCLUDE_PATH
FIND_PATH(ICONV_INCLUDE_PATH
NAMES iconv.h
PATHS /usr/include /usr/local/include /usr/pkg/include
)
find_library(ICONV_LIBRARY
FIND_LIBRARY(ICONV_LIBRARY
NAMES iconv
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
)
if(ICONV_INCLUDE_PATH)
if(ICONV_LIBRARY)
check_library_exists("${ICONV_LIBRARY}" libiconv_open "" LIBICONV_OPEN_FOUND)
check_library_exists("${ICONV_LIBRARY}" iconv_open "" ICONV_OPEN_FOUND)
if(LIBICONV_OPEN_FOUND OR ICONV_OPEN_FOUND)
set(ICONV_FOUND TRUE)
endif()
else()
check_function_exists(iconv_open ICONV_FOUND)
endif()
endif()
IF(ICONV_INCLUDE_PATH)
IF(ICONV_LIBRARY)
STRING(REGEX REPLACE "/[^/]*$" "" ICONV_LIB_PATH "${ICONV_LIBRARY}")
CHECK_LIBRARY_EXISTS(iconv libiconv_open ${ICONV_LIB_PATH} ICONV_FOUND)
IF(NOT ICONV_FOUND)
CHECK_LIBRARY_EXISTS(iconv iconv_open ${ICONV_LIB_PATH} ICONV_FOUND)
ENDIF(NOT ICONV_FOUND)
ELSE(ICONV_LIBRARY)
CHECK_FUNCTION_EXISTS(iconv_open ICONV_FOUND)
ENDIF(ICONV_LIBRARY)
ENDIF(ICONV_INCLUDE_PATH)
include(CheckCSourceCompiles)
if(ICONV_LIBRARY)
set(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARY})
set(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_PATH})
endif()
IF(ICONV_LIBRARY)
SET(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARY})
SET(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_PATH})
ENDIF(ICONV_LIBRARY)
set(CMAKE_REQUIRED_FLAGS -Werror)
SET(CMAKE_REQUIRED_FLAGS -Werror)
check_c_source_compiles("
#include <iconv.h>
int main(){
@@ -80,8 +72,7 @@ check_c_source_compiles("
return 0;
}
" ICONV_2ARG_IS_CONST)
mark_as_advanced(
MARK_AS_ADVANCED(
ICONV_INCLUDE_PATH
ICONV_LIBRARY
ICONV_FOUND
+58 -18
View File
@@ -1,26 +1,21 @@
# Copyright (c) 2003-2007 FlashCode <flashcode@flashtux.org>
#
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This file is part of WeeChat, the extensible chat client.
#
# WeeChat is free software; you can redistribute it and/or modify
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# WeeChat is distributed in the hope that it will be useful,
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# - Find Lua
# This module finds if liblua is installed and determines where
# This module finds if liblua is installed and determines where
# the include files and libraries are.
#
# This code sets the following variables:
@@ -30,12 +25,57 @@
#
# LUA_FOUND = is liblua usable on system?
if(LUA_FOUND)
# Already in cache, be silent
set(LUA_FIND_QUIETLY TRUE)
endif()
IF(LUA_FOUND)
# Already in cache, be silent
SET(LUA_FIND_QUIETLY TRUE)
ENDIF(LUA_FOUND)
find_package(PkgConfig)
if(PKG_CONFIG_FOUND)
pkg_search_module(LUA lua lua5.4 lua-5.4 lua54 lua5.3 lua-5.3 lua53 lua5.2 lua-5.2 lua52 lua5.1 lua-5.1 lua51 lua-5.0 lua5.0 lua50)
endif()
FIND_PATH(
LUA51_INCLUDE_PATH lua.h
PATHS /usr/include /usr/local/include /usr/pkg/include
PATH_SUFFIXES lua51 lua5.1 lua-5.1
)
FIND_LIBRARY(
LUA51_LIBRARY NAMES lua51 lua5.1 lua-5.1 lua
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
)
IF(LUA51_INCLUDE_PATH AND LUA51_LIBRARY)
SET(LUA_INCLUDE_PATH "${LUA51_INCLUDE_PATH}")
SET(LUA_LIBRARY "${LUA51_LIBRARY}")
SET(LUA_VERSION "5.1")
SET(LUA_FOUND TRUE)
ELSE(LUA51_INCLUDE_PATH AND LUA51_LIBRARY)
FIND_PATH(
LUA50_INCLUDE_PATH lua.h
PATHS /usr/include /usr/local/include /usr/pkg/include
PATH_SUFFIXES lua50 lua5.0 lua-5.0 lua
)
FIND_LIBRARY(
LUA50_LIBRARY NAMES lua50 lua5.0 lua-5.0 lua
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
)
FIND_LIBRARY(
LUALIB50_LIBRARY NAMES lualib50 lualib5.0 lualib-5.0 lualib
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
)
IF(LUA50_INCLUDE_PATH AND LUA50_LIBRARY AND LUALIB50_LIBRARY)
SET(LUA_INCLUDE_PATH "${LUA50_INCLUDE_PATH}")
SET(LUA_LIBRARY "${LUA50_LIBRARY}")
SET(LUALIB_LIBRARY "${LUALIB50_LIBRARY}")
SET(LUA_VERSION "5.0")
SET(LUA_FOUND TRUE)
ENDIF(LUA50_INCLUDE_PATH AND LUA50_LIBRARY AND LUALIB50_LIBRARY)
ENDIF(LUA51_INCLUDE_PATH AND LUA51_LIBRARY)
MARK_AS_ADVANCED(
LUA_INCLUDE_PATH
LUA_LIBRARY
LUALIB_LIBRARY
# LUA_VERSION
)
+14 -44
View File
@@ -1,68 +1,38 @@
# Copyright (c) 2003-2007 FlashCode <flashcode@flashtux.org>
#
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This file is part of WeeChat, the extensible chat client.
#
# WeeChat is free software; you can redistribute it and/or modify
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# WeeChat is distributed in the hope that it will be useful,
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
if(NCURSES_FOUND)
set(NCURSES_FIND_QUIETLY TRUE)
endif()
IF(NCURSES_FOUND)
SET(NCURSES_FIND_QUIETLY TRUE)
ENDIF(NCURSES_FOUND)
find_path(NCURSES_INCLUDE_PATH
FIND_PATH(NCURSES_INCLUDE_PATH
NAMES ncurses.h curses.h
PATH_SUFFIXES ncursesw ncurses
PATHS /usr/include /usr/local/include /usr/pkg/include
)
find_library(NCURSESW_LIBRARY
NAMES ncursesw
FIND_LIBRARY(NCURSES_LIBRARY
NAMES ncursesw ncurses
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
)
if(NCURSESW_LIBRARY)
find_package(PkgConfig QUIET)
if(PKG_CONFIG_FOUND)
pkg_search_module(NCURSES ncursesw)
set(NCURSESW_LIBRARY ${NCURSES_LIBRARIES} ${NCURSES_CFLAGS_OTHER})
endif()
set(NCURSES_LIBRARY ${NCURSESW_LIBRARY})
else()
find_library(NCURSES_LIBRARY
NAMES ncurses
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
)
find_package(PkgConfig QUIET)
if(PKG_CONFIG_FOUND)
pkg_search_module(NCURSES ncurses)
set(NCURSES_LIBRARY ${NCURSES_LIBRARIES} ${NCURSES_CFLAGS_OTHER})
endif()
if(NCURSES_LIBRARY)
message("*** WARNING:\n"
"*** ncursesw library not found! Falling back to \"ncurses\"\n"
"*** Be careful, UTF-8 display may not work properly if your locale is UTF-8.")
endif()
endif()
IF (NCURSES_INCLUDE_PATH AND NCURSES_LIBRARY)
SET(NCURSES_FOUND TRUE)
ENDIF(NCURSES_INCLUDE_PATH AND NCURSES_LIBRARY)
if(NCURSES_INCLUDE_PATH AND NCURSES_LIBRARY)
set(NCURSES_FOUND TRUE)
endif()
mark_as_advanced(
MARK_AS_ADVANCED(
NCURSES_INCLUDE_PATH
NCURSES_LIBRARY
)
-75
View File
@@ -1,75 +0,0 @@
#
# SPDX-FileCopyrightText: 2017 Adam Saponara <as@php.net>
# SPDX-FileCopyrightText: 2017-2025 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This file is part of WeeChat, the extensible chat client.
#
# WeeChat is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# WeeChat is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
if(PHP_FOUND)
set(PHP_FIND_QUIETLY TRUE)
endif()
find_package(PkgConfig)
if(PKG_CONFIG_FOUND)
pkg_search_module(PHP php8 php7)
endif()
if(NOT PHP_FOUND)
find_program(PHP_CONFIG_EXECUTABLE NAMES
php-config8.4 php-config84
php-config8.3 php-config83
php-config8.2 php-config82
php-config8.1 php-config81
php-config8.0 php-config80
php-config8
php-config7.4 php-config74
php-config7.3 php-config73
php-config7.2 php-config72
php-config7.1 php-config71
php-config7.0 php-config70
php-config7
php-config
)
if (PHP_CONFIG_EXECUTABLE)
execute_process(COMMAND ${PHP_CONFIG_EXECUTABLE} --prefix OUTPUT_VARIABLE PHP_LIB_PREFIX OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${PHP_CONFIG_EXECUTABLE} --includes OUTPUT_VARIABLE PHP_INCLUDE_DIRS OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${PHP_CONFIG_EXECUTABLE} --libs OUTPUT_VARIABLE PHP_LIBS OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${PHP_CONFIG_EXECUTABLE} --version OUTPUT_VARIABLE PHP_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
if(${PHP_VERSION} MATCHES "^[78]")
find_library(PHP_LIB
NAMES php8.4 php84 php8.3 php83 php8.2 php82 php8.1 php81 php8.0 php80 php8 php7.4 php74 php7.3 php73 php7.2 php72 php7.1 php71 php7.0 php70 php7 php
HINTS ${PHP_LIB_PREFIX} ${PHP_LIB_PREFIX}/lib ${PHP_LIB_PREFIX}/lib64
)
if(PHP_LIB)
get_filename_component(PHP_LIB_DIR ${PHP_LIB} DIRECTORY)
string(REPLACE "-I" "" PHP_INCLUDE_DIRS ${PHP_INCLUDE_DIRS})
SEPARATE_ARGUMENTS(PHP_INCLUDE_DIRS)
set(PHP_LDFLAGS "-L${PHP_LIB_DIR} ${PHP_LIBS}")
set(PHP_FOUND 1)
endif()
endif()
endif()
endif()
if(NOT PHP_FOUND)
message(WARNING "Could not find libphp. "
"Ensure PHP >=7.0.0 development libraries are installed and compiled with `--enable-embed`. "
"Ensure `php-config` is in `PATH`. "
"You may set `-DCMAKE_LIBRARY_PATH=...` to the directory containing libphp."
)
endif()
+35 -39
View File
@@ -1,22 +1,17 @@
# Copyright (c) 2003-2007 FlashCode <flashcode@flashtux.org>
#
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This file is part of WeeChat, the extensible chat client.
#
# WeeChat is free software; you can redistribute it and/or modify
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# WeeChat is distributed in the hope that it will be useful,
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# - Find Perl libraries
@@ -30,57 +25,58 @@
# PERL_CFLAGS = perl compiler options for compiling
# PERL_LFLAGS = perl compiler options for linking
if(PERL_FOUND)
# Already in cache, be silent
set(PERL_FIND_QUIETLY TRUE)
endif()
IF(PERL_FOUND)
# Already in cache, be silent
SET(PERL_FIND_QUIETLY TRUE)
ENDIF(PERL_FOUND)
find_program(PERL_EXECUTABLE
FIND_PROGRAM(PERL_EXECUTABLE
NAMES perl perl5
PATHS /usr/bin /usr/local/bin /usr/pkg/bin
)
)
if(PERL_EXECUTABLE)
IF(PERL_EXECUTABLE)
execute_process(
EXECUTE_PROCESS(
COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \"\$Config{archlibexp}/CORE\""
OUTPUT_VARIABLE PERL_INTERNAL_DIR
)
)
execute_process(
EXECUTE_PROCESS(
COMMAND ${PERL_EXECUTABLE} -MExtUtils::Embed -e ccopts
OUTPUT_VARIABLE PERL_CFLAGS
)
)
execute_process(
EXECUTE_PROCESS(
COMMAND ${PERL_EXECUTABLE} -MExtUtils::Embed -e ldopts
OUTPUT_VARIABLE PERL_LFLAGS
)
)
# remove the new lines from the output by replacing them with empty strings
string(REPLACE "\n" "" PERL_INTERNAL_DIR "${PERL_INTERNAL_DIR}")
string(REPLACE "\n" "" PERL_CFLAGS "${PERL_CFLAGS}")
string(REPLACE "\n" "" PERL_LFLAGS "${PERL_LFLAGS}")
find_path(PERL_INCLUDE_PATH
STRING(REPLACE "\n" "" PERL_INTERNAL_DIR "${PERL_INTERNAL_DIR}")
STRING(REPLACE "\n" "" PERL_CFLAGS "${PERL_CFLAGS}")
STRING(REPLACE "\n" "" PERL_LFLAGS "${PERL_LFLAGS}")
FIND_PATH(PERL_INCLUDE_PATH
NAMES perl.h
PATHS ${PERL_INTERNAL_DIR}
)
)
find_library(PERL_LIBRARY
FIND_LIBRARY(PERL_LIBRARY
NAMES perl
PATHS /usr/lib /usr/local/lib /usr/pkg/lib ${PERL_INTERNAL_DIR}
)
if(PERL_LIBRARY AND PERL_INCLUDE_PATH)
set(PERL_FOUND TRUE)
endif()
mark_as_advanced(
)
IF(PERL_LIBRARY AND PERL_INCLUDE_PATH)
SET(PERL_FOUND TRUE)
ENDIF(PERL_LIBRARY AND PERL_INCLUDE_PATH)
MARK_AS_ADVANCED(
PERL_EXECUTABLE
PERL_INCLUDE_PATH
PERL_LIBRARY
PERL_CFLAGS
PERL_LFLAGS
)
endif()
)
ENDIF(PERL_EXECUTABLE)
+60 -17
View File
@@ -1,23 +1,17 @@
# Copyright (c) 2003-2007 FlashCode <flashcode@flashtux.org>
#
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
# SPDX-FileCopyrightText: 2009 Julien Louis <ptitlouis@sysif.net>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This file is part of WeeChat, the extensible chat client.
#
# WeeChat is free software; you can redistribute it and/or modify
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# WeeChat is distributed in the hope that it will be useful,
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# - Find Python
@@ -26,11 +20,60 @@
# code sets the following variables:
#
# PYTHON_EXECUTABLE = full path to the python binary
# PYTHON_INCLUDE_DIRS = path to where python.h can be found
# PYTHON_LIBRARIES = path to where libpython.so* can be found
# PYTHON_LDFLAGS = python compiler options for linking
# PYTHON_INCLUDE_PATH = path to where python.h can be found
# PYTHON_LIBRARY = path to where libpython.so* can be found
# PYTHON_LFLAGS = python compiler options for linking
pkg_check_modules(PYTHON python3-embed IMPORTED_TARGET GLOBAL)
if(NOT PYTHON_FOUND)
pkg_check_modules(PYTHON python3 IMPORTED_TARGET GLOBAL)
endif()
IF(PYTHON_FOUND)
# Already in cache, be silent
SET(PYTHON_FIND_QUIETLY TRUE)
ENDIF(PYTHON_FOUND)
FIND_PROGRAM(PYTHON_EXECUTABLE
NAMES python python2.5 python2.4 python2.3 python2.2
PATHS /usr/bin /usr/local/bin /usr/pkg/bin
)
IF(PYTHON_EXECUTABLE)
EXECUTE_PROCESS(
COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import *; print get_config_var('CONFINCLUDEPY')"
OUTPUT_VARIABLE PYTHON_INC_DIR
)
EXECUTE_PROCESS(
COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import *; print get_config_var('LIBPL')"
OUTPUT_VARIABLE PYTHON_POSSIBLE_LIB_PATH
)
EXECUTE_PROCESS(
COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import *; print get_config_var('LINKFORSHARED')"
OUTPUT_VARIABLE PYTHON_LFLAGS
)
# remove the new lines from the output by replacing them with empty strings
STRING(REPLACE "\n" "" PYTHON_INC_DIR "${PYTHON_INC_DIR}")
STRING(REPLACE "\n" "" PYTHON_POSSIBLE_LIB_PATH "${PYTHON_POSSIBLE_LIB_PATH}")
STRING(REPLACE "\n" "" PYTHON_LFLAGS "${PYTHON_LFLAGS}")
FIND_PATH(PYTHON_INCLUDE_PATH
NAMES Python.h
PATHS ${PYTHON_INC_DIR}
)
FIND_LIBRARY(PYTHON_LIBRARY
NAMES python python2.5 python2.4 python2.3 python2.2
PATHS ${PYTHON_POSSIBLE_LIB_PATH}
)
IF(PYTHON_LIBRARY AND PYTHON_INCLUDE_PATH)
SET(PYTHON_FOUND TRUE)
ENDIF(PYTHON_LIBRARY AND PYTHON_INCLUDE_PATH)
MARK_AS_ADVANCED(
PYTHON_EXECUTABLE
PYTHON_INCLUDE_PATH
PYTHON_LIBRARY
PYTHON_LFLAGS
)
ENDIF(PYTHON_EXECUTABLE)
+77
View File
@@ -0,0 +1,77 @@
# Copyright (c) 2003-2007 FlashCode <flashcode@flashtux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# - Find Ruby
# This module finds if Ruby is installed and determines where the include files
# and libraries are. It also determines what the name of the library is. This
# code sets the following variables:
#
# RUBY_EXECUTABLE = full path to the ruby binary
# RUBY_INCLUDE_PATH = path to where ruby.h can be found
# RUBY_LIBRARY = path to where libruby.so* can be found
IF(RUBY_FOUND)
# Already in cache, be silent
SET(RUBY_FIND_QUIETLY TRUE)
ENDIF(RUBY_FOUND)
FIND_PROGRAM(RUBY_EXECUTABLE
NAMES ruby ruby1.9 ruby19 ruby1.8 ruby18 ruby1.6 ruby16
PATHS /usr/bin /usr/local/bin /usr/pkg/bin
)
IF(RUBY_EXECUTABLE)
EXECUTE_PROCESS(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts Config::CONFIG['archdir']"
OUTPUT_VARIABLE RUBY_ARCH_DIR
)
EXECUTE_PROCESS(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts Config::CONFIG['libdir']"
OUTPUT_VARIABLE RUBY_POSSIBLE_LIB_PATH
)
EXECUTE_PROCESS(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts Config::CONFIG['rubylibdir']"
OUTPUT_VARIABLE RUBY_RUBY_LIB_PATH
)
# remove the new lines from the output by replacing them with empty strings
STRING(REPLACE "\n" "" RUBY_ARCH_DIR "${RUBY_ARCH_DIR}")
STRING(REPLACE "\n" "" RUBY_POSSIBLE_LIB_PATH "${RUBY_POSSIBLE_LIB_PATH}")
STRING(REPLACE "\n" "" RUBY_RUBY_LIB_PATH "${RUBY_RUBY_LIB_PATH}")
FIND_PATH(RUBY_INCLUDE_PATH
NAMES ruby.h
PATHS ${RUBY_ARCH_DIR}
)
FIND_LIBRARY(RUBY_LIBRARY
NAMES ruby ruby1.6 ruby16 ruby1.8 ruby18 ruby1.9 ruby19
PATHS ${RUBY_POSSIBLE_LIB_PATH} ${RUBY_RUBY_LIB_PATH}
)
IF(RUBY_LIBRARY AND RUBY_INCLUDE_PATH)
SET(RUBY_FOUND TRUE)
ENDIF(RUBY_LIBRARY AND RUBY_INCLUDE_PATH)
MARK_AS_ADVANCED(
RUBY_EXECUTABLE
RUBY_LIBRARY
RUBY_INCLUDE_PATH
)
ENDIF(RUBY_EXECUTABLE)
-51
View File
@@ -1,51 +0,0 @@
#
# SPDX-FileCopyrightText: 2015-2025 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This file is part of WeeChat, the extensible chat client.
#
# WeeChat is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# WeeChat is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# - Find V8 (Google's JavaScript engine)
# This module finds if libv8 is installed and determines where
# the include files and libraries are.
#
# This code sets the following variables:
#
# V8_INCLUDE_DIR = path to where v8.h can be found
# V8_LIBRARY = path to where libv8.so* can be found
if(V8_FOUND)
# Already in cache, be silent
SET(V8_FIND_QUIETLY TRUE)
endif()
set(V8_INC_PATHS
/usr/include
${CMAKE_INCLUDE_PATH}
)
find_path(V8_INCLUDE_DIR v8.h PATHS ${V8_INC_PATHS})
find_library(V8_LIBRARY
NAMES v8
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
)
find_package_handle_standard_args(V8 DEFAULT_MSG V8_LIBRARY V8_INCLUDE_DIR)
mark_as_advanced(
V8_INCLUDE_DIR
V8_LIBRARY
)
+19 -38
View File
@@ -1,40 +1,21 @@
#
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This file is part of WeeChat, the extensible chat client.
#
# WeeChat is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# WeeChat is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
STRING(REGEX REPLACE "\n" ";" files "${files}")
FOREACH(file ${files})
MESSAGE(STATUS "Uninstalling \"${file}\"")
IF(NOT EXISTS "${file}")
MESSAGE(FATAL_ERROR "File \"${file}\" does not exists.")
ENDIF(NOT EXISTS "${file}")
EXEC_PROGRAM("@CMAKE_COMMAND@" ARGS "-E remove \"${file}\""
OUTPUT_VARIABLE rm_out
RETURN_VARIABLE rm_retval)
IF("${rm_retval}" GREATER 0)
MESSAGE(FATAL_ERROR "Problem when removing \"${file}\"")
ENDIF("${rm_retval}" GREATER 0)
ENDFOREACH(file)
if(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
message(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
endif()
file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
string(REGEX REPLACE "\n" ";" files "${files}")
string(REGEX REPLACE ";$" "" files "${files}")
list(REVERSE files)
foreach(file ${files})
message(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"")
if(EXISTS "$ENV{DESTDIR}${file}")
execute_process(COMMAND "@CMAKE_COMMAND@" -E remove "$ENV{DESTDIR}${file}" OUTPUT_VARIABLE rm_out RESULT_VARIABLE rm_retval)
if("${rm_retval}" GREATER 0)
message(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"")
endif()
else()
message(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.")
endif()
endforeach()
+33
View File
@@ -0,0 +1,33 @@
#!/bin/sh
VERSION=@VERSION@
SRCROOT=@CMAKE_SOURCE_DIR@
BUILDDIR=@CMAKE_BINARY_DIR@
PROJECT=@PROJECT_NAME@
TAG=release-$(echo $VERSION | sed -e 's/\./-/g')
EXCLUDE="@DIST_EXCLUDE@"
EXPORT_DIR="${PROJECT}-${VERSION}"
if [ -z $CVSROOT ]; then
echo "The CVSROOT variable must be set"
exit 1
fi
echo "Exporting source tree"
if [ $(echo $VERSION | grep cvs) ]; then
cvs export -r HEAD -d $PROJECT-$VERSION $PROJECT
else
cvs export -r $TAG -d $PROJECT-$VERSION $PROJECT
fi
echo "Removing not needed stuff"
for i in $EXCLUDE ; do
echo " $i"
rm -rf $EXPORT_DIR/$i
done
echo "Generating archive"
tar cjf ${BUILDDIR}/${PROJECT}-${VERSION}.tar.bz2 ${EXPORT_DIR}
echo "Cleaning up"
rm -rf ${EXPORT_DIR}
+20 -59
View File
@@ -1,68 +1,29 @@
/*
SPDX-FileCopyrightText: 2007-2025 Sébastien Helleu <flashcode@flashtux.org>
SPDX-License-Identifier: GPL-3.0-or-later
*/
#cmakedefine01 ENABLE_NCURSES
#cmakedefine01 ENABLE_HEADLESS
#cmakedefine01 ENABLE_NLS
#cmakedefine01 ENABLE_LARGEFILE
#cmakedefine01 ENABLE_ZSTD
#cmakedefine01 ENABLE_CJSON
#cmakedefine01 ENABLE_ALIAS
#cmakedefine01 ENABLE_BUFLIST
#cmakedefine01 ENABLE_CHARSET
#cmakedefine01 ENABLE_EXEC
#cmakedefine01 ENABLE_FIFO
#cmakedefine01 ENABLE_FSET
#cmakedefine01 ENABLE_IRC
#cmakedefine01 ENABLE_LOGGER
#cmakedefine01 ENABLE_RELAY
#cmakedefine01 ENABLE_SCRIPT
#cmakedefine01 ENABLE_SCRIPTS
#cmakedefine01 ENABLE_PERL
#cmakedefine01 ENABLE_PYTHON
#cmakedefine01 ENABLE_RUBY
#cmakedefine01 ENABLE_LUA
#cmakedefine01 ENABLE_TCL
#cmakedefine01 ENABLE_GUILE
#cmakedefine01 ENABLE_JAVASCRIPT
#cmakedefine01 ENABLE_PHP
#cmakedefine01 ENABLE_SPELL
#cmakedefine01 ENABLE_ENCHANT
#cmakedefine01 ENABLE_TRIGGER
#cmakedefine01 ENABLE_TYPING
#cmakedefine01 ENABLE_XFER
#cmakedefine01 ENABLE_MAN
#cmakedefine01 ENABLE_DOC
#cmakedefine01 ENABLE_DOC_INCOMPLETE
#cmakedefine01 ENABLE_TESTS
#cmakedefine01 ENABLE_CODE_COVERAGE
#cmakedefine HAVE_SYS_RESOURCE_H
#cmakedefine HAVE_ARPA_INET_H
#cmakedefine HAVE_LIBINTL_H
#cmakedefine HAVE_LIMITS_H
#cmakedefine HAVE_LOCALE_H
#cmakedefine HAVE_NETDB_H
#cmakedefine HAVE_NETINET_IN_H
#cmakedefine HAVE_STDLIB_H
#cmakedefine HAVE_STRING_H
#cmakedefine HAVE_SYS_SOCKET_H
#cmakedefine HAVE_SYS_TIME_H
#cmakedefine HAVE_SYS_TYPES_H
#cmakedefine HAVE_UNISTD_H
#cmakedefine HAVE_PWD_H
#cmakedefine HAVE_ERRNO_H
#cmakedefine HAVE_REGEX_H
#cmakedefine HAVE_WCHAR_H
#cmakedefine HAVE_SYS_FILE_H
#cmakedefine HAVE_FLOCK
#cmakedefine HAVE_LANGINFO_CODESET
#cmakedefine HAVE_BACKTRACE
#cmakedefine HAVE_STRNDUP
#cmakedefine ICONV_2ARG_IS_CONST 1
#cmakedefine HAVE_MALLINFO
#cmakedefine HAVE_MALLINFO2
#cmakedefine HAVE_MALLOC_H
#cmakedefine HAVE_MALLOC_TRIM
#cmakedefine HAVE_EAT_NEWLINE_GLITCH
#cmakedefine HAVE_ASPELL_VERSION_STRING
#cmakedefine HAVE_ENCHANT_GET_VERSION
#cmakedefine HAVE_GUILE_GMP_MEMORY_FUNCTIONS
#define CMAKE_BUILD_TYPE "@CMAKE_BUILD_TYPE@"
#define CMAKE_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@"
#define PACKAGE_VERSION "@VERSION@"
#define PACKAGE "@PROJECT_NAME@"
#define PACKAGE_NAME "@PROJECT_NAME@"
#define PACKAGE_STRING "@PKG_STRING@"
#define WEECHAT_LIBDIR "@WEECHAT_LIBDIR@"
#define WEECHAT_SHAREDIR "@WEECHAT_SHAREDIR@"
#define WEECHAT_LIBDIR "@LIBDIR@"
#define WEECHAT_SHAREDIR "@SHAREDIR@"
#define LOCALEDIR "@LOCALEDIR@"
#define WEECHAT_HOME "@WEECHAT_HOME@"
#define _GNU_SOURCE 1
+898
View File
@@ -0,0 +1,898 @@
# Copyright (c) 2003-2007 FlashCode <flashcode@flashtux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.56)
AC_INIT(WeeChat, 0.2.6.1, flashcode@flashtux.org)
AC_CONFIG_SRCDIR([src/common/weechat.c])
AM_CONFIG_HEADER(config.h)
AM_INIT_AUTOMAKE([weechat], [0.2.6.1])
# Checks for programs
AC_PROG_CC
AC_PROG_MAKE_SET
AC_GNU_SOURCE
AM_PROG_LIBTOOL
AC_CHECK_PROG(DBLATEX_FOUND, "dblatex", "yes")
# Add some flags for some OS
case "$host_os" in
freebsd* | openbsd*)
CFLAGS="$CFLAGS -I/usr/local/include"
LDFLAGS="$LDFLAGS -L/usr/local/lib"
;;
netbsd*)
CFLAGS="$CFLAGS -I/usr/pkg/include"
LDFLAGS="$LDFLAGS -L/usr/pkg/lib"
;;
solaris*)
LDFLAGS="$LDFLAGS -lsocket -lxnet"
;;
*)
;;
esac
# Gettext
ALL_LINGUAS="fr es cs hu de ru"
AM_GNU_GETTEXT([use-libtool])
AM_GNU_GETTEXT_VERSION([0.15])
# Checks for libraries
AC_CHECK_LIB(ncurses, initscr, LIBNCURSES_FOUND=1, LIBNCURSES_FOUND=0)
AC_CHECK_LIB(ncursesw, initscr, LIBNCURSESW_FOUND=1, LIBNCURSESW_FOUND=0)
# Checks for header files
AC_HEADER_STDC
AC_CHECK_HEADERS([arpa/inet.h libintl.h limits.h locale.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h sys/types.h unistd.h pwd.h errno.h regex.h wchar.h sys/file.h])
if echo "$host_os" | grep "^openbsd" 1>/dev/null 2>&1 ; then
AC_CHECK_HEADER(utf8/wchar.h, LDFLAGS="$LDFLAGS -lutf8", [AC_MSG_ERROR([
*** on OpenBSD systems, package libutf8 must be installed to compile WeeChat])])
fi
# Checks for typedefs, structures, and compiler characteristics
AC_HEADER_TIME
AC_STRUCT_TM
AC_MSG_CHECKING([for socklen_t])
AC_CACHE_VAL(ac_cv_type_socklen_t,
[AC_TRY_COMPILE([
#include <sys/types.h>
#include <sys/socket.h>],
[socklen_t t;],
ac_cv_type_socklen_t=yes,
ac_cv_type_socklen_t=no,
)])
if test $ac_cv_type_socklen_t = no; then
AC_DEFINE(socklen_t, int, Define to 'int' if <sys/socket.h> doesn't define.)
fi
AC_MSG_RESULT($ac_cv_type_socklen_t)
# Checks for library functions.
AC_FUNC_SELECT_ARGTYPES
AC_TYPE_SIGNAL
AC_CHECK_FUNCS([gethostbyname gethostname getsockname gettimeofday inet_ntoa memset mkdir select setlocale socket strcasecmp strchr strdup strndup strncasecmp strpbrk strrchr strstr uname regexec])
# Variables in config.h
AH_VERBATIM([PREFIX], [#undef PREFIX])
AH_VERBATIM([WEECHAT_LIBDIR], [#undef WEECHAT_LIBDIR])
AH_VERBATIM([WEECHAT_SHAREDIR], [#undef WEECHAT_SHAREDIR])
AH_VERBATIM([PLUGINS], [#undef PLUGINS])
AH_VERBATIM([PLUGIN_PERL], [#undef PLUGIN_PERL])
AH_VERBATIM([PLUGIN_PYTHON], [#undef PLUGIN_PYTHON])
AH_VERBATIM([PLUGIN_RUBY], [#undef PLUGIN_RUBY])
AH_VERBATIM([PLUGIN_LUA], [#undef PLUGIN_LUA])
AH_VERBATIM([PLUGIN_ASPELL], [#undef PLUGIN_ASPELL])
AH_VERBATIM([PLUGIN_CHARSET], [#undef PLUGIN_CHARSET])
AH_VERBATIM([HAVE_GNUTLS], [#undef HAVE_GNUTLS])
AH_VERBATIM([HAVE_FLOCK], [#undef HAVE_FLOCK])
AH_VERBATIM([DEBUG], [#undef DEBUG])
# Arguments for ./configure
AC_ARG_ENABLE(ncurses, [ --disable-ncurses Turn off ncurses interface (default=compiled if found)],enable_ncurses=$enableval,enable_ncurses=yes)
AC_ARG_ENABLE(wxwidgets, [ --enable-wxwidgets Turn on WxWidgets interface (default=no wxwidgets)],enable_wxwidgets=$enableval,enable_wxwidgets=no)
AC_ARG_ENABLE(gtk, [ --enable-gtk Turn on Gtk interface (default=no Gtk)],enable_gtk=$enableval,enable_gtk=no)
AC_ARG_ENABLE(qt, [ --enable-qt Turn on Qt interface (default=no Qt)],enable_qt=$enableval,enable_qt=no)
AC_ARG_ENABLE(gnutls, [ --disable-gnutls Turn off gnutls support (default=compiled if found)],enable_gnutls=$enableval,enable_gnutls=yes)
AC_ARG_ENABLE(plugins, [ --disable-plugins Turn off plugins support (default=plugins enabled)],enable_plugins=$enableval,enable_plugins=yes)
AC_ARG_ENABLE(perl, [ --disable-perl Turn off Perl script plugin (default=compiled if found)],enable_perl=$enableval,enable_perl=yes)
AC_ARG_ENABLE(python, [ --disable-python Turn off Python script plugin (default=compiled if found)],enable_python=$enableval,enable_python=yes)
AC_ARG_ENABLE(ruby, [ --disable-ruby Turn off Ruby script plugin (default=compiled if found)],enable_ruby=$enableval,enable_ruby=yes)
AC_ARG_ENABLE(lua, [ --disable-lua Turn off Lua script plugin (default=compiled if found)],enable_lua=$enableval,enable_lua=yes)
AC_ARG_WITH(lua-inc, [ --with-lua-inc=DIR, Lua include files are in DIR (default=autodetect)],lua_inc=$withval,lua_inc='')
AC_ARG_WITH(lua-lib, [ --with-lua-lib=DIR, Lua library files are in DIR (default=autodetect)],lua_lib=$withval,lua_lib='')
AC_ARG_WITH(lua-suffix, [ --with-lua-suffix=ARG Lua is suffixed with ARG (default=autodetect)],lua_suffix=$withval,lua_suffix='')
AC_ARG_ENABLE(aspell, [ --disable-aspell Turn off Aspell plugin (default=compiled if found)],enable_aspell=$enableval,enable_aspell=yes)
AC_ARG_ENABLE(charset, [ --disable-charset Turn off Charset plugin (default=compiled if found)],enable_charset=$enableval,enable_charset=yes)
AC_ARG_WITH(doc_xsl_prefix, [ --with-doc-xsl-prefix=DIR Docbook html/chunk.xsl is in DIR (default=autodetect)],doc_xsl_prefix=$withval,doc_xsl_prefix='')
AC_ARG_WITH(debug, [ --with-debug Debugging: 0=no debug, 1=debug compilation, 2=debug compilation + verbose msgs (default=1)],debug=$withval,debug=1)
not_found=""
# ------------------------------------------------------------------------------
# GUI
# ------------------------------------------------------------------------------
if test "x$enable_ncurses" = "xyes" ; then
if test "$LIBNCURSESW_FOUND" = "0" ; then
if test "$LIBNCURSES_FOUND" = "0" ; then
AC_MSG_WARN([
*** ncurses library not found!
*** WeeChat will be built without ncurses support.])
enable_ncurses="no"
not_found="$not_found ncurses"
else
AC_MSG_WARN([
*** ncursesw library not found! Falling back to "ncurses"
*** Be careful, UTF-8 display may not work properly if your locale is UTF-8.])
NCURSES_LIBS="-lncurses"
fi
else
NCURSES_LIBS="-lncursesw"
fi
AC_CHECK_HEADERS([ncurses.h ncursesw/curses.h])
AC_SUBST(NCURSES_LIBS)
fi
#if test "x$enable_wxwidgets" = "xyes" ; then
# AM_OPTIONS_WXCONFIG
# AM_PATH_WXCONFIG(2.3.4, wxWin=1)
#
# if test "$wxWin" != 1; then
# AC_MSG_ERROR([
#*** wxWindows must be installed on your system
#*** but wx-config script couldn't be found.
#
#*** Please check that wx-config is in path, the directory
#*** where wxWindows libraries are installed (returned by
#*** 'wx-config --libs' command) is in LD_LIBRARY_PATH or
#*** equivalent variable and wxWindows version is 2.3.4 or above.
# ])
# fi
#
# CPPFLAGS="$CPPFLAGS $WX_CPPFLAGS"
# CXXFLAGS="$CXXFLAGS $WX_CXXFLAGS_ONLY"
# CFLAGS="$CFLAGS $WX_CFLAGS_ONLY"
# LDFLAGS="$LDFLAGS $WX_LIBS"
#
# WXWIDGETS_CFLAGS=""
# WXWIDGETS_LIBS=""
#fi
if test "x$enable_gtk" = "xyes" ; then
AM_PATH_GTK_2_0(2.4.0, LIBGTK_FOUND=1, LIBGTK_FOUND=0)
if test "$LIBGTK_FOUND" = "0" ; then
AC_MSG_WARN([
*** Gtk library not found!
*** WeeChat will be built without Gtk support.])
enable_gtk="no"
not_found="$not_found gtk"
else
GTK_CFLAGS=`pkg-config --cflags gtk+-2.0`
GTK_LIBS=`pkg-config --libs gtk+-2.0`
AC_SUBST(GTK_CFLAGS)
AC_SUBST(GTK_LIBS)
fi
fi
# ------------------------------------------------------------------------------
# iconv
# ------------------------------------------------------------------------------
iconv_found="no"
ICONV_LFLAGS=""
AC_CHECK_HEADER(iconv.h,ac_found_iconv_header="yes",ac_found_iconv_header="no")
if test "x$ac_found_iconv_header" = "xyes" ; then
AC_CHECK_LIB(iconv,iconv_open,ac_found_iconv_lib="yes",ac_found_iconv_lib="no")
if test "x$ac_found_iconv_lib" = "xno" ; then
AC_CHECK_LIB(iconv,libiconv_open,ac_found_iconv_lib="yes",ac_found_iconv_lib="no")
fi
if test "x$ac_found_iconv_lib" = "xyes" ; then
ICONV_LFLAGS="-liconv"
LIBS="$LIBS $ICONV_LFLAGS"
fi
AC_MSG_CHECKING(for iconv usability in programs)
AC_TRY_RUN([
#include <iconv.h>
int main(int argc, char **argv) {
iconv_t conv = iconv_open("ISO8859-1", "UTF-8");
if (conv != (iconv_t) -1) {
return 0;
}
return 1;
}],iconv_found="yes")
if test "x$iconv_found" = "xno" ; then
AC_MSG_RESULT(no)
else
AC_MSG_RESULT(yes)
fi
fi
if test "x$iconv_found" = "xno" ; then
AC_MSG_ERROR([
*** Iconv headers and/or libraries couldn't be found in your system.
*** Try to install them with your software package manager.
*** WeeChat can't be built without Iconv support.])
fi
# ------------------------------------------------------------------------------
# plugins
# ------------------------------------------------------------------------------
PLUGINS_LIBS=
if test "x$enable_plugins" != "xyes" ; then
enable_plugins="no"
enable_perl="no"
enable_python="no"
enable_ruby="no"
enable_lua="no"
enable_aspell="no"
enable_charset="no"
fi
# ---------------------------------- perl --------------------------------------
PERL_VERSION=
if test "x$enable_perl" = "xyes" ; then
enable_plugins="yes"
AC_PATH_PROGS(PERL, perl perl5)
if test -z $PERL ; then
AC_MSG_WARN([
*** Perl must be installed on your system but perl interpreter couldn't be found in path.
*** Please check that perl is in path, or install it with your software package manager.
*** WeeChat will be built without Perl support.])
enable_perl="no"
not_found="$not_found perl"
else
PERL_VERSION=`perl -V:version | sed "s/version='\(.*\)';/\1/"`
AC_MSG_CHECKING(for Perl headers files)
PERL_HEADER_TEST=`PT=perltest.c ; echo "#include <EXTERN.h>" > $PT; echo "#include <perl.h>" >> $PT; echo "#include <XSUB.h>" >> $PT ; echo "int main() { return 0; }" >> $PT ; $CC -Wall $PT -o $PT.out $($PERL -MExtUtils::Embed -e ccopts) 1>/dev/null 2>&1; echo $?; rm -f $PT $PT.out 1>/dev/null 2>&1`
if test "x$PERL_HEADER_TEST" = "x0" ; then
PERL_CFLAGS=`$PERL -MExtUtils::Embed -e ccopts`
AC_MSG_RESULT(found)
AC_MSG_CHECKING(for Perl library)
PERL_LIB_TEST=`PT=perltest.c ; echo "int main() { return 0; }" > $PT ; $CC -Wall $PT -o $PT.out $($PERL -MExtUtils::Embed -e ldopts) 1>/dev/null 2>&1; echo $?; rm -f $PT $PT.out 1>/dev/null 2>&1`
if test "x$PERL_LIB_TEST" = "x0" ; then
PERL_LFLAGS=`$PERL -MExtUtils::Embed -e ldopts`
AC_MSG_RESULT(found)
else
AC_MSG_WARN([
*** Perl library couldn't be found in your system.
*** Try to install it with your software package manager.
*** WeeChat will be built without Perl support.])
enable_perl="no"
not_found="$not_found perl"
fi
else
AC_MSG_WARN([
*** Perl headers couldn't be found in your system.
*** Try to install it with your software package manager.
*** WeeChat will be built without Perl support.])
enable_perl="no"
not_found="$not_found perl"
fi
fi
fi
if test "x$enable_perl" = "xyes" ; then
AC_SUBST(PERL_CFLAGS)
AC_SUBST(PERL_LFLAGS)
AC_DEFINE(PLUGIN_PERL)
fi
# --------------------------------- python -------------------------------------
PYTHON_VERSION=
if test "x$enable_python" = "xyes" ; then
enable_plugins="yes"
AC_PATH_PROGS(PYTHON, python python2.5 python2.4 python2.3 python2.2)
if test -z $PYTHON ; then
AC_MSG_WARN([
*** Python must be installed on your system but python interpreter couldn't be found in path.
*** Please check that python is in path, or install it with your software package manager.
*** WeeChat will be built without Python support.])
enable_python="no"
not_found="$not_found python"
else
PYTHON_SYSPREFIX=`$PYTHON -c 'import sys; print "%s" % sys.prefix'`
PYTHON_VERSION=`$PYTHON -c 'import sys ; print sys.version[[:3]]'`
PYTHON_INCLUDE=`$PYTHON -c "import distutils.sysconfig,string; print distutils.sysconfig.get_config_var('CONFINCLUDEPY')"`
AC_MSG_CHECKING(for Python header files)
if test -r "$PYTHON_INCLUDE/Python.h"; then
PYTHON_CFLAGS="-I$PYTHON_INCLUDE"
AC_MSG_RESULT(found)
PYTHON_LIB=`$PYTHON -c "import distutils.sysconfig; print distutils.sysconfig.get_config_var('LIBPL')"`
PYTHON_LFLAGS="-lpython$PYTHON_VERSION "`$PYTHON -c "import distutils.sysconfig; print distutils.sysconfig.get_config_var('LIBS')+' '+distutils.sysconfig.get_config_var('SYSLIBS')+' '+distutils.sysconfig.get_config_var('LINKFORSHARED')"`
AC_MSG_CHECKING(for Python library)
if test -r "$PYTHON_LIB/libpython$PYTHON_VERSION.so"; then
PYTHON_LFLAGS="-L$PYTHON_LIB $PYTHON_LFLAGS"
AC_MSG_RESULT(found)
elif test -r "$PYTHON_LIB/libpython$PYTHON_VERSION.a"; then
PYTHON_LFLAGS="-L$PYTHON_LIB $PYTHON_LFLAGS"
AC_MSG_RESULT(found)
elif test -r "$PYTHON_SYSPREFIX/lib/libpython$PYTHON_VERSION.so"; then
PYTHON_LFLAGS="-L$PYTHON_SYSPREFIX/lib/ $PYTHON_LFLAGS"
AC_MSG_RESULT(found)
else
AC_MSG_WARN([
*** Python library couldn't be found in your system.
*** Try to install it with your software package manager.
*** WeeChat will be built without Python support.])
enable_python="no"
not_found="$not_found python"
fi
else
AC_MSG_WARN([
*** Python header files couldn't be found in your system.
*** Try to install them with your software package manager.
*** WeeChat will be built without Python support.])
enable_python="no"
not_found="$not_found python"
fi
fi
fi
if test "x$enable_python" = "xyes" ; then
AC_SUBST(PYTHON_CFLAGS)
AC_SUBST(PYTHON_LFLAGS)
AC_DEFINE(PLUGIN_PYTHON)
fi
# ---------------------------------- ruby --------------------------------------
RUBY_VERSION=
if test "x$enable_ruby" = "xyes" ; then
enable_plugins="yes"
AC_PATH_PROGS(RUBY, ruby ruby1.8 ruby1.9)
if test -z $RUBY ; then
AC_MSG_WARN([
*** Ruby must be installed on your system but ruby interpreter couldn't be found in path.
*** Please check that ruby is in path, or install it with your software package manager.
*** WeeChat will be built without Ruby support.])
enable_ruby="no"
not_found="$not_found ruby"
else
RUBY_VERSION=`$RUBY -rrbconfig -e "puts Config::CONFIG[['ruby_version']]"`
RUBY_INCLUDE=`$RUBY -rrbconfig -e "puts Config::CONFIG[['archdir']]"`
AC_MSG_CHECKING(for Ruby header files)
if test -r "$RUBY_INCLUDE/ruby.h"; then
RUBY_CFLAGS="-I$RUBY_INCLUDE"
else
AC_MSG_WARN([
*** Ruby header files couldn't be found in your system.
*** Try to install them with your software package manager.
*** WeeChat will be built without Ruby support.])
enable_ruby="no"
not_found="$not_found ruby"
fi
AC_MSG_RESULT(found)
RUBY_LFLAGS=`$RUBY -rrbconfig -e "puts Config::CONFIG[['LIBRUBYARG_SHARED']]"`
fi
fi
if test "x$enable_ruby" = "xyes" ; then
AC_SUBST(RUBY_CFLAGS)
AC_SUBST(RUBY_LFLAGS)
AC_DEFINE(PLUGIN_RUBY)
fi
# ---------------------------------- lua --------------------------------------
LUA_VERSION=
if test "x$enable_lua" = "xyes" ; then
enable_plugins="yes"
ac_save_CPPFLAGS="$CPPFLAGS"
ac_save_CFLAGS="$CFLAGS"
ac_save_LDFLAGS="$LDFLAGS"
LUA_CFLAGS=""
LUA_LFLAGS=""
if test -n "$lua_inc"; then
CFLAGS="$CFLAGS -I$lua_inc"
CPPFLAGS="$CPPFLAGS -I$lua_inc"
fi
if test -n "$lua_lib"; then
LDFLAGS="$LDFLAGS -L$lua_lib"
fi
if test "x$LUA_CFLAGS" = "x" -o "x$LUA_LFLAGS" = "x" ; then
PKGCONFIG=""
AC_CHECK_PROGS(PKGCONFIG, pkg-config)
if test "x$PKGCONFIG" != "x"; then
AC_MSG_CHECKING(for Lua headers and librairies with pkg-config)
echo
for l in "$lua_suffix" "" "51" "5.1" "50" "5.0" ; do
pkgconfig_lua_found=`$PKGCONFIG --exists lua$l 2>/dev/null`
if test "x$?" = "x0" ; then
LUA_VERSION=`$PKGCONFIG --modversion lua$l`
LUA_CFLAGS="$LUA_CFLAGS "`$PKGCONFIG --cflags lua$l`
LUA_LFLAGS="$LUA_LFLAGS "`$PKGCONFIG --libs lua$l`
pkgconfig_lualib_found=`$PKGCONFIG --exists lualib$l 2>/dev/null`
if test "x$?" = "x0"; then
LUA_CFLAGS="$LUA_CFLAGS "`$PKGCONFIG --cflags lualib$l`
LUA_LFLAGS="$LUA_LFLAGS "`$PKGCONFIG --libs lualib$l`
fi
break
fi
done
fi
fi
if test "x$LUA_CFLAGS" = "x" -o "x$LUA_LFLAGS" = "x" ; then
LUACONFIG=""
AC_CHECK_PROGS(LUACONFIG, lua-config lua-config51 lua-config5.1 lua-config50 lua-config5.0)
if test "x$LUACONFIG" != "x" ; then
AC_MSG_CHECKING(for Lua headers and librairies with lua-config)
echo
LUA_CFLAGS=`$LUACONFIG --include`
LUA_LFLAGS=`$LUACONFIG --libs`
LUA_VERSION="5.0.x"
fi
fi
if test "x$LUA_CFLAGS" = "x" -o "x$LUA_LFLAGS" = "x" ; then
AC_MSG_CHECKING(for Lua headers and librairies)
echo
AC_CHECK_HEADER(lua.h,ac_found_lua_header="yes",ac_found_lua_header="no")
AC_CHECK_HEADER(lualib.h,ac_found_liblua_header="yes",ac_found_liblua_header="no")
if test "x$ac_found_lua_header" = "xyes" -a "x$ac_found_liblua_header" = "xyes"; then
LUA_CFLAGS="$CFLAGS"
fi
for l in "$lua_suffix" "" "51" "5.1" "50" "5.0" ; do
AC_CHECK_LIB(lua$l,lua_call,ac_found_lua_lib="yes",ac_found_lua_lib="no")
if test "x$ac_found_lua_lib" = "xyes" ; then
LUA_VERSION=">=5.1.0"
LUA_LFLAGS="$LDFLAGS -llua$l -lm"
ac2_save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS -llua$l -lm"
if echo "$host_os" | grep "^linux" 1>/dev/null 2>&1 ; then
LDFLAGS="$LDFLAGS -ldl"
fi
AC_CHECK_LIB(lualib$l,luaL_openlib,ac_found_liblua_lib="yes",ac_found_liblua_lib="no")
if test "x$ac_found_liblua_lib" = "xyes" ; then
LUA_VERSION="5.0.x"
LUA_LFLAGS="$LUA_LFLAGS -llualib$l"
if echo "$host_os" | grep "^linux" 1>/dev/null 2>&1 ; then
LUA_LFLAGS="$LUA_LFLAGS -ldl"
fi
fi
LDFLAGS="$ac2_save_LDFLAGS"
break
fi
done
fi
AC_MSG_CHECKING(for Lua compiling and linking)
LUA_TEST=`LT=luatest.c ; echo "#include <lua.h>" > $LT; echo "#include <lualib.h>" >> $LT; echo "int main() { luaopen_base((lua_State *)lua_open()); return 0; }" >> $LT ; $CC -Wall $LT -o $LT.out $LUA_CFLAGS $LUA_LFLAGS $CFLAGS $LDFLAGS 1>/dev/null 2>&1 ; echo $?; rm -f $LT $LT.out 1>/dev/null 2>&1`
if test "x$LUA_TEST" != "x0" ; then
AC_MSG_RESULT(no)
AC_MSG_WARN([
*** Lua (>=5.0) headers and/or librairies couldn't be found in your system.
*** Try to install liblua, liblualib and liblua-dev with your software package manager.
*** WeeChat will be built without Lua support.])
enable_lua="no"
not_found="$not_found lua"
else
AC_MSG_RESULT(yes)
fi
CFLAGS="$ac_save_CFLAGS"
CPPFLAGS="$ac_save_CPPFLAGS"
LDFLAGS="$ac_save_LDFLAGS"
fi
if test "x$enable_lua" = "xyes" ; then
AC_SUBST(LUA_CFLAGS)
AC_SUBST(LUA_LFLAGS)
AC_DEFINE(PLUGIN_LUA)
fi
# ------------------------------------------------------------------------------
# aspell
# ------------------------------------------------------------------------------
if test "x$enable_aspell" = "xyes" ; then
ASPELL_CFLAGS=""
ASPELL_LFLAGS=""
AC_CHECK_HEADER(aspell.h,ac_found_aspell_header="yes",ac_found_aspell_header="no")
AC_CHECK_LIB(aspell,new_aspell_speller,ac_found_aspell_lib="yes",ac_found_aspell_lib="no")
AC_MSG_CHECKING(for aspell headers and librairies)
if test "x$ac_found_aspell_header" = "xno" -o "x$ac_found_aspell_lib" = "xno" ; then
AC_MSG_RESULT(no)
AC_MSG_WARN([
*** Aspell headers and/or libraries couldn't be found in your system.
*** Try to install them with your software package manager.
*** WeeChat will be built without Aspell support.])
enable_aspell="no"
not_found="$not_found aspell"
else
AC_MSG_RESULT(yes)
ASPELL_LFLAGS="$ASPELL_LFLAGS -laspell"
fi
fi
if test "x$enable_aspell" = "xyes" ; then
AC_SUBST(ASPELL_CFLAGS)
AC_SUBST(ASPELL_LFLAGS)
AC_DEFINE(PLUGIN_ASPELL)
fi
# ------------------------------------------------------------------------------
# charset
# ------------------------------------------------------------------------------
if test "x$enable_charset" = "xyes" ; then
CHARSET_CFLAGS=""
CHARSET_LFLAGS=""
CHARSET_LFLAGS="$CHARSET_LFLAGS $ICONV_LFLAGS"
AC_SUBST(CHARSET_CFLAGS)
AC_SUBST(CHARSET_LFLAGS)
AC_DEFINE(PLUGIN_CHARSET)
fi
# ------------------------------------------------------------------------------
# dynamic loader
# ------------------------------------------------------------------------------
if test "x$enable_plugins" = "xyes" ; then
AC_CHECK_FUNCS(dlopen, LIBDL_FOUND=yes, LIBDL_FOUND=no)
if test "$LIBDL_FOUND" != "yes"; then
AC_CHECK_LIB(dl, dlopen, [LIBDL_FOUND=yes; PLUGINS_LIBS=-ldl], LIBDL_FOUND=no)
fi
if test "$LIBDL_FOUND" = "yes"; then
AC_DEFINE(PLUGINS)
AC_SUBST(PLUGINS_LIBS)
else
AC_MSG_WARN([
*** "dl" library (dynamic library loader) couldn't be found in your system.
*** Try to install it with your software package manager or disable plugins.
*** WeeChat will be built without any plugin.])
enable_plugins="no"
enable_perl="no"
enable_python="no"
enable_ruby="no"
enable_lua="no"
enable_aspell="no"
enable_charset="no"
not_found="$not_found plugins"
fi
fi
# ------------------------------------------------------------------------------
# gnutls
# ------------------------------------------------------------------------------
if test "x$enable_gnutls" = "xyes" ; then
found_gnutls="no"
AM_PATH_LIBGNUTLS( 1.0.0, found_gnutls=yes, AC_MSG_WARN([[
*** libgnutls was not found. You may want to get it from ftp://ftp.gnutls.org/pub/gnutls/
*** WeeChat will be built without GnuTLS support.]]))
if test "x$found_gnutls" = "xyes" ; then
GNUTLS_CFLAGS=`libgnutls-config --cflags`
GNUTLS_LFLAGS=`libgnutls-config --libs`
AC_SUBST(GNUTLS_CFLAGS)
AC_SUBST(GNUTLS_LFLAGS)
AC_DEFINE(HAVE_GNUTLS)
else
enable_gnutls="no"
not_found="$not_found gnutls"
fi
fi
# ------------------------------------------------------------------------------
# flock
# ------------------------------------------------------------------------------
enable_flock="no"
AC_CACHE_CHECK([for flock() support], ac_have_flock, [
AC_TRY_COMPILE(
[ #include <sys/file.h>
],
[ flock(0, LOCK_SH); ],
[ ac_have_flock="yes" ],
[ ac_have_flock="no" ])])
if test "x$ac_have_flock" = "xyes"; then
enable_flock="yes"
AC_DEFINE(HAVE_FLOCK)
fi
# ------------------------------------------------------------------------------
# backtrace
# ------------------------------------------------------------------------------
enable_backtrace="no"
if test "x$debug" != "x0" ; then
AC_CACHE_CHECK([for execinfo.h and backtrace], ac_have_backtrace, [
AC_TRY_COMPILE(
[ #include <execinfo.h>
],
[ void *trace[128]; int n = backtrace(trace, 128); ],
[ ac_have_backtrace="yes" ],
[ ac_have_backtrace="no" ])])
if test "x$ac_have_backtrace" = "xyes"; then
enable_backtrace="yes"
AC_DEFINE(HAVE_BACKTRACE,1,[glibc backtrace function])
fi
fi
# ------------------------------------------------------------------------------
# documentation
# ------------------------------------------------------------------------------
msg_doc=""
if test "x$DBLATEX_FOUND" = "xyes"; then
msg_doc="pdf $msg_doc"
fi
AC_MSG_CHECKING(for html/chunk.xsl)
DOC_XSL_PREFIX=""
if test -n "$doc_xsl_prefix"; then
doc_xsl_prefix_path="$doc_xsl_prefix"
else
doc_xsl_prefix_path="/usr/share/xml/docbook/xsl-stylesheets-1.69"
doc_xsl_prefix_path="${doc_xsl_prefix_arr} /usr/share/xml/docbook/stylesheet/nwalsh"
fi
for p in $doc_xsl_prefix_path; do
if test -f ${p}/html/chunk.xsl; then
DOC_XSL_PREFIX="$p"
fi
done
if test "x$DOC_XSL_PREFIX" = "x"; then
AC_MSG_RESULT(no)
AC_MSG_WARN([
*** Docbook XSL files not found
*** WeeChat will be built without documentation.
*** Try ./configure --with-doc-xsl-prefix=DIR if you have DIR/html/chunk.xsl file])
else
AC_MSG_RESULT($DOC_XSL_PREFIX)
AC_SUBST(DOC_XSL_PREFIX)
msg_doc="html $msg_doc"
fi
# ------------------------------------------------------------------------------
# general vars
# ------------------------------------------------------------------------------
if test "x$prefix" = "xNONE" ; then
prefix="$ac_default_prefix"
fi
if test "x$exec_prefix" = "xNONE" ; then
exec_prefix="$prefix"
fi
AC_DEFINE_UNQUOTED(PREFIX, "${prefix}")
WEECHAT_LIBDIR=`eval eval echo ${libdir}/weechat`
AC_DEFINE_UNQUOTED(WEECHAT_LIBDIR, "$WEECHAT_LIBDIR")
WEECHAT_SHAREDIR=`eval eval echo ${datadir}/weechat`
AC_DEFINE_UNQUOTED(WEECHAT_SHAREDIR, "$WEECHAT_SHAREDIR")
weechat_libdir=${libdir}/weechat
AC_SUBST(weechat_libdir)
COMMON_CFLAGS="-Wall -W"
AC_MSG_CHECKING([whether we have GNU assembler])
GAS=`as --version < /dev/null 2>/dev/null | grep GNU`
if test "$GAS"; then
COMMON_CFLAGS="${COMMON_CFLAGS} -pipe"
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
CFLAGS=`echo $CFLAGS | sed s/-g//g`
if test "x$CFLAGS" = "x" ; then
CFLAGS="-O2"
fi
if test "x$debug" = "x1" || test "x$debug" = "x2" ; then
CFLAGS="$COMMON_CFLAGS $CFLAGS -g"
else
CFLAGS="$COMMON_CFLAGS $CFLAGS"
fi
if test "x$debug" = "x2" ; then
AC_DEFINE(DEBUG)
fi
LIBS="$LIBS $INTLLIBS"
case "$host_os" in
freebsd*)
if test "x$enable_perl" = "xyes" -o "x$enable_python" = "xyes" ; then
CFLAGS="$CFLAGS -pthread"
fi
CFLAGS="$CFLAGS $CPPFLAGS"
;;
openbsd*)
if test "x$enable_python" = "xyes" ; then
CFLAGS="$CFLAGS -pthread"
fi
;;
netbsd*)
if test "x$enable_perl" = "xyes" -o "x$enable_python" = "xyes" ; then
CFLAGS="$CFLAGS -pthread"
fi
CFLAGS="$CFLAGS $CPPFLAGS"
;;
gnu*)
if test "x$enable_plugins" = "xyes" ; then
LDFLAGS="$LDFLAGS -lpthread"
fi
;;
*)
;;
esac
# ------------------------------------------------------------------------------
# output Makefiles
# ------------------------------------------------------------------------------
AM_CONDITIONAL(GUI_NCURSES, test "$enable_ncurses" = "yes")
AM_CONDITIONAL(GUI_WXWIDGETS, test "$enable_wxwidgets" = "yes")
AM_CONDITIONAL(GUI_GTK, test "$enable_gtk" = "yes")
AM_CONDITIONAL(GUI_QT, test "$enable_qt" = "yes")
AM_CONDITIONAL(PLUGINS, test "$enable_plugins" = "yes")
AM_CONDITIONAL(PLUGIN_PERL, test "$enable_perl" = "yes")
AM_CONDITIONAL(PLUGIN_PYTHON, test "$enable_python" = "yes")
AM_CONDITIONAL(PLUGIN_RUBY, test "$enable_ruby" = "yes")
AM_CONDITIONAL(PLUGIN_LUA, test "$enable_lua" = "yes")
AM_CONDITIONAL(PLUGIN_ASPELL, test "$enable_aspell" = "yes")
AM_CONDITIONAL(PLUGIN_CHARSET, test "$enable_charset" = "yes")
AM_CONDITIONAL(HAVE_GNUTLS, test "$enable_gnutls" = "yes")
AM_CONDITIONAL(HAVE_FLOCK, test "$enable_flock" = "yes")
AM_CONDITIONAL(DBLATEX_FOUND, test "$DBLATEX_FOUND" = "yes")
AC_OUTPUT([Makefile
doc/Makefile
doc/en/Makefile
doc/fr/Makefile
doc/de/Makefile
doc/ru/Makefile
doc/pl/Makefile
doc/cs/Makefile
doc/sco/Makefile
doc/sv/Makefile
src/Makefile
src/common/Makefile
src/irc/Makefile
src/plugins/Makefile
src/plugins/scripts/Makefile
src/plugins/scripts/perl/Makefile
src/plugins/scripts/python/Makefile
src/plugins/scripts/ruby/Makefile
src/plugins/scripts/lua/Makefile
src/plugins/aspell/Makefile
src/plugins/charset/Makefile
src/gui/Makefile
src/gui/curses/Makefile
src/gui/wxwidgets/Makefile
src/gui/gtk/Makefile
src/gui/qt/Makefile
intl/Makefile
po/Makefile.in])
# ------------------------------------------------------------------------------
# end message
# ------------------------------------------------------------------------------
listgui=""
if test "x$enable_ncurses" = "xyes" ; then
listgui="$listgui ncurses"
fi
if test "x$enable_wxwidgets" = "xyes"; then
listgui="$listgui WxWidgets"
fi
if test "x$enable_gtk" = "xyes" ; then
listgui="$listgui Gtk"
fi
if test "x$enable_qt" = "xyes" ; then
listgui="$listgui Qt"
fi
if test "x$listgui" = "x" ; then
AC_MSG_ERROR([
*** No interface specified...
*** Please enable at least ncurses, WxWidgets, Gtk or Qt.])
fi
if test "x$not_found" != "x" ; then
echo ""
echo "Following components were asked but not found, they will not be built:"
echo "$not_found"
fi
msg_debug_compiler="no"
msg_debug_verbose="no"
if test "x$debug" = "x1" || test "x$debug" = "x2" ; then
msg_debug_compiler="yes"
fi
if test "x$debug" = "x2" ; then
msg_debug_verbose="yes"
fi
# plugin status
PERL_STATUS=
if test "x$enable_perl" = "xyes"; then
PERL_STATUS="($PERL_VERSION)"
fi
PYTHON_STATUS=
if test "x$enable_python" = "xyes"; then
PYTHON_STATUS="($PYTHON_VERSION)"
fi
RUBY_STATUS=
if test "x$enable_ruby" = "xyes"; then
RUBY_STATUS="($RUBY_VERSION)"
fi
LUA_STATUS=
if test "x$enable_lua" = "xyes"; then
LUA_STATUS="($LUA_VERSION)"
fi
echo ""
echo "Interfaces........................ :$listgui"
echo "Build with GNUtls support......... : $enable_gnutls"
echo "Build with flock support.......... : $enable_flock"
echo "Build with Plugin support......... : $enable_plugins"
echo " Perl plugin......... : $enable_perl $PERL_STATUS"
echo " Python plugin....... : $enable_python $PYTHON_STATUS"
echo " Ruby plugin......... : $enable_ruby $RUBY_STATUS"
echo " Lua plugin.......... : $enable_lua $LUA_STATUS"
echo " Aspell plugin....... : $enable_aspell"
echo " Charset plugin...... : $enable_charset"
echo "Compile with debug info........... : $msg_debug_compiler"
echo " Backtrace........... : $enable_backtrace"
echo "Build doc..........................: $msg_doc"
echo "Print debugging messages.......... : $msg_debug_verbose"
echo ""
eval echo "WeeChat will be installed in $bindir."
echo ""
echo "configure complete, now type 'make' to build WeeChat $VERSION"
echo ""
-1
View File
@@ -1 +0,0 @@
12
-274
View File
@@ -1,274 +0,0 @@
Source: weechat-devel
Section: net
Priority: optional
Maintainer: Sébastien Helleu <flashcode@flashtux.org>
Build-Depends:
asciidoctor (>= 1.5.4),
ruby-pygments.rb,
debhelper (>= 12),
cmake,
pkgconf,
libncurses-dev,
gem2deb,
libperl-dev,
python3-dev,
libaspell-dev,
liblua5.3-dev,
tcl8.6-dev,
guile-3.0-dev,
php-dev, libphp-embed, libargon2-dev, libsodium-dev,
libxml2-dev,
libcurl4-gnutls-dev,
libgcrypt20-dev,
libgnutls28-dev,
libzstd-dev,
zlib1g-dev,
libcjson-dev
Standards-Version: 4.7.2
Homepage: https://weechat.org/
Vcs-Git: https://salsa.debian.org/kolter/weechat.git
Vcs-Browser: https://salsa.debian.org/kolter/weechat
Package: weechat-devel
Architecture: all
Depends:
${misc:Depends},
weechat-devel-curses (>= ${source:Version}) | weechat-devel-headless (>= ${source:Version})
Suggests: weechat-devel-doc (= ${source:Version})
Conflicts: weechat
Description: Fast, light and extensible chat client (metapackage)
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
for many operating systems. Everything can be done with a keyboard.
It is customizable and extensible with plugins/scripts, and includes:
- support of IRC protocol (native)
- support of XMPP/Jabber protocol (with additional script)
- nicklist
- smart hotlist
- horizontal and vertical split
- double charset support (decode/encode)
- FIFO pipe for remote control
- 256 colors support
- incremental text search
- dynamic filtering of buffer content
- Perl, Python, Ruby, Lua, Tcl, Scheme and PHP scripting
- script manager
- spell checking
- highly customizable and extensible
- and much more!
Package: weechat-devel-curses
Architecture: any
Depends:
${misc:Depends},
${shlibs:Depends},
weechat-devel-core (= ${binary:Version})
Recommends:
weechat-devel-plugins (= ${binary:Version})
Suggests: weechat-devel-doc (= ${source:Version})
Conflicts: weechat-curses
Description: Fast, light and extensible chat client - console client
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
for many operating systems. Everything can be done with a keyboard.
It is customizable and extensible with plugins/scripts, and includes:
- support of IRC protocol (native)
- support of XMPP/Jabber protocol (with additional script)
- nicklist
- smart hotlist
- horizontal and vertical split
- double charset support (decode/encode)
- FIFO pipe for remote control
- 256 colors support
- incremental text search
- dynamic filtering of buffer content
- Perl, Python, Ruby, Lua, Tcl, Scheme and PHP scripting
- script manager
- spell checking
- highly customizable and extensible
- and much more!
.
This package provides the console client (ncurses).
Package: weechat-devel-headless
Architecture: any
Depends:
${misc:Depends},
${shlibs:Depends},
weechat-devel-core (= ${binary:Version})
Recommends: weechat-devel-plugins (= ${binary:Version})
Suggests: weechat-devel-doc (= ${source:Version})
Conflicts: weechat-headless
Description: Fast, light and extensible chat client - headless client
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
for many operating systems. Everything can be done with a keyboard.
It is customizable and extensible with plugins/scripts, and includes:
- support of IRC protocol (native)
- support of XMPP/Jabber protocol (with additional script)
- nicklist
- smart hotlist
- horizontal and vertical split
- double charset support (decode/encode)
- FIFO pipe for remote control
- 256 colors support
- incremental text search
- dynamic filtering of buffer content
- Perl, Python, Ruby, Lua, Tcl, Scheme and PHP scripting
- script manager
- spell checking
- highly customizable and extensible
- and much more!
.
This package provides the headless client.
Package: weechat-devel-core
Architecture: any
Depends:
${misc:Depends},
${shlibs:Depends}
Suggests: weechat-devel-doc (= ${source:Version})
Conflicts: weechat-core
Description: Fast, light and extensible chat client - core files
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
for many operating systems. Everything can be done with a keyboard.
.
This package provides core plugins and locales files for WeeChat. It
currently ships the following plugins: alias, buflist, charset, fset, irc,
logger and xfer. It is useless without weechat-curses or weechat-headless.
Package: weechat-devel-plugins
Architecture: any
Depends:
${misc:Depends},
${shlibs:Depends},
weechat-devel-curses (= ${binary:Version}) | weechat-devel-headless (= ${binary:Version})
Recommends:
weechat-devel-perl,
weechat-devel-python,
weechat-devel-ruby
Suggests: weechat-scripts (>> 20090221-1)
Conflicts: weechat-plugins
Description: Fast, light and extensible chat client - plugins
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
for many operating systems. Everything can be done with a keyboard.
.
This package provides some plugins to enhance WeeChat. It currently
ships the following plugins:
- script manager
- Spell checking (thanks to aspell)
- FIFO pipe for remote control
- Relay (IRC proxy and WeeChat protocol)
- Trigger
- Typing
Package: weechat-devel-python
Architecture: any
Depends:
${misc:Depends},
${shlibs:Depends},
weechat-devel-curses (= ${binary:Version}) | weechat-devel-headless (= ${binary:Version})
Conflicts: weechat-python
Description: Fast, light and extensible chat client - Python 3 plugin
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
for many operating systems. Everything can be done with a keyboard.
.
This package provides the Python 3 scripting API plugin.
Package: weechat-devel-perl
Architecture: any
Depends:
${misc:Depends},
${shlibs:Depends},
weechat-devel-curses (= ${binary:Version}) | weechat-devel-headless (= ${binary:Version})
Conflicts: weechat-perl
Description: Fast, light and extensible chat client - Perl plugin
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
for many operating systems. Everything can be done with a keyboard.
.
This package provides the Perl scripting API plugin.
Package: weechat-devel-ruby
Architecture: any
Depends:
${misc:Depends},
${shlibs:Depends},
weechat-devel-curses (= ${binary:Version}) | weechat-devel-headless (= ${binary:Version})
Conflicts: weechat-ruby
Description: Fast, light and extensible chat client - Ruby plugin
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
for many operating systems. Everything can be done with a keyboard.
.
This package provides the Ruby scripting API plugin.
Package: weechat-devel-lua
Architecture: any
Depends:
${misc:Depends},
${shlibs:Depends},
weechat-devel-curses (= ${binary:Version}) | weechat-devel-headless (= ${binary:Version})
Conflicts: weechat-lua
Description: Fast, light and extensible chat client - Lua plugin
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
for many operating systems. Everything can be done with a keyboard.
.
This package provides the Lua scripting API plugin.
Package: weechat-devel-tcl
Architecture: any
Depends:
${misc:Depends},
${shlibs:Depends},
weechat-devel-curses (= ${binary:Version}) | weechat-devel-headless (= ${binary:Version})
Conflicts: weechat-tcl
Description: Fast, light and extensible chat client - Tcl plugin
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
for many operating systems. Everything can be done with a keyboard.
.
This package provides the Tcl scripting API plugin.
Package: weechat-devel-guile
Architecture: any
Depends:
${misc:Depends},
${shlibs:Depends},
weechat-devel-curses (= ${binary:Version}) | weechat-devel-headless (= ${binary:Version})
Conflicts: weechat-guile
Description: Fast, light and extensible chat client - Guile plugin
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
for many operating systems. Everything can be done with a keyboard.
.
This package provides the Guile scripting API plugin.
Package: weechat-devel-php
Architecture: any
Depends:
${misc:Depends},
${shlibs:Depends},
weechat-devel-curses (= ${binary:Version}) | weechat-devel-headless (= ${binary:Version}),
libphp-embed
Conflicts: weechat-php
Description: Fast, light and extensible chat client - PHP plugin
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
for many operating systems. Everything can be done with a keyboard.
.
This package provides the PHP scripting API plugin.
Package: weechat-devel-doc
Section: doc
Architecture: all
Depends: ${misc:Depends}
Conflicts: weechat-doc
Description: Fast, light and extensible chat client - documentation
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
for many operating systems. Everything can be done with a keyboard.
.
This package contains the html documentation for WeeChat.
Package: weechat-devel-dev
Section: devel
Architecture: any
Depends: ${misc:Depends}
Conflicts: weechat-dev
Description: Fast, light and extensible chat client - development headers
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
for many operating systems. Everything can be done with a keyboard.
.
This package contains the headers needed to build plugins.
-1
View File
@@ -1 +0,0 @@
../debian-stable/copyright
-1
View File
@@ -1 +0,0 @@
../debian-stable/gbp.conf
-20
View File
@@ -1,20 +0,0 @@
#!/usr/bin/make -f
export DEB_BUILD_MAINT_OPTIONS=hardening=+all
BUILDDIR = builddir
override_dh_auto_configure:
dh_auto_configure --buildsystem=cmake -- \
-DCMAKE_INSTALL_PREFIX:FILEPATH=/usr \
-DLIBDIR=/usr/lib/${DEB_HOST_MULTIARCH} \
-DENABLE_DOC:BOOL=ON \
-DENABLE_MAN:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \
-DCMAKE_C_FLAGS_RELWITHDEBINFO:STRING="$(CFLAGS) -D_FORTIFY_SOURCE=2" \
-DCMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING="$(LDFLAGS)" \
-DCMAKE_SKIP_RPATH:BOOL=ON \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
%:
dh $@ --builddirectory=$(BUILDDIR)
-3
View File
@@ -1,3 +0,0 @@
tar-ignore = ".git"
tar-ignore = "build"
tar-ignore = "release"
-1
View File
@@ -1 +0,0 @@
../debian-stable/watch
-1
View File
@@ -1 +0,0 @@
../debian-stable/weechat-core.docs
-1
View File
@@ -1 +0,0 @@
../debian-stable/weechat-core.install
-1
View File
@@ -1 +0,0 @@
../debian-stable/weechat-curses.dirs
@@ -1 +0,0 @@
../debian-stable/weechat-curses.install
-1
View File
@@ -1 +0,0 @@
../debian-stable/weechat-curses.links
-1
View File
@@ -1 +0,0 @@
../debian-stable/weechat-curses.menu
-1
View File
@@ -1 +0,0 @@
../debian-stable/weechat-dev.dirs
-1
View File
@@ -1 +0,0 @@
../debian-stable/weechat-dev.install
@@ -1,10 +0,0 @@
Document: weechat-dev-en
Title: WeeChat developer's guide (English)
Author: Sébastien Helleu
Abstract: This manual describes WeeChat internals and
how to contribute to WeeChat (English version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_dev.en.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_dev.en.html
@@ -1,10 +0,0 @@
Document: weechat-dev-fr
Title: WeeChat developer's guide (French)
Author: Sébastien Helleu
Abstract: This manual describes WeeChat internals and
how to contribute to WeeChat (French version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_dev.fr.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_dev.fr.html
@@ -1,10 +0,0 @@
Document: weechat-dev-ja
Title: WeeChat developer's guide (Japanese)
Author: Sébastien Helleu
Abstract: This manual describes WeeChat internals and
how to contribute to WeeChat (Japanese version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_dev.ja.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_dev.ja.html
@@ -1,10 +0,0 @@
Document: weechat-dev-sr
Title: WeeChat developer's guide (Serbian)
Author: Sébastien Helleu
Abstract: This manual describes WeeChat internals and
how to contribute to WeeChat (Serbian version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_dev.sr.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_dev.sr.html
@@ -1,10 +0,0 @@
Document: weechat-faq-de
Title: WeeChat FAQ (German)
Author: Sébastien Helleu
Abstract: This document answers frequently asked questions
about the WeeChat IRC client (German version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_faq.de.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_faq.de.html
@@ -1,10 +0,0 @@
Document: weechat-faq-en
Title: WeeChat FAQ (English)
Author: Sébastien Helleu
Abstract: This document answers frequently asked questions
about the WeeChat IRC client (English version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_faq.en.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_faq.en.html
@@ -1,10 +0,0 @@
Document: weechat-faq-es
Title: WeeChat FAQ (Spanish)
Author: Sébastien Helleu
Abstract: This document answers frequently asked questions
about the WeeChat IRC client (Spanish version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_faq.es.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_faq.es.html
@@ -1,10 +0,0 @@
Document: weechat-faq-fr
Title: WeeChat FAQ (French)
Author: Sébastien Helleu
Abstract: This document answers frequently asked questions
about the WeeChat IRC client (French version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_faq.fr.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_faq.fr.html
@@ -1,10 +0,0 @@
Document: weechat-faq-it
Title: WeeChat FAQ (Italian)
Author: Sébastien Helleu
Abstract: This document answers frequently asked questions
about the WeeChat IRC client (Italian version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_faq.it.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_faq.it.html
@@ -1,10 +0,0 @@
Document: weechat-faq-ja
Title: WeeChat FAQ (Japanese)
Author: Sébastien Helleu
Abstract: This document answers frequently asked questions
about the WeeChat IRC client (Japanese version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_faq.ja.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_faq.ja.html
@@ -1,10 +0,0 @@
Document: weechat-faq-pl
Title: WeeChat FAQ (Polish)
Author: Sébastien Helleu
Abstract: This document answers frequently asked questions
about the WeeChat IRC client (Polish version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_faq.pl.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_faq.pl.html
@@ -1,10 +0,0 @@
Document: weechat-faq-sr
Title: WeeChat FAQ (Serbian)
Author: Sébastien Helleu
Abstract: This document answers frequently asked questions
about the WeeChat IRC client (Serbian version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_faq.sr.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_faq.sr.html
@@ -1,10 +0,0 @@
Document: weechat-plugin-en
Title: WeeChat plugin API reference (English)
Author: Sébastien Helleu
Abstract: This document describes the API to create plugins
for WeeChat (English version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_plugin_api.en.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_plugin_api.en.html
@@ -1,10 +0,0 @@
Document: weechat-plugin-fr
Title: WeeChat plugin API reference (French)
Author: Sébastien Helleu
Abstract: This document describes the API to create plugins
for WeeChat (French version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_plugin_api.fr.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_plugin_api.fr.html
@@ -1,10 +0,0 @@
Document: weechat-plugin-it
Title: WeeChat plugin API reference (Italian)
Author: Sébastien Helleu
Abstract: This document describes the API to create plugins
for WeeChat (Italian version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_plugin_api.it.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_plugin_api.it.html
@@ -1,10 +0,0 @@
Document: weechat-plugin-ja
Title: WeeChat plugin API reference (Japanese)
Author: Sébastien Helleu
Abstract: This document describes the API to create plugins
for WeeChat (Japanese version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_plugin_api.ja.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_plugin_api.ja.html
@@ -1,10 +0,0 @@
Document: weechat-plugin-sr
Title: WeeChat plugin API reference (Serbian)
Author: Sébastien Helleu
Abstract: This document describes the API to create plugins
for WeeChat (Serbian version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_plugin_api.sr.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_plugin_api.sr.html
@@ -1,9 +0,0 @@
Document: weechat-quickstart-cs
Title: WeeChat quick start guide (Czech)
Author: Sébastien Helleu
Abstract: A short HowTo for new WeeChat users (Czech version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.cs.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.cs.html
@@ -1,9 +0,0 @@
Document: weechat-quickstart-de
Title: WeeChat quick start guide (German)
Author: Sébastien Helleu
Abstract: A short HowTo for new WeeChat users (German version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.de.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.de.html
@@ -1,9 +0,0 @@
Document: weechat-quickstart-en
Title: WeeChat quick start guide (English)
Author: Sébastien Helleu
Abstract: A short HowTo for new WeeChat users (English version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.en.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.en.html
@@ -1,9 +0,0 @@
Document: weechat-quickstart-es
Title: WeeChat quick start guide (Spanish)
Author: Sébastien Helleu
Abstract: A short HowTo for new WeeChat users (Spanish version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.es.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.es.html
@@ -1,9 +0,0 @@
Document: weechat-quickstart-fr
Title: WeeChat quick start guide (French)
Author: Sébastien Helleu
Abstract: A short HowTo for new WeeChat users (French version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.fr.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.fr.html
@@ -1,9 +0,0 @@
Document: weechat-quickstart-it
Title: WeeChat quick start guide (Italian)
Author: Sébastien Helleu
Abstract: A short HowTo for new WeeChat users (Italian version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.it.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.it.html
@@ -1,9 +0,0 @@
Document: weechat-quickstart-ja
Title: WeeChat quick start guide (Japanese)
Author: Sébastien Helleu
Abstract: A short HowTo for new WeeChat users (Japanese version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.ja.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.ja.html
@@ -1,9 +0,0 @@
Document: weechat-quickstart-pl
Title: WeeChat quick start guide (Polish)
Author: Sébastien Helleu
Abstract: A short HowTo for new WeeChat users (Polish version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.pl.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.pl.html
@@ -1,9 +0,0 @@
Document: weechat-quickstart-ru
Title: WeeChat quick start guide (Russian)
Author: Sébastien Helleu
Abstract: A short HowTo for new WeeChat users (Russian version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.ru.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.ru.html
@@ -1,9 +0,0 @@
Document: weechat-quickstart-sr
Title: WeeChat quick start guide (Serbian)
Author: Sébastien Helleu
Abstract: A short HowTo for new WeeChat users (Serbian version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.sr.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.sr.html
@@ -1,10 +0,0 @@
Document: weechat-relay-api-en
Title: WeeChat Relay "api" protocol (English)
Author: Sébastien Helleu
Abstract: This manual describes WeeChat Relay "api" protocol, used by
remote GUI or WeeChat to communicate with Relay plugin (English version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_relay_api.en.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_relay_api.en.html
@@ -1,10 +0,0 @@
Document: weechat-relay-api-fr
Title: WeeChat Relay "api" protocol (French)
Author: Sébastien Helleu
Abstract: This manual describes WeeChat Relay "api" protocol, used by
remote GUI or WeeChat to communicate with Relay plugin (French version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_relay_api.fr.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_relay_api.fr.html
@@ -1,10 +0,0 @@
Document: weechat-relay-weechat-en
Title: WeeChat Relay "weechat" protocol (English)
Author: Sébastien Helleu
Abstract: This manual describes WeeChat Relay "weechat" protocol, used by
remote GUI to communicate with Relay plugin (English version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_relay_weechat.en.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_relay_weechat.en.html
@@ -1,10 +0,0 @@
Document: weechat-relay-weechat-fr
Title: WeeChat Relay "weechat" protocol (French)
Author: Sébastien Helleu
Abstract: This manual describes WeeChat Relay "weechat" protocol, used by
remote GUI to communicate with Relay plugin (French version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_relay_weechat.fr.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_relay_weechat.fr.html
@@ -1,10 +0,0 @@
Document: weechat-relay-weechat-ja
Title: WeeChat Relay "weechat" protocol (Japanese)
Author: Sébastien Helleu
Abstract: This manual describes WeeChat Relay "weechat" protocol, used by
remote GUI to communicate with Relay plugin (Japanese version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_relay_weechat.ja.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_relay_weechat.ja.html
@@ -1,10 +0,0 @@
Document: weechat-relay-weechat-sr
Title: WeeChat Relay "weechat" protocol (Serbian)
Author: Sébastien Helleu
Abstract: This manual describes WeeChat Relay "weechat" protocol, used by
remote GUI to communicate with Relay plugin (Serbian version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_relay_weechat.sr.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_relay_weechat.sr.html

Some files were not shown because too many files have changed in this diff Show More