Patchwork gnu: perl-net-psyc

login
register
mail settings
Submitter non such
Date June 15, 2016, 4:39 p.m.
Message ID <20160615163930.GA6612@khazad-dum>
Download mbox | patch
Permalink /patch/13113/
State New
Headers show

Comments

non such - June 15, 2016, 4:39 p.m.
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(+)

--
2.8.4


--
♥Ⓐ ng0
For non-prism friendly talk find me on
psyced.org / loupsycedyglgamf.onion
non such - June 15, 2016, 4:41 p.m.
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
Eric Bavier - June 15, 2016, 9:53 p.m.
On Wed, 15 Jun 2016 16:41:48 +0000
ng0 <ng0@we.make.ritual.n0.is> wrote:

> 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

Is it not possible to use the zip at
http://perlpsyc.psyc.eu/perlpsyc-1.0.zip ?  If there are bug fixes in
the git repo that we cannot do without, could you give a brief summary
in a comment?

> > +  (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

Could you add a comment saying that the source distribution's
INSTALL.txt says to roll-your-own installation?

> > +             (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"))

I doesn't seem clear to me that the contents of "contrib" are covered
under the same license as the rest of the package.

> > +                 (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

Should this XXX be removed?

> > +                 #t))))))
> > +      (description
> > +       "Net::PSYC with support for TCP, UDP, Event.pm, IO::Select and
> > +Gtk2 event loops. This package includes 12 applications and

Perhaps "@code{Net::PSYC} is a Perl implementation of the PSYC protocol
with support for ..."?

> > +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))))))

LICENSE.txt says "GPL-2", and I cannot see an "or later" in the source
files themselves.  In fact, the few files I see that mention a license
have just the "under the same terms as perl itself" verbiage.  So
maybe leave out the "gpl2+"?

Could you send an updated patch?

Thanks,
`~Eric
non such - June 16, 2016, 6:18 a.m.
On 2016-06-15(04:53:34PM-0500), Eric Bavier wrote:
> On Wed, 15 Jun 2016 16:41:48 +0000
> ng0 <ng0@we.make.ritual.n0.is> wrote:
>
> > 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
>
> Is it not possible to use the zip at
> http://perlpsyc.psyc.eu/perlpsyc-1.0.zip ?  If there are bug fixes in
> the git repo that we cannot do without, could you give a brief summary
> in a comment?

As far as I know there were minor bugfixes done I did not want to
do on my own plus the author dislikes snapshots.. Very rarely releases
happens, and those are equal to certain commits.
In the ebuild, versions are equal to commit numbers.

What happened since 1.0:

commit 4176f5236e73e99391c0877152d5596ab0a9b154
    psycion: allow /usr/lib path
commit 5134eaa2a751db479c4d9ee4eb14defd0df4810a
    NEWS.txt
commit bd63f70975091a2614cc0f303c7b0ed0d82ed372
    The formalities of a 1.0 release.
commit f604153f48dd935df67686469b7d9bb3eac1704e
    +
commit caeb32761cb41d5f0bd63f89d82d973a38766f6c
    +
commit d8c60d0296351d2d59784f655c85c83239647dbe
    This is perlpsyc 1.0

Mostly I assume it was because the paths were old. I will get a reply later today.

>
> > > +  (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
>
> Could you add a comment saying that the source distribution's
> INSTALL.txt says to roll-your-own installation?

Okay.

>
> > > +             (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"))
>
> I doesn't seem clear to me that the contents of "contrib" are covered
> under the same license as the rest of the package.

See below.

>
> > > +                 (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
>
> Should this XXX be removed?

No, as those are not covered by the wrapper but possibly need a wrapper,
but are not the primary focus. It is optional to fix them.

>
> > > +                 #t))))))
> > > +      (description
> > > +       "Net::PSYC with support for TCP, UDP, Event.pm, IO::Select and
> > > +Gtk2 event loops. This package includes 12 applications and
>
> Perhaps "@code{Net::PSYC} is a Perl implementation of the PSYC protocol
> with support for ..."?
>
> > > +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))))))
>
> LICENSE.txt says "GPL-2", and I cannot see an "or later" in the source
> files themselves.  In fact, the few files I see that mention a license
> have just the "under the same terms as perl itself" verbiage.  So
> maybe leave out the "gpl2+"?
>
> Could you send an updated patch?
>
> Thanks,
> `~Eric

I asked lynX about this and got the reply that it is GPL-2+ and Artistic.

I will point him to this post and ask for direct replies.

--
♥Ⓐ ng0
For non-prism friendly talk find me on
psyced.org / loupsycedyglgamf.onion
non such - June 16, 2016, 6:31 a.m.
On 2016-06-15(04:53:34-0500), Eric Bavier wrote:
> On Wed, 15 Jun 2016 16:41:48 +0000
> ng0 <ng0@we.make.ritual.n0.is> wrote:
>
> > 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
>
> Is it not possible to use the zip at
> http://perlpsyc.psyc.eu/perlpsyc-1.0.zip ?  If there are bug fixes in
> the git repo that we cannot do without, could you give a brief summary
> in a comment?

Adding to the previous email,
basically commits happen often (today one of the contribs was updated)
and release snapshot happen very rarely, as 1.0 was the first in very
long time (years).

> > > +  (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
>
> Could you add a comment saying that the source distribution's
> INSTALL.txt says to roll-your-own installation?
>
> > > +             (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"))
>
> I doesn't seem clear to me that the contents of "contrib" are covered
> under the same license as the rest of the package.
>
> > > +                 (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
>
> Should this XXX be removed?
>
> > > +                 #t))))))
> > > +      (description
> > > +       "Net::PSYC with support for TCP, UDP, Event.pm, IO::Select and
> > > +Gtk2 event loops. This package includes 12 applications and
>
> Perhaps "@code{Net::PSYC} is a Perl implementation of the PSYC protocol
> with support for ..."?
>
> > > +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))))))
>
> LICENSE.txt says "GPL-2", and I cannot see an "or later" in the source
> files themselves.  In fact, the few files I see that mention a license
> have just the "under the same terms as perl itself" verbiage.  So
> maybe leave out the "gpl2+"?
>
> Could you send an updated patch?
>
> Thanks,
> `~Eric

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

Patch

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