guix-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] gnu: perl-net-psyc


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

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

> 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: signature.asc
Description: Digital signature


reply via email to

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