Mercurial > vanilla
comparison irc/irccd/irccd.sh @ 1060:89ba3e75ca96
irc/irccd: initial import, closes #1709
author | David Demelier <markand@malikania.fr> |
---|---|
date | Mon, 02 Sep 2019 21:10:00 +0200 |
parents | |
children | 297b5eef115e |
comparison
equal
deleted
inserted
replaced
1059:52644ad26941 | 1060:89ba3e75ca96 |
---|---|
1 #!/bin/busybox sh | |
2 # | |
3 # Copyright (c) 2019 David Demelier <markand@malikania.fr> | |
4 # | |
5 # Permission to use, copy, modify, and/or distribute this software for any | |
6 # purpose with or without fee is hereby granted, provided that the above | |
7 # copyright notice and this permission notice appear in all copies. | |
8 # | |
9 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
10 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
11 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
12 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
13 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
14 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
15 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
16 # | |
17 | |
18 PKGNAME=irccd | |
19 PKGVERSION=3.0.1 | |
20 PKGREVISION=1 | |
21 PKGLICENSE="ISC" | |
22 PKGSUMMARY="an IRC bot written in C++17" | |
23 PKGDOWNLOAD="http://releases.malikania.fr/$PKGNAME/$PKGVERSION/$PKGNAME-$PKGVERSION.tar.xz" | |
24 PKGDEPENDS="cmake:build doxygen:build boost" | |
25 PKGUIDS="irccd:109" | |
26 PKGGIDS="irccd:109" | |
27 PKGOPTIONS="ASK | |
28 AUTH | |
29 HANGMAN | |
30 HISTORY | |
31 JAVASCRIPT | |
32 JOKE | |
33 LIBEDIT | |
34 LINKS | |
35 LOGGER | |
36 PLUGIN | |
37 ROULETTE | |
38 SSL | |
39 TICTACTOE" | |
40 PKGPROTECT="etc/irccd.conf | |
41 etc/irccdctl.conf | |
42 etc/rc.d/irccd" | |
43 | |
44 : ${CC:=clang} | |
45 : ${CFLAGS:=-O2} | |
46 : ${CXX:=clang++} | |
47 : ${CXXFLAGS:=-O2} | |
48 : ${ASK:=yes} | |
49 : ${AUTH:=yes} | |
50 : ${HANGMAN:=yes} | |
51 : ${HISTORY:=yes} | |
52 : ${JAVASCRIPT:=yes} | |
53 : ${JOKE:=yes} | |
54 : ${LIBEDIT:=yes} | |
55 : ${LINKS:=yes} | |
56 : ${LOGGER:=yes} | |
57 : ${PLUGIN:=yes} | |
58 : ${ROULETTE:=yes} | |
59 : ${SSL:=yes} | |
60 : ${TICTACTOE:=yes} | |
61 | |
62 for var in AUTH HANGMAN HISTORY JOKE LINKS LOGGER PLUGIN ROULETTE TICTACTOE; do | |
63 option=$(echo $var | tr '[A-Z]' '[a-z]') | |
64 | |
65 eval enabled=\$$var | |
66 | |
67 if [ "$enabled" = "yes" ]; then | |
68 # The plugin links require uriparser. | |
69 if [ "$var" = "LINKS" ]; then | |
70 PKGDEPENDS="uriparser $PKGDEPENDS" | |
71 fi | |
72 | |
73 eval with_$option="-DIRCCD_WITH_PLUGIN_$var=On" | |
74 else | |
75 eval with_$option="-DIRCCD_WITH_PLUGIN_$var=Off" | |
76 fi | |
77 done | |
78 | |
79 if [ "$JAVASCRIPT" = "yes" ]; then | |
80 with_javascript="-DIRCCD_WITH_JS=On" | |
81 else | |
82 with_javascript="-DIRCCD_WITH_JS=Off" | |
83 fi | |
84 | |
85 if [ "$LIBEDIT" = "yes" ]; then | |
86 PKGDEPENDS="libedit $PKGDEPENDS" | |
87 with_libedit="-DIRCCD_WITH_LIBEDIT=On" | |
88 else | |
89 with_libedit="-DIRCCD_WITH_LIBEDIT=Off" | |
90 fi | |
91 | |
92 if [ "$SSL" = "yes" ]; then | |
93 PKGDEPENDS="libressl $PKGDEPENDS" | |
94 with_ssl="-DIRCCD_WITH_SSL=On" | |
95 else | |
96 with_ssl="-DIRCCD_WITH_SSL=Off" | |
97 fi | |
98 | |
99 build() | |
100 { | |
101 rm -rf $PKGNAME-$PKGVERSION | |
102 tar xvf $PKGNAME-$PKGVERSION.tar.xz | |
103 cd $PKGNAME-$PKGVERSION | |
104 | |
105 mkdir build && cd build | |
106 cmake .. \ | |
107 -DBUILD_SHARED_LIBS=On \ | |
108 -DCMAKE_BUILD_TYPE=Release \ | |
109 -DCMAKE_CXX_COMPILER="$CXX" \ | |
110 -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ | |
111 -DCMAKE_C_COMPILER="$CC" \ | |
112 -DCMAKE_C_FLAGS="$CFLAGS" \ | |
113 -DCMAKE_INSTALL_PREFIX= \ | |
114 -DIRCCD_WITH_SYSTEMD=Off \ | |
115 $with_ask \ | |
116 $with_hangman \ | |
117 $with_history \ | |
118 $with_javascript \ | |
119 $with_joke \ | |
120 $with_libedit \ | |
121 $with_links \ | |
122 $with_logger \ | |
123 $with_plugin \ | |
124 $with_roulette \ | |
125 $with_ssl \ | |
126 $with_tictactoe | |
127 make VERBOSE=1 | |
128 make install DESTDIR=$DESTDIR | |
129 cd .. | |
130 install -Dm0644 ../irccd $DESTDIR/etc/rc.d/irccd | |
131 mv $DESTDIR/etc/irccd.conf.sample $DESTDIR/etc/irccd.conf | |
132 mv $DESTDIR/etc/irccdctl.conf.sample $DESTDIR/etc/irccdctl.conf | |
133 | |
134 cd .. | |
135 rm -rf $PKGNAME-$PKGVERSION | |
136 } |