Subject: bug#31136: closed (Re: [bug#31136] [PATCH] gnu: hexchat: Update to 2.14.1.)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 13 Apr 2018 15:54:04 +0000

Your bug report

#31136: [PATCH] gnu: hexchat: Update to 2.14.1.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
31136: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=31136
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#31136] [PATCH] gnu: hexchat: Update to 2.14.1.
From: Leo Famulari <[email-masked]>
To: Marius Bakke <[email-masked]>
Cc: [email-masked]
Date: Fri, 13 Apr 2018 11:53:17 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

On Thu, Apr 12, 2018 at 08:19:30PM +0200, Marius Bakke wrote:
> Leo Famulari <[email-masked]> writes:
> 
> > * gnu/packages/messaging.scm (hexchat): Update to 2.14.1.
> > [source]: Remove obsolete snippet.
> > [build-system]: Use the meson-build-system.
> > [native-inputs]: Add ninja, perl, and gettext-minimal. Remove autoconf,
> > autoconf-archive, automake, intltool, and libtool.
> > [inputs]: Add libproxy.
> > [arguments]: Add a phase to skip generation of icon and .desktop file databases.
> > Remove #:make-flags.
> 
> "ninja" is provided by meson-build-system, no?
> 
> If not, please add a comment.  Otherwise LGTM!

Indeed, thanks for the review! Pushed as
c2a601c9b10249768a47d2cc7428d2320078f388

Subject: [PATCH] gnu: hexchat: Update to 2.14.1.
From: Leo Famulari <[email-masked]>
To: [email-masked]
Date: Thu, 12 Apr 2018 14:12:03 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/messaging.scm (hexchat): Update to 2.14.1.
[source]: Remove obsolete snippet.
[build-system]: Use the meson-build-system.
[native-inputs]: Add ninja, perl, and gettext-minimal. Remove autoconf,
autoconf-archive, automake, intltool, and libtool.
[inputs]: Add libproxy.
[arguments]: Add a phase to skip generation of icon and .desktop file databases.
Remove #:make-flags.
---
 gnu/packages/messaging.scm | 51 ++++++++++++++++----------------------
 1 file changed, 22 insertions(+), 29 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index fc40ae256..ccfec4ce5 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -13,6 +13,7 @@
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <[email-masked]>
 ;;; Copyright © 2017 Theodoros Foradis <[email-masked]>
 ;;; Copyright © 2017 Rutger Helling <[email-masked]>
+;;; Copyright © 2018 Leo Famulari <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -37,6 +38,7 @@
   #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system glib-or-gtk)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system cmake)
@@ -93,7 +95,8 @@
   #:use-module (gnu packages less)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages photo)
-  #:use-module (gnu packages texinfo))
+  #:use-module (gnu packages texinfo)
+  #:use-module (gnu packages ninja))
 
 (define-public libotr
   (package
@@ -200,30 +203,18 @@ identi.ca and status.net).")
 (define-public hexchat
   (package
     (name "hexchat")
-    (version "2.12.4")
+    (version "2.14.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://dl.hexchat.net/hexchat/hexchat-"
                                   version ".tar.xz"))
               (sha256
                (base32
-                "0ficrx56knz5y297qb0x5y02339yvyv734z7kpcx1ixvb0qr2dgs"))
-              (modules '((guix build utils)))
-              (snippet
-               '(begin
-                  ;; Delete dangling symlinks to a non-existent ‘/usr’.
-                  (with-directory-excursion "m4"
-                    (for-each (lambda (f) (delete-file f))
-                              '("intltool.m4" "libtool.m4" "lt~obsolete.m4"
-                                "ltoptions.m4" "ltsugar.m4" "ltversion.m4")))
-                  (delete-file-recursively "build-aux")
-                  (delete-file "po/Makefile.in.in")))))
-    (build-system gnu-build-system)
-    (native-inputs `(("autoconf" ,autoconf)
-                     ("autoconf-archive" ,autoconf-archive)
-                     ("automake" ,automake)
-                     ("intltool" ,intltool)
-                     ("libtool" ,libtool)
+                "18h3l34zmazjlfx3irg7k7swppa62ad9ffbl0j3ry8p2xfyf8cmh"))))
+    (build-system meson-build-system)
+    (native-inputs `(("gettext" ,gettext-minimal)
+                     ("ninja" ,ninja)
+                     ("perl" ,perl)
                      ("pkg-config" ,pkg-config)))
     (inputs `(("dbus-glib" ,dbus-glib)
               ("dbus" ,dbus)
@@ -232,6 +223,7 @@ identi.ca and status.net).")
               ("gtk" ,gtk+-2)
               ("libcanberra" ,libcanberra)
               ("libnotify" ,libnotify)
+              ("libproxy" ,libproxy)
               ("openssl" ,openssl)
 
               ;; Bindings for add-on scripts.
@@ -239,17 +231,18 @@ identi.ca and status.net).")
               ("perl-xml-parser" ,perl-xml-parser)
               ("python-2" ,python-2)))
     (arguments
-     `(#:make-flags '("UPDATE_ICON_CACHE=true") ; Disable icon theme generation
-       #:phases
+     `(#:phases
        (modify-phases %standard-phases
-         ;; Release 2.12.4 wasn't properly bootstrapped.  Later ones might be!
-         (add-after 'unpack 'bootstrap
-           (lambda* (#:key inputs #:allow-other-keys)
-             ;; This file is still required for autoreconf.
-             (copy-file (string-append (assoc-ref inputs "intltool")
-                                       "/share/intltool/Makefile.in.in")
-                        "po/Makefile.in.in")
-             (zero? (system* "autoreconf" "-fiv")))))))
+         (add-after 'unpack 'skip-desktop-database-updates
+           (lambda _
+             ;; The build scripts update icon and desktop file databases when
+             ;; DESTDIR is not set.  We can't update these databases from
+             ;; within the build chroot, but we also don't set DESTDIR.  So, we
+             ;; just skip this code.
+             (substitute* "meson_post_install.py"
+               (("if 'DESTDIR' not in os.environ:")
+                 "if False:"))
+             #t)))))
     (synopsis "Graphical IRC Client")
     (description
      "HexChat lets you connect to multiple IRC networks at once.  The main
-- 
2.17.0