changeset 43:82badbee34d1

update for 4.0.0
author David Demelier <markand@malikania.fr>
date Thu, 03 Feb 2022 13:56:47 +0100
parents 44218de860fe
children 8f48ae63bb40
files Makefile documentation.md downloads.md faq.md index.md versioning.md
diffstat 6 files changed, 160 insertions(+), 59 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile	Wed Nov 10 15:45:58 2021 +0100
+++ b/Makefile	Thu Feb 03 13:56:47 2022 +0100
@@ -21,16 +21,37 @@
 MANDOC=         mandoc
 MANDOC_PDF=     -T pdf
 MANDOC_MD=      -T markdown
-VERSION=        3.1.1
+VERSION=        4.0.0
 SOURCE=         irccd-${VERSION}.tar.xz
 WRKDIR=         irccd-${VERSION}
 
 MAN1=           irccd-${VERSION}/man/irccd.1 \
-                irccd-${VERSION}/man/irccdctl.1 \
-                irccd-${VERSION}/man/irccd-test.1
-MAN5=           irccd-${VERSION}/man/irccd.conf.5 \
-                irccd-${VERSION}/man/irccdctl.conf.5
-MAN7=           irccd-${VERSION}/man/irccd-api.7 \
+                irccd-${VERSION}/man/irccdctl.1
+MAN3=           irccd-${VERSION}/man/irccd-api-chrono.3 \
+                irccd-${VERSION}/man/irccd-api-directory.3 \
+                irccd-${VERSION}/man/irccd-api-file.3 \
+                irccd-${VERSION}/man/irccd-api-hook.3 \
+                irccd-${VERSION}/man/irccd-api-logger.3 \
+                irccd-${VERSION}/man/irccd-api-plugin.3 \
+                irccd-${VERSION}/man/irccd-api-rule.3 \
+                irccd-${VERSION}/man/irccd-api-server.3 \
+                irccd-${VERSION}/man/irccd-api-system.3 \
+                irccd-${VERSION}/man/irccd-api-timer.3 \
+                irccd-${VERSION}/man/irccd-api-unicode.3 \
+                irccd-${VERSION}/man/irccd-api-util.3 \
+                irccd-${VERSION}/man/irccd-api.3 \
+                irccd-${VERSION}/man/libirccd-channel.3 \
+                irccd-${VERSION}/man/libirccd-event.3 \
+                irccd-${VERSION}/man/libirccd-hook.3 \
+                irccd-${VERSION}/man/libirccd-irccd.3 \
+                irccd-${VERSION}/man/libirccd-log.3 \
+                irccd-${VERSION}/man/libirccd-rule.3 \
+                irccd-${VERSION}/man/libirccd-server.3 \
+                irccd-${VERSION}/man/libirccd-subst.3 \
+                irccd-${VERSION}/man/libirccd-util.3 \
+                irccd-${VERSION}/man/libirccd.3
+MAN5=           irccd-${VERSION}/man/irccd.conf.5
+MAN7=           irccd-${VERSION}/man/irccd-cmake.7 \
                 irccd-${VERSION}/man/irccd-ipc.7 \
                 irccd-${VERSION}/man/irccd-templates.7 \
                 irccd-${VERSION}/plugins/ask/ask.7 \
@@ -46,6 +67,8 @@
 
 MAN1HTML=       ${MAN1:.1=.html}
 MAN1PDF=        ${MAN1:.1=.pdf}
+MAN3HTML=       ${MAN3:.3=.html}
+MAN3PDF=        ${MAN3:.3=.pdf}
 MAN5HTML=       ${MAN5:.5=.html}
 MAN5PDF=        ${MAN5:.5=.pdf}
 MAN7HTML=       ${MAN7:.7=.html}
@@ -61,9 +84,9 @@
 SITE_HTML=      ${SITE_SRCS:.md=.html}
 
 .SUFFIXES:
-.SUFFIXES: .html .pdf .md .1 .5 .7
+.SUFFIXES: .html .pdf .md .1 .3 .5 .7
 
-all: www man doxygen
+all: www man
 
 ${SITE_HTML}: templates/template.html
 
@@ -71,40 +94,36 @@
 	wget -q http://releases.malikania.fr/irccd/${VERSION}/$@ -O $@
 
 ${WRKDIR}: ${SOURCE}
-	tar xJf ${SOURCE}
+	bsdtar -xf ${SOURCE}
+
+SED_CMD=        sed -e "s|@IRCCD_MAN_DATE@|February 3, 2022|g" \
+                    -e "s|@CMAKE_INSTALL_FULL_DOCDIR@|/usr/share/doc/irccd|g" \
+                    -e "s|@CMAKE_INSTALL_FULL_SYSCONFDIR@|/etc|g"
 
 .md.html:
 	${PANDOC} ${PANDOC_FLAGS} -o $@ $<
 
-.1.html .5.html .7.html:
-	sed "s/@IRCCD_MAN_DATE@/January 04, 2021/" $< | ${MANDOC} ${MANDOC_MD} < $< | ${PANDOC} ${PANDOC_FLAGS} -M title=${<F} -o $@
-
-.1.pdf .5.pdf .7.pdf:
-	sed "s/@IRCCD_MAN_DATE@/January 04, 2021/" $< | ${MANDOC} ${MANDOC_PDF} > $@
-
-man: ${WRKDIR} ${MAN1HTML} ${MAN5HTML} ${MAN7HTML} ${MAN1PDF} ${MAN5PDF} ${MAN7PDF}
+.1.html .3.html .5.html .7.html:
+	${SED_CMD} < $< | ${MANDOC} ${MANDOC_MD} | ${PANDOC} ${PANDOC_FLAGS} -M title=${<F} -o $@
 
-doxygen: ${WKRDIR}
-	mkdir -p irccd-${VERSION}/build
-	cmake -S irccd-${VERSION} -B irccd-${VERSION}/build
-	cmake --build irccd-${VERSION}/build --target doxygen
-	rsync -a --delete irccd-${VERSION}/build/doc/doxygen/html/ doxygen
+.1.pdf .3.pdf .5.pdf .7.pdf:
+	${SED_CMD} < $< | ${MANDOC} ${MANDOC_PDF} > $@
 
-www: ${SITE_HTML} man doxygen
+man: ${WRKDIR} ${MAN1HTML} ${MAN3HTML} ${MAN5HTML} ${MAN7HTML} ${MAN1PDF} ${MAN3PDF} ${MAN5PDF} ${MAN7PDF}
+
+www: ${SITE_HTML} man
 	rm -rf $@
 	mkdir -p $@
 	cp -R css $@
-	cp -R doxygen $@/api
-	cp ${MAN1HTML} ${MAN5HTML} ${MAN7HTML} $@
-	cp ${MAN1PDF} ${MAN5PDF} ${MAN7PDF} $@
+	cp ${MAN1HTML} ${MAN3HTML} ${MAN5HTML} ${MAN7HTML} $@
+	cp ${MAN1PDF} ${MAN3PDF} ${MAN5PDF} ${MAN7PDF} $@
 	cp ${SITE_HTML} $@
 
 clean:
-	rm -f ${MAN1HTML} ${MAN5HTML} ${MAN7HTML}
-	rm -f ${MAN1PDF} ${MAN5PDF} ${MAN7PDF}
+	rm -f ${MAN1HTML} ${MAN3HTML} ${MAN5HTML} ${MAN7HTML}
+	rm -f ${MAN1PDF} ${MAN3PDF} ${MAN5PDF} ${MAN7PDF}
 	rm -f ${SITE_HTML}
 	rm -f ${SOURCE}
-	rm -rf doxygen
 	rm -rf ${WRKDIR}
 
 .PHONY: all clean man
--- a/documentation.md	Wed Nov 10 15:45:58 2021 +0100
+++ b/documentation.md	Thu Feb 03 13:56:47 2022 +0100
@@ -1,6 +1,6 @@
 % irccd - documentation
 % David Demelier <markand@malikania.fr>
-% 2019-10-06
+% 2022-02-03
 
 Documentation
 =============
@@ -8,12 +8,48 @@
 Documentation is available as manual pages once installed but you can read the
 last version on this website.
 
+Daemon and utility:
+
 - [irccd.1][] ([pdf][irccd.1.pdf])
 - [irccd.conf.5][] ([pdf][irccd.conf.5.pdf])
 - [irccdctl.1][] ([pdf][irccdctl.1.pdf])
-- [irccdctl.conf.5][] ([pdf][irccdctl.conf.5.pdf])
-- [irccd-test.1][] ([pdf][irccd-test.1.pdf])
-- [irccd-api.7][] ([pdf][irccd-api.7.pdf])
+
+C API:
+
+The C API lets you creating native plugins but they are discouraged unless the
+Javascript API does not provide features you need.
+
+- [libirccd-channel.3][] ([pdf][libirccd-channel.3.pdf])
+- [libirccd-event.3][] ([pdf][libirccd-event.3.pdf])
+- [libirccd-hook.3][] ([pdf][libirccd-hook.3.pdf])
+- [libirccd-irccd.3][] ([pdf][libirccd-irccd.3.pdf])
+- [libirccd-log.3][] ([pdf][libirccd-log.3.pdf])
+- [libirccd-rule.3][] ([pdf][libirccd-rule.3.pdf])
+- [libirccd-server.3][] ([pdf][libirccd-server.3.pdf])
+- [libirccd-subst.3][] ([pdf][libirccd-subst.3.pdf])
+- [libirccd-util.3][] ([pdf][libirccd-util.3.pdf])
+- [libirccd.3][] ([pdf][libirccd.3.pdf])
+
+Javascript API:
+
+- [irccd-api-chrono.3][] ([pdf][irccd-api-chrono.3.pdf])
+- [irccd-api-directory.3][] ([pdf][irccd-api-directory.3.pdf])
+- [irccd-api-file.3][] ([pdf][irccd-api-file.3.pdf])
+- [irccd-api-hook.3][] ([pdf][irccd-api-hook.3.pdf])
+- [irccd-api-logger.3][] ([pdf][irccd-api-logger.3.pdf])
+- [irccd-api-plugin.3][] ([pdf][irccd-api-plugin.3.pdf])
+- [irccd-api-rule.3][] ([pdf][irccd-api-rule.3.pdf])
+- [irccd-api-server.3][] ([pdf][irccd-api-server.3.pdf])
+- [irccd-api-system.3][] ([pdf][irccd-api-system.3.pdf])
+- [irccd-api-timer.3][] ([pdf][irccd-api-timer.3.pdf])
+- [irccd-api-unicode.3][] ([pdf][irccd-api-unicode.3.pdf])
+- [irccd-api-util.3][] ([pdf][irccd-api-util.3.pdf])
+- [irccd-api.3][] ([pdf][irccd-api.3.pdf])
+
+Other resources:
+
+- [irccd-cmake.7][] ([pdf][irccd-cmake.7.pdf])
+- [irccd-ipc.7][] ([pdf][irccd-ipc.7.pdf])
 - [irccd-templates.7][] ([pdf][irccd-templates.7.pdf])
 
 Plugins:
@@ -33,11 +69,37 @@
 
 - [versioning](versioning.html): an information page about semantic versioning
   rules applied in irccd.
-- [C++ API](api/index.html): the C++ API for native plugins and hacking on irccd
-  itself.
 
-[irccd-api.7.pdf]: irccd-api.pdf
-[irccd-api.7]: irccd-api.html
+[irccd-api-chrono.3.pdf]: irccd-api-chrono.pdf
+[irccd-api-chrono.3]: irccd-api-chrono.html
+[irccd-api-directory.3.pdf]: irccd-api-directory.pdf
+[irccd-api-directory.3]: irccd-api-directory.html
+[irccd-api-file.3.pdf]: irccd-api-file.pdf
+[irccd-api-file.3]: irccd-api-file.html
+[irccd-api-hook.3.pdf]: irccd-api-hook.pdf
+[irccd-api-hook.3]: irccd-api-hook.html
+[irccd-api-logger.3.pdf]: irccd-api-logger.pdf
+[irccd-api-logger.3]: irccd-api-logger.html
+[irccd-api-plugin.3.pdf]: irccd-api-plugin.pdf
+[irccd-api-plugin.3]: irccd-api-plugin.html
+[irccd-api-rule.3.pdf]: irccd-api-rule.pdf
+[irccd-api-rule.3]: irccd-api-rule.html
+[irccd-api-server.3.pdf]: irccd-api-server.pdf
+[irccd-api-server.3]: irccd-api-server.html
+[irccd-api-system.3.pdf]: irccd-api-system.pdf
+[irccd-api-system.3]: irccd-api-system.html
+[irccd-api-timer.3.pdf]: irccd-api-timer.pdf
+[irccd-api-timer.3]: irccd-api-timer.html
+[irccd-api-unicode.3.pdf]: irccd-api-unicode.pdf
+[irccd-api-unicode.3]: irccd-api-unicode.html
+[irccd-api-util.3.pdf]: irccd-api-util.pdf
+[irccd-api-util.3]: irccd-api-util.html
+[irccd-api.3.pdf]: irccd-api.pdf
+[irccd-api.3]: irccd-api.html
+[irccd-cmake.7.pdf]: irccd-cmake.pdf
+[irccd-cmake.7]: irccd-cmake.html
+[irccd-ipc.7.pdf]: irccd-ipc.pdf
+[irccd-ipc.7]: irccd-ipc.html
 [irccd-plugin-ask.7.pdf]: ask.pdf
 [irccd-plugin-ask.7]: ask.html
 [irccd-plugin-auth.7.pdf]: auth.pdf
@@ -60,13 +122,33 @@
 [irccd-plugin-tictactoe.7]: tictactoe.html
 [irccd-templates.7.pdf]: irccd-templates.pdf
 [irccd-templates.7]: irccd-templates.html
-[irccd-test.1.pdf]: irccd-test.pdf
-[irccd-test.1]: irccd-test.html
 [irccd.1.pdf]: irccd.pdf
 [irccd.1]: irccd.html
 [irccd.conf.5.pdf]: irccd.conf.pdf
 [irccd.conf.5]: irccd.conf.html
 [irccdctl.1.pdf]: irccdctl.pdf
 [irccdctl.1]: irccdctl.html
-[irccdctl.conf.5.pdf]: irccdctl.conf.pdf
-[irccdctl.conf.5]: irccdctl.conf.html
+[libirccd-channel.3.pdf]: libirccd-channel.pdf
+[libirccd-channel.3]: libirccd-channel.html
+[libirccd-event.3.pdf]: libirccd-event.pdf
+[libirccd-event.3]: libirccd-event.html
+[libirccd-hook.3.pdf]: libirccd-hook.pdf
+[libirccd-hook.3]: libirccd-hook.html
+[libirccd-irccd.3.pdf]: libirccd-irccd.pdf
+[libirccd-irccd.3]: libirccd-irccd.html
+[libirccd-log.3.pdf]: libirccd-log.pdf
+[libirccd-log.3]: libirccd-log.html
+[libirccd-rule.3.pdf]: libirccd-rule.pdf
+[libirccd-rule.3.pdf]: libirccd-rule.pdf
+[libirccd-rule.3]: libirccd-rule.html
+[libirccd-rule.3]: libirccd-rule.html
+[libirccd-server.3.pdf]: libirccd-server.pdf
+[libirccd-server.3.pdf]: libirccd-server.pdf
+[libirccd-server.3]: libirccd-server.html
+[libirccd-server.3]: libirccd-server.html
+[libirccd-subst.3.pdf]: libirccd-subst.pdf
+[libirccd-subst.3]: libirccd-subst.html
+[libirccd-util.3.pdf]: libirccd-util.pdf
+[libirccd-util.3]: libirccd-util.html
+[libirccd.3.pdf]: libirccd.pdf
+[libirccd.3]: libirccd.html
--- a/downloads.md	Wed Nov 10 15:45:58 2021 +0100
+++ b/downloads.md	Thu Feb 03 13:56:47 2022 +0100
@@ -1,6 +1,6 @@
 % irccd - downloads
 % David Demelier <markand@malikania.fr>
-% 2019-10-06
+% 2022-02-03
 
 Downloads
 =========
@@ -8,10 +8,10 @@
 Irccd is only distributed as source package on the official website but some
 distributions may provide binary packages.
 
-Current version is 3.1.1
+Current version is 4.0.0
 
-- [irccd-3.1.1.tar.xz][] ([signature][irccd-3.1.1.tar.xz.asc])
-- [irccd-3.1.1.zip][] ([signature][irccd-3.1.1.zip.asc])
+- [irccd-4.0.0.tar.xz][] ([signature][irccd-4.0.0.tar.xz.asc])
+- [irccd-4.0.0.zip][] ([signature][irccd-4.0.0.zip.asc])
 
 For those who wants to use the development version, it is available in the
 Mercurial [repository](http://hg.malikania.fr/irccd):
@@ -22,7 +22,7 @@
 
 	hg pull -u
 
-[irccd-3.1.1.tar.xz.asc]: http://releases.malikania.fr/irccd/3.1.1/irccd-3.1.1.tar.xz.asc
-[irccd-3.1.1.tar.xz]: http://releases.malikania.fr/irccd/3.1.1/irccd-3.1.1.tar.xz
-[irccd-3.1.1.zip.asc]: http://releases.malikania.fr/irccd/3.1.1/irccd-3.1.1.zip.asc
-[irccd-3.1.1.zip]: http://releases.malikania.fr/irccd/3.1.1/irccd-3.1.1.zip
+[irccd-4.0.0.tar.xz.asc]: http://releases.malikania.fr/irccd/4.0.0/irccd-4.0.0.tar.xz.asc
+[irccd-4.0.0.tar.xz]: http://releases.malikania.fr/irccd/4.0.0/irccd-4.0.0.tar.xz
+[irccd-4.0.0.zip.asc]: http://releases.malikania.fr/irccd/4.0.0/irccd-4.0.0.zip.asc
+[irccd-4.0.0.zip]: http://releases.malikania.fr/irccd/4.0.0/irccd-4.0.0.zip
--- a/faq.md	Wed Nov 10 15:45:58 2021 +0100
+++ b/faq.md	Thu Feb 03 13:56:47 2022 +0100
@@ -1,6 +1,6 @@
 % irccd - faq
 % David Demelier <markand@malikania.fr>
-% 2019-10-06
+% 2022-02-03
 
 Frequently asked questions
 ==========================
@@ -83,7 +83,7 @@
 Does irccd support DCC?
 -----------------------
 
-Not at the moment.
+Nobody use DCC.
 
 What if I use a specific encoding?
 ----------------------------------
@@ -105,7 +105,7 @@
 In some aspects it may be considered as a bit too complicated for an IRC bot but
 is still quite minimal.
 
-Because irccd offers a runtime controllable mechanism with lots of commands (30
+Because irccd offers a runtime controllable mechanism with lots of commands (32
 at this time of writing), it increases the total number of lines of code. Please
 also note that irccd is excessively tested. We could argue that a lots of these
 command may be unneeded but I like that I can keep the daemon running for months
@@ -126,7 +126,7 @@
 
 Yes, technically speaking UNIX daemons may have a name `bard` and an optional
 utility `barctl` without the trailing 'd' to control the daemon. But since irccd
-has already two 'c' irccctl would be annoying to type especially since having
+has already two 'c', irccctl would be annoying to type especially since having
 three identical consecutive letter is unusual. So as an exception, the utility
 is named `irccdctl` rather than `irccctl`.
 
@@ -135,5 +135,4 @@
 
 Irccd only drinks white beer and French cognac.
 
-[boost]: http://boost.org
 [duktape]: http://duktape.org
--- a/index.md	Wed Nov 10 15:45:58 2021 +0100
+++ b/index.md	Thu Feb 03 13:56:47 2022 +0100
@@ -1,13 +1,13 @@
 % irccd - IRC Client Daemon
 % David Demelier <markand@malikania.fr>
-% 2019-10-06
+% 2022-02-03
 
 irccd - IRC Client Daemon
 =========================
 
 Welcome to the irccd home page!
 
-Irccd is a powerful IRC bot written in C++17 and optionally using Javascript as
+Irccd is a powerful IRC bot written in C11 and optionally using Javascript as
 scripting language. It is designed in mind to be fast, clean, simple and easy to
 use. It also comes with several plugins for basic gaming, logging, keep track of
 users and many more.
@@ -16,9 +16,9 @@
 -------------------------
 
 - Connect to multiple servers,
-- Support both C++ and Javascript plugins,
+- Support both native C and Javascript plugins,
 - Powerful rule filtering system,
-- Powerful templates for plugin messages.
+- Powerful templates for plugin messages,
 - Convenient provided plugins.
 
 News
@@ -26,6 +26,7 @@
 
 Highlights are in bold.
 
+- **(2022-02-03)** Major release: irccd-4.0.0.
 - **(2021-11-10)** Irccd 4.0.0-rc0 is available for [download](http://releases.malikania.fr/irccd/4.0.0/irccd-4.0.0-rc0.tar.xz).
 - **(2021-02-16)** Irccd 4 is available for testing. [More…](2021-02-16.irccd-4-try.html)
 - **(2021-01-13)** Irccd is going on a diet. [More…](2021-01-13.diet.html)
--- a/versioning.md	Wed Nov 10 15:45:58 2021 +0100
+++ b/versioning.md	Thu Feb 03 13:56:47 2022 +0100
@@ -1,6 +1,6 @@
 % irccd - versioning
 % David Demelier <markand@malikania.fr>
-% 2019-07-10
+% 2022-02-03
 
 Versioning
 ==========
@@ -70,4 +70,4 @@
 New options MAY be added in new minor versions. Deprecated options are noted as
 well in annoucements or **CHANGES.md**.
 
-[semver]: http://semver.org/
+[semver]: http://semver.org