unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: ng0 <ng0@we.make.ritual.n0.is>
To: guix-devel@gnu.org
Subject: Re: [PATCH] gnu: perl-net-psyc
Date: Wed, 15 Jun 2016 16:41:48 +0000	[thread overview]
Message-ID: <20160615164148.GA6667@khazad-dum> (raw)
In-Reply-To: <20160615163930.GA6612@khazad-dum>

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

Optional dependencies incoming in the future, Perl Curses being the
first one.
They are optional and need to explanation as the binaries themselves
complaint (and give you motivation to package them ;) )


On 2016-06-15(04:39:30PM+0000), ng0 wrote:
> 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

> 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 #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

  reply	other threads:[~2016-06-15 16:42 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-15 16:39 [PATCH] gnu: perl-net-psyc ng0
2016-06-15 16:41 ` ng0 [this message]
2016-06-15 21:53   ` Eric Bavier
2016-06-16  6:18     ` ng0
2016-06-16  6:31     ` ng0

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160615164148.GA6667@khazad-dum \
    --to=ng0@we.make.ritual.n0.is \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).