unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] gnu: perl-net-psyc
@ 2016-06-15 16:39 ng0
  2016-06-15 16:41 ` ng0
  0 siblings, 1 reply; 5+ messages in thread
From: ng0 @ 2016-06-15 16:39 UTC (permalink / raw)
  To: guix-devel


[-- Attachment #1.1: Type: text/plain, Size: 5106 bytes --]

From 10eeb85733c67c4fdd5cd4df84457a565e45971e Mon Sep 17 00:00:00 2001
From: ng0 <ng0@we.make.ritual.n0.is>
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 <mhw@netris.org>
 ;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Coypright © 2016 ng0 <ng0@we.make.ritual.n0.is>
 ;;;
 ;;; 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 #1.2: 0001-gnu-Add-perl-net-psyc.patch --]
[-- Type: text/x-diff, Size: 5014 bytes --]

From 10eeb85733c67c4fdd5cd4df84457a565e45971e Mon Sep 17 00:00:00 2001
From: ng0 <ng0@we.make.ritual.n0.is>
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 <mhw@netris.org>
 ;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Coypright © 2016 ng0 <ng0@we.make.ritual.n0.is>
 ;;;
 ;;; 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


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

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

end of thread, other threads:[~2016-06-16  6:32 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-06-15 16:39 [PATCH] gnu: perl-net-psyc ng0
2016-06-15 16:41 ` ng0
2016-06-15 21:53   ` Eric Bavier
2016-06-16  6:18     ` ng0
2016-06-16  6:31     ` 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).