mirror of
https://github.com/weechat/weechat.git
synced 2026-06-12 22:24:47 +02:00
Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4c34d008d9 | |||
| f314ad4112 | |||
| f88b127e44 | |||
| d157f42ec9 | |||
| 1d803a6972 | |||
| 2342aecbe6 | |||
| b3e7bc728d | |||
| 765d2ee476 |
@@ -1,8 +0,0 @@
|
||||
# files/directories excluded from tarballs
|
||||
|
||||
.git* export-ignore
|
||||
debian-devel export-ignore
|
||||
debian-stable export-ignore
|
||||
weechat.spec export-ignore
|
||||
.mailmap export-ignore
|
||||
tools/build_debian.sh export-ignore
|
||||
@@ -1 +0,0 @@
|
||||
custom: https://weechat.org/donate/
|
||||
@@ -1,43 +0,0 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a bug report (please do not report security issues here)
|
||||
labels: bug
|
||||
|
||||
---
|
||||
|
||||
<!-- Please do not report any security issue here, see file Contributing.adoc -->
|
||||
|
||||
## Bug summary
|
||||
|
||||
|
||||
|
||||
## Steps to reproduce
|
||||
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
|
||||
## Current behavior
|
||||
|
||||
|
||||
|
||||
## Expected behavior
|
||||
|
||||
|
||||
|
||||
## Suggested solutions
|
||||
|
||||
|
||||
|
||||
## Additional information
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
<!-- MANDATORY INFO: -->
|
||||
|
||||
- WeeChat version:
|
||||
- OS, distribution and version:
|
||||
- Terminal:
|
||||
- Terminal multiplexer (screen/tmux/…/none):
|
||||
@@ -1 +0,0 @@
|
||||
blank_issues_enabled: false
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
name: Feature request
|
||||
about: Request a new feature / enhancement
|
||||
labels: feature
|
||||
|
||||
---
|
||||
|
||||
## Feature description
|
||||
@@ -1,15 +0,0 @@
|
||||
---
|
||||
name: Question
|
||||
about: Ask a question (please read first FAQ and docs)
|
||||
labels: question
|
||||
|
||||
---
|
||||
|
||||
## Question
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
- WeeChat version:
|
||||
- OS, distribution and version:
|
||||
@@ -1,161 +0,0 @@
|
||||
name: CI
|
||||
|
||||
on:
|
||||
- push
|
||||
- pull_request
|
||||
|
||||
env:
|
||||
WEECHAT_DEPENDENCIES: devscripts equivs python3-pip autopoint cmake ninja-build lcov pkg-config libncursesw5-dev gem2deb libperl-dev python3-dev libaspell-dev liblua5.3-dev tcl8.6-dev guile-3.0-dev libv8-dev libcurl4-gnutls-dev libgcrypt20-dev libgnutls28-dev libzstd-dev zlib1g-dev curl libcpputest-dev php-dev libphp-embed libargon2-dev libsodium-dev flake8 pylint python3-bandit asciidoctor ruby-pygments.rb shellcheck
|
||||
|
||||
jobs:
|
||||
|
||||
tests_linux:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
os:
|
||||
- ubuntu-22.04
|
||||
config:
|
||||
- { name: "cmake_gcc", cc: "gcc", cxx: "g++", tool: "cmake", args: "" }
|
||||
- { name: "cmake_gcc_ninja", cc: "gcc", cxx: "g++", tool: "cmake", args: "-G Ninja" }
|
||||
- { name: "cmake_gcc_no_nls", cc: "gcc", cxx: "g++", tool: "cmake", args: "-DENABLE_NLS=OFF" }
|
||||
- { name: "cmake_gcc_coverage", cc: "gcc", cxx: "g++", tool: "cmake", args: "-DENABLE_CODE_COVERAGE=ON" }
|
||||
- { name: "cmake_clang", cc: "clang", cxx: "clang++", tool: "cmake", args: "" }
|
||||
- { name: "autotools_gcc", cc: "gcc", cxx: "g++", tool: "autotools", args: "" }
|
||||
- { name: "autotools_clang", cc: "clang", cxx: "clang++", tool: "autotools", args: "" }
|
||||
|
||||
name: "Tests: ${{ matrix.config.name }} on ${{ matrix.os }}"
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
steps:
|
||||
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get update -qq
|
||||
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPENDENCIES }}
|
||||
sudo -H pip3 install --ignore-installed msgcheck
|
||||
|
||||
- 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: ./doc/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 }}
|
||||
BUILDTOOL: ${{ matrix.config.tool }}
|
||||
BUILDARGS: ${{ matrix.config.args }}
|
||||
run: ./tools/build_test.sh
|
||||
|
||||
- name: Run WeeChat
|
||||
env:
|
||||
TERM: xterm-256color
|
||||
run: |
|
||||
weechat --help
|
||||
weechat-curses --help
|
||||
weechat --colors
|
||||
weechat --license
|
||||
weechat --version
|
||||
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
|
||||
|
||||
- name: Code coverage
|
||||
if: ${{ matrix.config.name == 'cmake_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'
|
||||
|
||||
tests_macos:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
os:
|
||||
- macos-12
|
||||
- macos-11
|
||||
config:
|
||||
- { name: "cmake_gcc", cc: "gcc", cxx: "g++" }
|
||||
- { name: "cmake_clang", cc: "clang", cxx: "clang++" }
|
||||
|
||||
name: "Tests: ${{ matrix.config.name }} on ${{ matrix.os }}"
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
steps:
|
||||
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
brew update
|
||||
brew install asciidoctor lua ruby
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
CC: ${{ matrix.config.cc }}
|
||||
CXX: ${{ matrix.config.cxx }}
|
||||
run: |
|
||||
mkdir build-tmp && cd build-tmp
|
||||
cmake .. -DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_PHP=OFF
|
||||
make VERBOSE=1 -j2
|
||||
sudo make install
|
||||
|
||||
- name: Run WeeChat
|
||||
env:
|
||||
TERM: xterm-256color
|
||||
run: |
|
||||
weechat --help
|
||||
weechat-curses --help
|
||||
weechat --colors
|
||||
weechat --license
|
||||
weechat --version
|
||||
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
|
||||
|
||||
build_debian:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
os:
|
||||
- ubuntu-22.04
|
||||
|
||||
name: "Build Debian on ${{ matrix.os }}"
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
steps:
|
||||
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get update -qq
|
||||
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPENDENCIES }}
|
||||
|
||||
- name: Test Debian patches
|
||||
run: ./tools/build_debian.sh test-patches
|
||||
|
||||
- name: Build Debian packages
|
||||
run: ./tools/build_debian.sh devel ubuntu/jammy
|
||||
|
||||
- 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 --run-command "/debug dirs;/debug libs" --run-command "/quit"
|
||||
+9
-14
@@ -1,7 +1,9 @@
|
||||
# ignored files for Git
|
||||
|
||||
*.a
|
||||
*.css
|
||||
*.gmo
|
||||
*.html
|
||||
*.la
|
||||
*.lai
|
||||
*.lo
|
||||
@@ -12,27 +14,18 @@
|
||||
*.so
|
||||
*.so.0
|
||||
*.so.0.0.0
|
||||
*.1
|
||||
|
||||
ABOUT-NLS
|
||||
autom4te*
|
||||
build/*
|
||||
builddir/*
|
||||
compile
|
||||
build*/*
|
||||
config.guess
|
||||
config.h
|
||||
config.h.in*
|
||||
config-git.h
|
||||
config.h*
|
||||
config.log
|
||||
config.rpath
|
||||
config.status
|
||||
config.sub
|
||||
configure
|
||||
debian
|
||||
!tools/debian
|
||||
debian-devel/changelog
|
||||
debian-devel/*.log
|
||||
debian-stable/*.log
|
||||
debian/*.log
|
||||
depcomp
|
||||
insert-header.sin
|
||||
install-sh
|
||||
@@ -48,10 +41,12 @@ POTFILES
|
||||
remove-potcdate.sed
|
||||
Rules-quot
|
||||
weechat.pc
|
||||
weechat-*.cygport
|
||||
doc/de/build/*
|
||||
doc/en/build/*
|
||||
doc/fr/build/*
|
||||
|
||||
*stamp
|
||||
stamp*
|
||||
|
||||
src/gui/curses/weechat
|
||||
src/gui/curses/weechat-curses
|
||||
src/gui/gtk/weechat-gtk
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
# 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>
|
||||
@@ -0,0 +1,49 @@
|
||||
WeeChat Authors
|
||||
===============
|
||||
|
||||
Developers
|
||||
----------
|
||||
|
||||
* General code
|
||||
|
||||
** FlashCode <flashcode@flashtux.org>
|
||||
*** Web: http://www.weechat.org/
|
||||
*** IRC: 'FlashCode' on irc.freenode.net
|
||||
|
||||
|
||||
* Scripts plugins, debian packager
|
||||
|
||||
** kolter <kolter@openics.org>
|
||||
*** IRC: 'kolter' on irc.freenode.net
|
||||
|
||||
|
||||
Contributors
|
||||
------------
|
||||
|
||||
* Julien Louis <ptitlouis@sysif.net>, IRC: 'ptitlouis'
|
||||
* 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'
|
||||
* soltys
|
||||
* Nils Görs
|
||||
* rettub
|
||||
* m4v
|
||||
* Marco Paolone
|
||||
* Dmitry Kobylin
|
||||
* Dominik Honnef
|
||||
|
||||
|
||||
Contact
|
||||
-------
|
||||
|
||||
Whole team is connected to IRC:
|
||||
server: 'irc.freenode.net', channels: '#weechat' (english) and '#weechat-fr' (french)
|
||||
|
||||
|
||||
See README file for license detail.
|
||||
-160
@@ -1,160 +0,0 @@
|
||||
= WeeChat Authors
|
||||
:author: Sébastien Helleu
|
||||
:email: flashcode@flashtux.org
|
||||
:lang: en
|
||||
|
||||
|
||||
== Developers
|
||||
|
||||
* General code
|
||||
** Sébastien Helleu (FlashCode) <flashcode@flashtux.org>
|
||||
* Scripts plugins, debian packager
|
||||
** Emmanuel Bouthenot (kolter) <kolter@openics.org>
|
||||
|
||||
== 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
|
||||
* Danilo Spinella
|
||||
* David Flatz
|
||||
* Dmitry Kobylin
|
||||
* Dominik Honnef
|
||||
* Dominique Martinet
|
||||
* dotflac
|
||||
* Eduardo Elias
|
||||
* Eli Schwartz
|
||||
* Elizabeth Myers (Elizacat)
|
||||
* Elián Hanisch (m4v)
|
||||
* Emanuele Giaquinta
|
||||
* 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
|
||||
* Jan Palus
|
||||
* Jason A. Donenfeld (zx2c4)
|
||||
* JD Horelick (jdhore)
|
||||
* jesopo
|
||||
* Jim Ramsay (lack)
|
||||
* Jiri Golembiovsky (GolemJ)
|
||||
* Joey Pabalinas (alyptik)
|
||||
* Johan Rylander
|
||||
* Joram Schrijver
|
||||
* Jos Ahrens
|
||||
* Joseph Kichline
|
||||
* 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
|
||||
* Maarten de Vries
|
||||
* Mantas Mikulėnas (grawity)
|
||||
* Marco Paolone
|
||||
* Marco Sirabella
|
||||
* Mateusz Poszwa
|
||||
* Matt Robinson
|
||||
* Matthew Horan
|
||||
* Matthew Martin
|
||||
* Matti Virkkunen
|
||||
* Max Anton Teufel
|
||||
* Maxim Baz
|
||||
* Michael Siegel
|
||||
* 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
|
||||
* Wojciech Kwolek
|
||||
* W. Trevor King
|
||||
* Yannick Palanque
|
||||
* ZethJack
|
||||
* Ørjan Malde
|
||||
|
||||
== Contact
|
||||
|
||||
See the https://weechat.org/about/support/[support page].
|
||||
+96
-281
@@ -1,326 +1,141 @@
|
||||
# Copyright (c) 2003-2010 by FlashCode <flashcode@flashtux.org>
|
||||
#
|
||||
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# Copyright (C) 2007-2008 Julien Louis <ptitlouis@sysif.net>
|
||||
# Copyright (C) 2008-2009 Emmanuel Bouthenot <kolter@openics.org>
|
||||
#
|
||||
# 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.0)
|
||||
PROJECT(weechat C)
|
||||
|
||||
project(weechat C)
|
||||
cmake_minimum_required(VERSION 2.4)
|
||||
|
||||
# CMake options
|
||||
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} -fsigned-char -fms-extensions -Wall -Wextra -Werror-implicit-function-declaration")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsigned-char -fms-extensions -Wall -Wextra")
|
||||
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 -Werror-implicit-function-declaration")
|
||||
IF(PREFIX)
|
||||
SET(CMAKE_INSTALL_PREFIX ${PREFIX} CACHE PATH "Install path prefix" FORCE)
|
||||
ENDIF(PREFIX)
|
||||
|
||||
# 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()
|
||||
SET(VERSION_MAJOR "0")
|
||||
SET(VERSION_MINOR "3")
|
||||
SET(VERSION_PATCH "1.1")
|
||||
SET(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH})
|
||||
SET(PKG_STRING "${PROJECT_NAME} ${VERSION}")
|
||||
STRING(REPLACE "\";\"" "\ " PKG_STRING ${PKG_STRING})
|
||||
|
||||
# license
|
||||
set(LICENSE "GPL3")
|
||||
IF(DEFINED LIBDIR)
|
||||
SET(LIBDIR ${LIBDIR}/${PROJECT_NAME})
|
||||
ELSE(DEFINED LIBDIR)
|
||||
SET(LIBDIR ${CMAKE_INSTALL_PREFIX}/lib/${PROJECT_NAME})
|
||||
ENDIF(DEFINED LIBDIR)
|
||||
|
||||
# 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()
|
||||
IF(NOT DEFINED SHAREDIR)
|
||||
SET(SHAREDIR ${CMAKE_INSTALL_PREFIX}/share)
|
||||
ENDIF(NOT DEFINED SHAREDIR)
|
||||
|
||||
# package string
|
||||
set(PKG_STRING "${PROJECT_NAME} ${VERSION}")
|
||||
string(REPLACE "\";\"" "\ " PKG_STRING ${PKG_STRING})
|
||||
IF(NOT DEFINED LOCALEDIR)
|
||||
SET(LOCALEDIR ${SHAREDIR}/locale)
|
||||
ENDIF(NOT DEFINED LOCALEDIR)
|
||||
|
||||
if(NOT DEFINED LIBDIR)
|
||||
set(LIBDIR ${CMAKE_INSTALL_PREFIX}/lib)
|
||||
endif()
|
||||
IF(DEFINED INCLUDEDIR)
|
||||
SET(INCLUDEDIR ${INCLUDEDIR}/${PROJECT_NAME})
|
||||
ELSE(DEFINED INCLUDEDIR)
|
||||
SET(INCLUDEDIR ${CMAKE_INSTALL_PREFIX}/include/${PROJECT_NAME})
|
||||
ENDIF(DEFINED INCLUDEDIR)
|
||||
|
||||
if(NOT DEFINED WEECHAT_LIBDIR)
|
||||
set(WEECHAT_LIBDIR ${LIBDIR}/${PROJECT_NAME})
|
||||
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_LARGEFILE "Disable Large File Support")
|
||||
OPTION(DISABLE_ALIAS "Disable Alias plugin")
|
||||
OPTION(DISABLE_ASPELL "Disable Aspell plugin")
|
||||
OPTION(DISABLE_CHARSET "Disable Charset plugin")
|
||||
OPTION(ENABLE_DEMO "Enable Demo plugin")
|
||||
OPTION(DISABLE_FIFO "Disable FIFO plugin")
|
||||
OPTION(DISABLE_IRC "Disable IRC plugin")
|
||||
OPTION(DISABLE_LOGGER "Disable Logger plugin")
|
||||
OPTION(ENABLE_RELAY "Enable Relay plugin")
|
||||
OPTION(DISABLE_SCRIPTS "Disable script plugins")
|
||||
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_TCL "Disable Tcl scripting language")
|
||||
OPTION(DISABLE_XFER "Disable Xfer plugin (file transfer and direct chat)")
|
||||
OPTION(DISABLE_DOC "Disable Doc")
|
||||
|
||||
if(NOT DEFINED DATAROOTDIR)
|
||||
set(DATAROOTDIR ${CMAKE_INSTALL_PREFIX}/share)
|
||||
endif()
|
||||
IF(NOT DISABLE_NLS)
|
||||
ADD_SUBDIRECTORY( po )
|
||||
ENDIF(NOT DISABLE_NLS)
|
||||
|
||||
if(NOT DEFINED WEECHAT_SHAREDIR)
|
||||
set(WEECHAT_SHAREDIR ${DATAROOTDIR}/weechat)
|
||||
endif()
|
||||
ADD_SUBDIRECTORY( src )
|
||||
ADD_SUBDIRECTORY( doc )
|
||||
|
||||
if(NOT DEFINED MANDIR)
|
||||
set(MANDIR ${DATAROOTDIR}/man)
|
||||
endif()
|
||||
CONFIGURE_FILE(config.h.cmake config.h @ONLY)
|
||||
|
||||
if(NOT DEFINED LOCALEDIR)
|
||||
set(LOCALEDIR ${DATAROOTDIR}/locale)
|
||||
endif()
|
||||
CONFIGURE_FILE(
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/makedist.sh.in"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/makedist.sh" IMMEDIATE
|
||||
@ONLY)
|
||||
|
||||
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 (required for tests)" ON)
|
||||
option(ENABLE_NLS "Enable Native Language Support" ON)
|
||||
option(ENABLE_LARGEFILE "Enable Large File 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 "Enable Enchant lib for 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_TESTS "Enable tests" OFF)
|
||||
option(ENABLE_CODE_COVERAGE "Enable code coverage" OFF)
|
||||
|
||||
# code coverage
|
||||
add_library(coverage_config INTERFACE)
|
||||
if(ENABLE_CODE_COVERAGE)
|
||||
target_compile_options(coverage_config INTERFACE -O0 -g --coverage)
|
||||
target_link_libraries(coverage_config INTERFACE --coverage)
|
||||
endif()
|
||||
|
||||
# headless mode is required for tests
|
||||
if(ENABLE_TESTS AND NOT ENABLE_HEADLESS)
|
||||
message(FATAL_ERROR "Headless mode is required for tests.")
|
||||
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_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 Gettext
|
||||
if(ENABLE_NLS)
|
||||
find_package(Gettext)
|
||||
if(GETTEXT_FOUND)
|
||||
add_definitions(-DENABLE_NLS)
|
||||
find_package(Intl)
|
||||
if(Intl_FOUND)
|
||||
list(APPEND EXTRA_LIBS "${Intl_LIBRARIES}")
|
||||
endif()
|
||||
else()
|
||||
message(SEND_ERROR "Gettext not found")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Check for libgcrypt
|
||||
find_package(GCRYPT REQUIRED)
|
||||
add_definitions(-DHAVE_GCRYPT)
|
||||
list(APPEND EXTRA_LIBS ${GCRYPT_LDFLAGS})
|
||||
|
||||
# Check for GnuTLS
|
||||
find_package(GnuTLS REQUIRED)
|
||||
string(REGEX REPLACE "/[^/]*$" "" GNUTLS_LIBRARY_PATH "${GNUTLS_LIBRARY}")
|
||||
include_directories(${GNUTLS_INCLUDE_PATH})
|
||||
set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -L${GNUTLS_LIBRARY_PATH}")
|
||||
list(APPEND EXTRA_LIBS gnutls)
|
||||
|
||||
# Check for zlib
|
||||
find_package(ZLIB REQUIRED)
|
||||
|
||||
# Check for zstd
|
||||
pkg_check_modules(LIBZSTD REQUIRED libzstd)
|
||||
|
||||
# Check for iconv
|
||||
find_package(Iconv)
|
||||
if(ICONV_FOUND)
|
||||
add_definitions(-DHAVE_ICONV)
|
||||
endif()
|
||||
|
||||
# Check for CURL
|
||||
find_package(CURL REQUIRED)
|
||||
|
||||
# weechat_gui_common MUST be the first lib in the list
|
||||
set(STATIC_LIBS weechat_gui_common)
|
||||
|
||||
find_library(DL_LIBRARY
|
||||
NAMES dl
|
||||
PATHS /lib /usr/lib /usr/libexec /usr/local/lib /usr/local/libexec
|
||||
)
|
||||
list(APPEND STATIC_LIBS weechat_plugins)
|
||||
if(DL_LIBRARY)
|
||||
string(REGEX REPLACE "/[^/]*$" "" DL_LIBRARY_PATH "${DL_LIBRARY}")
|
||||
set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -L${DL_LIBRARY_PATH}")
|
||||
list(APPEND EXTRA_LIBS dl)
|
||||
endif()
|
||||
|
||||
add_subdirectory(icons)
|
||||
|
||||
if(ENABLE_NLS)
|
||||
add_subdirectory(po)
|
||||
endif()
|
||||
|
||||
add_subdirectory(src)
|
||||
add_subdirectory(doc)
|
||||
|
||||
if(ENABLE_TESTS)
|
||||
find_package(CppUTest)
|
||||
if(CPPUTEST_FOUND)
|
||||
enable_testing()
|
||||
add_subdirectory(tests)
|
||||
else()
|
||||
message(SEND_ERROR "CppUTest not found")
|
||||
endif()
|
||||
else()
|
||||
enable_testing()
|
||||
add_test(NAME notests COMMAND true)
|
||||
endif()
|
||||
|
||||
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.adoc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/ChangeLog.adoc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/Contributing.adoc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/README.adoc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/ReleaseNotes.adoc
|
||||
DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME}
|
||||
)
|
||||
endif()
|
||||
|
||||
# desktop file
|
||||
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/weechat.desktop DESTINATION ${DATAROOTDIR}/applications)
|
||||
SET(PACKAGE "${PROJECT_NAME}")
|
||||
SET(prefix "${CMAKE_INSTALL_PREFIX}")
|
||||
SET(exec_prefix "\${prefix}")
|
||||
SET(libdir "\${exec_prefix}/lib")
|
||||
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)
|
||||
|
||||
# packages
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Fast, light and extensible chat client")
|
||||
set(CPACK_PACKAGE_VENDOR "Sébastien Helleu")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README.adoc")
|
||||
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING")
|
||||
set(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR})
|
||||
set(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR})
|
||||
set(CPACK_PACKAGE_VERSION_PATCH ${VERSION_PATCH})
|
||||
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Fast, light and extensible chat client")
|
||||
SET(CPACK_PACKAGE_VENDOR "FlashCode")
|
||||
SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README")
|
||||
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING")
|
||||
SET(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR})
|
||||
SET(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR})
|
||||
SET(CPACK_PACKAGE_VERSION_PATCH ${VERSION_PATCH})
|
||||
|
||||
# binary package
|
||||
set(CPACK_GENERATOR "STGZ;TGZ;TBZ2")
|
||||
set(CPACK_PACKAGE_FILE_NAME weechat-binary-${VERSION})
|
||||
SET(CPACK_GENERATOR "STGZ;TGZ;TBZ2")
|
||||
SET(CPACK_PACKAGE_FILE_NAME weechat-binary-${VERSION})
|
||||
|
||||
# source package
|
||||
set(CPACK_SOURCE_GENERATOR "TGZ;TBZ2")
|
||||
set(CPACK_SOURCE_PACKAGE_FILE_NAME weechat-${VERSION})
|
||||
set(CPACK_SOURCE_IGNORE_FILES
|
||||
"/\\\\.git" "/build/" "/m4/"
|
||||
SET(CPACK_SOURCE_GENERATOR "TGZ;TBZ2")
|
||||
SET(CPACK_SOURCE_PACKAGE_FILE_NAME weechat-${VERSION})
|
||||
SET(CPACK_SOURCE_IGNORE_FILES "/\\\\.git" "/build/" "/m4/"
|
||||
"/autom4te\\\\.cache/" "/ABOUT-NLS$" "/config\\\\.guess$" "/config\\\\.h$"
|
||||
"/config\\\\.h.in$" "/config\\\\.log$" "/config\\\\.rpath$"
|
||||
"/config\\\\.status$" "/config\\\\.sub$" "/configure$" "/depcomp$"
|
||||
"/install-sh$" "/missing$" "/intl/" "/libtool$" "/\\\\.libs/"
|
||||
"/ltmain\\\\.sh$" "/\\\\.deps/" "/html/" "/html1/" "/Makefile$"
|
||||
"/Makefile\\\\.in$" "stamp" "/po/.*\\\\.header$" "\\\\.gmo$" "~$" "\\\\.o$"
|
||||
"\\\\.lo$" "\\\\.a$" "\\\\.la$" "\\\\.lai$" "\\\\.Plo$" "/weechat$"
|
||||
"\\\\.lo$" "\\\\.a$" "\\\\.la$" "\\\\.lai$" "\\\\.Plo$" "/weechat-curses$"
|
||||
"/weechat-gtk$"
|
||||
)
|
||||
|
||||
include(CPack)
|
||||
INCLUDE(CPack)
|
||||
|
||||
@@ -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>.
|
||||
|
||||
@@ -0,0 +1,869 @@
|
||||
WeeChat ChangeLog
|
||||
=================
|
||||
FlashCode <flashcode@flashtux.org>
|
||||
v0.3.1.1, 2010-01-31
|
||||
|
||||
|
||||
Version 0.3.1.1 (2010-01-31)
|
||||
----------------------------
|
||||
* irc: fix crash with SSL connection if option ssl_cert is set (bug #28752)
|
||||
* irc: fix bug with SSL connection (fails sometimes when ssl_verify is on)
|
||||
(bug #28741)
|
||||
* irc: fix compilation with old GnuTLS versions (bug #28723)
|
||||
* xfer: fix crash when purging old xfer chats (bug #28764)
|
||||
|
||||
Version 0.3.1 (2010-01-23)
|
||||
--------------------------
|
||||
|
||||
* core: fix bug with script installation on BSD/OSX (patch #6980)
|
||||
* core: add option grab_key_command for /input (bound by default to alt-k)
|
||||
* core: fix compilation under Cygwin (patch #6916)
|
||||
* core: fix cmake directories: let user customize lib, share, locale and include
|
||||
directories (patch #6922)
|
||||
* core: fix plural form in translation files (bug #27430)
|
||||
* core: fix terminal title bug: do not reset it when option
|
||||
weechat.look.set_title is off (bug #27399)
|
||||
* core: fix buffer used by some input functions called via plugin API with
|
||||
buffer pointer (bug #28152)
|
||||
* alias: new expansions for alias arguments ($n, $-m, $n-, $n-m, $*, $~)
|
||||
(patch #6917)
|
||||
* alias: allow use of wildcards for /alias list (patch #6925)
|
||||
* alias: allow /unalias to remove multiple aliases (patch #6926)
|
||||
* alias: fix bug with buffer for execution of alias, when called from plugin API
|
||||
with function "command" (bug #27697)
|
||||
* alias: fix bug with arguments (bug #27440)
|
||||
* irc: add new commands /allchan and /allserv with excluding option, commands
|
||||
/ame and /amsg are now aliases, new aliases /aaway and /anick
|
||||
* irc: add options to customize target buffer for messages (task #7381)
|
||||
* irc: add new output queue for messages with low priority (like automatic CTCP
|
||||
replies), high priority is given to user messages or commands
|
||||
* irc: use self-signed certificate to auto identify on IRC server (CertFP)
|
||||
(task #7492, debian #453348)
|
||||
* irc: check SSL certificates (task #7492)
|
||||
* irc: add option "autorejoin_delay" for servers (task #8771)
|
||||
* irc: add option to use same nick color in channel and private (task #9870)
|
||||
* irc: add missing command 275 (patch #6952)
|
||||
* irc: add commands /sajoin, /samode, /sanick, /sapart, /saquit (task #9770)
|
||||
* irc: add options for CTCP, to block/customize CTCP reply (task #9693)
|
||||
* irc: add missing CTCP: clientinfo, finger, source, time, userinfo (task #7270)
|
||||
* irc: add all server options for commands /server and /connect
|
||||
* irc: add arguments for command /rehash
|
||||
* irc: improve error management on socket error (recv/send)
|
||||
* irc: improve mask used by command /kickban
|
||||
* irc: fix nick color for nicks with wide chars (bug #28547)
|
||||
* irc: fix autorejoin on channels with key
|
||||
* irc: fix command /connect (options -ssl, -ipv6 and -port) (bug #27486)
|
||||
* xfer: add color for nicks in chat
|
||||
* xfer: add missing command /me (bug #28658)
|
||||
* xfer: add missing charset decoding/encoding for IRC DCC chat (bug #27482)
|
||||
* ruby: support of Ruby >= 1.9.1 (patch #6989)
|
||||
* fifo: remove old pipes before creating new pipe
|
||||
* gui: add color "darkgray", add support for background with light color
|
||||
* gui: fix color "black" (bug #23882, debian #512957)
|
||||
* gui: fix message "Day changed to", sometimes displayed at wrong time
|
||||
(bug #26959)
|
||||
* gui: fix bug with URL selection in some terminals (caused by horizontal lines)
|
||||
(bug #27700)
|
||||
* gui: use default auto completion for arguments of unknown commands
|
||||
* gui: fix alignment problem for buffer name when a merged buffer is closed
|
||||
(bug #27617)
|
||||
* gui: update hotlist when a buffer is closed (bug #27470), remove buffer from
|
||||
hotlist when buffer is cleared (bug #27530)
|
||||
* gui: fix /input history_global_next: reset input content when last command in
|
||||
history is reached
|
||||
* api: fix function weechat_bar_set for python/lua/ruby (patch #6912)
|
||||
|
||||
Version 0.3.0 (2009-09-06)
|
||||
--------------------------
|
||||
|
||||
* irc: add irc plugin (replaces old IRC code in core) (task #6217)
|
||||
* irc: add smart join/part/quit message filter (task #8503)
|
||||
* irc: use of many addresses for servers (auto-switch when a connexion fails),
|
||||
nicks are now set with one option "nicks" (task #6088)
|
||||
* irc: add some colors in messages from server (for text and nicks)
|
||||
(task #8926)
|
||||
* irc: add color decoding in title for IRC channels (task #6030)
|
||||
* irc: fix lock with SSL servers when connection fails, and when
|
||||
disconnecting during connection problem (bug #17584)
|
||||
* irc: command /whois is now authorized in private without argument
|
||||
(task #7482)
|
||||
* irc: fix private buffer name with irssi proxy (bug #26589)
|
||||
* irc: remove kernel info in CTCP VERSION reply (task #7494)
|
||||
* irc: add missing commands (328, 369)
|
||||
* irc: fix mode parsing when receiving modes with arguments (bug #26793)
|
||||
* aspell: improve plugin: use of many dictionaries, global dictionary, real
|
||||
time checking (optional), fix bugs with utf-8
|
||||
* xfer: add speed limit for DCC files sending (task #6178)
|
||||
* xfer: add new option "xfer.file.use_nick_in_filename" for Xfer files
|
||||
(task #7140)
|
||||
* relay: add relay plugin (network communication between WeeChat and remote
|
||||
application)
|
||||
* logger: add logger plugin with new features: backlog, level for messages to
|
||||
log (task #8592), level by buffer (task #6687), filename mask by buffer,
|
||||
option "name_lower_case" (bug #19522)
|
||||
* alias: fix bug with alias, use current buffer to run commands (bug #22876)
|
||||
* plugins: add some other plugins: alias, demo, fifo, tcl, xfer
|
||||
* scripts: new scripts: weeget.py (scripts manager), jabber.py (jabber/XMPP
|
||||
protocol), go.py (quick jump to buffers), buffers.pl (sidebar with list of
|
||||
buffers), iset.pl (set options interactively), weetris.pl (tetris-like game),
|
||||
mastermind.pl, ...
|
||||
* scripts: do not auto-load hidden files (bug #21390)
|
||||
* api: add hooks: command, timer, file descriptor, process, connection, print,
|
||||
signal, config, completion, modifier, info, infolist
|
||||
* api: new plugin API with many new functions: hooks, buffer management and
|
||||
nicklist, bars, configuration files, network, infos/infolists, lists,
|
||||
upgrade
|
||||
* gui: new display engine, with prefix and message for each line
|
||||
* gui: add new type of buffer, with free content
|
||||
* gui: add tags for lines and custom filtering by tags or regex (task #7674)
|
||||
* gui: add buffer merging (task #7404)
|
||||
* gui: add custom bars, with custom items
|
||||
* gui: add key to zoom a window (task #7470)
|
||||
* gui: add keys to move into last visited buffers: alt + "<" and alt + ">"
|
||||
* gui: come back to last visited buffer when closing a buffer
|
||||
* gui: add new option scroll_page_percent to choose percent of height to scroll
|
||||
with page_up and page_down keys (task #8702)
|
||||
* gui: add number of lines remaining after last line displayed in "-MORE-"
|
||||
indicator (task #6702)
|
||||
* gui: fix completion with non-latin nicks (bug #18993)
|
||||
* gui: fix display bug with some weird UTF-8 chars (bug #19687)
|
||||
* gui: fix bug with wide chars in input (bug #16356)
|
||||
* gui: fix bug when switching window, scrollback is now preserved
|
||||
(task #7680)
|
||||
* network: add support for more than one proxy, with proxy selection for each
|
||||
IRC server (task #6859)
|
||||
* network: fix network connection for hostnames resolving to several IPs: try
|
||||
all IPs in list until one succeeds (bug #21473, debian #498610)
|
||||
* core: add group support in nicklist
|
||||
* core: improve main loop: higher timout in select(), less CPU usage
|
||||
* core: add /reload command to reload WeeChat and plugins config files (signal
|
||||
SIGHUP is catched to reload config files)
|
||||
* core: add new /layout command and save_layout_on_exit config option, to
|
||||
save/restore windows and buffers order (task #5453)
|
||||
* core: add new options for completion, optional stop instead of cycling with
|
||||
words found (task #5909)
|
||||
* core: new name for configuration files (*.conf instead of *.rc)
|
||||
* core: improve /set command, new command /unset (task #6085)
|
||||
* core: add new input action "set_unread_current_buffer" to set unread marker
|
||||
for current buffer only (task #7286)
|
||||
* core: add polish translation (thanks to Soltys)
|
||||
* core: remove key functions, replaced by /input command
|
||||
* core: add argument with buffer number/range for command "/buffer close"
|
||||
(task #9390, task #7239)
|
||||
* core: add new command /wait (schedule a command execution in future)
|
||||
* core: fix nick completion bug (missing space after nick)
|
||||
|
||||
Version 0.2.6.3 (2009-06-13)
|
||||
----------------------------
|
||||
|
||||
* fix gnutls detection (use pkg-config instead of libgnutls-config)
|
||||
(bug #26790)
|
||||
|
||||
Version 0.2.6.2 (2009-04-18)
|
||||
----------------------------
|
||||
|
||||
* fix bug with charset decoding (for example with iso2022jp) (bug #26228)
|
||||
|
||||
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)
|
||||
--------------------------
|
||||
|
||||
* fix bug with log of plugin messages (option log_plugin_msg)
|
||||
* add new option "deloutq" to /server command to delete all servers messages
|
||||
out queues (task #7221)
|
||||
* fix display bug with some special chars in messages (some words were
|
||||
truncated on screen) (bug #20944)
|
||||
* fix UTF-8 bug with color encoding/decoding
|
||||
* fix crash when searching text in buffer with ctrl-R (bug #20938)
|
||||
* add string length limit for setup file options
|
||||
* fix bug with flock() when home is on NFS filesystem (bug #20913)
|
||||
* add option to align text of messages (except first lines) (task #7246)
|
||||
* fix user modes in nicklist when ban and nick mode are received in the same
|
||||
MODE message (bug #20870)
|
||||
* fix IRC message 333: silently ignore message if error when parsing it
|
||||
* fix server option "command_delay": does not freeze WeeChat any more
|
||||
* add paste detection, new options look_paste_max_lines and col_input_actions
|
||||
(task #5442)
|
||||
* fix bug with highlight and UTF-8 chars around word (bug #20753)
|
||||
* add swedish quickstart guide
|
||||
* add support of channel mode +u (channel user) (bug #20717)
|
||||
* improve /connect command to connect to a host by creating a temporary server,
|
||||
add option to /server to create temporary server (task #7095)
|
||||
* add "copy", "rename" and "keep" options to /server command
|
||||
* allow clear of multiple selected buffers with /clear (patch #6112)
|
||||
* add key for setting unread marker on all buffers (default: ctrl-S + ctrl-U)
|
||||
(task #7180)
|
||||
* fix nick prefix display on servers that doesn't support all prefixes
|
||||
(bug #20025)
|
||||
* fix terminal encoding detection when NLS is disabled (bug #20646)
|
||||
* fix crash when sending data to channel or pv on disconnected server
|
||||
(bug #20524)
|
||||
* improve command /server ant its output
|
||||
* add 3 default new keys: ctrl-B (left), ctrl-F (right), ctrl-D (delete)
|
||||
* add "buffer_move" event handler to plugins API (task #6708)
|
||||
* add key function "jump_previous_buffer" to jump to buffer previously
|
||||
displayed (new key: alt-J + alt-P) (task #7085)
|
||||
* add "%*" to completion template, to repeat last completion
|
||||
* add "-nojoin" option for /connect and /reconnect commands (task #7074)
|
||||
* fix bugs with IRC color in messages, now color codes are inserted in command
|
||||
line with ctrl-c, ctrl-b.. instead of %C,%B,.. (bug #20222, task #7060)
|
||||
* fix bug with smart nick completion (last speakers first) when a nick is
|
||||
changed
|
||||
* fix charset bug with channel names in status bar (bug #20400)
|
||||
* add "scroll" option to /buffer command
|
||||
* down key now saves input to history and clears input line (task #7049)
|
||||
* fix 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)
|
||||
* add argument for /upgrade command (path to binary)
|
||||
* fix bug with /topic when channel not open and topic not defined (bug #20141)
|
||||
* add hotlist sort with new option "look_hotlist_sort" (task #5870)
|
||||
|
||||
Version 0.2.5 (2007-06-07)
|
||||
--------------------------
|
||||
|
||||
* fix QUOTE command: now allowed when socket is ok (even if IRC connection to
|
||||
server is not ok) (bug #20113)
|
||||
* add missing IRC commands (327, 378, 379) (bug #20091)
|
||||
* fix hotlist when exiting search mode: current buffer is removed from hotlist
|
||||
* add "%M" for completion with nicks of current server (nicks on open channels)
|
||||
(task #6931)
|
||||
* improve key bindings: now possible to bind a key on many commands, separated
|
||||
by semicolon (task #5444)
|
||||
* improve IRC long message split: use word boundary (task #6685)
|
||||
* remove ":" for unknown IRC commands before arguments (bug #19929)
|
||||
* fix "%C" completion: now completes with all channels of all servers
|
||||
* fix bug with "/buffer query_name", add server and channel completion for
|
||||
/buffer command (bug #19928)
|
||||
* add cmake for weechat compile (patch #5943)
|
||||
* fix IRC mode parsing when receiving modes with arguments (bug #19902)
|
||||
* fix crash with IRC JOIN malformed message (bug #19891)
|
||||
* fix bug with nick prefixes on some IRC servers (bug #19854)
|
||||
* improve setup file save: now writes temporary file, then rename it
|
||||
(task #6847)
|
||||
* fix bug with $nick/$channel/$server variables in commands
|
||||
* forget current nick when user manually disconnects from server
|
||||
* fix nick display in input window
|
||||
* fix bug with erroneous nickname when connecting to server (bug #19812)
|
||||
* fix display bugs in IRC error messages
|
||||
* add protocol priority for gnutls (patch #5915)
|
||||
* add channel admin mode "!" for some IRC servers
|
||||
* fix bug with iso2022jp locale (bug #18719)
|
||||
* fix string format bug when displaying string thru plugin script API
|
||||
* add /reconnect command (task #5448)
|
||||
* add "-all" option for /connect and /disconnect commands (task #6232)
|
||||
* improve nick completion: completion with last speakers first and self nick at
|
||||
the end; add option look_nick_completion_smart, enabled by default
|
||||
(task #5896)
|
||||
* fix nick completion in command arguments (bug #19590)
|
||||
* fix possible crash with nick completion when a nick leaves channel
|
||||
(bug #19589)
|
||||
* add color for input text not found in buffer history
|
||||
* fix USER message when connecting to IRC server (patch #5835)
|
||||
|
||||
Version 0.2.4 (2007-03-29)
|
||||
--------------------------
|
||||
|
||||
* fix color bug with IRC messages displayed by plugins (bug #19442)
|
||||
* fix topic charset, now using channel charset if defined (bug #19386)
|
||||
* rename log file for DCC chat (now <server>.dcc.<nick>.weechatlog)
|
||||
* fix crash when closing a pv if a DCC chat is open on same nick (bug #19147)
|
||||
* fix bug with channel topic after reconnection (not erased) (bug #19384)
|
||||
* add current buffer in hotlist when scrolling up in buffer (task #6664)
|
||||
* fix bug with explode_string / free_exploded_string when max_items > 0
|
||||
* add new key (ctrl-R) for interactive and incremental search in buffer
|
||||
history (task #6628)
|
||||
* fix /topic completion when no topic set on current channel (bug #19322)
|
||||
* improve password hiding, code cleanup (bug #19229)
|
||||
* add new return code in plugin API to force highlight (for message handlers
|
||||
only)
|
||||
* fix bug with server buffer when "look_one_server_buffer" is ON and server
|
||||
buffer is moved to any number > 1 (bug #19219)
|
||||
* fix /help command: displays plugin help for redefined commands (bug #19166)
|
||||
* prefix "/" disabled in commands (patch #5769)
|
||||
* fix completion of redefined commands removed by plugins (bug #19176)
|
||||
* fix memory leaks in perl and python plugins (bug #19163)
|
||||
* add "call" option to /key command, add new key function "insert" to insert
|
||||
text on command line (task #6468)
|
||||
* fix permissions on "dcc" and "logs" directories (bug #18978)
|
||||
* add event handler to plugin API
|
||||
* add scots quickstart guide
|
||||
* add numeric argument for /clear command (buffer number) (patch #5372)
|
||||
* fix crash when /away command is issued with no server connection (bug #18839)
|
||||
* fix crash when closing a buffer opened on many windows
|
||||
* fix freeze with SSL server when disconnecting after connection loss
|
||||
(bug #18735)
|
||||
|
||||
Version 0.2.3 (2007-01-10)
|
||||
--------------------------
|
||||
|
||||
* fix display bugs with nicklist at top/bottom when look_nicklist_separator is
|
||||
OFF (bug #18737)
|
||||
* fix iconv problem, causing truncated words when using iso locale
|
||||
* fix topic scroll when topic has multi-bytes chars
|
||||
* fix compilation problem with iconv under FreeBSD
|
||||
* fix bugs with charset: now decodes/encodes nicks and channels in IRC messages
|
||||
(bug #18716)
|
||||
|
||||
Version 0.2.2 (2007-01-06)
|
||||
--------------------------
|
||||
|
||||
* fix bug with status bar (missing refresh) when closing a buffer
|
||||
* fix bug with use of first buffer for a channel if not connected to server
|
||||
(now allowed only for a server buffer)
|
||||
* fix refresh bug with private buffer title
|
||||
* fix bug with nick completion in command args (now uses option
|
||||
look_nick_completion_ignore)
|
||||
* fix display bug with color for first line on screen (bug #17719)
|
||||
* add anti-flood option (irc_anti_flood) (task #5442)
|
||||
* fix bug with "set_config" function in plugins API (bug #18448)
|
||||
* plugins: "add_message_handler" now accepts "*" for all IRC messages
|
||||
* add keys (F9/F10) to scroll topic (task #6030)
|
||||
* add auto completion with channels and filenames (task #5423)
|
||||
* fix memleak in keyboard input
|
||||
* fix refresh bug when changing config options if window is split
|
||||
* add space between chat and nicklist when position is "right" (bug #17852)
|
||||
* add option "look_nicklist_separator" (task #5437)
|
||||
* fix bug with DCC SEND when filename begins with "~"
|
||||
* add "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
|
||||
* fix display bug in status bar, wrong length when using UTF-8
|
||||
* fix bug with ignore: now any IRC command is allowed
|
||||
* fix crash with Ctrl-T (transpose) and one char on line (bug #18153)
|
||||
* add filename completion (task #5425)
|
||||
* add "modifier" in plugins API
|
||||
* improve /plugin command
|
||||
* fix bug on ignore with "mode" IRC command (bug #18058)
|
||||
* fix crash when loading ruby script if file does not exist, with Ruby >= 1.9
|
||||
only (bug #18064)
|
||||
* add date in plugin function get_buffer_data()
|
||||
* fix some portability bugs (patch #5271)
|
||||
* fix iconv detection for BSD (patch #5456)
|
||||
* fix 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)
|
||||
* add more values for config boolean values: y/true/t/1 and n/false/f/0
|
||||
* fix bug with /alias and arguments (like $1), now text after argument(s) is
|
||||
used (bug #17944)
|
||||
* fix minor display bug with special chars on some arch like PPC
|
||||
|
||||
Version 0.2.1 (2006-10-01)
|
||||
--------------------------
|
||||
|
||||
* fix crash for DCC receiver when resuming a file (bug #17885)
|
||||
* fix DCC error for sender when receiver cancels DCC (bug #17838)
|
||||
* fix random crash with /upgrade command (error when loading buffers)
|
||||
* fix buffer search by server/channel: now if only channel is specified, a
|
||||
channel of another server can be found
|
||||
* fix 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)
|
||||
* add some new default key bindings for existing keys (for some OS)
|
||||
* command /key now ok with one arg (key name): display key if found
|
||||
* fix bug with CTCP VERSION sent on channels (bug #17547)
|
||||
* add current channel completion for /ctcp command
|
||||
* fix bugs in get_buffer_data() which breaks the retrieval of buffer content
|
||||
(perl, lua)
|
||||
* fix nicklist display bug when top/bottom (not enough lines) (bug #17537)
|
||||
* fix bug with auto-rejoin of keyed chans (bug #17534)
|
||||
* add default nick completion when line starts with "//" (bug #17535)
|
||||
* values yes/no accepted (as on/off) for config boolean values (task #5454)
|
||||
* add server default notify level (set by /buffer notify on server buffer)
|
||||
(task #5634)
|
||||
* fix crashs with /buffer and /charset commands when not connected to any
|
||||
server (bug #17525)
|
||||
* add special vars $nick/$channel/$server for server_command, alias and plugin
|
||||
command handlers
|
||||
* add arguments $1,$2,..,$9 and $* for alias (task #5831)
|
||||
* add hotlist in session file when using /upgrade command (task #5449)
|
||||
* fix nick refresh problem with unrealircd specific modes: chan owner (~) and
|
||||
chan admin (&) (bug #17340)
|
||||
|
||||
Version 0.2.0 (2006-08-19)
|
||||
--------------------------
|
||||
|
||||
* add "C"lear option on IRC raw buffer
|
||||
* IRC raw buffer now uses join/part prefix with color to display messages
|
||||
* add send of "quit" message to server when using /disconnect
|
||||
* fix "wallops" command when received, now displayed by WeeChat (bug #17441)
|
||||
* fix /wallops command (now many words are correctly sent)
|
||||
* fix command 348 (channel exception list, received by /mode #chan e)
|
||||
* add missing modes (channel & user), now all modes are allowed (bug #16606)
|
||||
* add "%m" for completion with self nick (on current server)
|
||||
* add missing IRC commands (310, 326, 329, 338)
|
||||
* fix DCC restore after /upgrade (order is now correctly saved)
|
||||
* fix away after server disconnection (now away is set again when reconnecting)
|
||||
(bug #16359)
|
||||
* fix DCC file connection problem (connection from receiver to sender)
|
||||
* improve 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)
|
||||
* fix crash when purging DCC with high number of DCC (> window size)
|
||||
* fix completion for command handlers (now empty completion_template means nick
|
||||
completion, "-" string means no completion at all)
|
||||
* fix nick alignment problem when look_nickmode is off
|
||||
* add generic function for incoming numeric IRC commands (bug #16611)
|
||||
* fix crash when doing "/part something" on a server buffer (bug #17201)
|
||||
* charsets are now checked when set by /charset command
|
||||
* add "look_save_on_exit" option (patch from Emanuele Giaquinta)
|
||||
* fix crash on DCC buffer under Darwin 8 (bug #17115)
|
||||
* add configure option for doc XSL prefix (bug #16991)
|
||||
* fix bug with spaces in script names (bug #16957)
|
||||
* fix random crash when "MODE #chan -l" is received
|
||||
* fix bug in IRC parser (random crash with malformed IRC messages)
|
||||
* fix refresh bugs when terminal is resized: too many refreshs, display bug
|
||||
with split windows
|
||||
* case ignored for channel names in charset options (bug #16858)
|
||||
* fix crash when setting look_one_server_buffer to ON (bug #16932)
|
||||
* add new functions in plugin/script API: get window info, get buffer info, get
|
||||
buffer content
|
||||
* add polish, russian and czech quickstart guide
|
||||
* fix display bug with special char (bug #16732)
|
||||
* add color encoding for some commands like /me
|
||||
* add aspell plugin
|
||||
* rename plugins names (remove "lib" prefix in name)
|
||||
* fix crash when closing DCC/raw buffer if 2 are open (bug #16808)
|
||||
* fix crashes with DCC chat remove/purge on DCC view (bug #16775)
|
||||
* fix bug with connection to bnc (bug #16760)
|
||||
* command /save now writes plugins options (~/.weechat/plugins.rc)
|
||||
* fix crash with "register" function in plugin scripts (bug #16701)
|
||||
* fix random crash at exit (/quit or /upgrade) with split windows
|
||||
|
||||
Version 0.1.9 (2006-05-25)
|
||||
--------------------------
|
||||
|
||||
* fix /squery command (message sent to server, now ok with # args > 2)
|
||||
* fix /alias command (with an alias name, display content)
|
||||
* improve lua plugin detection (bug #16574)
|
||||
* add backtrace when WeeChat crashes, log file automatically renamed
|
||||
* add lock for log file (~/.weechat/weechat.log), only one WeeChat process can
|
||||
use this file (bug #16382)
|
||||
* fix crash with malformed UTF-8 strings
|
||||
* fix crash with ncurses color when too many colors defined in ncurses
|
||||
(bug #16556)
|
||||
* add new key to find previous completion (shift-tab by default)
|
||||
* fix bug with long outgoing IRC messages (> 512 bytes) (bug #16358)
|
||||
* fix Ruby crash when handler does not return OK or KO (bug #16552)
|
||||
* fix UTF-8 display bug with chars using more than one cell on screen
|
||||
(bug #16356)
|
||||
* fix display bug with DCC file size when > 1 Gb
|
||||
* fix refresh bug (deadlock in curses) when terminal is resized (bug #16542)
|
||||
* fix nicklist sort bug
|
||||
* add russian translations (thanks to Pavel Shevchuk)
|
||||
* add german doc (thanks to Frank Zacharias)
|
||||
* add missing IRC commands (006, 007, 290, 292, 310, 379, 437, 974)
|
||||
* fix 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
|
||||
* fix crash after /upgrade if a line in history is empty (bug #16379)
|
||||
* fix many crashes with DCC chat (bug #16416)
|
||||
* add new option to customize input prompt
|
||||
* add nick modes
|
||||
* fix commands 332, 333 (/topic now ok when channel is not opened)
|
||||
* remove color encoding and charset conversion for commands (only allowed in
|
||||
text sent to channel/private)
|
||||
* add hostnames associeted to nicks (available for /ban completion)
|
||||
* add "+p" mode for channels, fix mode display in status bar
|
||||
* add nick alignment options
|
||||
* fix /names command: now displays result when not on a channel
|
||||
* fix refresh bug (too many refresh) when terminal is resized
|
||||
* fix nicklist display bugs when on top or bottom of chat window
|
||||
* add keyboard handler to plugin API
|
||||
* improve script plugin loader
|
||||
* add hostname/IP option for connection to server
|
||||
* fix --disable-plugins option in configure script
|
||||
* add /setp command (set plugin options)
|
||||
* fix high CPU usage when running under a screen that has been killed
|
||||
* aliases are executed before WeeChat/IRC commands, add /builtin command
|
||||
* add /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)
|
||||
--------------------------
|
||||
|
||||
* improve Ruby plugin
|
||||
* fix /set command when internal server name contains one or many dots
|
||||
* fix get_info plugin API function when no server at all is opened
|
||||
* fix display bug when top of buffer is displayed and first line is removed
|
||||
(according to "history_max_lines" setting)
|
||||
* fix /mode command output
|
||||
* improve alias completion (now uses target command for completion)
|
||||
* fix completion problem in private with nicks
|
||||
* add missing IRC command (487)
|
||||
* add 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
|
||||
* add 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
|
||||
* fix crash when using global history (when older entry is removed)
|
||||
* add IRC raw data buffer (new key: alt-J + alt-R)
|
||||
* fix display bug with /kill command
|
||||
* add 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
|
||||
* add Lua script plugin
|
||||
* add functions in plugins API: get_server_info, free_server_info,
|
||||
get_channel_info, free_channel_info, get_nick_info, free_nick_info
|
||||
* add option "look_nick_complete_first" (patch from Gwenn)
|
||||
* add option "look_open_near_server" (patch from Gwenn)
|
||||
* fix bug with /upgrade and servers buffer
|
||||
* fix bug with "get_dcc_info" plugin interface function
|
||||
* add new scroll keys for a few lines up/down (default: meta-pgup/pgdn)
|
||||
(patch from Pistos)
|
||||
* add new option "irc_away_check_max_nicks" to disable away check on channels
|
||||
with high number of nicks (patch from Gwenn)
|
||||
* add new command line argument for setting WeeChat homedir (-d or --dir)
|
||||
(patch from Gwenn)
|
||||
* fix bug with charset in infobar highlights
|
||||
* fix bug with buffer detection in plugins/scripts commands
|
||||
* fix bug with /history command
|
||||
* add option "irc_show_away_once", to show away message only once in pv
|
||||
* add partial hungarian translation
|
||||
|
||||
Version 0.1.7 (2006-01-14)
|
||||
--------------------------
|
||||
|
||||
* fix msg command (now allowed in private buffer with "*" as target)
|
||||
* remove "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)
|
||||
* fix refresh bug with Solaris when term size is changed
|
||||
* replace Texinfo doc by XML Docbook
|
||||
* add color for window separators (when split)
|
||||
* add completion system for plugins/scripts commands
|
||||
* fix plugins autoload
|
||||
* add charset by server and channel, new command: /charset
|
||||
* add Ruby script plugin
|
||||
* add /upgrade command
|
||||
* add ETA (Estimated Time of Arrival) for DCC files
|
||||
* /nick command is now allowed when not connected to server
|
||||
* add server/channel arg to /buffer command for jumping to buffer
|
||||
* fix display bug in chat window when a message length equals to window width
|
||||
* add new keys for switching to other windows: alt-W followed by alt-{arrow}
|
||||
* add new keys for scrolling to previous/next highlight: alt-P / alt-N
|
||||
* add "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
|
||||
* fix infinite loop when resizing term to small size
|
||||
* add /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
|
||||
* fix scroll problem when one line is bigger than screen size
|
||||
* add setting for having one server buffer for all servers
|
||||
(look_one_server_buffer)
|
||||
* add setting for ignoring some chars when completing nicks
|
||||
* fix IRC message parser bug
|
||||
* signal SIGPIPE is now ignored
|
||||
* add partial match for highlights
|
||||
* add dcc_own_ip and dcc_port_range settings
|
||||
* full UTF-8 support, auto-detection of UTF-8 usage (locale)
|
||||
* add "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
|
||||
* add channel modes +e and +f
|
||||
* add some missing IRC commands, fix command 367
|
||||
* add colors for input buffer and current channel of status bar
|
||||
* add 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)
|
||||
--------------------------
|
||||
|
||||
* add /ame command (send CTCP action to all channels of all connected servers)
|
||||
* add setting "irc_notice_as_pv" to see notices as pv
|
||||
* add nicks colors in setup file
|
||||
* fix DCC bug: delete failed file only if really empty (on disk)
|
||||
* fix IRC message parser bug
|
||||
* fix scroll problem (screen moving when scrolling and new line displayed)
|
||||
* fix infinite loop when scrolling back and displaying long lines
|
||||
* fix crash when closing a buffer used by more than one window
|
||||
* add some missing IRC commands
|
||||
* fix DCC display bug (now decodes string according to charset)
|
||||
* add /ignore and /unignore commands
|
||||
* fix bug with strings comparison (str[n]casecmp) and some locales (like
|
||||
turkish), now using ASCII comparison (thanks to roktas)
|
||||
* signal SIGQUIT is now ignored
|
||||
* fix refresh bug when one line is bigger than screen size
|
||||
* fix look_nicklist_min_size and look_nicklist_max_size options
|
||||
* fix refresh bug when changing channel modes
|
||||
* jump to next server now saves current channel buffer for each server
|
||||
* add keys ctrl-up/ctrl-down 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
|
||||
* add "irc_highlight" setting, to get highlight with any word
|
||||
* fix auto-rejoin for channels with key
|
||||
* fix /ctcp command (now any command/data allowed)
|
||||
* add /amsg command (send text to all channels of all connected servers)
|
||||
* fix SIGSEGV handler (now write a core file by aborting program)
|
||||
* fix statusbar & infobar background refresh problem with some systems
|
||||
* add color for private in hotlist (different than color for highlight)
|
||||
* add DCC resume and timeout
|
||||
* add function for Perl/Python to get DCC list
|
||||
* fix FIFO pipe (command now authorized on a buffer not connected to an IRC
|
||||
server)
|
||||
* topic completion now decodes UTF-8 string
|
||||
* fix bug with IRC URL on command line (irc://)
|
||||
* new keyboard management: keys are setup in config file, add new command /key,
|
||||
add some new default keys, alt-K key is used to grab key (useful for /key
|
||||
command)
|
||||
* add seconds in infobar time (optional thanks to new setting)
|
||||
* fix some curses refreshs
|
||||
* add auto-prefix with "#" for channels (if no prefix found), with /join
|
||||
command
|
||||
|
||||
Version 0.1.3 (2005-07-02)
|
||||
--------------------------
|
||||
|
||||
* proxy support (http, socks4, socks5) with authentification (http, socks5)
|
||||
and ipv6 support (client to proxy)
|
||||
* add completion for config option (with /set command)
|
||||
* commands from users outside channel now authorized (if special user or
|
||||
channel without "n" flag)
|
||||
* add IPv6 support
|
||||
* kill command now received and displayed
|
||||
* add 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
|
||||
* fix plugins "print" and "prnt" functions: now ok for writing on server
|
||||
buffers
|
||||
* fix color problem with new libcurses version
|
||||
* fix crash when using alt-S or alt-X on DCC buffer (alt-D)
|
||||
* fix startup crash when config file (~/.weechat/weechat.rc) is not found
|
||||
* improve Perl/Python libs detection for ./configure script
|
||||
|
||||
Version 0.1.2 (2005-05-21)
|
||||
--------------------------
|
||||
|
||||
* add Python plugin support, improve Perl interface (and now Perl/Python
|
||||
libraries are checked by configure script)
|
||||
* add nicklist scroll keys (alt+{home/end/pgup/pgdn} or F11/F12)
|
||||
* add transfer rate for DCC files
|
||||
* add "-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
|
||||
* fix nicklist sort
|
||||
* fix crash when purging old DCC
|
||||
* fix crash with 64-bits arch (like AMD64) when converting UTF-8
|
||||
* add missing IRC commands (307, 341, 485, 671)
|
||||
|
||||
Version 0.1.1 (2005-03-20)
|
||||
--------------------------
|
||||
|
||||
* add nicks count for channel buffers
|
||||
* add FIFO pipe for remote control
|
||||
* add crash dump when WeeChat receives SIGSEGV (Segmentation fault)
|
||||
* add new display engine: doesn't cut words at end of lines
|
||||
* add DCC send and DCC chat
|
||||
* add /halfop & /dehalfop commands, fix halfop display bug in nicklist
|
||||
* add /ban, /unban and /kickban commands
|
||||
* add spanish translation
|
||||
* add --irc-commands and --weechat-commands command line options
|
||||
* connection to IRC server is now made by child process (non blocking)
|
||||
* add 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
|
||||
* improve /help command output
|
||||
* plugins messages are logged with new config option (log_plugin_msg)
|
||||
* fix /kick command
|
||||
* fix /invite command (and now invite requests are displayed)
|
||||
* fix /buffer close command (now ok when disconnected from server)
|
||||
* fix display bugs when many windows are opened
|
||||
|
||||
Version 0.1.0 (2005-02-12)
|
||||
--------------------------
|
||||
|
||||
* improve /window command: now split and merge are ok
|
||||
* away nicks are now displayed with another color (new option:
|
||||
"irc_away_check")
|
||||
* add away indicator in status bar
|
||||
* add lag indicator (and auto-disconnect after a delay if important lag)
|
||||
* improve completion: now completes commands arguments (IRC and internal),
|
||||
when only one completion matches, completion mechanism is stoped (to complete
|
||||
command arg for example)
|
||||
* improve /set command: empty strings are allowed, new colors, server options
|
||||
can be changed while WeeChat is running
|
||||
* add default away/part/quit messages in config file
|
||||
* new [irc] section in config file, move option "look_display_away" to
|
||||
"irc_display_away"
|
||||
* server messages & errors are all prefixed (by 3 chars, like "-@-")
|
||||
* add new options for charset (UTF-8 support): look_charset_decode,
|
||||
look_charset_encode and look_charset_internal
|
||||
* fix many memory leaks
|
||||
* fix colors bug: remove "gray" color (replaced by "default"), colors are ok
|
||||
when terminal has white (or light) background
|
||||
* fix crash when resizing terminal to small size
|
||||
* fix crash when multiple servers and big messages received from server
|
||||
* fix crash when closing some private buffers
|
||||
* fix crash when unknown section with option(s) in config file
|
||||
* fix /op, /deop, /voice, /devoice (now ok with many nicks)
|
||||
* fix /me command (now ok without parameter)
|
||||
* fix /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))
|
||||
* fix major bug when socket is closed by server (100% CPU usage), 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
|
||||
* fix display of nick mode changes
|
||||
* new command "/buffer close" (close any server/channel/private buffer)
|
||||
* fix /notice command (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)
|
||||
* add new config option: "server_command_delay" (delay in seconds after startup
|
||||
command for each server)
|
||||
|
||||
Version 0.0.8 (2004-10-30)
|
||||
--------------------------
|
||||
|
||||
* fix /kick command: 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)
|
||||
* add IRC::command function for Perl scripts
|
||||
* fix 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)
|
||||
* add config option "look_display_away" to announce away in channels
|
||||
* fix 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
|
||||
* add key for redrawing terminal (ctrl-L)
|
||||
* add key for clearing hotlist (alt-R)
|
||||
|
||||
Version 0.0.7 (2004-08-08)
|
||||
--------------------------
|
||||
|
||||
* new "col_status_delimiters" config option
|
||||
* add command /buffer , buffers ordered by number, auto-jump to active buffers
|
||||
(alt-A), jump to buffers by number (alt-number)
|
||||
* add command /window, split terminal horizontally/vertically
|
||||
* unique color for each nick (based on nickname)
|
||||
* action messages are now considered as messages, not crappy joins/parts
|
||||
* fix display bug when nicklist is displayed at bottom of screen
|
||||
* add history limit (text buffer and commands)
|
||||
* replace --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)
|
||||
--------------------------
|
||||
|
||||
* improve channel highlight (priority to message vs join/part)
|
||||
* fix bug when opened private win and remote user changes his nick
|
||||
* add command /query (starts private conversation)
|
||||
* add IRC messages 476, 477
|
||||
* /mode command is now ok and channel flags are displayed in status bar
|
||||
* fix 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
|
||||
* fix look_nicklist config option, now enables/disables nicklist
|
||||
* secure code to prevent buffer overflows and memory leaks
|
||||
* fix 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
|
||||
* add info bar timestamp in config ("look_infobar_timestamp")
|
||||
* add info bar (optional, "look_infobar" to enable it, "on" by default)
|
||||
* fix crash with /oper command
|
||||
* for default config file, nick is now based on un*x username (thanks to
|
||||
Witukind)
|
||||
* fix crash when config file cannot be written
|
||||
* add -c (or --config) command line parameter 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
|
||||
* catch ctrl-C (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)
|
||||
* fix problem with "353" IRC message (nicklist)
|
||||
* fix problem when nick is truncated by server
|
||||
* fix crash when entering text without any server connection
|
||||
* fix crash when /set command is executed
|
||||
* fix 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)
|
||||
--------------------------
|
||||
|
||||
* add commands /rehash and /restart
|
||||
* and command and 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, add /save command
|
||||
* new commands for servers: /server, /connect, /disconnect
|
||||
* add autoconnect flag for each server in config file
|
||||
* add "look_set_title" option in config file
|
||||
* term window title is modified with WeeChat name and version
|
||||
* fix nicklist display bug
|
||||
* fix 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
|
||||
-3537
File diff suppressed because it is too large
Load Diff
@@ -1,89 +0,0 @@
|
||||
= Contributing to WeeChat
|
||||
:author: Sébastien Helleu
|
||||
:email: flashcode@flashtux.org
|
||||
:lang: en
|
||||
|
||||
|
||||
== 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> instead.
|
||||
|
||||
=== Required info
|
||||
|
||||
When reporting https://github.com/weechat/weechat/issues[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 Bullseye,
|
||||
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
|
||||
https://weechat.org/doc/user/#report_crashes[User's guide] 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 https://github.com/weechat/scripts/issues[scripts git repository]
|
||||
instead.
|
||||
|
||||
== Translations
|
||||
|
||||
Pull requests on GitHub for fixes or new translations are welcome at any
|
||||
time, for https://github.com/weechat/weechat[WeeChat] and the website
|
||||
https://github.com/weechat/weechat.org[weechat.org].
|
||||
|
||||
To start a translation in a new language (not yet supported), please look at
|
||||
https://weechat.org/doc/dev/#translations[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
|
||||
https://weechat.org/dev/[roadmap] or
|
||||
https://github.com/weechat/weechat/milestones[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
|
||||
https://weechat.org/doc/dev/#coding_rules[coding rules]
|
||||
in Developer's guide, which contains info about styles used, naming convention
|
||||
and other useful info.
|
||||
@@ -0,0 +1,36 @@
|
||||
WeeChat Installation instructions
|
||||
=================================
|
||||
|
||||
You can build WeeChat with cmake (recommended way) or autotools.
|
||||
|
||||
|
||||
With cmake
|
||||
----------
|
||||
|
||||
------------------------------------------------------------------
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. -DPREFIX=/where/you/want/install -DCMAKE_BUILD_TYPE=Debug
|
||||
make
|
||||
make install (as root for installation in system directories)
|
||||
------------------------------------------------------------------
|
||||
|
||||
|
||||
With autotools
|
||||
--------------
|
||||
|
||||
----------------------------------------------------------------------
|
||||
./autogen.sh (for cloned git repository only, not .tar.XX package)
|
||||
./configure --prefix=/where/you/want/install
|
||||
make
|
||||
make install (as root for installation in system directories)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
|
||||
If you want to report bugs/crashs to developers, please:
|
||||
|
||||
- compile with debug info (type "Debug" for cmake build, default for autotools),
|
||||
- enable core files (for bash shell, add "ulimit -c unlimited" to your ~/.bashrc).
|
||||
|
||||
|
||||
See AUTHORS for support, feel free to contact us for any problem.
|
||||
+17
-46
@@ -1,53 +1,33 @@
|
||||
# Copyright (c) 2003-2010 by FlashCode <flashcode@flashtux.org>
|
||||
#
|
||||
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# Copyright (C) 2005 Julien Louis <ptitlouis@sysif.net>
|
||||
# Copyright (C) 2006-2009 Emmanuel Bouthenot <kolter@openics.org>
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
# This target will update file config-git.h with output of command "git describe"
|
||||
# (if needed, and only for a devel/rc version).
|
||||
BUILT_SOURCES = build-config-git.h
|
||||
build-config-git.h:
|
||||
-$(abs_top_srcdir)/tools/set_git_version.sh "$(abs_top_srcdir)" "$(VERSION)" config-git.h
|
||||
|
||||
if TESTS
|
||||
tests_dir = tests
|
||||
if DOC
|
||||
doc_dir = doc
|
||||
endif
|
||||
|
||||
SUBDIRS = icons po doc intl src $(tests_dir)
|
||||
SUBDIRS = po $(doc_dir) intl src
|
||||
|
||||
EXTRA_DIST = AUTHORS.adoc \
|
||||
ChangeLog.adoc \
|
||||
Contributing.adoc \
|
||||
README.adoc \
|
||||
ReleaseNotes.adoc \
|
||||
CMakeLists.txt \
|
||||
EXTRA_DIST = CMakeLists.txt \
|
||||
config.rpath \
|
||||
config.h.cmake \
|
||||
cmake/CMakeParseArguments.cmake \
|
||||
cmake/FindAsciidoctor.cmake \
|
||||
cmake/cmake_uninstall.cmake.in \
|
||||
cmake/FindAsciidoc.cmake \
|
||||
cmake/FindAspell.cmake \
|
||||
cmake/FindCppUTest.cmake \
|
||||
cmake/FindENCHANT.cmake \
|
||||
cmake/FindGCRYPT.cmake \
|
||||
cmake/FindGettext.cmake \
|
||||
cmake/FindGnuTLS.cmake \
|
||||
cmake/FindGuile.cmake \
|
||||
cmake/FindIconv.cmake \
|
||||
cmake/FindLua.cmake \
|
||||
cmake/FindNcurses.cmake \
|
||||
@@ -55,26 +35,17 @@ EXTRA_DIST = AUTHORS.adoc \
|
||||
cmake/FindPkgConfig.cmake \
|
||||
cmake/FindPython.cmake \
|
||||
cmake/FindRuby.cmake \
|
||||
cmake/FindV8.cmake \
|
||||
cmake/FindZLIB.cmake \
|
||||
cmake/cmake_uninstall.cmake.in \
|
||||
cmake/FindSourcehighlight.cmake \
|
||||
cmake/FindTCL.cmake \
|
||||
cmake/makedist.sh.in \
|
||||
po/CMakeLists.txt \
|
||||
po/srcfiles.cmake \
|
||||
tools/build_test.sh \
|
||||
tools/set_git_version.sh \
|
||||
tools/makedist.sh \
|
||||
version.sh \
|
||||
weechat.desktop \
|
||||
weechat.spec \
|
||||
weechat_icon_32.png \
|
||||
weechat.pc.in \
|
||||
weechat.cygport.in
|
||||
UPGRADE_0.3
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = weechat.pc
|
||||
|
||||
desktopdir = $(datadir)/applications
|
||||
desktop_DATA = weechat.desktop
|
||||
|
||||
clean-local:
|
||||
$(RM) config-git.h
|
||||
|
||||
@@ -0,0 +1,194 @@
|
||||
WeeChat News
|
||||
============
|
||||
|
||||
FlashCode, 2010-01-31::
|
||||
WeeChat 0.3.1.1 released.
|
||||
+
|
||||
This version fixes crashs with SSL connection and purge of old DCC chats.
|
||||
|
||||
FlashCode, 2010-01-23::
|
||||
WeeChat 0.3.1 released.
|
||||
+
|
||||
IRC commands /ame and /amsg are now aliases, if you are upgrading from
|
||||
version 0.3.0, you must create aliases with following commands:
|
||||
* `/alias aaway allserv /away`
|
||||
* `/alias ame allchan /me`
|
||||
* `/alias amsg allchan /amsg *`
|
||||
* `/alias anick allserv /nick`
|
||||
|
||||
FlashCode, 2009-09-06::
|
||||
WeeChat 0.3.0 released.
|
||||
+
|
||||
This version brings major changes, especially for configuration files
|
||||
and plugin API.
|
||||
+
|
||||
For more information about this version, please read file UPGRADE_0.3.
|
||||
|
||||
FlashCode, 2009-06-13::
|
||||
WeeChat 0.2.6.3 released.
|
||||
+
|
||||
This version fixes gnutls detection.
|
||||
|
||||
FlashCode, 2009-04-18::
|
||||
WeeChat 0.2.6.2 released.
|
||||
+
|
||||
This version fixes a bug with charset decoding (like iso2022jp).
|
||||
|
||||
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.
|
||||
@@ -0,0 +1,43 @@
|
||||
WeeChat Readme
|
||||
==============
|
||||
|
||||
|
||||
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
|
||||
--------
|
||||
|
||||
* chat client with multi-protocols/servers connection
|
||||
* many GUI (curses, Gtk, Qt) (1)
|
||||
* small, fast and very light
|
||||
* customizable and extensible with plugins (C, Perl, Python, Ruby, Lua, Tcl)
|
||||
* compliant with IRC RFCs 1459, 2810, 2811, 2812 and 2813
|
||||
* developed from scratch
|
||||
* multi-platform (GNU/Linux, *BSD, Mac OS X, QNX, Windows & other) (2)
|
||||
* free software, released under GPLv3
|
||||
|
||||
NOTE: (1) only Curses interface is available today
|
||||
+
|
||||
(2) Windows version is under construction
|
||||
|
||||
|
||||
Copyright
|
||||
---------
|
||||
|
||||
WeeChat (c) Copyright 2003-2010 by 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/>.
|
||||
-63
@@ -1,63 +0,0 @@
|
||||
:author: Sébastien Helleu
|
||||
:email: flashcode@flashtux.org
|
||||
:lang: en
|
||||
|
||||
|
||||
pass:[<p align="center">] image:https://weechat.org/media/images/weechat_logo_large.png[align="center"] pass:[</p>]
|
||||
|
||||
image:https://img.shields.io/badge/diaspora*-follow-blue.svg["Diaspora*", link="https://diasp.eu/u/weechat"]
|
||||
image:https://img.shields.io/badge/mastodon-follow-blue.svg["Mastodon", link="https://hostux.social/@weechat"]
|
||||
image:https://img.shields.io/badge/twitter-follow-blue.svg["Twitter", link="https://twitter.com/WeeChatClient"]
|
||||
image:https://img.shields.io/badge/devel%20blog-follow-blue.svg["Devel blog", link="https://blog.weechat.org/"]
|
||||
image:https://img.shields.io/badge/slant-recommend-28acad.svg["Slant", link="https://www.slant.co/topics/1323/~best-irc-clients-for-linux"]
|
||||
image:https://img.shields.io/badge/help-donate%20%E2%9D%A4-ff69b4.svg["Donate", link="https://weechat.org/donate/"]
|
||||
|
||||
image:https://github.com/weechat/weechat/workflows/CI/badge.svg["CI", link="https://github.com/weechat/weechat/actions"]
|
||||
image:https://codecov.io/gh/weechat/weechat/branch/master/graph/badge.svg["Code coverage", link="https://codecov.io/gh/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/
|
||||
|
||||
== Features
|
||||
|
||||
* *Modular chat client*: WeeChat has a lightweight core and optional https://weechat.org/doc/user/#plugins[plugins]. All plugins (including https://weechat.org/doc/user/#irc[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 https://tools.ietf.org/html/rfc1459[1459], https://tools.ietf.org/html/rfc2810[2810], https://tools.ietf.org/html/rfc2811[2811], https://tools.ietf.org/html/rfc2812[2812], and https://tools.ietf.org/html/rfc2813[2813].
|
||||
* *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 https://weechat.org/scripts/[scripts] (https://weechat.org/scripts/language/perl/[Perl], https://weechat.org/scripts/language/python/[Python], https://weechat.org/scripts/language/ruby[Ruby], https://weechat.org/scripts/language/lua/[Lua], https://weechat.org/scripts/language/tcl/[Tcl], https://weechat.org/scripts/language/guile/[Scheme], https://weechat.org/scripts/language/javascript/[JavaScript] and https://weechat.org/scripts/language/php/[PHP]).
|
||||
* *Fully documented*: there is comprehensive https://weechat.org/doc/[documentation], which is https://weechat.org/doc/dev/#translations[translated] 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 https://www.gnu.org/licenses/gpl-3.0.html[GPLv3].
|
||||
|
||||
pass:[<p align="center">] image:https://weechat.org/media/images/screenshots/weechat/medium/weechat_2013-04-27_phlux_shadow.png[align="center"] pass:[</p>]
|
||||
|
||||
On WeeChat's website you can find https://weechat.org/about/screenshots/[more screenshots].
|
||||
|
||||
== Installation
|
||||
|
||||
WeeChat can be installed using your favorite package manager (recommended) or by compiling it yourself.
|
||||
|
||||
For detailed instructions, please check the https://weechat.org/doc/user/#install[WeeChat user's guide].
|
||||
|
||||
== Copyright
|
||||
|
||||
Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
|
||||
|
||||
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/>.
|
||||
-2946
File diff suppressed because it is too large
Load Diff
+83
@@ -0,0 +1,83 @@
|
||||
WeeChat Upgrade to 0.3.x
|
||||
========================
|
||||
FlashCode <flashcode@flashtux.org>
|
||||
v0.3.0, 2009-09-06
|
||||
|
||||
|
||||
This document lists major changes introduced in version 0.3.0 and not compatible
|
||||
with versions 0.2.x.
|
||||
|
||||
|
||||
Upgrade to version 0.3.x
|
||||
------------------------
|
||||
|
||||
It is *NOT POSSIBLE* to use command `/upgrade` from a version 0.2.x to 0.3.x.
|
||||
You have to quit your old WeeChat, then run new version.
|
||||
|
||||
Of course, command `/upgrade` is working fine once you'll be with 0.3.x to
|
||||
upgrade to another 0.3.x (unless this command is broken again, please look
|
||||
at release notes (file 'NEWS') for version you're currently installing).
|
||||
|
||||
|
||||
Configuration files
|
||||
-------------------
|
||||
|
||||
Changes with previous versions
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
New configuration files (`*.conf`) are not compatible with old files (`*.rc`).
|
||||
|
||||
Name of options is similar to old versions, but there is now one configuration
|
||||
file by plugin, and one file for WeeChat core.
|
||||
|
||||
There is *no automatic conversion* for your old options to new configuration files,
|
||||
so you'll have to setup again your IRC servers and all other options.
|
||||
|
||||
In WeeChat, option names are now with format: `plugin.section.option` (for
|
||||
WeeChat core, `plugin` is `weechat`).
|
||||
|
||||
Examples:
|
||||
|
||||
* WeeChat options: `weechat.xxx.yyy`
|
||||
* IRC options: `irc.xxx.yyy`
|
||||
|
||||
You should read quickstart guide to be familiar with basic commands and syntax
|
||||
(some commands like `/server` have changed): http://www.weechat.org/doc
|
||||
|
||||
|
||||
List of configuration files
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Old configuration files:
|
||||
** weechat.rc
|
||||
** plugins.rc
|
||||
* New configuration files are now (with default plugins):
|
||||
** weechat.conf
|
||||
** alias.conf
|
||||
** aspell.conf
|
||||
** charset.conf
|
||||
** irc.conf
|
||||
** jabber.conf
|
||||
** logger.conf
|
||||
** plugins.conf
|
||||
** relay.conf
|
||||
** xfer.conf
|
||||
|
||||
|
||||
Plugin API
|
||||
----------
|
||||
|
||||
Plugin API has been rewritten and is not compatible with previous versions.
|
||||
Accordingly, scripts and plugins must have been designed for version 0.3.x to
|
||||
be loaded into WeeChat.
|
||||
|
||||
There is no migration script today to convert old script to new API.
|
||||
Therefore, if you plan to use old script, you'll have to wait for new version
|
||||
or you can convert script yourself and send us new version ;)
|
||||
|
||||
You can download scripts for new API on plugins page:
|
||||
http://www.weechat.org/plugins
|
||||
|
||||
More information about new API is available on wiki:
|
||||
http://wiki.flashtux.org/wiki/WeeChat_0.3.0
|
||||
and http://wiki.flashtux.org/wiki/WeeChat_0.3.0_API
|
||||
+39
-29
@@ -1,31 +1,26 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# Copyright (C) 2005 Julien Louis <ptitlouis@sysif.net>
|
||||
# Copyright (C) 2005-2006 Emmanuel Bouthenot <kolter@openics.org>
|
||||
# Copyright (c) 2003-2010 by FlashCode <flashcode@flashtux.org>
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
###
|
||||
### common stuff
|
||||
###
|
||||
|
||||
DIR=$(cd "$(dirname "$0")" || exit 1; pwd)
|
||||
cd "$DIR" || exit 1
|
||||
OK="\\033[70G[\\033[1;32mOK\\033[1;00m]"
|
||||
FAIL="\\033[70G[\\033[1;31mFAILED\\033[1;00m]"
|
||||
|
||||
AUTOGEN_LOG=autogen.log
|
||||
|
||||
@@ -34,36 +29,51 @@ err ()
|
||||
echo "-------"
|
||||
echo "Error :"
|
||||
echo "---8<-----------------------------------"
|
||||
cat "$AUTOGEN_LOG"
|
||||
cat $AUTOGEN_LOG
|
||||
echo "----------------------------------->8---"
|
||||
exit 1
|
||||
}
|
||||
|
||||
run ()
|
||||
{
|
||||
printf "Running \"%s\"... " "$*"
|
||||
if "$@" >"$AUTOGEN_LOG" 2>&1 ; then
|
||||
echo "OK"
|
||||
echo -n "Running \"$@\""
|
||||
eval $@ >$AUTOGEN_LOG 2>&1
|
||||
if [ $? = 0 ] ; then
|
||||
echo -e $OK
|
||||
else
|
||||
echo "FAILED"
|
||||
err
|
||||
echo -e $FAIL
|
||||
err
|
||||
fi
|
||||
}
|
||||
|
||||
# remove autotools stuff
|
||||
run rm -f config.h.in
|
||||
run rm -f aclocal.m4 configure config.log config.status
|
||||
run rm -rf "autom4te*.cache"
|
||||
|
||||
###
|
||||
### 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
|
||||
|
||||
run "rm -f libtool"
|
||||
# remove gettext stuff
|
||||
run rm -f ABOUT-NLS
|
||||
run rm -rf intl
|
||||
run "rm -f ABOUT-NLS"
|
||||
run "rm -rf intl"
|
||||
|
||||
# execute autoreconf cmds
|
||||
run autoreconf -vi
|
||||
###
|
||||
### 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"
|
||||
rm -f $AUTOGEN_LOG
|
||||
|
||||
@@ -1,138 +0,0 @@
|
||||
# CMAKE_PARSE_ARGUMENTS(<prefix> <options> <one_value_keywords> <multi_value_keywords> args...)
|
||||
#
|
||||
# CMAKE_PARSE_ARGUMENTS() is intended to be used in macros or functions for
|
||||
# parsing the arguments given to that macro or function.
|
||||
# It processes the arguments and defines a set of variables which hold the
|
||||
# values of the respective options.
|
||||
#
|
||||
# The <options> argument contains all options for the respective macro,
|
||||
# i.e. keywords which can be used when calling the macro without any value
|
||||
# following, like e.g. the OPTIONAL keyword of the install() command.
|
||||
#
|
||||
# The <one_value_keywords> argument contains all keywords for this macro
|
||||
# which are followed by one value, like e.g. DESTINATION keyword of the
|
||||
# install() command.
|
||||
#
|
||||
# The <multi_value_keywords> argument contains all keywords for this macro
|
||||
# which can be followed by more than one value, like e.g. the TARGETS or
|
||||
# FILES keywords of the install() command.
|
||||
#
|
||||
# When done, CMAKE_PARSE_ARGUMENTS() will have defined for each of the
|
||||
# keywords listed in <options>, <one_value_keywords> and
|
||||
# <multi_value_keywords> a variable composed of the given <prefix>
|
||||
# followed by "_" and the name of the respective keyword.
|
||||
# These variables will then hold the respective value from the argument list.
|
||||
# For the <options> keywords this will be TRUE or FALSE.
|
||||
#
|
||||
# All remaining arguments are collected in a variable
|
||||
# <prefix>_UNPARSED_ARGUMENTS, this can be checked afterwards to see whether
|
||||
# your macro was called with unrecognized parameters.
|
||||
#
|
||||
# As an example here a my_install() macro, which takes similar arguments as the
|
||||
# real install() command:
|
||||
#
|
||||
# function(MY_INSTALL)
|
||||
# set(options OPTIONAL FAST)
|
||||
# set(oneValueArgs DESTINATION RENAME)
|
||||
# set(multiValueArgs TARGETS CONFIGURATIONS)
|
||||
# cmake_parse_arguments(MY_INSTALL "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
|
||||
# ...
|
||||
#
|
||||
# Assume my_install() has been called like this:
|
||||
# my_install(TARGETS foo bar DESTINATION bin OPTIONAL blub)
|
||||
#
|
||||
# After the cmake_parse_arguments() call the macro will have set the following
|
||||
# variables:
|
||||
# MY_INSTALL_OPTIONAL = TRUE
|
||||
# MY_INSTALL_FAST = FALSE (this option was not used when calling my_install()
|
||||
# MY_INSTALL_DESTINATION = "bin"
|
||||
# MY_INSTALL_RENAME = "" (was not used)
|
||||
# MY_INSTALL_TARGETS = "foo;bar"
|
||||
# MY_INSTALL_CONFIGURATIONS = "" (was not used)
|
||||
# MY_INSTALL_UNPARSED_ARGUMENTS = "blub" (no value expected after "OPTIONAL"
|
||||
#
|
||||
# You can the continue and process these variables.
|
||||
#
|
||||
# Keywords terminate lists of values, e.g. if directly after a one_value_keyword
|
||||
# another recognized keyword follows, this is interpreted as the beginning of
|
||||
# the new option.
|
||||
# E.g. my_install(TARGETS foo DESTINATION OPTIONAL) would result in
|
||||
# MY_INSTALL_DESTINATION set to "OPTIONAL", but MY_INSTALL_DESTINATION would
|
||||
# be empty and MY_INSTALL_OPTIONAL would be set to TRUE therefor.
|
||||
|
||||
#=============================================================================
|
||||
# Copyright 2010 Alexander Neundorf <neundorf@kde.org>
|
||||
#
|
||||
# Distributed under the OSI-approved BSD License (the "License");
|
||||
# see accompanying file Copyright.txt for details.
|
||||
#
|
||||
# This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
# See the License for more information.
|
||||
#=============================================================================
|
||||
# (To distribute this file outside of CMake, substitute the full
|
||||
# License text for the above reference.)
|
||||
|
||||
|
||||
if(__CMAKE_PARSE_ARGUMENTS_INCLUDED)
|
||||
return()
|
||||
endif()
|
||||
set(__CMAKE_PARSE_ARGUMENTS_INCLUDED TRUE)
|
||||
|
||||
|
||||
function(CMAKE_PARSE_ARGUMENTS prefix _optionNames _singleArgNames _multiArgNames)
|
||||
# first set all result variables to empty/FALSE
|
||||
foreach(arg_name ${_singleArgNames} ${_multiArgNames})
|
||||
set(${prefix}_${arg_name})
|
||||
endforeach(arg_name)
|
||||
|
||||
foreach(option ${_optionNames})
|
||||
set(${prefix}_${option} FALSE)
|
||||
endforeach(option)
|
||||
|
||||
set(${prefix}_UNPARSED_ARGUMENTS)
|
||||
|
||||
set(insideValues FALSE)
|
||||
set(currentArgName)
|
||||
|
||||
# now iterate over all arguments and fill the result variables
|
||||
foreach(currentArg ${ARGN})
|
||||
list(FIND _optionNames "${currentArg}" optionIndex) # ... then this marks the end of the arguments belonging to this keyword
|
||||
list(FIND _singleArgNames "${currentArg}" singleArgIndex) # ... then this marks the end of the arguments belonging to this keyword
|
||||
list(FIND _multiArgNames "${currentArg}" multiArgIndex) # ... then this marks the end of the arguments belonging to this keyword
|
||||
|
||||
if(${optionIndex} EQUAL -1 AND ${singleArgIndex} EQUAL -1 AND ${multiArgIndex} EQUAL -1)
|
||||
if(insideValues)
|
||||
if("${insideValues}" STREQUAL "SINGLE")
|
||||
set(${prefix}_${currentArgName} ${currentArg})
|
||||
set(insideValues FALSE)
|
||||
elseif("${insideValues}" STREQUAL "MULTI")
|
||||
list(APPEND ${prefix}_${currentArgName} ${currentArg})
|
||||
endif()
|
||||
else(insideValues)
|
||||
list(APPEND ${prefix}_UNPARSED_ARGUMENTS ${currentArg})
|
||||
endif(insideValues)
|
||||
else()
|
||||
if(NOT ${optionIndex} EQUAL -1)
|
||||
set(${prefix}_${currentArg} TRUE)
|
||||
set(insideValues FALSE)
|
||||
elseif(NOT ${singleArgIndex} EQUAL -1)
|
||||
set(currentArgName ${currentArg})
|
||||
set(${prefix}_${currentArgName})
|
||||
set(insideValues "SINGLE")
|
||||
elseif(NOT ${multiArgIndex} EQUAL -1)
|
||||
set(currentArgName ${currentArg})
|
||||
set(${prefix}_${currentArgName})
|
||||
set(insideValues "MULTI")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
endforeach(currentArg)
|
||||
|
||||
# propagate the result variables to the caller:
|
||||
foreach(arg_name ${_singleArgNames} ${_multiArgNames} ${_optionNames})
|
||||
set(${prefix}_${arg_name} ${${prefix}_${arg_name}} PARENT_SCOPE)
|
||||
endforeach(arg_name)
|
||||
set(${prefix}_UNPARSED_ARGUMENTS ${${prefix}_UNPARSED_ARGUMENTS} PARENT_SCOPE)
|
||||
|
||||
endfunction(CMAKE_PARSE_ARGUMENTS _options _singleArgs _multiArgs)
|
||||
@@ -0,0 +1,43 @@
|
||||
# Copyright (c) 2003-2010 by 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 Asciidoc
|
||||
# This module finds if asciidoc (version 8 or newer) is installed.
|
||||
|
||||
IF (ASCIIDOC_FOUND)
|
||||
# Already in cache, be silent
|
||||
SET(ASCIIDOC_FIND_QUIETLY TRUE)
|
||||
ENDIF (ASCIIDOC_FOUND)
|
||||
|
||||
FIND_PROGRAM(
|
||||
ASCIIDOC_EXECUTABLE asciidoc
|
||||
PATHS /bin /usr/bin /usr/local/bin /usr/pkg/bin
|
||||
)
|
||||
|
||||
IF(ASCIIDOC_EXECUTABLE)
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND ${ASCIIDOC_EXECUTABLE} --version
|
||||
OUTPUT_VARIABLE ASCIIDOC_VERSION
|
||||
)
|
||||
|
||||
IF(${ASCIIDOC_VERSION} MATCHES "asciidoc 8.*")
|
||||
SET(ASCIIDOC_FOUND TRUE)
|
||||
ENDIF(${ASCIIDOC_VERSION} MATCHES "asciidoc 8.*")
|
||||
|
||||
MARK_AS_ADVANCED(
|
||||
ASCIIDOC_EXECUTABLE
|
||||
)
|
||||
ENDIF(ASCIIDOC_EXECUTABLE)
|
||||
@@ -1,49 +0,0 @@
|
||||
#
|
||||
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# 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
-24
@@ -1,24 +1,21 @@
|
||||
# Copyright (c) 2003-2010 by FlashCode <flashcode@flashtux.org>
|
||||
#
|
||||
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# 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:
|
||||
@@ -26,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
|
||||
)
|
||||
)
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
#
|
||||
# Copyright (C) 2014-2023 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# 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()
|
||||
@@ -1,50 +0,0 @@
|
||||
# - 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
|
||||
|
||||
# Copyright (c) 2006, Zack Rusin, <zack@kde.org>
|
||||
#
|
||||
# Redistribution and use is allowed according to the terms of the BSD license.
|
||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||
|
||||
|
||||
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()
|
||||
@@ -1,53 +0,0 @@
|
||||
#
|
||||
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# 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 Gcrypt
|
||||
# This module finds if libgcrypt is installed and determines where
|
||||
# the include files and libraries are.
|
||||
#
|
||||
# This code sets the following variables:
|
||||
#
|
||||
# GCRYPT_CFLAGS = cflags to use to compile
|
||||
# GCRYPT_LDFLAGS = ldflags to use to compile
|
||||
#
|
||||
|
||||
find_program(LIBGCRYPT_CONFIG_EXECUTABLE NAMES libgcrypt-config)
|
||||
|
||||
set(GCRYPT_LDFLAGS)
|
||||
set(GCRYPT_CFLAGS)
|
||||
|
||||
if(LIBGCRYPT_CONFIG_EXECUTABLE)
|
||||
|
||||
execute_process(COMMAND ${LIBGCRYPT_CONFIG_EXECUTABLE} --libs RESULT_VARIABLE _return_VALUE OUTPUT_VARIABLE GCRYPT_LDFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET)
|
||||
execute_process(COMMAND ${LIBGCRYPT_CONFIG_EXECUTABLE} --cflags RESULT_VARIABLE _return_VALUE OUTPUT_VARIABLE GCRYPT_CFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET)
|
||||
|
||||
if(NOT DEFINED ${GCRYPT_CFLAGS})
|
||||
set(GCRYPT_CFLAGS " ")
|
||||
endif()
|
||||
|
||||
endif()
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set GCRYPT_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(GCRYPT REQUIRED_VARS GCRYPT_LDFLAGS GCRYPT_CFLAGS)
|
||||
|
||||
if(GCRYPT_FOUND)
|
||||
mark_as_advanced(GCRYPT_CFLAGS GCRYPT_LDFLAGS)
|
||||
endif()
|
||||
+37
-40
@@ -1,70 +1,67 @@
|
||||
# Copyright (c) 2003-2010 by FlashCode <flashcode@flashtux.org>
|
||||
#
|
||||
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# Copyright (C) 2007 Julien Louis <ptitlouis@sysif.net>
|
||||
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
|
||||
#
|
||||
# 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(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
|
||||
IF(HAVE_LIBINTL_H)
|
||||
|
||||
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} 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()
|
||||
endif()
|
||||
)
|
||||
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(${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
|
||||
CHECK_LIBRARY_EXISTS(${LIBINTL_LIBRARY} "dgettext" "" LIBINTL_HAS_DGETTEXT)
|
||||
ENDIF(${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
|
||||
|
||||
IF(LIBINTL_HAS_DGETTEXT)
|
||||
SET(GETTEXT_FOUND TRUE)
|
||||
ENDIF(LIBINTL_HAS_DGETTEXT)
|
||||
ENDIF(LIBINTL_LIBRARY)
|
||||
ENDIF(LIBC_HAS_DGETTEXT)
|
||||
ENDIF(HAVE_LIBINTL_H)
|
||||
|
||||
+26
-30
@@ -1,25 +1,21 @@
|
||||
# Copyright (c) 2003-2010 by FlashCode <flashcode@flashtux.org>
|
||||
#
|
||||
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
|
||||
#
|
||||
# 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 GnuTLS
|
||||
# This module finds if libgnutls is installed and determines where
|
||||
# This module finds if libgnutls is installed and determines where
|
||||
# the include files and libraries are.
|
||||
#
|
||||
# This code sets the following variables:
|
||||
@@ -29,45 +25,45 @@
|
||||
# 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()
|
||||
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(PKG_CONFIG_EXECUTABLE NAMES pkg-config)
|
||||
FIND_PROGRAM(PKG_CONFIG_EXECUTABLE NAMES pkg-config)
|
||||
|
||||
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=prefix gnutls
|
||||
OUTPUT_VARIABLE GNUTLS_PREFIX
|
||||
EXECUTE_PROCESS(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=prefix gnutls
|
||||
OUTPUT_VARIABLE GNUTLS_PREFIX
|
||||
)
|
||||
|
||||
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --cflags gnutls
|
||||
OUTPUT_VARIABLE GNUTLS_CFLAGS
|
||||
EXECUTE_PROCESS(COMMAND ${PKG_CONFIG_EXECUTABLE} --cflags gnutls
|
||||
OUTPUT_VARIABLE GNUTLS_CFLAGS
|
||||
)
|
||||
string(REGEX REPLACE "[\r\n]" "" GNUTLS_CFLAGS "${GNUTLS_CFLAGS}")
|
||||
STRING(REGEX REPLACE "[\r\n]" "" GNUTLS_CFLAGS "${GNUTLS_FLAGS}")
|
||||
|
||||
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --libs gnutls
|
||||
OUTPUT_VARIABLE GNUTLS_LDFLAGS
|
||||
EXECUTE_PROCESS(COMMAND ${PKG_CONFIG_EXECUTABLE} --libs gnutls
|
||||
OUTPUT_VARIABLE GNUTLS_LDFLAGS
|
||||
)
|
||||
string(REGEX REPLACE "[\r\n]" "" GNUTLS_LDFLAGS "${GNUTLS_LDFLAGS}")
|
||||
STRING(REGEX REPLACE "[\r\n]" "" GNUTLS_LDFLAGS "${GNUTLS_LDFLAGS}")
|
||||
|
||||
set(GNUTLS_POSSIBLE_INCLUDE_PATH "${GNUTLS_PREFIX}/include")
|
||||
set(GNUTLS_POSSIBLE_LIB_DIR "${GNUTLS_PREFIX}/lib")
|
||||
SET(GNUTLS_POSSIBLE_INCLUDE_PATH "${GNUTLS_PREFIX}/include")
|
||||
SET(GNUTLS_POSSIBLE_LIB_DIR "${GNUTLS_PREFIX}/lib")
|
||||
|
||||
find_path(GNUTLS_INCLUDE_PATH
|
||||
FIND_PATH(GNUTLS_INCLUDE_PATH
|
||||
NAMES gnutls/gnutls.h
|
||||
PATHS GNUTLS_POSSIBLE_INCLUDE_PATH
|
||||
)
|
||||
|
||||
find_library(GNUTLS_LIBRARY
|
||||
FIND_LIBRARY(GNUTLS_LIBRARY
|
||||
NAMES gnutls
|
||||
PATHS GNUTLS_POSSIBLE_LIB_DIR
|
||||
)
|
||||
|
||||
if(NOT GNUTLS_INCLUDE_PATH OR NOT GNUTLS_LIBRARY)
|
||||
message(FATAL_ERROR "GnuTLS was not found")
|
||||
endif()
|
||||
IF (GNUTLS_INCLUDE_PATH AND GNUTLS_LIBRARY)
|
||||
SET(GNUTLS_FOUND TRUE)
|
||||
ENDIF (GNUTLS_INCLUDE_PATH AND GNUTLS_LIBRARY)
|
||||
|
||||
mark_as_advanced(
|
||||
MARK_AS_ADVANCED(
|
||||
GNUTLS_INCLUDE_PATH
|
||||
GNUTLS_LIBRARY
|
||||
GNUTLS_CFLAGS
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
#
|
||||
# Copyright (C) 2011-2023 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# 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()
|
||||
+30
-34
@@ -1,24 +1,21 @@
|
||||
# Copyright (c) 2003-2010 by FlashCode <flashcode@flashtux.org>
|
||||
#
|
||||
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# 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:
|
||||
@@ -28,44 +25,44 @@
|
||||
#
|
||||
# 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)
|
||||
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(){
|
||||
@@ -78,8 +75,7 @@ check_c_source_compiles("
|
||||
return 0;
|
||||
}
|
||||
" ICONV_2ARG_IS_CONST)
|
||||
|
||||
mark_as_advanced(
|
||||
MARK_AS_ADVANCED(
|
||||
ICONV_INCLUDE_PATH
|
||||
ICONV_LIBRARY
|
||||
ICONV_FOUND
|
||||
|
||||
+61
-16
@@ -1,24 +1,21 @@
|
||||
# Copyright (c) 2003-2010 by FlashCode <flashcode@flashtux.org>
|
||||
#
|
||||
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# 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:
|
||||
@@ -28,12 +25,60 @@
|
||||
#
|
||||
# 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 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 lua)
|
||||
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
|
||||
PATH_SUFFIXES lua51 lua5.1 lua-5.1
|
||||
)
|
||||
|
||||
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
|
||||
PATH_SUFFIXES lua50 lua5.0 lua-5.0 lua
|
||||
)
|
||||
|
||||
FIND_LIBRARY(
|
||||
LUALIB50_LIBRARY NAMES lualib50 lualib5.0 lualib-5.0 lualib
|
||||
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
|
||||
PATH_SUFFIXES lua50 lua5.0 lua-5.0 lua
|
||||
)
|
||||
|
||||
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
-42
@@ -1,66 +1,38 @@
|
||||
# Copyright (c) 2003-2010 by FlashCode <flashcode@flashtux.org>
|
||||
#
|
||||
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# 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
|
||||
)
|
||||
|
||||
@@ -1,71 +0,0 @@
|
||||
#
|
||||
# Copyright (C) 2017 Adam Saponara <as@php.net>
|
||||
# Copyright (C) 2017-2023 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# 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.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.2 php8.1 php8.0 php8 php7.4 php7.3 php7.2 php7.1 php7.0 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
-37
@@ -1,20 +1,17 @@
|
||||
# Copyright (c) 2003-2010 by FlashCode <flashcode@flashtux.org>
|
||||
#
|
||||
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# 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
|
||||
@@ -28,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)
|
||||
|
||||
|
||||
+190
-602
@@ -1,60 +1,117 @@
|
||||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
# - a pkg-config module for CMake
|
||||
#
|
||||
# Usage:
|
||||
# pkg_check_modules(<PREFIX> [REQUIRED] <MODULE> [<MODULE>]*)
|
||||
# checks for all the given modules
|
||||
#
|
||||
# pkg_search_module(<PREFIX> [REQUIRED] <MODULE> [<MODULE>]*)
|
||||
# checks for given modules and uses the first working one
|
||||
#
|
||||
# When the 'REQUIRED' argument was set, macros will fail with an error
|
||||
# when module(s) could not be found
|
||||
#
|
||||
# It sets the following variables:
|
||||
# PKG_CONFIG_FOUND ... true iff pkg-config works on the system
|
||||
# PKG_CONFIG_EXECUTABLE ... pathname of the pkg-config program
|
||||
# <PREFIX>_FOUND ... set to 1 iff module(s) exist
|
||||
#
|
||||
# For the following variables two sets of values exist; first one is the
|
||||
# common one and has the given PREFIX. The second set contains flags
|
||||
# which are given out when pkgconfig was called with the '--static'
|
||||
# option.
|
||||
# <XPREFIX>_LIBRARIES ... only the libraries (w/o the '-l')
|
||||
# <XPREFIX>_LIBRARY_DIRS ... the paths of the libraries (w/o the '-L')
|
||||
# <XPREFIX>_LDFLAGS ... all required linker flags
|
||||
# <XPREFIX>_LDFLAGS_OTHER ... all other linker flags
|
||||
# <XPREFIX>_INCLUDE_DIRS ... the '-I' preprocessor flags (w/o the '-I')
|
||||
# <XPREFIX>_CFLAGS ... all required cflags
|
||||
# <XPREFIX>_CFLAGS_OTHER ... the other compiler flags
|
||||
#
|
||||
# <XPREFIX> = <PREFIX> for common case
|
||||
# <XPREFIX> = <PREFIX>_STATIC for static linking
|
||||
#
|
||||
# There are some special variables whose prefix depends on the count
|
||||
# of given modules. When there is only one module, <PREFIX> stays
|
||||
# unchanged. When there are multiple modules, the prefix will be
|
||||
# changed to <PREFIX>_<MODNAME>:
|
||||
# <XPREFIX>_VERSION ... version of the module
|
||||
# <XPREFIX>_PREFIX ... prefix-directory of the module
|
||||
# <XPREFIX>_INCLUDEDIR ... include-dir of the module
|
||||
# <XPREFIX>_LIBDIR ... lib-dir of the module
|
||||
#
|
||||
# <XPREFIX> = <PREFIX> when |MODULES| == 1, else
|
||||
# <XPREFIX> = <PREFIX>_<MODNAME>
|
||||
#
|
||||
# A <MODULE> parameter can have the following formats:
|
||||
# {MODNAME} ... matches any version
|
||||
# {MODNAME}>={VERSION} ... at least version <VERSION> is required
|
||||
# {MODNAME}={VERSION} ... exactly version <VERSION> is required
|
||||
# {MODNAME}<={VERSION} ... modules must not be newer than <VERSION>
|
||||
#
|
||||
# Examples
|
||||
# pkg_check_modules (GLIB2 glib-2.0)
|
||||
#
|
||||
# pkg_check_modules (GLIB2 glib-2.0>=2.10)
|
||||
# requires at least version 2.10 of glib2 and defines e.g.
|
||||
# GLIB2_VERSION=2.10.3
|
||||
#
|
||||
# pkg_check_modules (FOO glib-2.0>=2.10 gtk+-2.0)
|
||||
# requires both glib2 and gtk2, and defines e.g.
|
||||
# FOO_glib-2.0_VERSION=2.10.3
|
||||
# FOO_gtk+-2.0_VERSION=2.8.20
|
||||
#
|
||||
# pkg_check_modules (XRENDER REQUIRED xrender)
|
||||
# defines e.g.:
|
||||
# XRENDER_LIBRARIES=Xrender;X11
|
||||
# XRENDER_STATIC_LIBRARIES=Xrender;X11;pthread;Xau;Xdmcp
|
||||
#
|
||||
# pkg_search_module (BAR libxml-2.0 libxml2 libxml>=2)
|
||||
|
||||
#[========================================[.rst:
|
||||
FindPkgConfig
|
||||
-------------
|
||||
|
||||
A ``pkg-config`` module for CMake.
|
||||
# Copyright (C) 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
|
||||
#
|
||||
# Redistribution and use, with or without modification, are permitted
|
||||
# provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions must retain the above copyright notice, this
|
||||
# list of conditions and the following disclaimer.
|
||||
# 2. The name of the author may not be used to endorse or promote
|
||||
# products derived from this software without specific prior
|
||||
# written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
|
||||
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
||||
# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
||||
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
Finds the ``pkg-config`` executable and adds the :command:`pkg_get_variable`,
|
||||
:command:`pkg_check_modules` and :command:`pkg_search_module` commands. The
|
||||
following variables will also be set:
|
||||
|
||||
``PKG_CONFIG_FOUND``
|
||||
if pkg-config executable was found
|
||||
``PKG_CONFIG_EXECUTABLE``
|
||||
pathname of the pkg-config program
|
||||
``PKG_CONFIG_VERSION_STRING``
|
||||
version of pkg-config (since CMake 2.8.8)
|
||||
|
||||
#]========================================]
|
||||
|
||||
### Common stuff ####
|
||||
set(PKG_CONFIG_VERSION 1)
|
||||
set(PKG_CONFIG_FOUND 0)
|
||||
|
||||
# find pkg-config, use PKG_CONFIG if set
|
||||
if((NOT PKG_CONFIG_EXECUTABLE) AND (NOT "$ENV{PKG_CONFIG}" STREQUAL ""))
|
||||
set(PKG_CONFIG_EXECUTABLE "$ENV{PKG_CONFIG}" CACHE FILEPATH "pkg-config executable")
|
||||
endif()
|
||||
find_program(PKG_CONFIG_EXECUTABLE NAMES pkg-config DOC "pkg-config executable")
|
||||
mark_as_advanced(PKG_CONFIG_EXECUTABLE)
|
||||
|
||||
if (PKG_CONFIG_EXECUTABLE)
|
||||
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --version
|
||||
OUTPUT_VARIABLE PKG_CONFIG_VERSION_STRING
|
||||
ERROR_QUIET
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
endif ()
|
||||
if(PKG_CONFIG_EXECUTABLE)
|
||||
set(PKG_CONFIG_FOUND 1)
|
||||
endif(PKG_CONFIG_EXECUTABLE)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(PkgConfig
|
||||
REQUIRED_VARS PKG_CONFIG_EXECUTABLE
|
||||
VERSION_VAR PKG_CONFIG_VERSION_STRING)
|
||||
|
||||
# This is needed because the module name is "PkgConfig" but the name of
|
||||
# this variable has always been PKG_CONFIG_FOUND so this isn't automatically
|
||||
# handled by FPHSA.
|
||||
set(PKG_CONFIG_FOUND "${PKGCONFIG_FOUND}")
|
||||
|
||||
# Unsets the given variables
|
||||
macro(_pkgconfig_unset var)
|
||||
set(${var} "" CACHE INTERNAL "")
|
||||
endmacro()
|
||||
endmacro(_pkgconfig_unset)
|
||||
|
||||
macro(_pkgconfig_set var value)
|
||||
set(${var} ${value} CACHE INTERNAL "")
|
||||
endmacro()
|
||||
endmacro(_pkgconfig_set)
|
||||
|
||||
# Invokes pkgconfig, cleans up the result and sets variables
|
||||
macro(_pkgconfig_invoke _pkglist _prefix _varname _regexp)
|
||||
@@ -63,311 +120,55 @@ macro(_pkgconfig_invoke _pkglist _prefix _varname _regexp)
|
||||
execute_process(
|
||||
COMMAND ${PKG_CONFIG_EXECUTABLE} ${ARGN} ${_pkglist}
|
||||
OUTPUT_VARIABLE _pkgconfig_invoke_result
|
||||
RESULT_VARIABLE _pkgconfig_failed
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
RESULT_VARIABLE _pkgconfig_failed)
|
||||
|
||||
if (_pkgconfig_failed)
|
||||
set(_pkgconfig_${_varname} "")
|
||||
_pkgconfig_unset(${_prefix}_${_varname})
|
||||
else()
|
||||
string(REGEX REPLACE "[\r\n]" " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
|
||||
else(_pkgconfig_failed)
|
||||
string(REGEX REPLACE "[\r\n]" " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
|
||||
string(REGEX REPLACE " +$" "" _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
|
||||
|
||||
if (NOT ${_regexp} STREQUAL "")
|
||||
string(REGEX REPLACE "${_regexp}" " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
|
||||
endif()
|
||||
endif(NOT ${_regexp} STREQUAL "")
|
||||
|
||||
separate_arguments(_pkgconfig_invoke_result)
|
||||
|
||||
#message(STATUS " ${_varname} ... ${_pkgconfig_invoke_result}")
|
||||
set(_pkgconfig_${_varname} ${_pkgconfig_invoke_result})
|
||||
_pkgconfig_set(${_prefix}_${_varname} "${_pkgconfig_invoke_result}")
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
# Internal version of pkg_get_variable; expects PKG_CONFIG_PATH to already be set
|
||||
function (_pkg_get_variable result pkg variable)
|
||||
_pkgconfig_invoke("${pkg}" "prefix" "result" "" "--variable=${variable}")
|
||||
set("${result}"
|
||||
"${prefix_result}"
|
||||
PARENT_SCOPE)
|
||||
endfunction ()
|
||||
endif(_pkgconfig_failed)
|
||||
endmacro(_pkgconfig_invoke)
|
||||
|
||||
# Invokes pkgconfig two times; once without '--static' and once with
|
||||
# '--static'
|
||||
macro(_pkgconfig_invoke_dyn _pkglist _prefix _varname cleanup_regexp)
|
||||
_pkgconfig_invoke("${_pkglist}" ${_prefix} ${_varname} "${cleanup_regexp}" ${ARGN})
|
||||
_pkgconfig_invoke("${_pkglist}" ${_prefix} STATIC_${_varname} "${cleanup_regexp}" --static ${ARGN})
|
||||
endmacro()
|
||||
endmacro(_pkgconfig_invoke_dyn)
|
||||
|
||||
# Splits given arguments into options and a package list
|
||||
macro(_pkgconfig_parse_options _result _is_req _is_silent _no_cmake_path _no_cmake_environment_path _imp_target _imp_target_global)
|
||||
macro(_pkgconfig_parse_options _result _is_req)
|
||||
set(${_is_req} 0)
|
||||
set(${_is_silent} 0)
|
||||
set(${_no_cmake_path} 0)
|
||||
set(${_no_cmake_environment_path} 0)
|
||||
set(${_imp_target} 0)
|
||||
set(${_imp_target_global} 0)
|
||||
if(DEFINED PKG_CONFIG_USE_CMAKE_PREFIX_PATH)
|
||||
if(NOT PKG_CONFIG_USE_CMAKE_PREFIX_PATH)
|
||||
set(${_no_cmake_path} 1)
|
||||
set(${_no_cmake_environment_path} 1)
|
||||
endif()
|
||||
elseif(CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 3.1)
|
||||
set(${_no_cmake_path} 1)
|
||||
set(${_no_cmake_environment_path} 1)
|
||||
endif()
|
||||
|
||||
|
||||
foreach(_pkg ${ARGN})
|
||||
if (_pkg STREQUAL "REQUIRED")
|
||||
set(${_is_req} 1)
|
||||
endif ()
|
||||
if (_pkg STREQUAL "QUIET")
|
||||
set(${_is_silent} 1)
|
||||
endif ()
|
||||
if (_pkg STREQUAL "NO_CMAKE_PATH")
|
||||
set(${_no_cmake_path} 1)
|
||||
endif()
|
||||
if (_pkg STREQUAL "NO_CMAKE_ENVIRONMENT_PATH")
|
||||
set(${_no_cmake_environment_path} 1)
|
||||
endif()
|
||||
if (_pkg STREQUAL "IMPORTED_TARGET")
|
||||
set(${_imp_target} 1)
|
||||
endif()
|
||||
if (_pkg STREQUAL "GLOBAL")
|
||||
set(${_imp_target_global} 1)
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
if (${_imp_target_global} AND NOT ${_imp_target})
|
||||
message(SEND_ERROR "the argument GLOBAL may only be used together with IMPORTED_TARGET")
|
||||
endif()
|
||||
endif (_pkg STREQUAL "REQUIRED")
|
||||
endforeach(_pkg ${ARGN})
|
||||
|
||||
set(${_result} ${ARGN})
|
||||
list(REMOVE_ITEM ${_result} "REQUIRED")
|
||||
list(REMOVE_ITEM ${_result} "QUIET")
|
||||
list(REMOVE_ITEM ${_result} "NO_CMAKE_PATH")
|
||||
list(REMOVE_ITEM ${_result} "NO_CMAKE_ENVIRONMENT_PATH")
|
||||
list(REMOVE_ITEM ${_result} "IMPORTED_TARGET")
|
||||
list(REMOVE_ITEM ${_result} "GLOBAL")
|
||||
endmacro()
|
||||
|
||||
# Add the content of a variable or an environment variable to a list of
|
||||
# paths
|
||||
# Usage:
|
||||
# - _pkgconfig_add_extra_path(_extra_paths VAR)
|
||||
# - _pkgconfig_add_extra_path(_extra_paths ENV VAR)
|
||||
function(_pkgconfig_add_extra_path _extra_paths_var _var)
|
||||
set(_is_env 0)
|
||||
if(ARGC GREATER 2 AND _var STREQUAL "ENV")
|
||||
set(_var ${ARGV2})
|
||||
set(_is_env 1)
|
||||
endif()
|
||||
if(NOT _is_env)
|
||||
if(NOT "${${_var}}" STREQUAL "")
|
||||
list(APPEND ${_extra_paths_var} ${${_var}})
|
||||
endif()
|
||||
else()
|
||||
if(NOT "$ENV{${_var}}" STREQUAL "")
|
||||
file(TO_CMAKE_PATH "$ENV{${_var}}" _path)
|
||||
list(APPEND ${_extra_paths_var} ${_path})
|
||||
unset(_path)
|
||||
endif()
|
||||
endif()
|
||||
set(${_extra_paths_var} ${${_extra_paths_var}} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
# scan the LDFLAGS returned by pkg-config for library directories and
|
||||
# libraries, figure out the absolute paths of that libraries in the
|
||||
# given directories
|
||||
function(_pkg_find_libs _prefix _no_cmake_path _no_cmake_environment_path)
|
||||
unset(_libs)
|
||||
unset(_find_opts)
|
||||
|
||||
# set the options that are used as long as the .pc file does not provide a library
|
||||
# path to look into
|
||||
if(_no_cmake_path)
|
||||
list(APPEND _find_opts "NO_CMAKE_PATH")
|
||||
endif()
|
||||
if(_no_cmake_environment_path)
|
||||
list(APPEND _find_opts "NO_CMAKE_ENVIRONMENT_PATH")
|
||||
endif()
|
||||
|
||||
unset(_search_paths)
|
||||
foreach (flag IN LISTS ${_prefix}_LDFLAGS)
|
||||
if (flag MATCHES "^-L(.*)")
|
||||
list(APPEND _search_paths ${CMAKE_MATCH_1})
|
||||
continue()
|
||||
endif()
|
||||
if (flag MATCHES "^-l(.*)")
|
||||
set(_pkg_search "${CMAKE_MATCH_1}")
|
||||
else()
|
||||
continue()
|
||||
endif()
|
||||
|
||||
if(_search_paths)
|
||||
# Firstly search in -L paths
|
||||
find_library(pkgcfg_lib_${_prefix}_${_pkg_search}
|
||||
NAMES ${_pkg_search}
|
||||
HINTS ${_search_paths} NO_DEFAULT_PATH)
|
||||
endif()
|
||||
find_library(pkgcfg_lib_${_prefix}_${_pkg_search}
|
||||
NAMES ${_pkg_search}
|
||||
${_find_opts})
|
||||
mark_as_advanced(pkgcfg_lib_${_prefix}_${_pkg_search})
|
||||
if(pkgcfg_lib_${_prefix}_${_pkg_search})
|
||||
list(APPEND _libs "${pkgcfg_lib_${_prefix}_${_pkg_search}}")
|
||||
else()
|
||||
list(APPEND _libs ${_pkg_search})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
set(${_prefix}_LINK_LIBRARIES "${_libs}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
# create an imported target from all the information returned by pkg-config
|
||||
function(_pkg_create_imp_target _prefix _imp_target_global)
|
||||
# only create the target if it is linkable, i.e. no executables
|
||||
if (NOT TARGET PkgConfig::${_prefix}
|
||||
AND ( ${_prefix}_INCLUDE_DIRS OR ${_prefix}_LINK_LIBRARIES OR ${_prefix}_LDFLAGS_OTHER OR ${_prefix}_CFLAGS_OTHER ))
|
||||
if(${_imp_target_global})
|
||||
set(_global_opt "GLOBAL")
|
||||
else()
|
||||
unset(_global_opt)
|
||||
endif()
|
||||
add_library(PkgConfig::${_prefix} INTERFACE IMPORTED ${_global_opt})
|
||||
|
||||
if(${_prefix}_INCLUDE_DIRS)
|
||||
set_property(TARGET PkgConfig::${_prefix} PROPERTY
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${${_prefix}_INCLUDE_DIRS}")
|
||||
endif()
|
||||
if(${_prefix}_LINK_LIBRARIES)
|
||||
set_property(TARGET PkgConfig::${_prefix} PROPERTY
|
||||
INTERFACE_LINK_LIBRARIES "${${_prefix}_LINK_LIBRARIES}")
|
||||
endif()
|
||||
if(${_prefix}_LDFLAGS_OTHER)
|
||||
set_property(TARGET PkgConfig::${_prefix} PROPERTY
|
||||
INTERFACE_LINK_OPTIONS "${${_prefix}_LDFLAGS_OTHER}")
|
||||
endif()
|
||||
if(${_prefix}_CFLAGS_OTHER)
|
||||
set_property(TARGET PkgConfig::${_prefix} PROPERTY
|
||||
INTERFACE_COMPILE_OPTIONS "${${_prefix}_CFLAGS_OTHER}")
|
||||
endif()
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
# recalculate the dynamic output
|
||||
# this is a macro and not a function so the result of _pkg_find_libs is automatically propagated
|
||||
macro(_pkg_recalculate _prefix _no_cmake_path _no_cmake_environment_path _imp_target _imp_target_global)
|
||||
_pkg_find_libs(${_prefix} ${_no_cmake_path} ${_no_cmake_environment_path})
|
||||
if(${_imp_target})
|
||||
_pkg_create_imp_target(${_prefix} ${_imp_target_global})
|
||||
endif()
|
||||
endmacro()
|
||||
endmacro(_pkgconfig_parse_options)
|
||||
|
||||
###
|
||||
macro(_pkg_set_path_internal)
|
||||
set(_extra_paths)
|
||||
|
||||
if(NOT _no_cmake_path)
|
||||
_pkgconfig_add_extra_path(_extra_paths CMAKE_PREFIX_PATH)
|
||||
_pkgconfig_add_extra_path(_extra_paths CMAKE_FRAMEWORK_PATH)
|
||||
_pkgconfig_add_extra_path(_extra_paths CMAKE_APPBUNDLE_PATH)
|
||||
endif()
|
||||
|
||||
if(NOT _no_cmake_environment_path)
|
||||
_pkgconfig_add_extra_path(_extra_paths ENV CMAKE_PREFIX_PATH)
|
||||
_pkgconfig_add_extra_path(_extra_paths ENV CMAKE_FRAMEWORK_PATH)
|
||||
_pkgconfig_add_extra_path(_extra_paths ENV CMAKE_APPBUNDLE_PATH)
|
||||
endif()
|
||||
|
||||
if(NOT _extra_paths STREQUAL "")
|
||||
# Save the PKG_CONFIG_PATH environment variable, and add paths
|
||||
# from the CMAKE_PREFIX_PATH variables
|
||||
set(_pkgconfig_path_old "$ENV{PKG_CONFIG_PATH}")
|
||||
set(_pkgconfig_path "${_pkgconfig_path_old}")
|
||||
if(NOT _pkgconfig_path STREQUAL "")
|
||||
file(TO_CMAKE_PATH "${_pkgconfig_path}" _pkgconfig_path)
|
||||
endif()
|
||||
|
||||
# Create a list of the possible pkgconfig subfolder (depending on
|
||||
# the system
|
||||
set(_lib_dirs)
|
||||
if(NOT DEFINED CMAKE_SYSTEM_NAME
|
||||
OR (CMAKE_SYSTEM_NAME MATCHES "^(Linux|kFreeBSD|GNU)$"
|
||||
AND NOT CMAKE_CROSSCOMPILING))
|
||||
if(EXISTS "/etc/debian_version") # is this a debian system ?
|
||||
if(CMAKE_LIBRARY_ARCHITECTURE)
|
||||
list(APPEND _lib_dirs "lib/${CMAKE_LIBRARY_ARCHITECTURE}/pkgconfig")
|
||||
endif()
|
||||
else()
|
||||
# not debian, check the FIND_LIBRARY_USE_LIB32_PATHS and FIND_LIBRARY_USE_LIB64_PATHS properties
|
||||
get_property(uselib32 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB32_PATHS)
|
||||
if(uselib32 AND CMAKE_SIZEOF_VOID_P EQUAL 4)
|
||||
list(APPEND _lib_dirs "lib32/pkgconfig")
|
||||
endif()
|
||||
get_property(uselib64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
|
||||
if(uselib64 AND CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
list(APPEND _lib_dirs "lib64/pkgconfig")
|
||||
endif()
|
||||
get_property(uselibx32 GLOBAL PROPERTY FIND_LIBRARY_USE_LIBX32_PATHS)
|
||||
if(uselibx32 AND CMAKE_INTERNAL_PLATFORM_ABI STREQUAL "ELF X32")
|
||||
list(APPEND _lib_dirs "libx32/pkgconfig")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" AND NOT CMAKE_CROSSCOMPILING)
|
||||
list(APPEND _lib_dirs "libdata/pkgconfig")
|
||||
endif()
|
||||
list(APPEND _lib_dirs "lib/pkgconfig")
|
||||
list(APPEND _lib_dirs "share/pkgconfig")
|
||||
|
||||
# Check if directories exist and eventually append them to the
|
||||
# pkgconfig path list
|
||||
foreach(_prefix_dir ${_extra_paths})
|
||||
foreach(_lib_dir ${_lib_dirs})
|
||||
if(EXISTS "${_prefix_dir}/${_lib_dir}")
|
||||
list(APPEND _pkgconfig_path "${_prefix_dir}/${_lib_dir}")
|
||||
list(REMOVE_DUPLICATES _pkgconfig_path)
|
||||
endif()
|
||||
endforeach()
|
||||
endforeach()
|
||||
|
||||
# Prepare and set the environment variable
|
||||
if(NOT _pkgconfig_path STREQUAL "")
|
||||
# remove empty values from the list
|
||||
list(REMOVE_ITEM _pkgconfig_path "")
|
||||
file(TO_NATIVE_PATH "${_pkgconfig_path}" _pkgconfig_path)
|
||||
if(UNIX)
|
||||
string(REPLACE ";" ":" _pkgconfig_path "${_pkgconfig_path}")
|
||||
string(REPLACE "\\ " " " _pkgconfig_path "${_pkgconfig_path}")
|
||||
endif()
|
||||
set(ENV{PKG_CONFIG_PATH} "${_pkgconfig_path}")
|
||||
endif()
|
||||
|
||||
# Unset variables
|
||||
unset(_lib_dirs)
|
||||
unset(_pkgconfig_path)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
macro(_pkg_restore_path_internal)
|
||||
if(NOT _extra_paths STREQUAL "")
|
||||
# Restore the environment variable
|
||||
set(ENV{PKG_CONFIG_PATH} "${_pkgconfig_path_old}")
|
||||
endif()
|
||||
|
||||
unset(_extra_paths)
|
||||
unset(_pkgconfig_path_old)
|
||||
endmacro()
|
||||
|
||||
###
|
||||
macro(_pkg_check_modules_internal _is_required _is_silent _no_cmake_path _no_cmake_environment_path _imp_target _imp_target_global _prefix)
|
||||
macro(_pkg_check_modules_internal _is_required _is_silent _prefix)
|
||||
_pkgconfig_unset(${_prefix}_FOUND)
|
||||
_pkgconfig_unset(${_prefix}_VERSION)
|
||||
_pkgconfig_unset(${_prefix}_PREFIX)
|
||||
_pkgconfig_unset(${_prefix}_INCLUDEDIR)
|
||||
_pkgconfig_unset(${_prefix}_LIBDIR)
|
||||
_pkgconfig_unset(${_prefix}_MODULE_NAME)
|
||||
_pkgconfig_unset(${_prefix}_LIBS)
|
||||
_pkgconfig_unset(${_prefix}_LIBS_L)
|
||||
_pkgconfig_unset(${_prefix}_LIBS_PATHS)
|
||||
@@ -392,80 +193,86 @@ macro(_pkg_check_modules_internal _is_required _is_silent _no_cmake_path _no_cma
|
||||
# give out status message telling checked module
|
||||
if (NOT ${_is_silent})
|
||||
if (_pkg_check_modules_cnt EQUAL 1)
|
||||
message(STATUS "Checking for module '${_pkg_check_modules_list}'")
|
||||
else()
|
||||
message(STATUS "Checking for modules '${_pkg_check_modules_list}'")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
message(STATUS "checking for module '${_pkg_check_modules_list}'")
|
||||
else(_pkg_check_modules_cnt EQUAL 1)
|
||||
message(STATUS "checking for modules '${_pkg_check_modules_list}'")
|
||||
endif(_pkg_check_modules_cnt EQUAL 1)
|
||||
endif(NOT ${_is_silent})
|
||||
|
||||
set(_pkg_check_modules_packages)
|
||||
set(_pkg_check_modules_failed)
|
||||
|
||||
_pkg_set_path_internal()
|
||||
|
||||
# iterate through module list and check whether they exist and match the required version
|
||||
foreach (_pkg_check_modules_pkg ${_pkg_check_modules_list})
|
||||
set(_pkg_check_modules_exist_query)
|
||||
|
||||
# check whether version is given
|
||||
if (_pkg_check_modules_pkg MATCHES "(.*[^><])(=|[><]=?)(.*)")
|
||||
set(_pkg_check_modules_pkg_name "${CMAKE_MATCH_1}")
|
||||
set(_pkg_check_modules_pkg_op "${CMAKE_MATCH_2}")
|
||||
set(_pkg_check_modules_pkg_ver "${CMAKE_MATCH_3}")
|
||||
else()
|
||||
if (_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*")
|
||||
string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\1" _pkg_check_modules_pkg_name "${_pkg_check_modules_pkg}")
|
||||
string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\2" _pkg_check_modules_pkg_op "${_pkg_check_modules_pkg}")
|
||||
string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\3" _pkg_check_modules_pkg_ver "${_pkg_check_modules_pkg}")
|
||||
else(_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*")
|
||||
set(_pkg_check_modules_pkg_name "${_pkg_check_modules_pkg}")
|
||||
set(_pkg_check_modules_pkg_op)
|
||||
set(_pkg_check_modules_pkg_ver)
|
||||
endif()
|
||||
endif(_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*")
|
||||
|
||||
# handle the operands
|
||||
if (_pkg_check_modules_pkg_op STREQUAL ">=")
|
||||
list(APPEND _pkg_check_modules_exist_query --atleast-version)
|
||||
endif(_pkg_check_modules_pkg_op STREQUAL ">=")
|
||||
|
||||
if (_pkg_check_modules_pkg_op STREQUAL "=")
|
||||
list(APPEND _pkg_check_modules_exist_query --exact-version)
|
||||
endif(_pkg_check_modules_pkg_op STREQUAL "=")
|
||||
|
||||
if (_pkg_check_modules_pkg_op STREQUAL "<=")
|
||||
list(APPEND _pkg_check_modules_exist_query --max-version)
|
||||
endif(_pkg_check_modules_pkg_op STREQUAL "<=")
|
||||
|
||||
# create the final query which is of the format:
|
||||
# * --atleast-version <version> <pkg-name>
|
||||
# * --exact-version <version> <pkg-name>
|
||||
# * --max-version <version> <pkg-name>
|
||||
# * --exists <pkg-name>
|
||||
if (_pkg_check_modules_pkg_op)
|
||||
list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_ver}")
|
||||
else(_pkg_check_modules_pkg_op)
|
||||
list(APPEND _pkg_check_modules_exist_query --exists)
|
||||
endif(_pkg_check_modules_pkg_op)
|
||||
|
||||
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_VERSION)
|
||||
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_PREFIX)
|
||||
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_INCLUDEDIR)
|
||||
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_LIBDIR)
|
||||
|
||||
list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_name}")
|
||||
list(APPEND _pkg_check_modules_packages "${_pkg_check_modules_pkg_name}")
|
||||
|
||||
# create the final query which is of the format:
|
||||
# * <pkg-name> > <version>
|
||||
# * <pkg-name> >= <version>
|
||||
# * <pkg-name> = <version>
|
||||
# * <pkg-name> <= <version>
|
||||
# * <pkg-name> < <version>
|
||||
# * --exists <pkg-name>
|
||||
list(APPEND _pkg_check_modules_exist_query --print-errors --short-errors)
|
||||
if (_pkg_check_modules_pkg_op)
|
||||
list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_name} ${_pkg_check_modules_pkg_op} ${_pkg_check_modules_pkg_ver}")
|
||||
else()
|
||||
list(APPEND _pkg_check_modules_exist_query --exists)
|
||||
list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_name}")
|
||||
endif()
|
||||
|
||||
# execute the query
|
||||
execute_process(
|
||||
COMMAND ${PKG_CONFIG_EXECUTABLE} ${_pkg_check_modules_exist_query}
|
||||
RESULT_VARIABLE _pkgconfig_retval
|
||||
ERROR_VARIABLE _pkgconfig_error
|
||||
ERROR_STRIP_TRAILING_WHITESPACE)
|
||||
RESULT_VARIABLE _pkgconfig_retval)
|
||||
|
||||
# evaluate result and tell failures
|
||||
if (_pkgconfig_retval)
|
||||
if(NOT ${_is_silent})
|
||||
message(STATUS " ${_pkgconfig_error}")
|
||||
endif()
|
||||
message(STATUS " package '${_pkg_check_modules_pkg}' not found")
|
||||
endif(NOT ${_is_silent})
|
||||
|
||||
set(_pkg_check_modules_failed 1)
|
||||
endif()
|
||||
endforeach()
|
||||
endif(_pkgconfig_retval)
|
||||
endforeach(_pkg_check_modules_pkg)
|
||||
|
||||
if(_pkg_check_modules_failed)
|
||||
# fail when requested
|
||||
if (${_is_required})
|
||||
message(FATAL_ERROR "A required package was not found")
|
||||
endif ()
|
||||
else()
|
||||
message(SEND_ERROR "A required package was not found")
|
||||
endif (${_is_required})
|
||||
else(_pkg_check_modules_failed)
|
||||
# when we are here, we checked whether requested modules
|
||||
# exist. Now, go through them and set variables
|
||||
|
||||
|
||||
_pkgconfig_set(${_prefix}_FOUND 1)
|
||||
list(LENGTH _pkg_check_modules_packages pkg_count)
|
||||
|
||||
@@ -474,23 +281,17 @@ macro(_pkg_check_modules_internal _is_required _is_silent _no_cmake_path _no_cma
|
||||
# handle case when there is only one package required
|
||||
if (pkg_count EQUAL 1)
|
||||
set(_pkg_check_prefix "${_prefix}")
|
||||
else()
|
||||
else(pkg_count EQUAL 1)
|
||||
set(_pkg_check_prefix "${_prefix}_${_pkg_check_modules_pkg}")
|
||||
endif()
|
||||
|
||||
endif(pkg_count EQUAL 1)
|
||||
|
||||
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" VERSION "" --modversion )
|
||||
pkg_get_variable("${_pkg_check_prefix}_PREFIX" ${_pkg_check_modules_pkg} "prefix")
|
||||
pkg_get_variable("${_pkg_check_prefix}_INCLUDEDIR" ${_pkg_check_modules_pkg} "includedir")
|
||||
pkg_get_variable("${_pkg_check_prefix}_LIBDIR" ${_pkg_check_modules_pkg} "libdir")
|
||||
foreach (variable IN ITEMS PREFIX INCLUDEDIR LIBDIR)
|
||||
_pkgconfig_set("${_pkg_check_prefix}_${variable}" "${${_pkg_check_prefix}_${variable}}")
|
||||
endforeach ()
|
||||
_pkgconfig_set("${_pkg_check_prefix}_MODULE_NAME" "${_pkg_check_modules_pkg}")
|
||||
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" PREFIX "" --variable=prefix )
|
||||
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" INCLUDEDIR "" --variable=includedir )
|
||||
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" LIBDIR "" --variable=libdir )
|
||||
|
||||
if (NOT ${_is_silent})
|
||||
message(STATUS " Found ${_pkg_check_modules_pkg}, version ${_pkgconfig_VERSION}")
|
||||
endif ()
|
||||
endforeach()
|
||||
message(STATUS " found ${_pkg_check_modules_pkg}, version ${_pkgconfig_VERSION}")
|
||||
endforeach(_pkg_check_modules_pkg)
|
||||
|
||||
# set variables which are combined for multiple modules
|
||||
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LIBRARIES "(^| )-l" --libs-only-l )
|
||||
@@ -501,271 +302,58 @@ macro(_pkg_check_modules_internal _is_required _is_silent _no_cmake_path _no_cma
|
||||
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" INCLUDE_DIRS "(^| )-I" --cflags-only-I )
|
||||
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS "" --cflags )
|
||||
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS_OTHER "" --cflags-only-other )
|
||||
|
||||
_pkg_recalculate("${_prefix}" ${_no_cmake_path} ${_no_cmake_environment_path} ${_imp_target} ${_imp_target_global})
|
||||
endif()
|
||||
|
||||
_pkg_restore_path_internal()
|
||||
else()
|
||||
endif(_pkg_check_modules_failed)
|
||||
else(PKG_CONFIG_EXECUTABLE)
|
||||
if (${_is_required})
|
||||
message(SEND_ERROR "pkg-config tool not found")
|
||||
endif ()
|
||||
endif()
|
||||
endmacro()
|
||||
endif (${_is_required})
|
||||
endif(PKG_CONFIG_EXECUTABLE)
|
||||
endmacro(_pkg_check_modules_internal)
|
||||
|
||||
###
|
||||
### User visible macros start here
|
||||
###
|
||||
|
||||
#[========================================[.rst:
|
||||
.. command:: pkg_check_modules
|
||||
|
||||
Checks for all the given modules, setting a variety of result variables in
|
||||
the calling scope.
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
pkg_check_modules(<prefix>
|
||||
[REQUIRED] [QUIET]
|
||||
[NO_CMAKE_PATH]
|
||||
[NO_CMAKE_ENVIRONMENT_PATH]
|
||||
[IMPORTED_TARGET [GLOBAL]]
|
||||
<moduleSpec> [<moduleSpec>...])
|
||||
|
||||
When the ``REQUIRED`` argument is given, the command will fail with an error
|
||||
if module(s) could not be found.
|
||||
|
||||
When the ``QUIET`` argument is given, no status messages will be printed.
|
||||
|
||||
By default, if :variable:`CMAKE_MINIMUM_REQUIRED_VERSION` is 3.1 or
|
||||
later, or if :variable:`PKG_CONFIG_USE_CMAKE_PREFIX_PATH` is set to a
|
||||
boolean ``True`` value, then the :variable:`CMAKE_PREFIX_PATH`,
|
||||
:variable:`CMAKE_FRAMEWORK_PATH`, and :variable:`CMAKE_APPBUNDLE_PATH` cache
|
||||
and environment variables will be added to the ``pkg-config`` search path.
|
||||
The ``NO_CMAKE_PATH`` and ``NO_CMAKE_ENVIRONMENT_PATH`` arguments
|
||||
disable this behavior for the cache variables and environment variables
|
||||
respectively.
|
||||
|
||||
The ``IMPORTED_TARGET`` argument will create an imported target named
|
||||
``PkgConfig::<prefix>`` that can be passed directly as an argument to
|
||||
:command:`target_link_libraries`. The ``GLOBAL`` argument will make the
|
||||
imported target available in global scope.
|
||||
|
||||
Each ``<moduleSpec>`` can be either a bare module name or it can be a
|
||||
module name with a version constraint (operators ``=``, ``<``, ``>``,
|
||||
``<=`` and ``>=`` are supported). The following are examples for a module
|
||||
named ``foo`` with various constraints:
|
||||
|
||||
- ``foo`` matches any version.
|
||||
- ``foo<2`` only matches versions before 2.
|
||||
- ``foo>=3.1`` matches any version from 3.1 or later.
|
||||
- ``foo=1.2.3`` requires that foo must be exactly version 1.2.3.
|
||||
|
||||
The following variables may be set upon return. Two sets of values exist:
|
||||
One for the common case (``<XXX> = <prefix>``) and another for the
|
||||
information ``pkg-config`` provides when called with the ``--static``
|
||||
option (``<XXX> = <prefix>_STATIC``).
|
||||
|
||||
``<XXX>_FOUND``
|
||||
set to 1 if module(s) exist
|
||||
``<XXX>_LIBRARIES``
|
||||
only the libraries (without the '-l')
|
||||
``<XXX>_LINK_LIBRARIES``
|
||||
the libraries and their absolute paths
|
||||
``<XXX>_LIBRARY_DIRS``
|
||||
the paths of the libraries (without the '-L')
|
||||
``<XXX>_LDFLAGS``
|
||||
all required linker flags
|
||||
``<XXX>_LDFLAGS_OTHER``
|
||||
all other linker flags
|
||||
``<XXX>_INCLUDE_DIRS``
|
||||
the '-I' preprocessor flags (without the '-I')
|
||||
``<XXX>_CFLAGS``
|
||||
all required cflags
|
||||
``<XXX>_CFLAGS_OTHER``
|
||||
the other compiler flags
|
||||
|
||||
All but ``<XXX>_FOUND`` may be a :ref:`;-list <CMake Language Lists>` if the
|
||||
associated variable returned from ``pkg-config`` has multiple values.
|
||||
|
||||
There are some special variables whose prefix depends on the number of
|
||||
``<moduleSpec>`` given. When there is only one ``<moduleSpec>``,
|
||||
``<YYY>`` will simply be ``<prefix>``, but if two or more ``<moduleSpec>``
|
||||
items are given, ``<YYY>`` will be ``<prefix>_<moduleName>``.
|
||||
|
||||
``<YYY>_VERSION``
|
||||
version of the module
|
||||
``<YYY>_PREFIX``
|
||||
prefix directory of the module
|
||||
``<YYY>_INCLUDEDIR``
|
||||
include directory of the module
|
||||
``<YYY>_LIBDIR``
|
||||
lib directory of the module
|
||||
|
||||
Examples:
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
pkg_check_modules (GLIB2 glib-2.0)
|
||||
|
||||
Looks for any version of glib2. If found, the output variable
|
||||
``GLIB2_VERSION`` will hold the actual version found.
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
pkg_check_modules (GLIB2 glib-2.0>=2.10)
|
||||
|
||||
Looks for at least version 2.10 of glib2. If found, the output variable
|
||||
``GLIB2_VERSION`` will hold the actual version found.
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
pkg_check_modules (FOO glib-2.0>=2.10 gtk+-2.0)
|
||||
|
||||
Looks for both glib2-2.0 (at least version 2.10) and any version of
|
||||
gtk2+-2.0. Only if both are found will ``FOO`` be considered found.
|
||||
The ``FOO_glib-2.0_VERSION`` and ``FOO_gtk+-2.0_VERSION`` variables will be
|
||||
set to their respective found module versions.
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
pkg_check_modules (XRENDER REQUIRED xrender)
|
||||
|
||||
Requires any version of ``xrender``. Example output variables set by a
|
||||
successful call::
|
||||
|
||||
XRENDER_LIBRARIES=Xrender;X11
|
||||
XRENDER_STATIC_LIBRARIES=Xrender;X11;pthread;Xau;Xdmcp
|
||||
#]========================================]
|
||||
###
|
||||
macro(pkg_check_modules _prefix _module0)
|
||||
_pkgconfig_parse_options(_pkg_modules _pkg_is_required _pkg_is_silent _no_cmake_path _no_cmake_environment_path _imp_target _imp_target_global "${_module0}" ${ARGN})
|
||||
# check cached value
|
||||
if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION} OR NOT ${_prefix}_FOUND OR
|
||||
(NOT "${ARGN}" STREQUAL "" AND NOT "${__pkg_config_arguments_${_prefix}}" STREQUAL "${_module0};${ARGN}") OR
|
||||
( "${ARGN}" STREQUAL "" AND NOT "${__pkg_config_arguments_${_prefix}}" STREQUAL "${_module0}"))
|
||||
_pkg_check_modules_internal("${_pkg_is_required}" "${_pkg_is_silent}" ${_no_cmake_path} ${_no_cmake_environment_path} ${_imp_target} ${_imp_target_global} "${_prefix}" ${_pkg_modules})
|
||||
if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION})
|
||||
_pkgconfig_parse_options (_pkg_modules _pkg_is_required "${_module0}" ${ARGN})
|
||||
_pkg_check_modules_internal("${_pkg_is_required}" 0 "${_prefix}" ${_pkg_modules})
|
||||
|
||||
_pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION})
|
||||
if (${_prefix}_FOUND)
|
||||
_pkgconfig_set(__pkg_config_arguments_${_prefix} "${_module0};${ARGN}")
|
||||
endif()
|
||||
else()
|
||||
if (${_prefix}_FOUND)
|
||||
_pkg_recalculate("${_prefix}" ${_no_cmake_path} ${_no_cmake_environment_path} ${_imp_target} ${_imp_target_global})
|
||||
endif()
|
||||
endif()
|
||||
endmacro()
|
||||
endif(NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION})
|
||||
endmacro(pkg_check_modules)
|
||||
|
||||
|
||||
#[========================================[.rst:
|
||||
.. command:: pkg_search_module
|
||||
|
||||
The behavior of this command is the same as :command:`pkg_check_modules`,
|
||||
except that rather than checking for all the specified modules, it searches
|
||||
for just the first successful match.
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
pkg_search_module(<prefix>
|
||||
[REQUIRED] [QUIET]
|
||||
[NO_CMAKE_PATH]
|
||||
[NO_CMAKE_ENVIRONMENT_PATH]
|
||||
[IMPORTED_TARGET [GLOBAL]]
|
||||
<moduleSpec> [<moduleSpec>...])
|
||||
|
||||
If a module is found, the ``<prefix>_MODULE_NAME`` variable will contain the
|
||||
name of the matching module. This variable can be used if you need to run
|
||||
:command:`pkg_get_variable`.
|
||||
|
||||
Example:
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
pkg_search_module (BAR libxml-2.0 libxml2 libxml>=2)
|
||||
#]========================================]
|
||||
###
|
||||
macro(pkg_search_module _prefix _module0)
|
||||
_pkgconfig_parse_options(_pkg_modules_alt _pkg_is_required _pkg_is_silent _no_cmake_path _no_cmake_environment_path _imp_target _imp_target_global "${_module0}" ${ARGN})
|
||||
# check cached value
|
||||
if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION} OR NOT ${_prefix}_FOUND)
|
||||
set(_pkg_modules_found 0)
|
||||
_pkgconfig_parse_options(_pkg_modules_alt _pkg_is_required "${_module0}" ${ARGN})
|
||||
|
||||
if (NOT ${_pkg_is_silent})
|
||||
message(STATUS "Checking for one of the modules '${_pkg_modules_alt}'")
|
||||
endif ()
|
||||
message(STATUS "checking for one of the modules '${_pkg_modules_alt}'")
|
||||
|
||||
# iterate through all modules and stop at the first working one.
|
||||
foreach(_pkg_alt ${_pkg_modules_alt})
|
||||
if(NOT _pkg_modules_found)
|
||||
_pkg_check_modules_internal(0 1 ${_no_cmake_path} ${_no_cmake_environment_path} ${_imp_target} ${_imp_target_global} "${_prefix}" "${_pkg_alt}")
|
||||
endif()
|
||||
_pkg_check_modules_internal(0 1 "${_prefix}" "${_pkg_alt}")
|
||||
endif(NOT _pkg_modules_found)
|
||||
|
||||
if (${_prefix}_FOUND)
|
||||
set(_pkg_modules_found 1)
|
||||
break()
|
||||
endif()
|
||||
endforeach()
|
||||
endif(${_prefix}_FOUND)
|
||||
endforeach(_pkg_alt)
|
||||
|
||||
if (NOT ${_prefix}_FOUND)
|
||||
if(${_pkg_is_required})
|
||||
message(SEND_ERROR "None of the required '${_pkg_modules_alt}' found")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
endif(${_pkg_is_required})
|
||||
endif(NOT ${_prefix}_FOUND)
|
||||
|
||||
_pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION})
|
||||
elseif (${_prefix}_FOUND)
|
||||
_pkg_recalculate("${_prefix}" ${_no_cmake_path} ${_no_cmake_environment_path} ${_imp_target} ${_imp_target_global})
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
#[========================================[.rst:
|
||||
.. command:: pkg_get_variable
|
||||
|
||||
Retrieves the value of a pkg-config variable ``varName`` and stores it in the
|
||||
result variable ``resultVar`` in the calling scope.
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
pkg_get_variable(<resultVar> <moduleName> <varName>)
|
||||
|
||||
If ``pkg-config`` returns multiple values for the specified variable,
|
||||
``resultVar`` will contain a :ref:`;-list <CMake Language Lists>`.
|
||||
|
||||
For example:
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
pkg_get_variable(GI_GIRDIR gobject-introspection-1.0 girdir)
|
||||
#]========================================]
|
||||
function (pkg_get_variable result pkg variable)
|
||||
_pkg_set_path_internal()
|
||||
_pkgconfig_invoke("${pkg}" "prefix" "result" "" "--variable=${variable}")
|
||||
set("${result}"
|
||||
"${prefix_result}"
|
||||
PARENT_SCOPE)
|
||||
_pkg_restore_path_internal()
|
||||
endfunction ()
|
||||
|
||||
|
||||
#[========================================[.rst:
|
||||
Variables Affecting Behavior
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. variable:: PKG_CONFIG_EXECUTABLE
|
||||
|
||||
This can be set to the path of the pkg-config executable. If not provided,
|
||||
it will be set by the module as a result of calling :command:`find_program`
|
||||
internally. The ``PKG_CONFIG`` environment variable can be used as a hint.
|
||||
|
||||
.. variable:: PKG_CONFIG_USE_CMAKE_PREFIX_PATH
|
||||
|
||||
Specifies whether :command:`pkg_check_modules` and
|
||||
:command:`pkg_search_module` should add the paths in the
|
||||
:variable:`CMAKE_PREFIX_PATH`, :variable:`CMAKE_FRAMEWORK_PATH` and
|
||||
:variable:`CMAKE_APPBUNDLE_PATH` cache and environment variables to the
|
||||
``pkg-config`` search path.
|
||||
|
||||
If this variable is not set, this behavior is enabled by default if
|
||||
:variable:`CMAKE_MINIMUM_REQUIRED_VERSION` is 3.1 or later, disabled
|
||||
otherwise.
|
||||
#]========================================]
|
||||
|
||||
endif(NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION} OR NOT ${_prefix}_FOUND)
|
||||
endmacro(pkg_search_module)
|
||||
|
||||
### Local Variables:
|
||||
### mode: cmake
|
||||
|
||||
+60
-15
@@ -1,21 +1,17 @@
|
||||
# Copyright (c) 2003-2010 by FlashCode <flashcode@flashtux.org>
|
||||
#
|
||||
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# Copyright (C) 2009 Julien Louis <ptitlouis@sysif.net>
|
||||
#
|
||||
# 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
|
||||
@@ -24,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.6 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.6 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
-26
@@ -1,20 +1,17 @@
|
||||
# Copyright (c) 2003-2010 by FlashCode <flashcode@flashtux.org>
|
||||
#
|
||||
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# 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 Ruby
|
||||
@@ -22,24 +19,78 @@
|
||||
# and libraries are. It also determines what the name of the library is. This
|
||||
# code sets the following variables:
|
||||
#
|
||||
# RUBY_INCLUDE_DIRS = C flags to compile with ruby
|
||||
# RUBY_LIBRARY_DIRS = linker flags to compile with ruby (found with pkg-config)
|
||||
# RUBY_LIB = ruby library (found without pkg-config)
|
||||
# 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()
|
||||
IF(RUBY_FOUND)
|
||||
# Already in cache, be silent
|
||||
SET(RUBY_FIND_QUIETLY TRUE)
|
||||
ENDIF(RUBY_FOUND)
|
||||
|
||||
find_package(PkgConfig)
|
||||
if(PKG_CONFIG_FOUND)
|
||||
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||
# set specific search path for macOS
|
||||
set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:/usr/local/opt/ruby/lib/pkgconfig")
|
||||
endif()
|
||||
pkg_search_module(RUBY ruby-3.2 ruby-3.1 ruby-3.0 ruby-2.7 ruby-2.6 ruby-2.5 ruby-2.4 ruby-2.3 ruby-2.2 ruby-2.1 ruby-2.0 ruby-1.9 ruby)
|
||||
if(RUBY_FOUND AND ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||
# FIXME: weird hack: hardcoding the Ruby lib location on macOS
|
||||
set(RUBY_LDFLAGS "${RUBY_LDFLAGS} -L/usr/local/opt/ruby/lib")
|
||||
endif()
|
||||
endif()
|
||||
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['rubyhdrdir'] || Config::CONFIG['archdir']"
|
||||
OUTPUT_VARIABLE RUBY_ARCH_DIR
|
||||
)
|
||||
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts Config::CONFIG['arch']"
|
||||
OUTPUT_VARIABLE RUBY_ARCH
|
||||
)
|
||||
|
||||
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
|
||||
)
|
||||
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts Config::CONFIG['ruby_version']"
|
||||
OUTPUT_VARIABLE RUBY_VERSION
|
||||
)
|
||||
|
||||
# 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}")
|
||||
STRING(REPLACE "\n" "" RUBY_ARCH "${RUBY_ARCH}")
|
||||
STRING(REPLACE "\n" "" RUBY_VERSION "${RUBY_VERSION}")
|
||||
|
||||
FIND_PATH(RUBY_INCLUDE_PATH
|
||||
NAMES ruby.h
|
||||
PATHS ${RUBY_ARCH_DIR}
|
||||
)
|
||||
|
||||
SET(RUBY_ARCH
|
||||
"${RUBY_INCLUDE_PATH}/${RUBY_ARCH}")
|
||||
|
||||
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)
|
||||
|
||||
IF(${RUBY_VERSION} STREQUAL "1.9.0")
|
||||
SET(RUBY_FOUND FALSE)
|
||||
ENDIF(${RUBY_VERSION} STREQUAL "1.9.0")
|
||||
|
||||
MARK_AS_ADVANCED(
|
||||
RUBY_EXECUTABLE
|
||||
RUBY_LIBRARY
|
||||
RUBY_ARCH
|
||||
RUBY_INCLUDE_PATH
|
||||
)
|
||||
ENDIF(RUBY_EXECUTABLE)
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
# Copyright (c) 2003-2010 by 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 Source-Highlight
|
||||
# This module finds if source-highlight is installed.
|
||||
|
||||
IF (SOURCEHIGHLIGHT_FOUND)
|
||||
# Already in cache, be silent
|
||||
SET(SOURCEHIGHLIGHT_FIND_QUIETLY TRUE)
|
||||
ENDIF (SOURCEHIGHLIGHT_FOUND)
|
||||
|
||||
FIND_PROGRAM(
|
||||
SOURCEHIGHLIGHT_EXECUTABLE source-highlight
|
||||
PATHS /bin /usr/bin /usr/local/bin /usr/pkg/bin
|
||||
)
|
||||
|
||||
IF(SOURCEHIGHLIGHT_EXECUTABLE)
|
||||
SET(SOURCEHIGHLIGHT_FOUND TRUE)
|
||||
MARK_AS_ADVANCED(
|
||||
SOURCEHIGHLIGHT_EXECUTABLE
|
||||
)
|
||||
ENDIF(SOURCEHIGHLIGHT_EXECUTABLE)
|
||||
@@ -0,0 +1,159 @@
|
||||
# - Find Tcl includes and libraries.
|
||||
# This module finds if Tcl 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:
|
||||
# TCL_FOUND = Tcl was found
|
||||
# TK_FOUND = Tk was found
|
||||
# TCLTK_FOUND = Tcl and Tk were found
|
||||
# TCL_LIBRARY = path to Tcl library (tcl tcl80)
|
||||
# TCL_INCLUDE_PATH = path to where tcl.h can be found
|
||||
# TCL_TCLSH = path to tclsh binary (tcl tcl80)
|
||||
# TK_LIBRARY = path to Tk library (tk tk80 etc)
|
||||
# TK_INCLUDE_PATH = path to where tk.h can be found
|
||||
# TK_WISH = full path to the wish executable
|
||||
#
|
||||
# In an effort to remove some clutter and clear up some issues for people
|
||||
# who are not necessarily Tcl/Tk gurus/developpers, some variables were
|
||||
# moved or removed. Changes compared to CMake 2.4 are:
|
||||
# - The stub libraries are now found in FindTclStub.cmake
|
||||
# => they were only useful for people writing Tcl/Tk extensions.
|
||||
# - TCL_LIBRARY_DEBUG and TK_LIBRARY_DEBUG were removed.
|
||||
# => these libs are not packaged by default with Tcl/Tk distributions.
|
||||
# Even when Tcl/Tk is built from source, several flavors of debug libs
|
||||
# are created and there is no real reason to pick a single one
|
||||
# specifically (say, amongst tcl84g, tcl84gs, or tcl84sgx).
|
||||
# Let's leave that choice to the user by allowing him to assign
|
||||
# TCL_LIBRARY to any Tcl library, debug or not.
|
||||
# - TK_INTERNAL_PATH was removed.
|
||||
# => this ended up being only a Win32 variable, and there is a lot of
|
||||
# confusion regarding the location of this file in an installed Tcl/Tk
|
||||
# tree anyway (see 8.5 for example). If you need the internal path at
|
||||
# this point it is safer you ask directly where the *source* tree is
|
||||
# and dig from there.
|
||||
|
||||
IF(TCL_FOUND)
|
||||
SET(TCL_FIND_QUIETLY TRUE)
|
||||
ENDIF(TCL_FOUND)
|
||||
|
||||
INCLUDE(CMakeFindFrameworks)
|
||||
INCLUDE(FindTclsh)
|
||||
|
||||
GET_FILENAME_COMPONENT(TCL_TCLSH_PATH "${TCL_TCLSH}" PATH)
|
||||
GET_FILENAME_COMPONENT(TCL_TCLSH_PATH_PARENT "${TCL_TCLSH_PATH}" PATH)
|
||||
STRING(REGEX REPLACE
|
||||
"^.*tclsh([0-9]\\.*[0-9]).*$" "\\1" TCL_TCLSH_VERSION "${TCL_TCLSH}")
|
||||
|
||||
GET_FILENAME_COMPONENT(TCL_INCLUDE_PATH_PARENT "${TCL_INCLUDE_PATH}" PATH)
|
||||
|
||||
GET_FILENAME_COMPONENT(TCL_LIBRARY_PATH "${TCL_LIBRARY}" PATH)
|
||||
GET_FILENAME_COMPONENT(TCL_LIBRARY_PATH_PARENT "${TCL_LIBRARY_PATH}" PATH)
|
||||
STRING(REGEX REPLACE
|
||||
"^.*tcl([0-9]\\.*[0-9]).*$" "\\1" TCL_VERSION "${TCL_LIBRARY}")
|
||||
|
||||
SET(TCL_POSSIBLE_LIB_PATHS
|
||||
"${TCL_INCLUDE_PATH_PARENT}/lib"
|
||||
"${TCL_LIBRARY_PATH}"
|
||||
"${TCL_TCLSH_PATH_PARENT}/lib"
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
)
|
||||
|
||||
IF(WIN32)
|
||||
GET_FILENAME_COMPONENT(
|
||||
ActiveTcl_CurrentVersion
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl;CurrentVersion]"
|
||||
NAME)
|
||||
SET(TCLTK_POSSIBLE_LIB_PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/lib"
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/lib"
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/lib"
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/lib"
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/lib"
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/lib"
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/lib"
|
||||
"$ENV{ProgramFiles}/Tcl/Lib"
|
||||
"C:/Program Files/Tcl/lib"
|
||||
"C:/Tcl/lib"
|
||||
)
|
||||
ENDIF(WIN32)
|
||||
|
||||
FIND_LIBRARY(TCL_LIBRARY
|
||||
NAMES
|
||||
tcl
|
||||
tcl${TCL_VERSION} tcl${TCL_TCLSH_VERSION}
|
||||
tcl86 tcl8.6
|
||||
tcl85 tcl8.5
|
||||
tcl84 tcl8.4
|
||||
tcl83 tcl8.3
|
||||
tcl82 tcl8.2
|
||||
tcl80 tcl8.0
|
||||
PATHS ${TCL_POSSIBLE_LIB_PATHS}
|
||||
)
|
||||
|
||||
CMAKE_FIND_FRAMEWORKS(Tcl)
|
||||
|
||||
SET(TCL_FRAMEWORK_INCLUDES)
|
||||
IF(Tcl_FRAMEWORKS)
|
||||
IF(NOT TCL_INCLUDE_PATH)
|
||||
FOREACH(dir ${Tcl_FRAMEWORKS})
|
||||
SET(TCL_FRAMEWORK_INCLUDES ${TCL_FRAMEWORK_INCLUDES} ${dir}/Headers)
|
||||
ENDFOREACH(dir)
|
||||
ENDIF(NOT TCL_INCLUDE_PATH)
|
||||
ENDIF(Tcl_FRAMEWORKS)
|
||||
|
||||
SET(TCL_POSSIBLE_INCLUDE_PATHS
|
||||
"${TCL_LIBRARY_PATH_PARENT}/include"
|
||||
"${TCL_INCLUDE_PATH}"
|
||||
${TCL_FRAMEWORK_INCLUDES}
|
||||
"${TCL_TCLSH_PATH_PARENT}/include"
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/usr/include/tcl${TCL_VERSION}
|
||||
/usr/include/tcl8.6
|
||||
/usr/include/tcl8.5
|
||||
/usr/include/tcl8.4
|
||||
/usr/include/tcl8.3
|
||||
/usr/include/tcl8.2
|
||||
/usr/include/tcl8.0
|
||||
/usr/local/include/tcl${TCL_VERSION}
|
||||
/usr/local/include/tcl8.6
|
||||
/usr/local/include/tcl8.5
|
||||
/usr/local/include/tcl8.4
|
||||
/usr/local/include/tcl8.3
|
||||
/usr/local/include/tcl8.2
|
||||
/usr/local/include/tcl8.0
|
||||
)
|
||||
|
||||
|
||||
IF(WIN32)
|
||||
SET(TCLTK_POSSIBLE_INCLUDE_PATHS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/include"
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/include"
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/include"
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/include"
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/include"
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/include"
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/include"
|
||||
"$ENV{ProgramFiles}/Tcl/include"
|
||||
"C:/Program Files/Tcl/include"
|
||||
"C:/Tcl/include"
|
||||
)
|
||||
ENDIF(WIN32)
|
||||
|
||||
FIND_PATH(TCL_INCLUDE_PATH
|
||||
NAMES tcl.h
|
||||
PATHS ${TCL_POSSIBLE_INCLUDE_PATHS}
|
||||
)
|
||||
|
||||
IF(TCL_LIBRARY AND TCL_INCLUDE_PATH)
|
||||
SET(TCL_VERSION ${TCL_VERSION})
|
||||
SET(TCL_LIBARY ${TCL_LIBRARY})
|
||||
SET(TCL_INCLUDE_PATH ${TCL_INCLUDE_PATH})
|
||||
SET(TCL_FOUND TRUE)
|
||||
ENDIF(TCL_LIBRARY AND TCL_INCLUDE_PATH)
|
||||
|
||||
MARK_AS_ADVANCED(
|
||||
TCL_INCLUDE_PATH
|
||||
TCL_LIBRARY
|
||||
TCL_VERSION
|
||||
)
|
||||
@@ -1,49 +0,0 @@
|
||||
#
|
||||
# Copyright (C) 2015-2023 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# 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
|
||||
)
|
||||
@@ -1,76 +0,0 @@
|
||||
# - Find zlib
|
||||
# Find the native ZLIB includes and library.
|
||||
# Once done this will define
|
||||
#
|
||||
# ZLIB_INCLUDE_DIRS - where to find zlib.h, etc.
|
||||
# ZLIB_LIBRARIES - List of libraries when using zlib.
|
||||
# ZLIB_FOUND - True if zlib found.
|
||||
#
|
||||
# ZLIB_VERSION_STRING - The version of zlib found (x.y.z)
|
||||
# ZLIB_VERSION_MAJOR - The major version of zlib
|
||||
# ZLIB_VERSION_MINOR - The minor version of zlib
|
||||
# ZLIB_VERSION_PATCH - The patch version of zlib
|
||||
# ZLIB_VERSION_TWEAK - The tweak version of zlib
|
||||
#
|
||||
# The following variable are provided for backward compatibility
|
||||
#
|
||||
# ZLIB_MAJOR_VERSION - The major version of zlib
|
||||
# ZLIB_MINOR_VERSION - The minor version of zlib
|
||||
# ZLIB_PATCH_VERSION - The patch version of zlib
|
||||
|
||||
#=============================================================================
|
||||
# Copyright 2001-2009 Kitware, Inc.
|
||||
#
|
||||
# Distributed under the OSI-approved BSD License (the "License");
|
||||
# see accompanying file Copyright.txt for details.
|
||||
#
|
||||
# This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
# See the License for more information.
|
||||
#=============================================================================
|
||||
# (To distribute this file outside of CMake, substitute the full
|
||||
# License text for the above reference.)
|
||||
|
||||
find_path(ZLIB_INCLUDE_DIR zlib.h
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\Zlib;InstallPath]/include"
|
||||
)
|
||||
|
||||
set(ZLIB_NAMES z zlib zdll zlib1 zlibd zlibd1)
|
||||
find_library(ZLIB_LIBRARY
|
||||
NAMES
|
||||
${ZLIB_NAMES}
|
||||
PATHS
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\Zlib;InstallPath]/lib"
|
||||
)
|
||||
mark_as_advanced(ZLIB_LIBRARY ZLIB_INCLUDE_DIR)
|
||||
|
||||
if(ZLIB_INCLUDE_DIR AND EXISTS "${ZLIB_INCLUDE_DIR}/zlib.h")
|
||||
file(STRINGS "${ZLIB_INCLUDE_DIR}/zlib.h" ZLIB_H REGEX "^#define ZLIB_VERSION \"[^\"]*\"$")
|
||||
|
||||
string(REGEX REPLACE "^.*ZLIB_VERSION \"([0-9]+).*$" "\\1" ZLIB_VERSION_MAJOR "${ZLIB_H}")
|
||||
string(REGEX REPLACE "^.*ZLIB_VERSION \"[0-9]+\\.([0-9]+).*$" "\\1" ZLIB_VERSION_MINOR "${ZLIB_H}")
|
||||
string(REGEX REPLACE "^.*ZLIB_VERSION \"[0-9]+\\.[0-9]+\\.([0-9]+).*$" "\\1" ZLIB_VERSION_PATCH "${ZLIB_H}")
|
||||
set(ZLIB_VERSION_STRING "${ZLIB_VERSION_MAJOR}.${ZLIB_VERSION_MINOR}.${ZLIB_VERSION_PATCH}")
|
||||
|
||||
# only append a TWEAK version if it exists:
|
||||
set(ZLIB_VERSION_TWEAK "")
|
||||
if("${ZLIB_H}" MATCHES "^.*ZLIB_VERSION \"[0-9]+\\.[0-9]+\\.[0-9]+\\.([0-9]+).*$")
|
||||
set(ZLIB_VERSION_TWEAK "${CMAKE_MATCH_1}")
|
||||
set(ZLIB_VERSION_STRING "${ZLIB_VERSION_STRING}.${ZLIB_VERSION_TWEAK}")
|
||||
endif()
|
||||
|
||||
set(ZLIB_MAJOR_VERSION "${ZLIB_VERSION_MAJOR}")
|
||||
set(ZLIB_MINOR_VERSION "${ZLIB_VERSION_MINOR}")
|
||||
set(ZLIB_PATCH_VERSION "${ZLIB_VERSION_PATCH}")
|
||||
endif()
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set ZLIB_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(ZLIB REQUIRED_VARS ZLIB_LIBRARY ZLIB_INCLUDE_DIR
|
||||
VERSION_VAR ZLIB_VERSION_STRING)
|
||||
|
||||
if(ZLIB_FOUND)
|
||||
set(ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIR})
|
||||
set(ZLIB_LIBRARIES ${ZLIB_LIBRARY})
|
||||
endif()
|
||||
@@ -1,38 +1,37 @@
|
||||
# Copyright (c) 2003-2010 by FlashCode <flashcode@flashtux.org>
|
||||
#
|
||||
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# 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(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
||||
message(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
|
||||
endif()
|
||||
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)
|
||||
|
||||
|
||||
|
||||
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()
|
||||
|
||||
Executable
+50
@@ -0,0 +1,50 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (c) 2003-2010 by 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/>.
|
||||
#
|
||||
|
||||
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
-10
@@ -1,21 +1,31 @@
|
||||
#cmakedefine HAVE_ARPA_INET_H
|
||||
#cmakedefine HAVE_LIBINTL_H
|
||||
#cmakedefine HAVE_SYS_RESOURCE_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_STRNDUP
|
||||
#cmakedefine HAVE_BACKTRACE
|
||||
#cmakedefine ICONV_2ARG_IS_CONST 1
|
||||
#cmakedefine HAVE_MALLINFO
|
||||
#cmakedefine HAVE_MALLINFO2
|
||||
#cmakedefine HAVE_EAT_NEWLINE_GLITCH
|
||||
#cmakedefine HAVE_ASPELL_VERSION_STRING
|
||||
#cmakedefine HAVE_ENCHANT_GET_VERSION
|
||||
#cmakedefine HAVE_GUILE_GMP_MEMORY_FUNCTIONS
|
||||
#cmakedefine HAVE_TCL_CREATE_NS
|
||||
#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
|
||||
|
||||
-1601
File diff suppressed because it is too large
Load Diff
+1108
File diff suppressed because it is too large
Load Diff
@@ -1 +0,0 @@
|
||||
12
|
||||
@@ -1,272 +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, pkg-config,
|
||||
libncursesw5-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
|
||||
Standards-Version: 4.6.0.1
|
||||
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 +0,0 @@
|
||||
../debian-stable/copyright
|
||||
@@ -1 +0,0 @@
|
||||
../debian-stable/gbp.conf
|
||||
@@ -1,33 +0,0 @@
|
||||
#!/usr/bin/make -f
|
||||
|
||||
export DEB_BUILD_MAINT_OPTIONS=hardening=+all
|
||||
|
||||
BUILDDIR = builddir
|
||||
|
||||
$(BUILDDIR)/Makefile:
|
||||
mkdir -p $(BUILDDIR)
|
||||
cd $(BUILDDIR) && \
|
||||
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
|
||||
|
||||
override_dh_auto_configure:
|
||||
# the package also has autotools buildsys and
|
||||
# debhelper try to use it but that's not needed
|
||||
echo
|
||||
|
||||
override_dh_auto_build: $(BUILDDIR)/Makefile
|
||||
dh_auto_build
|
||||
|
||||
override_dh_installchangelogs:
|
||||
dh_installchangelogs ChangeLog.adoc
|
||||
|
||||
%:
|
||||
dh $@ --builddirectory=$(BUILDDIR) --without autoreconf
|
||||
@@ -1 +0,0 @@
|
||||
../debian-stable/watch
|
||||
@@ -1 +0,0 @@
|
||||
../debian-stable/weechat-core.docs
|
||||
@@ -1 +0,0 @@
|
||||
../debian-stable/weechat-core.install
|
||||
@@ -1 +0,0 @@
|
||||
../debian-stable/weechat-curses.dirs
|
||||
@@ -1 +0,0 @@
|
||||
../debian-stable/weechat-curses.install
|
||||
@@ -1 +0,0 @@
|
||||
../debian-stable/weechat-curses.links
|
||||
@@ -1 +0,0 @@
|
||||
../debian-stable/weechat-curses.menu
|
||||
@@ -1 +0,0 @@
|
||||
../debian-stable/weechat-dev.dirs
|
||||
@@ -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-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-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-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-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,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,10 +0,0 @@
|
||||
Document: weechat-relay-protocol-en
|
||||
Title: WeeChat Relay protocol (English)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This manual describes WeeChat Relay 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_protocol.en.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_relay_protocol.en.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-relay-protocol-fr
|
||||
Title: WeeChat Relay protocol (French)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This manual describes WeeChat Relay 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_protocol.fr.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_relay_protocol.fr.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-relay-protocol-ja
|
||||
Title: WeeChat Relay protocol (Japanese)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This manual describes WeeChat Relay 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_protocol.ja.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_relay_protocol.ja.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-scripting-de
|
||||
Title: WeeChat scripting guide (German)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes the API to create scripts
|
||||
for WeeChat (German version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.de.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.de.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-scripting-en
|
||||
Title: WeeChat scripting guide (English)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes the API to create scripts
|
||||
for WeeChat (English version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.en.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.en.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-scripting-fr
|
||||
Title: WeeChat scripting guide (French)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes the API to create scripts
|
||||
for WeeChat (French version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.fr.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.fr.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-scripting-it
|
||||
Title: WeeChat scripting guide (Italian)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes the API to create scripts
|
||||
for WeeChat (Italian version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.it.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.it.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-scripting-ja
|
||||
Title: WeeChat scripting guide (Japanese)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes the API to create scripts
|
||||
for WeeChat (Japanese version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.ja.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.ja.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-scripting-pl
|
||||
Title: WeeChat scripting guide (Polish)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes the API to create scripts
|
||||
for WeeChat (Polish version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.pl.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.pl.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-user-de
|
||||
Title: WeeChat user's guide (German)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This manual describes how to use the WeeChat
|
||||
IRC client (German version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_user.de.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_user.de.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-user-en
|
||||
Title: WeeChat user's guide (English)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This manual describes how to use the WeeChat
|
||||
IRC client (English version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_user.en.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_user.en.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-user-fr
|
||||
Title: WeeChat user's guide (French)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This manual describes how to use the WeeChat
|
||||
IRC client (French version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_user.fr.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_user.fr.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-user-it
|
||||
Title: WeeChat user's guide (Italian)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This manual describes how to use the WeeChat
|
||||
IRC client (Italian version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_user.it.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_user.it.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-user-ja
|
||||
Title: WeeChat user's guide (Japanese)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This manual describes how to use the WeeChat
|
||||
IRC client (Japanese version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_user.ja.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_user.ja.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-user-pl
|
||||
Title: WeeChat user's guide (Polish)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This manual describes how to use the WeeChat
|
||||
IRC client (Polish version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_user.pl.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_user.pl.html
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user