You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

504 lines
19 KiB

mailmap: Update entries for Nikita. * .mailmap: change email and name for Nikita. * Makefile.am, doc/guix.texi, etc/completion/fish/guix.fish, gnu/packages/accessibility.scm, gnu/packages/admin.scm, gnu/packages/audio.scm, gnu/packages/autotools.scm, gnu/packages/cdrom.scm, gnu/packages/check.scm, gnu/packages/cinnamon.scm, gnu/packages/compression.scm, gnu/packages/crypto.scm, gnu/packages/databases.scm, gnu/packages/django.scm, gnu/packages/dns.scm, gnu/packages/elixir.scm, gnu/packages/emacs-xyz.scm, gnu/packages/emacs.scm, gnu/packages/enlightenment.scm, gnu/packages/erlang.scm, gnu/packages/fonts.scm, gnu/packages/fontutils.scm, gnu/packages/forth.scm, gnu/packages/fvwm.scm, gnu/packages/games.scm, gnu/packages/gl.scm, gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm, gnu/packages/gtk.scm, gnu/packages/guile-wm.scm, gnu/packages/guile-xyz.scm, gnu/packages/haskell-apps.scm, gnu/packages/haskell-check.scm, gnu/packages/haskell-crypto.scm, gnu/packages/haskell-xyz.scm, gnu/packages/haskell.scm, gnu/packages/image-viewers.scm, gnu/packages/image.scm, gnu/packages/irc.scm, gnu/packages/language.scm, gnu/packages/libcanberra.scm, gnu/packages/linux.scm, gnu/packages/lisp-xyz.scm, gnu/packages/lisp.scm, gnu/packages/lolcode.scm, gnu/packages/lxde.scm, gnu/packages/lxqt.scm, gnu/packages/mail.scm, gnu/packages/markup.scm, gnu/packages/mate.scm, gnu/packages/maths.scm, gnu/packages/mc.scm, gnu/packages/messaging.scm, gnu/packages/music.scm, gnu/packages/ncurses.scm, gnu/packages/networking.scm, gnu/packages/nickle.scm, gnu/packages/openbox.scm, gnu/packages/pdf.scm, gnu/packages/perl-check.scm, gnu/packages/perl.scm, gnu/packages/python-compression.scm, gnu/packages/python-crypto.scm, gnu/packages/python-web.scm, gnu/packages/python-xyz.scm, gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/ruby.scm, gnu/packages/rust.scm, gnu/packages/scheme.scm, gnu/packages/serialization.scm, gnu/packages/shells.scm, gnu/packages/ssh.scm, gnu/packages/suckless.scm, gnu/packages/tbb.scm, gnu/packages/telephony.scm, gnu/packages/text-editors.scm, gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tls.scm, gnu/packages/tor.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/vim.scm, gnu/packages/web.scm, gnu/packages/wm.scm, gnu/packages/xdisorg.scm, gnu/packages/xfce.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/services/certbot.scm, gnu/services/desktop.scm, gnu/services/version-control.scm, gnu/services/web.scm, guix/import/hackage.scm, guix/licenses.scm: Likewise. Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
1 year ago
gnu: Move testing packages from python.scm to check.scm. * gnu/packages/python.scm (python-behave-web-api, python2-behave-web-api, python-mock, python2-mock, python-mock-2, python-nose, python2-nose, python-nose2, python2-nose2, python-unittest2, python2-unittest2, python-pytest, python2-pytest, python-pytest-3.0, python2-pytest-3.0, python-pytest-cov, python2-pytest-cov, python-pytest-runner, python2-pytest-runner, python-pytest-mock, python2-pytest-mock, python-pytest-xdist, python2-pytest-xdist, python-scripttest, python2-scripttest, python-testtools, python2-testtools, python-testscenarios, python2-testscenarios, python-testresources, python2-testresources, python-subunit, python2-subunit, python-fixtures, python2-fixtures, python-testrepository, python2-testrepository, python-coverage, python2-coverage, python-cov-core, python2-cov-core, python-testpath, python2-testpath, python-testlib, python2-testlib, python-pytest-cache, python2-pytest-cache, python-pytest-localserver, python-pytest-xprocess, python-pytest-subtesthack, python2-pytest-subtesthack, python-hypothesis, python2-hypothesis, python-lit, python2-lit, python-pytest-pep8, python2-pytest-pep8, python-pytest-flakes, python2-pytest-flakes, python2-coverage-test-runner, python-pylint, python2-pylint, python-paramunittest, python2-python-paramunittest, python-pytest-warnings, python2-pytest-warnings, python-pytest-capturelog, python2-pytest-capturelog, python-pytest-catchlog, python2-pytest-catchlog, python-nosexcover, python2-nosexcover, python-discover, python2-discover, behave, python-rednose, python2-rednose, python-nose-randomly, python2-nose-randomly, python-nose-timer, python2-nose-timer): Move from here... * gnu/packages/check.scm: ...to here. * gnu/packages/admin.scm, gnu/packages/android.scm, gnu/packages/backup.scm, gnu/packages/bioinformatics.scm, gnu/packages/calendar.scm, gnu/packages/dav.scm, gnu/packages/django.scm, gnu/packages/freedesktop.scm, gnu/packages/haskell.scm, gnu/packages/image.scm, gnu/packages/irc.scm, gnu/packages/jrnl.scm, gnu/packages/ldc.scm, gnu/packages/libffi.scm, gnu/packages/mail.scm, gnu/packages/mpd.scm, gnu/packages/openstack.scm, gnu/packages/package-management.scm, gnu/packages/password-utils.scm, gnu/packages/python-crypto.scm, gnu/packages/python-web.scm, gnu/packages/rdf.scm, gnu/packages/statistics.scm, gnu/packages/storage.scm, gnu/packages/time.scm, gnu/packages/tls.scm, gnu/packages/tor.scm, gnu/packages/tryton.scm: Adjust accordingly.
4 years ago
gnu: Separate Python core packages from the rest. * gnu/packages/python.scm: Move hundreds of package definitions from here... * gnu/packages/python-xyz.scm: ...to this new module. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * gnu/packages/ada.scm, gnu/packages/admin.scm, gnu/packages/android.scm, gnu/packages/audio.scm, gnu/packages/backup.scm, gnu/packages/benchmark.scm, gnu/packages/bioinformatics.scm, gnu/packages/bittorrent.scm, gnu/packages/calendar.scm, gnu/packages/check.scm, gnu/packages/chemistry.scm, gnu/packages/cluster.scm, gnu/packages/compression.scm, gnu/packages/connman.scm, gnu/packages/crypto.scm, gnu/packages/cups.scm, gnu/packages/databases.scm, gnu/packages/dav.scm, gnu/packages/direct-connect.scm, gnu/packages/disk.scm, gnu/packages/django.scm, gnu/packages/dlang.scm, gnu/packages/docker.scm, gnu/packages/ebook.scm, gnu/packages/elf.scm, gnu/packages/emacs.scm, gnu/packages/emulators.scm, gnu/packages/engineering.scm, gnu/packages/enlightenment.scm, gnu/packages/finance.scm, gnu/packages/fltk.scm, gnu/packages/fontutils.scm, gnu/packages/freedesktop.scm, gnu/packages/game-development.scm, gnu/packages/games.scm, gnu/packages/geo.scm, gnu/packages/gl.scm, gnu/packages/glib.scm, gnu/packages/gnome.scm, gnu/packages/gnupg.scm, gnu/packages/gnuzilla.scm, gnu/packages/graph.scm, gnu/packages/graphics.scm, gnu/packages/graphviz.scm, gnu/packages/gtk.scm, gnu/packages/ham-radio.scm, gnu/packages/image-processing.scm, gnu/packages/image-viewers.scm, gnu/packages/image.scm, gnu/packages/irc.scm, gnu/packages/jrnl.scm, gnu/packages/julia.scm, gnu/packages/kde-frameworks.scm, gnu/packages/key-mon.scm, gnu/packages/libffi.scm, gnu/packages/libreoffice.scm, gnu/packages/libusb.scm, gnu/packages/lirc.scm, gnu/packages/logging.scm, gnu/packages/machine-learning.scm, gnu/packages/mail.scm, gnu/packages/mate.scm, gnu/packages/maths.scm, gnu/packages/medical.scm, gnu/packages/messaging.scm, gnu/packages/monitoring.scm, gnu/packages/mp3.scm, gnu/packages/mpd.scm, gnu/packages/music.scm, gnu/packages/networking.scm, gnu/packages/nutrition.scm, gnu/packages/openldap.scm, gnu/packages/openstack.scm, gnu/packages/package-management.scm, gnu/packages/password-utils.scm, gnu/packages/patchutils.scm, gnu/packages/pdf.scm, gnu/packages/photo.scm, gnu/packages/polkit.scm, gnu/packages/protobuf.scm, gnu/packages/python-crypto.scm, gnu/packages/python-web.scm, gnu/packages/qt.scm, gnu/packages/rdf.scm, gnu/packages/ruby.scm, gnu/packages/search.scm, gnu/packages/selinux.scm, gnu/packages/serialization.scm, gnu/packages/shells.scm, gnu/packages/simulation.scm, gnu/packages/ssh.scm, gnu/packages/statistics.scm, gnu/packages/storage.scm, gnu/packages/sync.scm, gnu/packages/terminals.scm, gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tls.scm, gnu/packages/tor.scm, gnu/packages/tryton.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/virtualization.scm, gnu/packages/vpn.scm, gnu/packages/web-browsers.scm, gnu/packages/web.scm, gnu/packages/wicd.scm, gnu/packages/xdisorg.scm, gnu/packages/xorg.scm: Update module references.
3 years ago
gnu: Fix common unquote typos. It's easy to mistype ‘("foo" foo)’ as ‘("foo", foo)’ (which also works). Fix such typos for the proper edification of our young. * gnu/packages/android.scm: Move unquotes to their operands. * gnu/packages/bootloaders.scm: Likewise. * gnu/packages/build-tools.scm: Likewise. * gnu/packages/chemistry.scm: Likewise. * gnu/packages/compression.scm: Likewise. * gnu/packages/connman.scm: Likewise. * gnu/packages/django.scm: Likewise. * gnu/packages/emulators.scm: Likewise. * gnu/packages/engineering.scm: Likewise. * gnu/packages/file-systems.scm: Likewise. * gnu/packages/freedesktop.scm: Likewise. * gnu/packages/games.scm: Likewise. * gnu/packages/gimp.scm: Likewise. * gnu/packages/gl.scm: Likewise. * gnu/packages/gnome.scm: Likewise. * gnu/packages/graphics.scm: Likewise. * gnu/packages/haskell.scm: Likewise. * gnu/packages/irc.scm: Likewise. * gnu/packages/julia.scm: Likewise. * gnu/packages/kde-frameworks.scm: Likewise. * gnu/packages/linux.scm: Likewise. * gnu/packages/lua.scm: Likewise. * gnu/packages/mail.scm: Likewise. * gnu/packages/make-bootstrap.scm: Likewise. * gnu/packages/messaging.scm: Likewise. * gnu/packages/music.scm: Likewise. * gnu/packages/networking.scm: Likewise. * gnu/packages/ocaml.scm: Likewise. * gnu/packages/perl.scm: Likewise. * gnu/packages/python.scm: Likewise. * gnu/packages/python-web.scm: Likewise. * gnu/packages/qt.scm: Likewise. * gnu/packages/ratpoison.scm: Likewise. * gnu/packages/sdl.scm: Likewise. * gnu/packages/sml.scm: Likewise. * gnu/packages/terminals.scm: Likewise. * gnu/packages/text-editors.scm: Likewise. * gnu/packages/video.scm: Likewise. * gnu/packages/virtualization.scm: Likewise. * gnu/packages/vulkan.scm: Likewise. * gnu/packages/wget.scm: Likewise. * gnu/packages/wine.scm: Likewise. * gnu/packages/wm.scm: Likewise. * gnu/packages/xdisorg.scm: Likewise. * gnu/packages/xml.scm: Likewise. * gnu/packages/xorg.scm: Likewise.
4 years ago
  1. ;;; GNU Guix --- Functional package management for GNU
  2. ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
  3. ;;; Copyright © 2014 Kevin Lemonnier <lemonnierk@ulrar.net>
  4. ;;; Copyright © 2015, 2017 Ludovic Courtès <ludo@gnu.org>
  5. ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
  6. ;;; Copyright © 2016 Nikita <nikita@n0.is>
  7. ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
  8. ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
  9. ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
  10. ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
  11. ;;;
  12. ;;; This file is part of GNU Guix.
  13. ;;;
  14. ;;; GNU Guix is free software; you can redistribute it and/or modify it
  15. ;;; under the terms of the GNU General Public License as published by
  16. ;;; the Free Software Foundation; either version 3 of the License, or (at
  17. ;;; your option) any later version.
  18. ;;;
  19. ;;; GNU Guix is distributed in the hope that it will be useful, but
  20. ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
  21. ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  22. ;;; GNU General Public License for more details.
  23. ;;;
  24. ;;; You should have received a copy of the GNU General Public License
  25. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
  26. (define-module (gnu packages irc)
  27. #:use-module ((guix licenses) #:prefix license:)
  28. #:use-module (guix download)
  29. #:use-module (guix git-download)
  30. #:use-module (guix packages)
  31. #:use-module (guix build-system cmake)
  32. #:use-module (guix build-system glib-or-gtk)
  33. #:use-module (guix build-system gnu)
  34. #:use-module (guix build-system python)
  35. #:use-module (gnu packages)
  36. #:use-module (gnu packages admin)
  37. #:use-module (gnu packages aspell)
  38. #:use-module (gnu packages autogen)
  39. #:use-module (gnu packages autotools)
  40. #:use-module (gnu packages base)
  41. #:use-module (gnu packages backup)
  42. #:use-module (gnu packages check)
  43. #:use-module (gnu packages compression)
  44. #:use-module (gnu packages curl)
  45. #:use-module (gnu packages cyrus-sasl)
  46. #:use-module (gnu packages databases)
  47. #:use-module (gnu packages file)
  48. #:use-module (gnu packages gettext)
  49. #:use-module (gnu packages glib)
  50. #:use-module (gnu packages gnome)
  51. #:use-module (gnu packages gnupg)
  52. #:use-module (gnu packages gtk)
  53. #:use-module (gnu packages guile)
  54. #:use-module (gnu packages lua)
  55. #:use-module (gnu packages lxqt)
  56. #:use-module (gnu packages ncurses)
  57. #:use-module (gnu packages kde)
  58. #:use-module (gnu packages kde-frameworks)
  59. #:use-module (gnu packages perl)
  60. #:use-module (gnu packages pkg-config)
  61. #:use-module (gnu packages python)
  62. #:use-module (gnu packages python-crypto)
  63. #:use-module (gnu packages python-xyz)
  64. #:use-module (gnu packages ruby)
  65. #:use-module (gnu packages qt)
  66. #:use-module (gnu packages tcl)
  67. #:use-module (gnu packages textutils)
  68. #:use-module (gnu packages time)
  69. #:use-module (gnu packages tls)
  70. #:use-module (gnu packages web)
  71. #:use-module (srfi srfi-1)
  72. #:use-module (srfi srfi-26))
  73. (define-public quassel
  74. (package
  75. (name "quassel")
  76. (version "0.13.1")
  77. (source
  78. (origin
  79. (method url-fetch)
  80. (uri (string-append "https://quassel-irc.org/pub/quassel-"
  81. version ".tar.bz2"))
  82. (sha256
  83. (base32
  84. "0mg8jydc70vlylppzich26q4s40kr78r3ysfyjwisfvlg2byxvs8"))
  85. (patches (search-patches "quassel-qt-514-compat.patch"))
  86. (modules '((guix build utils)))
  87. ;; We don't want to install the bundled inxi script.
  88. (snippet
  89. '(begin
  90. (delete-file "data/scripts/inxi")
  91. #t))))
  92. (build-system cmake-build-system)
  93. (arguments
  94. ;; The three binaries are not mutually exlusive, and are all built
  95. ;; by default.
  96. '(#:configure-flags '(;;"-DWANT_QTCLIENT=OFF" ; 6.1 MiB
  97. ;;"-DWANT_CORE=OFF" ; 3.0 MiB
  98. ;;"-DWANT_MONO=OFF" ; 7.6 MiB
  99. "-DWITH_KDE=OFF" ; no to kde integration ...
  100. "-DWITH_BUNDLED_ICONS=ON" ; so we install bundled icons
  101. "-DWITH_OXYGEN_ICONS=ON" ; also the oxygen ones
  102. "-DWITH_WEBENGINE=OFF") ; we don't depend on qtwebengine
  103. #:phases
  104. (modify-phases %standard-phases
  105. (add-after 'unpack 'patch-inxi-reference
  106. (lambda* (#:key inputs #:allow-other-keys)
  107. (let ((inxi (string-append (assoc-ref inputs "inxi") "/bin/inxi")))
  108. (symlink inxi "data/scripts/inxi")
  109. #t))))
  110. #:tests? #f)) ; no test target
  111. (native-inputs
  112. `(("extra-cmake-modules" ,extra-cmake-modules)
  113. ("pkg-config" ,pkg-config)
  114. ("qttools" ,qttools)))
  115. (inputs
  116. `(("inxi" ,inxi-minimal)
  117. ("libdbusmenu-qt" ,libdbusmenu-qt)
  118. ("qca" ,qca)
  119. ("qtbase" ,qtbase)
  120. ("qtmultimedia" ,qtmultimedia)
  121. ("qtscript" ,qtscript)
  122. ("snorenotify" ,snorenotify)
  123. ("zlib" ,zlib)))
  124. (home-page "https://quassel-irc.org/")
  125. (synopsis "Distributed IRC client")
  126. (description "Quassel is a distributed IRC client, meaning that one or more
  127. clients can attach to and detach from the central core. It resembles the
  128. popular combination of screen and a text-based IRC client such as WeeChat or
  129. irssi, but graphical.")
  130. (license (list license:gpl2 license:gpl3)))) ;; dual licensed
  131. (define-public irssi
  132. (package
  133. (name "irssi")
  134. (version "1.2.2")
  135. (source (origin
  136. (method url-fetch)
  137. (uri (string-append "https://github.com/irssi/irssi/"
  138. "releases/download/" version "/irssi-"
  139. version ".tar.xz"))
  140. (sha256
  141. (base32
  142. "0y3mhnyr7x8ir8dlj83vbnchpfld28vdfni9yhpvls45j460c9v7"))))
  143. (build-system gnu-build-system)
  144. (arguments
  145. `(#:phases
  146. (modify-phases %standard-phases
  147. (replace 'configure
  148. (lambda* (#:key inputs outputs #:allow-other-keys)
  149. (let ((out (assoc-ref outputs "out")))
  150. (setenv "CONFIG_SHELL" (which "bash"))
  151. (invoke "./configure"
  152. (string-append "--prefix=" out)
  153. (string-append "--with-proxy")
  154. (string-append "--with-socks")
  155. (string-append "--with-bot")))))
  156. (add-before 'check 'set-home
  157. (lambda _
  158. (setenv "HOME" (getcwd)))))))
  159. (inputs
  160. `(("glib" ,glib)
  161. ("ncurses" ,ncurses)
  162. ("openssl" ,openssl)
  163. ("perl" ,perl)))
  164. (native-inputs
  165. `(("pkg-config" ,pkg-config)))
  166. (home-page "https://irssi.org/")
  167. (synopsis "Terminal-based IRC client")
  168. (description
  169. "Irssi is a terminal based IRC client for UNIX systems. It also supports
  170. SILC and ICB protocols via plugins.")
  171. (license license:gpl2+)))
  172. (define-public weechat
  173. (package
  174. (name "weechat")
  175. (version "2.8")
  176. (source (origin
  177. (method url-fetch)
  178. (uri (string-append "https://weechat.org/files/src/weechat-"
  179. version ".tar.xz"))
  180. (sha256
  181. (base32
  182. "1301lrb3xnm9dcw3av82rkqjzqxxwwhrq0p6i37h6fxdxnas4gjm"))))
  183. (build-system cmake-build-system)
  184. (native-inputs
  185. `(("gettext" ,gettext-minimal)
  186. ("pkg-config" ,pkg-config)
  187. ;; For tests.
  188. ("cpputest" ,cpputest)))
  189. (inputs
  190. `(("aspell" ,aspell)
  191. ("curl" ,curl)
  192. ("gnutls" ,gnutls)
  193. ("libgcrypt" ,libgcrypt "out")
  194. ("ncurses" ,ncurses)
  195. ("zlib" ,zlib)
  196. ;; Scripting language plug-ins.
  197. ("guile" ,guile-3.0)
  198. ("lua" ,lua-5.1)
  199. ("perl" ,perl)
  200. ("python" ,python)
  201. ("tcl" ,tcl)))
  202. (arguments
  203. `(#:configure-flags
  204. (list "-DENABLE_JAVASCRIPT=OFF"
  205. "-DENABLE_PHP=OFF"
  206. "-DENABLE_RUBY=OFF"
  207. "-DENABLE_TESTS=ON") ; ‘make test’ fails otherwise
  208. ;; Tests hang indefinately on non-Intel platforms.
  209. #:tests? ,(if (any (cute string-prefix? <> (or (%current-target-system)
  210. (%current-system)))
  211. '("i686" "x86_64"))
  212. '#t '#f)
  213. #:phases
  214. (modify-phases %standard-phases
  215. (add-after 'unpack 'disable-failing-tests
  216. ;; For reasons best left to the imagination, CppUTest cannot skip
  217. ;; more than one single test... Resort to manual patching instead.
  218. ;; See <https://cpputest.github.io/manual.html#command_line>.
  219. (λ _
  220. ;; Don't test plugin support for languages we don't enable.
  221. (substitute* "tests/unit/test-plugins.cpp"
  222. ((".*\\$\\{plugin.name\\} == (javascript|php|ruby)" all)
  223. (string-append "// SKIP" all)))
  224. (substitute* "tests/scripts/test-scripts.cpp"
  225. ((".*\\{ \"(javascript|php|ruby)\", " all)
  226. (string-append "// SKIP" all)))
  227. #t)))))
  228. (synopsis "Extensible chat client")
  229. (description "WeeChat (Wee Enhanced Environment for Chat) is an
  230. @dfn{Internet Relay Chat} (IRC) client, which is designed to be light and fast.
  231. The client uses a curses frontend, and there are remote interfaces for Web,
  232. Qt, Android, and Emacs.
  233. Everything in WeeChat can be done with the keyboard, though it also supports
  234. using a mouse. It is customizable and extensible with plugins and scripts.")
  235. (home-page "https://www.weechat.org/")
  236. (license license:gpl3)))
  237. (define-public srain
  238. (package
  239. (name "srain")
  240. (version "1.1.1")
  241. (source
  242. (origin
  243. (method git-fetch)
  244. (uri (git-reference
  245. (url "https://github.com/SrainApp/srain")
  246. (commit version)))
  247. (file-name (git-file-name name version))
  248. (sha256
  249. (base32 "1ypaxdnag61smd8vy4rzl8sarwxa85543nzp0c9zfq02jqmz1gah"))))
  250. (arguments
  251. `(#:tests? #f ;there are no tests
  252. #:phases
  253. (modify-phases %standard-phases
  254. (add-before 'install 'fix-permissions
  255. ;; Make po folder writable for gettext to install translations.
  256. (lambda _
  257. (for-each make-file-writable
  258. (find-files "po" "." #:directories? #t)))))))
  259. (build-system glib-or-gtk-build-system)
  260. (native-inputs
  261. `(("gettext" ,gettext-minimal)
  262. ("glib:bin" ,glib "bin")
  263. ("pkg-config" ,pkg-config)))
  264. (inputs
  265. `(("glib-networking" ,glib-networking)
  266. ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
  267. ("gtk+" ,gtk+)
  268. ("libconfig" ,libconfig)
  269. ("libsecret" ,libsecret)
  270. ("libsoup" ,libsoup)
  271. ("openssl" ,openssl)))
  272. (home-page "https://srain.im")
  273. (synopsis "Modern IRC client written in GTK")
  274. (description
  275. "Srain is an IRC client written in GTK. It aims to be modern and easy to
  276. use while still remaining useful to power users. It also has partial support
  277. for the IRCv3 protocol.")
  278. (license license:gpl3+)))
  279. (define-public ircii
  280. (package
  281. (name "ircii")
  282. (version "20151120")
  283. (source (origin
  284. (method url-fetch)
  285. (uri (string-append "https://ircii.warped.com/"
  286. name "-" version ".tar.gz"))
  287. (sha256
  288. (base32
  289. "178dc279f5j894qvp96dzz7c0jpryqlcqw5g0dc9yaxg9kgw1lqm"))))
  290. (build-system gnu-build-system)
  291. ;; TODO: We should package a small socks4/5 library/server to configure
  292. ;; ircii with socks client. `ghc-socks' pulls in lots of haskell, which
  293. ;; is too big.
  294. (arguments
  295. `(#:tests? #f
  296. #:configure-flags (list
  297. "--enable-ipv6"
  298. "--with-emacs-meta-keys"
  299. (string-append "--with-openssl="
  300. (assoc-ref %build-inputs "openssl")))
  301. #:phases
  302. (modify-phases %standard-phases
  303. (add-after 'unpack 'patch-bsdinstall-absolute-path-bins
  304. (lambda* (#:key inputs #:allow-other-keys)
  305. (substitute* "bsdinstall"
  306. (("/bin/strip") "strip")
  307. (("/bin/cp") "cp")
  308. (("/bin/chmod") "chmod")
  309. (("/etc/chown") "chown")
  310. (("/bin/chgrp") "chgrp")
  311. (("/bin/mkdir") "mkdir")
  312. (("/bin/rm") "rm")
  313. (("/bin/mv") "mv")))))))
  314. (inputs
  315. `(("ncurses" ,ncurses)
  316. ("openssl" ,openssl)))
  317. (native-inputs
  318. `(("pkg-config" ,pkg-config)
  319. ("perl" ,perl)))
  320. (home-page "http://www.eterna.com.au/ircii/")
  321. (synopsis "Terminal-based IRC and ICB client")
  322. (description
  323. "ircII is a terminal based IRC and ICB client for UNIX systems.")
  324. (license license:bsd-3)))
  325. (define-public ii
  326. (package
  327. (name "ii")
  328. (version "1.8")
  329. (source (origin
  330. (method url-fetch)
  331. (uri (string-append "http://dl.suckless.org/tools/"
  332. name "-" version ".tar.gz"))
  333. (sha256
  334. (base32
  335. "1lk8vjl7i8dcjh4jkg8h8bkapcbs465sy8g9c0chfqsywbmf3ndr"))))
  336. (build-system gnu-build-system)
  337. (arguments
  338. `(#:tests? #f ; no tests
  339. #:make-flags (list (string-append "PREFIX=" %output)
  340. "CC=gcc")
  341. #:phases
  342. (modify-phases %standard-phases
  343. (delete 'configure)))) ; no configure
  344. (home-page "https://tools.suckless.org/ii/")
  345. (synopsis "FIFO and file system based IRC client")
  346. (description
  347. "ii (Irc it) is a minimalist FIFO and file system based IRC client.")
  348. (license license:expat)))
  349. (define-public sic
  350. (package
  351. (name "sic")
  352. (version "1.2")
  353. (source (origin
  354. (method url-fetch)
  355. (uri (string-append "http://dl.suckless.org/tools/"
  356. name "-" version ".tar.gz"))
  357. (sha256
  358. (base32
  359. "11aiavxp44yayibc58bvimi8mrxvbw1plbci8cnbl4syk42zj1xc"))))
  360. (build-system gnu-build-system)
  361. (arguments
  362. `(#:tests? #f ; no tests
  363. #:make-flags (list "CC=gcc"
  364. (string-append "PREFIX=" %output))
  365. #:phases
  366. (modify-phases %standard-phases
  367. (delete 'configure)))) ; no configure
  368. (home-page "https://tools.suckless.org/sic/")
  369. (synopsis "Simple IRC client")
  370. (description
  371. "sic is a simple IRC client, even more minimalistic than ii.")
  372. (license license:expat)))
  373. (define-public limnoria
  374. (package
  375. (name "limnoria")
  376. (version "2019.11.22")
  377. (source
  378. (origin
  379. (method url-fetch)
  380. (uri (pypi-uri "limnoria" version))
  381. (sha256
  382. (base32 "0853xk1ps3v6lkmfx50wv56vynnzpl84v66hxnhl8i34zl36kk3c"))))
  383. (build-system python-build-system)
  384. (inputs
  385. `(("python-pytz" ,python-pytz)
  386. ("python-chardet" ,python-chardet)
  387. ("python-dateutil" ,python-dateutil)
  388. ("python-gnupg" ,python-gnupg)
  389. ("python-feedparser" ,python-feedparser)
  390. ("python-sqlalchemy" ,python-sqlalchemy)
  391. ("python-socksipy-branch" ,python-socksipy-branch)
  392. ("python-ecdsa" ,python-ecdsa)))
  393. (native-inputs
  394. `(("python-mock" ,python-mock)))
  395. ;; Despite the existence of a test folder there is no test phase.
  396. ;; We need to package https://github.com/ProgVal/irctest and write
  397. ;; our own testphase.
  398. (arguments
  399. `(#:tests? #f))
  400. (home-page "https://github.com/ProgVal/Limnoria")
  401. (synopsis "Modified version of Supybot (an IRC bot and framework)")
  402. (description
  403. "Modified version of Supybot with Python 3 and IRCv3 support,
  404. embedded web server, translations (fr, fi, it, hu, de), and many
  405. other enhancements and bug fixes.")
  406. (license license:bsd-3)))
  407. (define-public epic5
  408. (package
  409. (name "epic5")
  410. (version "2.0.1")
  411. (source (origin
  412. (method url-fetch)
  413. (uri (string-append "http://ftp.epicsol.org/pub/"
  414. "epic/EPIC5-PRODUCTION/"
  415. name "-" version ".tar.xz"))
  416. (sha256
  417. (base32
  418. "1ap73d5f4vccxjaaq249zh981z85106vvqmxfm4plvy76b40y9jm"))))
  419. (build-system gnu-build-system)
  420. (arguments
  421. `(#:test-target "test"
  422. #:phases
  423. (modify-phases %standard-phases
  424. (add-after 'unpack 'patch-perl
  425. (lambda _
  426. (substitute* "regress/crash-irc"
  427. (("perl5") (which "perl")))
  428. #t))
  429. (add-after 'unpack 'patch-bsdinstall
  430. ;; If we just remove /bin/ some part of the bsdinstall breaks.
  431. ;; Furthermore bsdinstalls has a reference to /etc/chmod here, which
  432. ;; means if we leave /etc/ in, install fails.
  433. (lambda _
  434. (substitute* "bsdinstall"
  435. (("/bin/strip") "strip")
  436. (("/bin/cp") "cp")
  437. (("/bin/chmod") "chmod")
  438. (("/bin/chgrp") "chgrp")
  439. (("/bin/mkdir") "mkdir")
  440. (("/bin/rm") "rm")
  441. (("/bin/mv") "mv")
  442. (("/etc/") ""))
  443. #t))
  444. (replace 'configure
  445. (lambda* (#:key outputs #:allow-other-keys)
  446. ;; The tarball uses a very old version of autconf. It does not
  447. ;; understand extra flags like `--enable-fast-install', so
  448. ;; we need to invoke it with just what it understands.
  449. (let ((out (assoc-ref outputs "out")))
  450. ;; 'configure' doesn't understand '--host'.
  451. ,@(if (%current-target-system)
  452. `((setenv "CHOST" ,(%current-target-system)))
  453. '())
  454. (setenv "CONFIG_SHELL" (which "bash"))
  455. (setenv "SHELL" (which "bash"))
  456. (invoke "./configure"
  457. (string-append "--prefix=" out)
  458. "--with-ipv6" "--with-libarchive"
  459. ;; We use libressl because openssl does not come
  460. ;; with the lib/libssl.a which is needed for epic5.
  461. ;; XXX: No matter which implementation is chosen,
  462. ;; epic5 fails to connect to tls ports of roundrobin
  463. ;; irc networks. This however is believed to be an
  464. ;; protocol issue at epic5 related to ircd.
  465. (string-append "--with-ssl="
  466. (assoc-ref %build-inputs "libressl"))
  467. (string-append "--with-tcl="
  468. (assoc-ref %build-inputs "tcl")
  469. "/lib/tclConfig.sh"))))))))
  470. (inputs
  471. `(("libressl" ,libressl)
  472. ("ncurses" ,ncurses)
  473. ("libarchive" ,libarchive) ; CHANGELOG: "Support for loading zip files"
  474. ("perl" ,perl)
  475. ("tcl" ,tcl)
  476. ("ruby" ,ruby)))
  477. (native-inputs
  478. `(("pkg-config" ,pkg-config)))
  479. (home-page "http://epicsol.org")
  480. (synopsis "Epic5 IRC Client")
  481. (description
  482. "EPIC is a IRC client that has been under active development for
  483. over 20 years. It is stable and mature, and offers an excellent ircII
  484. interface for those who are accustomed to the ircII way of doing things.")
  485. (license (list license:bsd-3
  486. license:isc
  487. license:bsd-4
  488. ;; The epic license is equal to the standard three-clause
  489. ;; BSD license except that you are not permitted to remove the
  490. ;; "Redistribution is permitted" clause of the license if you
  491. ;; distribute binaries.
  492. (license:non-copyleft "http://epicsol.org/copyright")))))