gnu: Add ruby-asciidoctor-pdf.
[jackhill/guix/guix.git] / gnu / packages / irc.scm
index 3521b18..5abd54b 100644 (file)
@@ -2,10 +2,11 @@
 ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
 ;;; Copyright © 2014 Kevin Lemonnier <lemonnierk@ulrar.net>
 ;;; Copyright © 2015, 2017 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2016 ng0 <ng0@infotropique.org>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016 Nikita <nikita@n0.is>
 ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
-;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -30,6 +31,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
   #:use-module (gnu packages)
+  #:use-module (gnu packages admin)
   #:use-module (gnu packages aspell)
   #:use-module (gnu packages autogen)
   #:use-module (gnu packages autotools)
@@ -46,6 +48,7 @@
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages lua)
+  #:use-module (gnu packages lxqt)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages kde)
   #:use-module (gnu packages kde-frameworks)
@@ -53,6 +56,7 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-crypto)
+  #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages ruby)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages tcl)
 (define-public quassel
   (package
     (name "quassel")
-    (version "0.12.4")
+    (version "0.13.1")
     (source
       (origin
         (method url-fetch)
-        (uri (string-append "http://quassel-irc.org/pub/quassel-"
+        (uri (string-append "https://quassel-irc.org/pub/quassel-"
                             version ".tar.bz2"))
-        (patches (search-patches "quassel-fix-tls-check.patch"))
         (sha256
          (base32
-          "0ka456fb8ha3w7g74xlzfg6w4azxjjxgrhl4aqpbwg3lnd6fbr4k"))
+          "0mg8jydc70vlylppzich26q4s40kr78r3ysfyjwisfvlg2byxvs8"))
+        (patches (search-patches "quassel-qt-514-compat.patch"))
         (modules '((guix build utils)))
-        ;; We don't want to install the bundles scripts
+        ;; We don't want to install the bundled inxi script.
         (snippet
          '(begin
-            (delete-file-recursively "data/scripts")
-            (substitute* "data/CMakeLists.txt"
-              (("NOT WIN32") "WIN32"))))))
+            (delete-file "data/scripts/inxi")
+            #t))))
     (build-system cmake-build-system)
     (arguments
       ;; The three binaries are not mutually exlusive, and are all built
       ;; by default.
-     '(#:configure-flags '(;;"-DWANT_QTCLIENT=OFF" ; 5.2 MiB
-                           ;;"-DWANT_CORE=OFF" ; 2.4 MiB
-                           ;;"-DWANT_MONO=OFF" ; 6.4 MiB
-                           "-DUSE_QT5=ON" ; default is qt4
+     '(#:configure-flags '(;;"-DWANT_QTCLIENT=OFF" ; 6.1 MiB
+                           ;;"-DWANT_CORE=OFF" ; 3.0 MiB
+                           ;;"-DWANT_MONO=OFF" ; 7.6 MiB
                            "-DWITH_KDE=OFF" ; no to kde integration ...
-                           "-DWITH_OXYGEN=ON" ; therefore we install bundled icons
-                           "-DWITH_WEBKIT=OFF") ; qtwebkit isn't packaged
+                           "-DWITH_BUNDLED_ICONS=ON" ; so we install bundled icons
+                           "-DWITH_OXYGEN_ICONS=ON" ; also the oxygen ones
+                           "-DWITH_WEBENGINE=OFF") ; we don't depend on qtwebengine
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-inxi-reference
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((inxi (string-append (assoc-ref inputs "inxi") "/bin/inxi")))
+               (symlink inxi "data/scripts/inxi")
+               #t))))
        #:tests? #f)) ; no test target
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("pkg-config" ,pkg-config)
        ("qttools" ,qttools)))
     (inputs
-     `(("qca" ,qca)
-       ("qtbase", qtbase)
+     `(("inxi" ,inxi-minimal)
+       ("libdbusmenu-qt" ,libdbusmenu-qt)
+       ("qca" ,qca)
+       ("qtbase" ,qtbase)
+       ("qtmultimedia" ,qtmultimedia)
        ("qtscript" ,qtscript)
        ("snorenotify" ,snorenotify)
        ("zlib" ,zlib)))
-    (home-page "http://quassel-irc.org/")
+    (home-page "https://quassel-irc.org/")
     (synopsis "Distributed IRC client")
     (description "Quassel is a distributed IRC client, meaning that one or more
 clients can attach to and detach from the central core.  It resembles the
@@ -115,15 +128,15 @@ irssi, but graphical.")
 (define-public irssi
   (package
     (name "irssi")
-    (version "1.1.1")
+    (version "1.2.2")
     (source (origin
-             (method url-fetch)
-             (uri (string-append "https://github.com/irssi/irssi/"
-                                 "releases/download/" version "/irssi-"
-                                 version ".tar.xz"))
-             (sha256
-              (base32
-               "1gx1flfh4a09nb3b5pvf0ygnbl7rry3l4gph8wij29dsl7khfj3q"))))
+              (method url-fetch)
+              (uri (string-append "https://github.com/irssi/irssi/"
+                                  "releases/download/" version "/irssi-"
+                                  version ".tar.xz"))
+              (sha256
+               (base32
+                "0y3mhnyr7x8ir8dlj83vbnchpfld28vdfni9yhpvls45j460c9v7"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
@@ -132,12 +145,14 @@ irssi, but graphical.")
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out")))
                (setenv "CONFIG_SHELL" (which "bash"))
-               (zero?
-                (system* "./configure"
-                         (string-append "--prefix=" out)
-                         (string-append "--with-proxy")
-                         (string-append "--with-socks")
-                         (string-append "--with-bot")))))))))
+               (invoke "./configure"
+                       (string-append "--prefix=" out)
+                       (string-append "--with-proxy")
+                       (string-append "--with-socks")
+                       (string-append "--with-bot")))))
+         (add-before 'check 'set-home
+           (lambda _
+             (setenv "HOME" (getcwd)))))))
     (inputs
      `(("glib" ,glib)
        ("ncurses" ,ncurses)
@@ -155,35 +170,40 @@ SILC and ICB protocols via plugins.")
 (define-public weechat
   (package
     (name "weechat")
-    (version "2.0.1")
+    (version "2.8")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://weechat.org/files/src/weechat-"
                                   version ".tar.xz"))
               (sha256
                (base32
-                "1l854dramvn9vfba7jpazkjwm4k4i5pshq58vjv6z2mxmcp5hhv9"))
-              (patches (search-patches "weechat-python.patch"))))
+                "1301lrb3xnm9dcw3av82rkqjzqxxwwhrq0p6i37h6fxdxnas4gjm"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("gettext" ,gettext-minimal)
        ("pkg-config" ,pkg-config)
        ;; For tests.
        ("cpputest" ,cpputest)))
-    (inputs `(("ncurses" ,ncurses)
-              ("libgcrypt" ,libgcrypt "out")
-              ("zlib" ,zlib)
-              ("aspell" ,aspell)
-              ("curl" ,curl)
-              ("gnutls" ,gnutls)
-              ("guile" ,guile-2.0)
-              ("lua" ,lua-5.1)
-              ("python" ,python-2)
-              ("perl" ,perl)
-              ("tcl" ,tcl)))
+    (inputs
+     `(("aspell" ,aspell)
+       ("curl" ,curl)
+       ("gnutls" ,gnutls)
+       ("libgcrypt" ,libgcrypt "out")
+       ("ncurses" ,ncurses)
+       ("zlib" ,zlib)
+
+       ;; Scripting language plug-ins.
+       ("guile" ,guile-3.0)
+       ("lua" ,lua-5.1)
+       ("perl" ,perl)
+       ("python" ,python)
+       ("tcl" ,tcl)))
     (arguments
      `(#:configure-flags
-       (list "-DENABLE_TESTS=ON")       ; ‘make test’ fails otherwise
+       (list "-DENABLE_JAVASCRIPT=OFF"
+             "-DENABLE_PHP=OFF"
+             "-DENABLE_RUBY=OFF"
+             "-DENABLE_TESTS=ON")       ; ‘make test’ fails otherwise
        ;; Tests hang indefinately on non-Intel platforms.
        #:tests? ,(if (any (cute string-prefix? <> (or (%current-target-system)
                                                       (%current-system)))
@@ -201,16 +221,9 @@ SILC and ICB protocols via plugins.")
                ((".*\\$\\{plugin.name\\} == (javascript|php|ruby)" all)
                 (string-append "// SKIP" all)))
              (substitute* "tests/scripts/test-scripts.cpp"
-               ((".*\\{ \"(jvascript|php|ruby)\", " all) ; sic
+               ((".*\\{ \"(javascript|php|ruby)\", " all)
                 (string-append "// SKIP" all)))
-             #t))
-         (add-after 'install 'wrap
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out"))
-                   (py2 (assoc-ref inputs "python")))
-               (wrap-program (string-append out "/bin/weechat")
-                 `("PATH" ":" prefix (,(string-append py2 "/bin"))))
-               #t))))))
+             #t)))))
     (synopsis "Extensible chat client")
     (description "WeeChat (Wee Enhanced Environment for Chat) is an
 @dfn{Internet Relay Chat} (IRC) client, which is designed to be light and fast.
@@ -288,7 +301,7 @@ using a mouse.  It is customizable and extensible with plugins and scripts.")
        #:phases
        (modify-phases %standard-phases
          (delete 'configure))))         ; no configure
-    (home-page "http://tools.suckless.org/ii/")
+    (home-page "https://tools.suckless.org/ii/")
     (synopsis "FIFO and file system based IRC client")
     (description
      "ii (Irc it) is a minimalist FIFO and file system based IRC client.")
@@ -313,7 +326,7 @@ using a mouse.  It is customizable and extensible with plugins and scripts.")
        #:phases
        (modify-phases %standard-phases
          (delete 'configure)))) ; no configure
-    (home-page "http://tools.suckless.org/sic/")
+    (home-page "https://tools.suckless.org/sic/")
     (synopsis "Simple IRC client")
     (description
      "sic is a simple IRC client, even more minimalistic than ii.")
@@ -322,14 +335,13 @@ using a mouse.  It is customizable and extensible with plugins and scripts.")
 (define-public limnoria
   (package
     (name "limnoria")
-    (version "2017.10.01")
+    (version "2019.11.22")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "limnoria" version))
        (sha256
-        (base32
-         "1hd8h257x7a0s4rvb4aqvfi77qfcyv6jaz70nndg7y6p4yhvjmy6"))))
+        (base32 "0853xk1ps3v6lkmfx50wv56vynnzpl84v66hxnhl8i34zl36kk3c"))))
     (build-system python-build-system)
     (inputs
      `(("python-pytz" ,python-pytz)
@@ -404,21 +416,20 @@ other enhancements and bug fixes.")
                      '())
                (setenv "CONFIG_SHELL" (which "bash"))
                (setenv "SHELL" (which "bash"))
-               (zero?
-                (system* "./configure"
-                         (string-append "--prefix=" out)
-                         "--with-ipv6" "--with-libarchive"
-                         ;; We use libressl because openssl does not come
-                         ;; with the lib/libssl.a which is needed for epic5.
-                         ;; XXX: No matter which implementation is chosen,
-                         ;; epic5 fails to connect to tls ports of roundrobin
-                         ;; irc networks. This however is believed to be an
-                         ;; protocol issue at epic5 related to ircd.
-                         (string-append "--with-ssl="
-                                        (assoc-ref %build-inputs "libressl"))
-                         (string-append "--with-tcl="
-                                        (assoc-ref %build-inputs "tcl")
-                                        "/lib/tclConfig.sh")))))))))
+               (invoke "./configure"
+                       (string-append "--prefix=" out)
+                       "--with-ipv6" "--with-libarchive"
+                       ;; We use libressl because openssl does not come
+                       ;; with the lib/libssl.a which is needed for epic5.
+                       ;; XXX: No matter which implementation is chosen,
+                       ;; epic5 fails to connect to tls ports of roundrobin
+                       ;; irc networks. This however is believed to be an
+                       ;; protocol issue at epic5 related to ircd.
+                       (string-append "--with-ssl="
+                                      (assoc-ref %build-inputs "libressl"))
+                       (string-append "--with-tcl="
+                                      (assoc-ref %build-inputs "tcl")
+                                      "/lib/tclConfig.sh"))))))))
     (inputs
      `(("libressl" ,libressl)
        ("ncurses" ,ncurses)