guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] gnu: Add ircii.


From: ng0
Subject: Re: [PATCH] gnu: Add ircii.
Date: Tue, 02 Aug 2016 15:19:20 +0000

宋文武 <address@hidden> writes:

> Leo Famulari <address@hidden> writes:
>
>> On Mon, Aug 01, 2016 at 07:34:49PM +0000, ng0 wrote:
>>> * gnu/packages/irc.scm (ircii): New variable.
>>
>> Cool!
>>
>>> +             (snippet
>>> +              '(begin
>>> +                 (substitute* "bsdinstall"
>>> +                   (("/bin/strip") "strip")
>>> +                   (("/bin/cp") "cp")
>>> +                   (("/bin/chmod") "chmod")
>>> +                   (("/etc/chown") "chown")
>>> +                   (("/bin/chgrp") "chgrp")
>>> +                   (("/bin/mkdir") "mkdir")
>>> +                   (("/bin/rm") "rm")
>>> +                   (("/bin/mv") "mv"))))))
>>
>> Does anyone else think we should put this origin snippet in a build phase
>> instead? Or, should we leave it in the origin, where it will be applied
>> to the source code provided by `guix build --source ircii`?
> I think it should be in snippet.  The 'substitute*' doesn't introduce
> any guix specified modifitions, it removes the hardcoded paths.
>
>>
>>> +         (delete 'check))))
>>
>> Using '#:tests? #f' is preferred instead of deleting the check phase.
>>
>>> +    (inputs
>>> +     `(("libiconv" ,libiconv)
>>> +       ("ncurses" ,ncurses)
>>> +       ("openssl" ,openssl)))
>>
>> I noticed that the built package does refer to libiconv:
>>
>> ---
>> $ guix gc --references $(./pre-inst-env guix build ircii)
>> /gnu/store/0kml8g9fix69v00afv59ngf4lgfr1565-openssl-1.0.2h
>> /gnu/store/9maps38bsia0wcxm82h0v0p2dxyn8j35-ircii-20151120
>> /gnu/store/9nifwk709wajpyfwa0jzaa3p6mf10vxs-gcc-4.9.3-lib
>> /gnu/store/m9vxvhdj691bq1f85lpflvnhcvrdilih-glibc-2.23
>> /gnu/store/xl19qrfzga52vrvp4ncccwjlnrjqwj95-ncurses-6.0
>> /gnu/store/ykzwykkvr2c80rw4l1qh3mvfdkl7jibi-bash-4.3.42
>> ---
>>
>> But, libiconv is used:
>>
>> ---
>> $ strings /gnu/store/9maps38bsia0wcxm82h0v0p2dxyn8j35-ircii-20151120/bin/irc 
>> | grep iconv
>> iconv_close
>> iconv
>> iconv_open
>> iconv_open@@GLIBC_2.2.5
>> iconv@@GLIBC_2.2.5
>> iconv_close@@GLIBC_2.2.5
>> ---
>>
>> Perhaps libiconv should be propagated?
> The iconv functions are provided by glibc, libiconv is for systems that
> do not use glibc.  libiconv should be removed from inputs.

For future references:

As said on irc freenode.net, we might use libiconv if we run into
problems with other libcs later.

For now, I applied what you said, thanks.

From 51542c0897a8f01af1a0507f8e243c1dec72a9c7 Mon Sep 17 00:00:00 2001
From: ng0 <address@hidden>
Date: Mon, 1 Aug 2016 19:31:23 +0000
Subject: [PATCH] gnu: Add ircii.

* gnu/packages/irc.scm (ircii): New variable.
---
 gnu/packages/irc.scm | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index 03f014a..97f015b 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -194,3 +194,56 @@ with a keyboard, though it also supports mouse.  It is 
customizable
 and extensible with plugins and scripts.")
     (home-page "http://www.weechat.org/";)
     (license license:gpl3)))
+
+(define-public ircii
+  (package
+    (name "ircii")
+    (version "20151120")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "https://ircii.warped.com/";
+                                 name "-" version ".tar.gz"))
+             (sha256
+              (base32
+               "178dc279f5j894qvp96dzz7c0jpryqlcqw5g0dc9yaxg9kgw1lqm"))))
+     (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-bsdinstall-absolute-path-bins
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "bsdinstall"
+               (("/bin/strip") "strip")
+               (("/bin/cp") "cp")
+               (("/bin/chmod") "chmod")
+               (("/etc/chown") "chown")
+               (("/bin/chgrp") "chgrp")
+               (("/bin/mkdir") "mkdir")
+               (("/bin/rm") "rm")
+               (("/bin/mv") "mv"))))
+         (replace 'configure
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (ncurses (assoc-ref inputs "ncurses"))
+                   (openssl (assoc-ref inputs "openssl")))
+               (setenv "CONFIG_SHELL" (which "bash"))
+               (zero?
+                (system* "./configure"
+                         ;; TODO: find a socks4+5 lib with small size
+                         ;; (string-append "--with-socks5=" ghc-socks)
+                         (string-append "--prefix=" out)
+                         (string-append "--enable-ipv6")
+                         (string-append "--with-openssl=" openssl)
+                         (string-append "--with-emacs-meta-keys")))))))))
+    (inputs
+     `(("ncurses" ,ncurses)
+       ("openssl" ,openssl)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("perl" ,perl)))
+    (home-page "http://www.eterna.com.au/ircii/";)
+    (synopsis "Terminal-based IRC and ICB client")
+    (description
+     "ircII is a terminal based IRC and ICB client for UNIX systems.")
+    (license license:bsd-3)))
-- 
2.9.2

-- 
♥Ⓐ  ng0
Current Keys: https://we.make.ritual.n0.is/ng0.txt
For non-prism friendly talk find me on http://www.psyced.org

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]