unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] gnu: Add epic5.
@ 2016-10-09 18:44 ng0
  2016-10-09 18:44 ` ng0
  0 siblings, 1 reply; 10+ messages in thread
From: ng0 @ 2016-10-09 18:44 UTC (permalink / raw)
  To: guix-devel

[PATCH] gnu: Add epic5.

Changes addressed:
 - epic5 license -> non-copyleft (squashed and removed the license.scm change)
 - moved some comments around, added one regarding libarchive
 - rebased on latest master

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH] gnu: Add epic5.
  2016-10-09 18:44 [PATCH] gnu: Add epic5 ng0
@ 2016-10-09 18:44 ` ng0
  2016-10-09 18:49   ` ng0
  2016-10-09 19:48   ` Leo Famulari
  0 siblings, 2 replies; 10+ messages in thread
From: ng0 @ 2016-10-09 18:44 UTC (permalink / raw)
  To: guix-devel; +Cc: ng0

From: ng0 <ng0@we.make.ritual.n0.is>

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

diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index db398de..f61afb4 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -32,9 +32,11 @@
   #:use-module (gnu packages autogen)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages backup)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages cyrus-sasl)
+  #:use-module (gnu packages databases)
   #:use-module (gnu packages file)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
@@ -47,6 +49,7 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages ruby)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages tls)
@@ -329,3 +332,83 @@ and extensible with plugins and scripts.")
 embedded web server, translations (fr, fi, it, hu, de), and many
 other enhancements and bug fixes.")
     (license license:bsd-3)))
+
+(define-public epic5
+  (package
+    (name "epic5")
+    (version "2.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://ftp.epicsol.org/pub/epic/EPIC5-PRODUCTION/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1ap73d5f4vccxjaaq249zh981z85106vvqmxfm4plvy76b40y9jm"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:test-target "test"
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-perl
+           (lambda _
+             (substitute* "regress/crash-irc"
+               (("perl5") (which "perl")))))
+         (add-after 'unpack 'patch-bsdinstall
+           ;; If we just remove /bin/ some part of the bsdinstall breaks.
+           ;; Furthermore bsdinstalls has a reference to /etc/chmod here, which
+           ;; means if we leave /etc/ in, install fails.
+           (lambda _
+             (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")
+               (("/etc/") ""))))
+         (replace 'configure
+           (lambda* (#:key outputs #:allow-other-keys)
+             ;; The tarball uses a very old version of autconf. It doesn't
+             ;; understand extra flags like `--enable-fast-install', so
+             ;; we need to invoke it with just what it understands.
+             (let ((out (assoc-ref outputs "out")))
+               ;; 'configure' doesn't understand '--host'.
+               ,@(if (%current-target-system)
+                     `((setenv "CHOST" ,(%current-target-system)))
+                     '())
+               (setenv "CONFIG_SHELL" (which "bash"))
+               (setenv "SHELL" (which "bash"))
+               (zero?
+                (system* "./configure"
+                         (string-append "--prefix=" out)
+                         "--with-ipv6" "--with-libarchive"
+                         "--with-ssl"
+                         (string-append "--with-tcl="
+                                        (assoc-ref %build-inputs "tcl")
+                                        "/lib/tclConfig.sh")))))))))
+    (inputs
+     `(("openssl" ,openssl)
+       ("ncurses" ,ncurses)
+       ("libarchive" ,libarchive) ; CHANGELOG: "Support for loading zip files"
+       ("perl" ,perl)
+       ("tcl" ,tcl)
+       ("ruby" ,ruby)
+       ("gdbm" ,gdbm)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "http://epicsol.org")
+    (synopsis "Epic5 IRC Client")
+    (description
+     "EPIC is a IRC client that has been under active development for 20+ years
+in 5 generations.  It is stable and mature, and offers an excellent ircII
+interface for those of us who are accustomed to the ircII way of doing things.")
+    (license (list license:bsd-3
+                   license:isc
+                   license:bsd-4
+                   ;; The epic license is equal to the standard three-clause
+                   ;; BSD license except that you are not permitted to remove the
+                   ;; "Redistribution is permitted" clause of the license if you
+                   ;; distribute binaries.
+                   license:non-copyleft "http://epicsol.org/copyright"))))
-- 
2.10.1

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH] gnu: Add epic5.
  2016-10-09 18:44 ` ng0
@ 2016-10-09 18:49   ` ng0
  2016-10-09 19:48   ` Leo Famulari
  1 sibling, 0 replies; 10+ messages in thread
From: ng0 @ 2016-10-09 18:49 UTC (permalink / raw)
  To: guix-devel

ng0 <ngillmann@runbox.com> writes:

> From: ng0 <ng0@we.make.ritual.n0.is>
>
> * gnu/packages/irc.scm (epic5): New variable.
> ---
>  gnu/packages/irc.scm | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 83 insertions(+)
>
> diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
> index db398de..f61afb4 100644
> --- a/gnu/packages/irc.scm
> +++ b/gnu/packages/irc.scm
> @@ -32,9 +32,11 @@
>    #:use-module (gnu packages autogen)
>    #:use-module (gnu packages autotools)
>    #:use-module (gnu packages base)
> +  #:use-module (gnu packages backup)
>    #:use-module (gnu packages compression)
>    #:use-module (gnu packages curl)
>    #:use-module (gnu packages cyrus-sasl)
> +  #:use-module (gnu packages databases)
>    #:use-module (gnu packages file)
>    #:use-module (gnu packages gettext)
>    #:use-module (gnu packages glib)
> @@ -47,6 +49,7 @@
>    #:use-module (gnu packages perl)
>    #:use-module (gnu packages pkg-config)
>    #:use-module (gnu packages python)
> +  #:use-module (gnu packages ruby)
>    #:use-module (gnu packages qt)
>    #:use-module (gnu packages tcl)
>    #:use-module (gnu packages tls)
> @@ -329,3 +332,83 @@ and extensible with plugins and scripts.")
>  embedded web server, translations (fr, fi, it, hu, de), and many
>  other enhancements and bug fixes.")
>      (license license:bsd-3)))
> +
> +(define-public epic5
> +  (package
> +    (name "epic5")
> +    (version "2.0.1")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "http://ftp.epicsol.org/pub/epic/EPIC5-PRODUCTION/"
> +                                  name "-" version ".tar.xz"))
> +              (sha256
> +               (base32
> +                "1ap73d5f4vccxjaaq249zh981z85106vvqmxfm4plvy76b40y9jm"))))
> +    (build-system gnu-build-system)
> +    (arguments
> +     `(#:test-target "test"
> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-after 'unpack 'patch-perl
> +           (lambda _
> +             (substitute* "regress/crash-irc"
> +               (("perl5") (which "perl")))))
> +         (add-after 'unpack 'patch-bsdinstall
> +           ;; If we just remove /bin/ some part of the bsdinstall breaks.
> +           ;; Furthermore bsdinstalls has a reference to /etc/chmod here, which
                                       ^___ typo, please correct this to
                                       bsdinstall, without the "s" which
                                       was correct only when the leading
                                       "Furthermore" wasn't there.
> +           ;; means if we leave /etc/ in, install fails.
> +           (lambda _
> +             (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")
> +               (("/etc/") ""))))
> +         (replace 'configure
> +           (lambda* (#:key outputs #:allow-other-keys)
> +             ;; The tarball uses a very old version of autconf. It doesn't
> +             ;; understand extra flags like `--enable-fast-install', so
> +             ;; we need to invoke it with just what it understands.
> +             (let ((out (assoc-ref outputs "out")))
> +               ;; 'configure' doesn't understand '--host'.
> +               ,@(if (%current-target-system)
> +                     `((setenv "CHOST" ,(%current-target-system)))
> +                     '())
> +               (setenv "CONFIG_SHELL" (which "bash"))
> +               (setenv "SHELL" (which "bash"))
> +               (zero?
> +                (system* "./configure"
> +                         (string-append "--prefix=" out)
> +                         "--with-ipv6" "--with-libarchive"
> +                         "--with-ssl"
> +                         (string-append "--with-tcl="
> +                                        (assoc-ref %build-inputs "tcl")
> +                                        "/lib/tclConfig.sh")))))))))
> +    (inputs
> +     `(("openssl" ,openssl)
> +       ("ncurses" ,ncurses)
> +       ("libarchive" ,libarchive) ; CHANGELOG: "Support for loading zip files"
> +       ("perl" ,perl)
> +       ("tcl" ,tcl)
> +       ("ruby" ,ruby)
> +       ("gdbm" ,gdbm)))
> +    (native-inputs
> +     `(("pkg-config" ,pkg-config)))
> +    (home-page "http://epicsol.org")
> +    (synopsis "Epic5 IRC Client")
> +    (description
> +     "EPIC is a IRC client that has been under active development for 20+ years
> +in 5 generations.  It is stable and mature, and offers an excellent ircII
> +interface for those of us who are accustomed to the ircII way of doing things.")
> +    (license (list license:bsd-3
> +                   license:isc
> +                   license:bsd-4
> +                   ;; The epic license is equal to the standard three-clause
> +                   ;; BSD license except that you are not permitted to remove the
> +                   ;; "Redistribution is permitted" clause of the license if you
> +                   ;; distribute binaries.
> +                   license:non-copyleft "http://epicsol.org/copyright"))))
> -- 
> 2.10.1
>
>

-- 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] gnu: Add epic5.
  2016-10-09 18:44 ` ng0
  2016-10-09 18:49   ` ng0
@ 2016-10-09 19:48   ` Leo Famulari
  2016-10-09 20:51     ` ng0
  1 sibling, 1 reply; 10+ messages in thread
From: Leo Famulari @ 2016-10-09 19:48 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel, ng0

On Sun, Oct 09, 2016 at 06:44:11PM +0000, ng0 wrote:
> From: ng0 <ng0@we.make.ritual.n0.is>
> 
> * gnu/packages/irc.scm (epic5): New variable.

Thanks for the updated patch.

Sorry I didn't notice this before...

> +    (inputs
> +     `(("openssl" ,openssl)
> +       ("ncurses" ,ncurses)
> +       ("libarchive" ,libarchive) ; CHANGELOG: "Support for loading zip files"
> +       ("perl" ,perl)
> +       ("tcl" ,tcl)
> +       ("ruby" ,ruby)
> +       ("gdbm" ,gdbm)))

Using `guix gc --references $(./pre-inst-env guix build epic5)`, I
noticed that there is no reference to gdbm.

So, if you install this epic5 package and then do `guix gc`, you will
lose gdbm and I assume that epic5 will stop working.

We need to figure out a way to make sure epic5 keeps that reference.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] gnu: Add epic5.
  2016-10-09 19:48   ` Leo Famulari
@ 2016-10-09 20:51     ` ng0
  2016-10-10 22:03       ` ng0
  0 siblings, 1 reply; 10+ messages in thread
From: ng0 @ 2016-10-09 20:51 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel

Leo Famulari <leo@famulari.name> writes:

> On Sun, Oct 09, 2016 at 06:44:11PM +0000, ng0 wrote:
>> From: ng0 <ng0@we.make.ritual.n0.is>
>> 
>> * gnu/packages/irc.scm (epic5): New variable.
>
> Thanks for the updated patch.
>
> Sorry I didn't notice this before...
>
>> +    (inputs
>> +     `(("openssl" ,openssl)
>> +       ("ncurses" ,ncurses)
>> +       ("libarchive" ,libarchive) ; CHANGELOG: "Support for loading zip files"
>> +       ("perl" ,perl)
>> +       ("tcl" ,tcl)
>> +       ("ruby" ,ruby)
>> +       ("gdbm" ,gdbm)))
>
> Using `guix gc --references $(./pre-inst-env guix build epic5)`, I
> noticed that there is no reference to gdbm.
>
> So, if you install this epic5 package and then do `guix gc`, you will
> lose gdbm and I assume that epic5 will stop working.
>
> We need to figure out a way to make sure epic5 keeps that reference.


Hm. Maybe there's an config option I can pass, if you have time to look
at it go ahead, I'll be slow and update it some time this month.
I keep poking at system services and trying to finish those, easier said
than done in some cases it turns out.

-- 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] gnu: Add epic5.
  2016-10-09 20:51     ` ng0
@ 2016-10-10 22:03       ` ng0
  2016-12-06 19:35         ` [PATCH] v3 .. Add epic5 irc client ng0
  0 siblings, 1 reply; 10+ messages in thread
From: ng0 @ 2016-10-10 22:03 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel

ng0 <ngillmann@runbox.com> writes:

> Leo Famulari <leo@famulari.name> writes:
>
>> On Sun, Oct 09, 2016 at 06:44:11PM +0000, ng0 wrote:
>>> From: ng0 <ng0@we.make.ritual.n0.is>
>>> 
>>> * gnu/packages/irc.scm (epic5): New variable.
>>
>> Thanks for the updated patch.
>>
>> Sorry I didn't notice this before...
>>
>>> +    (inputs
>>> +     `(("openssl" ,openssl)
>>> +       ("ncurses" ,ncurses)
>>> +       ("libarchive" ,libarchive) ; CHANGELOG: "Support for loading zip files"
>>> +       ("perl" ,perl)
>>> +       ("tcl" ,tcl)
>>> +       ("ruby" ,ruby)
>>> +       ("gdbm" ,gdbm)))
>>
>> Using `guix gc --references $(./pre-inst-env guix build epic5)`, I
>> noticed that there is no reference to gdbm.
>>
>> So, if you install this epic5 package and then do `guix gc`, you will
>> lose gdbm and I assume that epic5 will stop working.
>>
>> We need to figure out a way to make sure epic5 keeps that reference.
>
>
> Hm. Maybe there's an config option I can pass, if you have time to look
> at it go ahead, I'll be slow and update it some time this month.
> I keep poking at system services and trying to finish those, easier said
> than done in some cases it turns out.

This can not be related, but I will set the CFLAGS too with the next
version of the patch:

  o  You must not try to compile epic with "gcc -O2" because -O2 will
     generate bad code that leads to random crashes.  When you use -O2,
     gcc assumes the source is conformant to ISO C99's requirements about
     alias-safety, and EPIC, being a C90 program, does not conform, so the
     result is undefined behavior (which means it crashes randomly.)  This
     is not a bug in EPIC.  You must only compile epic with -O.



egrep -nr "gdbm":

*** News 10/30/2005 -- New function, $dbmctl() [hash table support]
        *** Notice *** This function uses a custom implementation of SDBM.
        The file format it generates should be compatable with $perl() but
        is not compatable with ndbm or gdbm.

        The $dbmctl() function is an interface to the unix DBM API:
            $dbmctl(OPEN type filename)
                Open a DBM file for read and write access.
            $dbmctl(OPEN_READ type filename)
                Open a DBM file for read-only access.
            $dbmctl(CLOSE refnum)
                Close a previously opened DBM file
            $dbmctl(ADD refnum "key" data)
                Insert a new key/data pair.  Fail if key already exists.
            $dbmctl(CHANGE refnum "key" data)
                If key already exists, change its data.  If it doesn't exist, 
                add it.
            $dbmctl(DELETE refnum "key")
                Remove a key/data pair
            $dbmctl(READ refnum "key")
                Return the data for a key.
            $dbmctl(NEXT_KEY refnum start-over)
                Return the next key in the database
            $dbmctl(ALL_KEYS refnum)
                Return all keys -- could be huge! could take a long time!
            $dbmctl(ERROR refnum)
                Return the errno for the last error.

        "Type" must always be "STD" for now.  Reserved for future expansion.
        "Filename" must be a filename that doesn't include the ".db" extension!
                This is a requirement of the DBM api, and not an epic thing.
        "Refnum" is the integer value returned by OPEN or OPEN_READ
        "Key" is a hash table key value
        "Data" is a hash table data value
        "Start-over" is 1 if you want to fetch the first key in the table, and
                is 0 if you want to fetch the next key.  You must call this
                with 1 before you call it with 0, according to the API.
        ALL_KEYS does a "start-over" and you need to do another "start-over"
                after using it.



while INSTALL says:


  o  On Linux, you _*-MUST-*_ install your system's "ncurses-devel" package
     or you won't be able to build epic.  You should install your system's
     "gdbm-devel" package or you won't have access to $dbmctl() (hash tables)


What are your thoughts? the egrep result is just this:

ng0@shadowwalker ~/re-src/epic5-2.0.1$ egrep -nr "gdbm"
UPDATES:2660:   is not compatable with ndbm or gdbm.
INSTALL:31:     "gdbm-devel" package or you won't have access to $dbmctl() (hash tables)


drop gdbm support? patch it in? make it propagated-input?

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH] v3 .. Add epic5 irc client
  2016-10-10 22:03       ` ng0
@ 2016-12-06 19:35         ` ng0
  2016-12-06 19:35           ` [PATCH] gnu: Add epic5 ng0
  0 siblings, 1 reply; 10+ messages in thread
From: ng0 @ 2016-12-06 19:35 UTC (permalink / raw)
  To: guix-devel

Changes since the last patch (https://lists.gnu.org/archive/html/guix-devel/2016-10/msg00549.html):

* removed gdbm
* changed openssl to libressl (inline commented why)
* explicitly pointed the config to the tls implementation
* checked multiple networks for functionality, all work but...
... tls does not work when round robin of irc networks kick in.
It might be a bug with epic5 -> ircd being used. For me this is functional,
and I will get in contact with upstream developers (if they aren't using
something like github or gitlab these days) to investigate this problem.
epic5 is known to be difficult to configure, so I would not rule out an
error on my side (not the package) in my client config.

[PATCH] gnu: Add epic5.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH] gnu: Add epic5.
  2016-12-06 19:35         ` [PATCH] v3 .. Add epic5 irc client ng0
@ 2016-12-06 19:35           ` ng0
  2016-12-08 20:38             ` Efraim Flashner
  0 siblings, 1 reply; 10+ messages in thread
From: ng0 @ 2016-12-06 19:35 UTC (permalink / raw)
  To: guix-devel; +Cc: ng0

From: ng0 <ng0@we.make.ritual.n0.is>

* gnu/packages/irc.scm (epic5): New variable.
---
 gnu/packages/irc.scm | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 90 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index 3b63c899e..74124cf86 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2014 Kevin Lemonnier <lemonnierk@ulrar.net>
 ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
+;;; Copyright © 2016 ng0 <ng0@libertad.pw>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -32,9 +32,11 @@
   #:use-module (gnu packages autogen)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages backup)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages cyrus-sasl)
+  #:use-module (gnu packages databases)
   #:use-module (gnu packages file)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
@@ -47,6 +49,7 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages ruby)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages tls)
@@ -329,3 +332,89 @@ and extensible with plugins and scripts.")
 embedded web server, translations (fr, fi, it, hu, de), and many
 other enhancements and bug fixes.")
     (license license:bsd-3)))
+
+(define-public epic5
+  (package
+    (name "epic5")
+    (version "2.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://ftp.epicsol.org/pub/epic/EPIC5-PRODUCTION/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1ap73d5f4vccxjaaq249zh981z85106vvqmxfm4plvy76b40y9jm"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:test-target "test"
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-perl
+           (lambda _
+             (substitute* "regress/crash-irc"
+               (("perl5") (which "perl")))))
+         (add-after 'unpack 'patch-bsdinstall
+           ;; If we just remove /bin/ some part of the bsdinstall breaks.
+           ;; Furthermore bsdinstalls has a reference to /etc/chmod here, which
+           ;; means if we leave /etc/ in, install fails.
+           (lambda _
+             (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")
+               (("/etc/") ""))))
+         (replace 'configure
+           (lambda* (#:key outputs #:allow-other-keys)
+             ;; The tarball uses a very old version of autconf. It does not
+             ;; understand extra flags like `--enable-fast-install', so
+             ;; we need to invoke it with just what it understands.
+             (let ((out (assoc-ref outputs "out")))
+               ;; 'configure' doesn't understand '--host'.
+               ,@(if (%current-target-system)
+                     `((setenv "CHOST" ,(%current-target-system)))
+                     '())
+               (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")))))))))
+    (inputs
+     `(("libressl" ,libressl)
+       ("ncurses" ,ncurses)
+       ("libarchive" ,libarchive) ; CHANGELOG: "Support for loading zip files"
+       ("perl" ,perl)
+       ("tcl" ,tcl)
+       ("ruby" ,ruby)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "http://epicsol.org")
+    (synopsis "Epic5 IRC Client")
+    (description
+     "EPIC is a IRC client that has been under active development for
+over 20 years.  It is stable and mature, and offers an excellent ircII
+interface for those who are accustomed to the ircII way of doing things.")
+    (license (list license:bsd-3
+                   license:isc
+                   license:bsd-4
+                   ;; The epic license is equal to the standard three-clause
+                   ;; BSD license except that you are not permitted to remove the
+                   ;; "Redistribution is permitted" clause of the license if you
+                   ;; distribute binaries.
+                   license:non-copyleft "http://epicsol.org/copyright"))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH] gnu: Add epic5.
  2016-12-06 19:35           ` [PATCH] gnu: Add epic5 ng0
@ 2016-12-08 20:38             ` Efraim Flashner
  2016-12-08 21:28               ` ng0
  0 siblings, 1 reply; 10+ messages in thread
From: Efraim Flashner @ 2016-12-08 20:38 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 6436 bytes --]

On Tue, Dec 06, 2016 at 07:35:38PM +0000, ng0 wrote:
> From: ng0 <ng0@we.make.ritual.n0.is>
> 
> * gnu/packages/irc.scm (epic5): New variable.
> ---
>  gnu/packages/irc.scm | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 90 insertions(+), 1 deletion(-)
> 
> diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
> index 3b63c899e..74124cf86 100644
> --- a/gnu/packages/irc.scm
> +++ b/gnu/packages/irc.scm
> @@ -3,7 +3,7 @@
>  ;;; Copyright © 2014 Kevin Lemonnier <lemonnierk@ulrar.net>
>  ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
>  ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
> -;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
> +;;; Copyright © 2016 ng0 <ng0@libertad.pw>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -32,9 +32,11 @@
>    #:use-module (gnu packages autogen)
>    #:use-module (gnu packages autotools)
>    #:use-module (gnu packages base)
> +  #:use-module (gnu packages backup)
>    #:use-module (gnu packages compression)
>    #:use-module (gnu packages curl)
>    #:use-module (gnu packages cyrus-sasl)
> +  #:use-module (gnu packages databases)
>    #:use-module (gnu packages file)
>    #:use-module (gnu packages gettext)
>    #:use-module (gnu packages glib)
> @@ -47,6 +49,7 @@
>    #:use-module (gnu packages perl)
>    #:use-module (gnu packages pkg-config)
>    #:use-module (gnu packages python)
> +  #:use-module (gnu packages ruby)
>    #:use-module (gnu packages qt)
>    #:use-module (gnu packages tcl)
>    #:use-module (gnu packages tls)
> @@ -329,3 +332,89 @@ and extensible with plugins and scripts.")
>  embedded web server, translations (fr, fi, it, hu, de), and many
>  other enhancements and bug fixes.")
>      (license license:bsd-3)))
> +
> +(define-public epic5
> +  (package
> +    (name "epic5")
> +    (version "2.0.1")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "http://ftp.epicsol.org/pub/epic/EPIC5-PRODUCTION/"
> +                                  name "-" version ".tar.xz"))
> +              (sha256
> +               (base32
> +                "1ap73d5f4vccxjaaq249zh981z85106vvqmxfm4plvy76b40y9jm"))))
> +    (build-system gnu-build-system)
> +    (arguments
> +     `(#:test-target "test"
> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-after 'unpack 'patch-perl
> +           (lambda _
> +             (substitute* "regress/crash-irc"
> +               (("perl5") (which "perl")))))
> +         (add-after 'unpack 'patch-bsdinstall
> +           ;; If we just remove /bin/ some part of the bsdinstall breaks.
> +           ;; Furthermore bsdinstalls has a reference to /etc/chmod here, which
> +           ;; means if we leave /etc/ in, install fails.
> +           (lambda _
> +             (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")
> +               (("/etc/") ""))))
> +         (replace 'configure
> +           (lambda* (#:key outputs #:allow-other-keys)
> +             ;; The tarball uses a very old version of autconf. It does not
> +             ;; understand extra flags like `--enable-fast-install', so
> +             ;; we need to invoke it with just what it understands.
> +             (let ((out (assoc-ref outputs "out")))
> +               ;; 'configure' doesn't understand '--host'.
> +               ,@(if (%current-target-system)
> +                     `((setenv "CHOST" ,(%current-target-system)))
> +                     '())
> +               (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")))))))))
> +    (inputs
> +     `(("libressl" ,libressl)
> +       ("ncurses" ,ncurses)
> +       ("libarchive" ,libarchive) ; CHANGELOG: "Support for loading zip files"
> +       ("perl" ,perl)
> +       ("tcl" ,tcl)
> +       ("ruby" ,ruby)))
> +    (native-inputs
> +     `(("pkg-config" ,pkg-config)))
> +    (home-page "http://epicsol.org")
> +    (synopsis "Epic5 IRC Client")
> +    (description
> +     "EPIC is a IRC client that has been under active development for
> +over 20 years.  It is stable and mature, and offers an excellent ircII
> +interface for those who are accustomed to the ircII way of doing things.")
> +    (license (list license:bsd-3
> +                   license:isc
> +                   license:bsd-4
> +                   ;; The epic license is equal to the standard three-clause
> +                   ;; BSD license except that you are not permitted to remove the
> +                   ;; "Redistribution is permitted" clause of the license if you
> +                   ;; distribute binaries.
> +                   license:non-copyleft "http://epicsol.org/copyright"))))
> -- 
> 2.11.0
> 
> 

I made some minor changes to the substitutes* to return #t and pushed

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] gnu: Add epic5.
  2016-12-08 20:38             ` Efraim Flashner
@ 2016-12-08 21:28               ` ng0
  0 siblings, 0 replies; 10+ messages in thread
From: ng0 @ 2016-12-08 21:28 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: guix-devel

Efraim Flashner <efraim@flashner.co.il> writes:

> On Tue, Dec 06, 2016 at 07:35:38PM +0000, ng0 wrote:
>> From: ng0 <ng0@we.make.ritual.n0.is>
>> 
>> * gnu/packages/irc.scm (epic5): New variable.
>> ---
>>  gnu/packages/irc.scm | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++-
>>  1 file changed, 90 insertions(+), 1 deletion(-)
>> 
>> diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
>> index 3b63c899e..74124cf86 100644
>> --- a/gnu/packages/irc.scm
>> +++ b/gnu/packages/irc.scm
>> @@ -3,7 +3,7 @@
>>  ;;; Copyright © 2014 Kevin Lemonnier <lemonnierk@ulrar.net>
>>  ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
>>  ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
>> -;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
>> +;;; Copyright © 2016 ng0 <ng0@libertad.pw>
>>  ;;;
>>  ;;; This file is part of GNU Guix.
>>  ;;;
>> @@ -32,9 +32,11 @@
>>    #:use-module (gnu packages autogen)
>>    #:use-module (gnu packages autotools)
>>    #:use-module (gnu packages base)
>> +  #:use-module (gnu packages backup)
>>    #:use-module (gnu packages compression)
>>    #:use-module (gnu packages curl)
>>    #:use-module (gnu packages cyrus-sasl)
>> +  #:use-module (gnu packages databases)
>>    #:use-module (gnu packages file)
>>    #:use-module (gnu packages gettext)
>>    #:use-module (gnu packages glib)
>> @@ -47,6 +49,7 @@
>>    #:use-module (gnu packages perl)
>>    #:use-module (gnu packages pkg-config)
>>    #:use-module (gnu packages python)
>> +  #:use-module (gnu packages ruby)
>>    #:use-module (gnu packages qt)
>>    #:use-module (gnu packages tcl)
>>    #:use-module (gnu packages tls)
>> @@ -329,3 +332,89 @@ and extensible with plugins and scripts.")
>>  embedded web server, translations (fr, fi, it, hu, de), and many
>>  other enhancements and bug fixes.")
>>      (license license:bsd-3)))
>> +
>> +(define-public epic5
>> +  (package
>> +    (name "epic5")
>> +    (version "2.0.1")
>> +    (source (origin
>> +              (method url-fetch)
>> +              (uri (string-append "http://ftp.epicsol.org/pub/epic/EPIC5-PRODUCTION/"
>> +                                  name "-" version ".tar.xz"))
>> +              (sha256
>> +               (base32
>> +                "1ap73d5f4vccxjaaq249zh981z85106vvqmxfm4plvy76b40y9jm"))))
>> +    (build-system gnu-build-system)
>> +    (arguments
>> +     `(#:test-target "test"
>> +       #:phases
>> +       (modify-phases %standard-phases
>> +         (add-after 'unpack 'patch-perl
>> +           (lambda _
>> +             (substitute* "regress/crash-irc"
>> +               (("perl5") (which "perl")))))
>> +         (add-after 'unpack 'patch-bsdinstall
>> +           ;; If we just remove /bin/ some part of the bsdinstall breaks.
>> +           ;; Furthermore bsdinstalls has a reference to /etc/chmod here, which
>> +           ;; means if we leave /etc/ in, install fails.
>> +           (lambda _
>> +             (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")
>> +               (("/etc/") ""))))
>> +         (replace 'configure
>> +           (lambda* (#:key outputs #:allow-other-keys)
>> +             ;; The tarball uses a very old version of autconf. It does not
>> +             ;; understand extra flags like `--enable-fast-install', so
>> +             ;; we need to invoke it with just what it understands.
>> +             (let ((out (assoc-ref outputs "out")))
>> +               ;; 'configure' doesn't understand '--host'.
>> +               ,@(if (%current-target-system)
>> +                     `((setenv "CHOST" ,(%current-target-system)))
>> +                     '())
>> +               (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")))))))))
>> +    (inputs
>> +     `(("libressl" ,libressl)
>> +       ("ncurses" ,ncurses)
>> +       ("libarchive" ,libarchive) ; CHANGELOG: "Support for loading zip files"
>> +       ("perl" ,perl)
>> +       ("tcl" ,tcl)
>> +       ("ruby" ,ruby)))
>> +    (native-inputs
>> +     `(("pkg-config" ,pkg-config)))
>> +    (home-page "http://epicsol.org")
>> +    (synopsis "Epic5 IRC Client")
>> +    (description
>> +     "EPIC is a IRC client that has been under active development for
>> +over 20 years.  It is stable and mature, and offers an excellent ircII
>> +interface for those who are accustomed to the ircII way of doing things.")
>> +    (license (list license:bsd-3
>> +                   license:isc
>> +                   license:bsd-4
>> +                   ;; The epic license is equal to the standard three-clause
>> +                   ;; BSD license except that you are not permitted to remove the
>> +                   ;; "Redistribution is permitted" clause of the license if you
>> +                   ;; distribute binaries.
>> +                   license:non-copyleft "http://epicsol.org/copyright"))))
>> -- 
>> 2.11.0
>> 
>> 
>
> I made some minor changes to the substitutes* to return #t and pushed
>
> -- 
> Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
> GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
> Confidentiality cannot be guaranteed on emails sent or received unencrypted

Thanks! I wonder why it can't cope with round robin ircs (tls)
networks.. I have to try and get in contact with the upstream to
see if this is a common issue.

-- 
♥Ⓐ  ng0  | ng0.chaosnet.org

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2016-12-08 21:29 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-09 18:44 [PATCH] gnu: Add epic5 ng0
2016-10-09 18:44 ` ng0
2016-10-09 18:49   ` ng0
2016-10-09 19:48   ` Leo Famulari
2016-10-09 20:51     ` ng0
2016-10-10 22:03       ` ng0
2016-12-06 19:35         ` [PATCH] v3 .. Add epic5 irc client ng0
2016-12-06 19:35           ` [PATCH] gnu: Add epic5 ng0
2016-12-08 20:38             ` Efraim Flashner
2016-12-08 21:28               ` ng0

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).