guix-devel
[Top][All Lists]
Advanced

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

[PATCH] gnu: perl-net-psyc


From: ng0
Subject: [PATCH] gnu: perl-net-psyc
Date: Wed, 15 Jun 2016 16:39:30 +0000

From 10eeb85733c67c4fdd5cd4df84457a565e45971e Mon Sep 17 00:00:00 2001
From: ng0 <address@hidden>
Date: Wed, 15 Jun 2016 16:30:30 +0000
Subject: [PATCH] gnu: Add perl-net-psyc.

* gnu/packages/perl.scm (perl-net-psyc): New Variable.
---
 gnu/packages/perl.scm | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 71 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index e7e7967..8772d0a 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2016 Mark H Weaver <address@hidden>
 ;;; Copyright © 2016 Jochem Raat <address@hidden>
 ;;; Copyright © 2016 Efraim Flashner <address@hidden>
+;;; Coypright © 2016 ng0 <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -28,6 +29,7 @@
   #:use-module (gnu packages)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system perl))

@@ -3865,6 +3867,75 @@ cycle.  Functions called in the package itself will 
still be bound by their
 name, but they won't show up as methods on your class or instances.")
     (license (package-license perl))))

+;; highly optional dependencies: rxaudio (mp3 binary from 1996)
+;; opt. perl: MP3::List (psycmp3), Curses (psycion), pwd.pl
+;; (psyccmd), SGI::FAM module (psycfilemonitor); for full
+;; functionality package all except MP3::List.
+(define-public perl-net-psyc
+  (let ((commit "4176f5236e73e99391c0877152d5596ab0a9b154"))
+    (package
+      (name "perl-net-psyc")
+      (version (string-append "1.0" "-"
+                              (string-take commit 8)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "git://git.psyced.org/git/perlpsyc")
+                      (commit commit)))
+                (file-name (string-append name "-" version))
+                (sha256
+                 (base32
+                  "19msvr1kriqa6n8cnk8z96xd5i0v5cy2y52jsj08vaj79b4m7sph"))))
+      (build-system perl-build-system)
+      (arguments
+       `(#:phases
+         (modify-phases %standard-phases
+           (delete 'configure)
+           (delete 'build)
+           (replace 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (doc (string-append out "/share/doc/perl-net-psyc"))
+                      (libpsyc (string-append out "/lib/psyc/ion"))
+                      (libperl (string-append out "/lib/perl5/site_perl/"
+                                              ,(package-version perl)))
+                      (bin (string-append out "/bin")))
+                 (copy-recursively "lib/perl5" libperl)
+                 (copy-recursively "lib/psycion" libpsyc)
+                 (copy-recursively "bin" bin)
+                 (install-file "cgi/psycpager" (string-append doc "/cgi"))
+                 (copy-recursively "contrib" (string-append doc "/contrib"))
+                 (copy-recursively "hooks" (string-append doc "/hooks"))
+                 (copy-recursively "sdj" (string-append doc "/sdj"))
+                 (install-file "README.txt" doc)
+                 (install-file "TODO.txt" doc)
+                 #t)))
+           (add-after 'install 'wrap-programs
+             (lambda* (#:key outputs #:allow-other-keys)
+               ;; Make sure all executables in "bin" find the Perl modules
+               ;; provided by this package at runtime.
+               (let* ((out  (assoc-ref outputs "out"))
+                      (bin  (string-append out "/bin/"))
+                      (path (string-append out "/lib/perl5/site_perl")))
+                 (for-each (lambda (file)
+                             (wrap-program file
+                               `("PERL5LIB" ":" prefix (,path))))
+                           (find-files bin "\\.*$"))
+                 ;; XXX: hooks/dpa2psyc,examples/{recvtest,sendtest},
+                 ;; cgi/psycpager,contrib/{makenoise,keefchat
+                 ;; contrib/MovableTypeBlog/plugins/psyc.pl
+                 #t))))))
+      (description
+       "Net::PSYC with support for TCP, UDP, Event.pm, IO::Select and
+Gtk2 event loops. This package includes 12 applications and
+additional scripts: psycion, a @uref{http://about.psyc.eu, PSYC} chat client,
+remotor, a control console for @uref{https://torproject.org, tor} router, and 
many more.
+Further information is included in the package source and on the website.")
+      (synopsis "Perl implementation of PSYC protocol")
+      (home-page "http://perlpsyc.psyc.eu/";)
+      ;;dual licensed: gpl2+ Artistic
+      (license (list gpl2+ (package-license perl))))))
+
 (define-public perl-number-compare
   (package
     (name "perl-number-compare")
--
2.8.4


--
♥Ⓐ ng0
For non-prism friendly talk find me on
psyced.org / loupsycedyglgamf.onion

Attachment: 0001-gnu-Add-perl-net-psyc.patch
Description: Text Data

Attachment: signature.asc
Description: Digital signature


reply via email to

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