guix-devel
[Top][All Lists]
Advanced

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

[PATCH] gnu: Add epic5.


From: ng0
Subject: [PATCH] gnu: Add epic5.
Date: Sat, 24 Sep 2016 13:04:47 +0000

I tried to get ssl working via:
- patching include/config.h
- just export the variable which was in include/config.h without
  patching it.

but it seems like epic5 does something different which 'justworks™' in
ircii. epic5 is based on ircii.
If ssl is mandatory, I'll check their git repository and see if there
have been any commits recently fixing this.

From 04cd790b1b08fe9fe09dddd896db267c78640872 Mon Sep 17 00:00:00 2001
From: ng0 <address@hidden>
Date: Tue, 13 Sep 2016 23:45:21 +0000
Subject: [PATCH 1/2] licenses: Add epic.

* guix/licenses.scm (epic): New variable.
---
 guix/licenses.scm | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/guix/licenses.scm b/guix/licenses.scm
index 265f048..4abd539 100644
--- a/guix/licenses.scm
+++ b/guix/licenses.scm
@@ -40,6 +40,7 @@
             artistic2.0 clarified-artistic
             copyleft-next
             cpl1.0
+            epic
             epl1.0
             expat
             freetype
@@ -209,6 +210,14 @@ at URI, which may be a file:// URI pointing the package's 
tree."
            "http://directory.fsf.org/wiki/License:CPLv1.0";
            "https://www.gnu.org/licenses/license-list#CommonPublicLicense10";))
 
+;; 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.
+(define epic
+  (license "epic"
+           "http://epicsol.org/copyright";
+           #f))
+
 (define epl1.0
   (license "EPL 1.0"
            "http://directory.fsf.org/wiki/License:EPLv1.0";
-- 
2.10.0

From f61b13ef79a6f05ec358652fa428324d7b2858d9 Mon Sep 17 00:00:00 2001
From: ng0 <address@hidden>
Date: Tue, 13 Sep 2016 23:46:16 +0000
Subject: [PATCH 2/2] gnu: Add epic5.

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

diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index 786cfbc..a108b2a 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2014 Kevin Lemonnier <address@hidden>
 ;;; Copyright © 2015 Ludovic Courtès <address@hidden>
 ;;; Copyright © 2015, 2016 Efraim Flashner <address@hidden>
-;;; Copyright © 2016 ng0 <address@hidden>
+;;; Copyright © 2016 ng0 <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -31,9 +31,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)
@@ -46,6 +48,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))
@@ -291,3 +294,78 @@ and extensible with plugins and scripts.")
     (description
      "sic is a simple IRC client, even more minimalistic than ii.")
     (license license:expat)))
+
+(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
+           ;; We should include this in the build-system, bsdinstall is a 
standard.
+           ;; If we just remove /bin/ some part of the bsdinstall breaks.
+           (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)
+       ("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:epic
+                   license:bsd-3
+                   license:isc
+                   license:bsd-4))))
-- 
2.10.0

-- 
              ng0

Attachment: signature.asc
Description: PGP signature


reply via email to

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