From mboxrd@z Thu Jan 1 00:00:00 1970 From: ng0 Subject: Re: [PATCH 1/2] gnu: Add perl-net-psyc. Date: Wed, 21 Sep 2016 10:34:15 +0000 Message-ID: <8737ktr17c.fsf@we.make.ritual.n0.is> References: <20160913113237.17434-1-ng0@we.make.ritual.n0.is> <20160913191644.GC5986@jasmine> <87twdjmw4y.fsf@we.make.ritual.n0.is> <87twdj8qqg.fsf@we.make.ritual.n0.is> <878tulr4qk.fsf@we.make.ritual.n0.is> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:54480) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bmerb-0005N5-7C for guix-devel@gnu.org; Wed, 21 Sep 2016 06:34:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bmerU-0004HE-PA for guix-devel@gnu.org; Wed, 21 Sep 2016 06:34:50 -0400 Received: from aibo.runbox.com ([91.220.196.211]:41561) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bmerU-0004FA-DU for guix-devel@gnu.org; Wed, 21 Sep 2016 06:34:44 -0400 In-Reply-To: <878tulr4qk.fsf@we.make.ritual.n0.is> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel@gnu.org --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain > I will resend this patch with the fail-safe mirror I just added on > sdf.org. This is okay with the others in group and very much welcomed. > The shasum file is signed by my rsa opengpg key which is also used by > some releases of Gnurl. Where the group means other developers hacking around psyced.org, secushare.org etc. I also changed my email address, which will make its way into .mailmap in a commit which happened in the "tinycm" patch series I am working on. --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline; filename=0001-gnu-Add-perl-net-psyc.patch Content-Transfer-Encoding: quoted-printable From=2033d8584709a74e20924743b2606158cacd5ed0c6 Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 13 Sep 2016 10:20:31 +0000 Subject: [PATCH 1/2] gnu: Add perl-net-psyc. * gnu/packages/psyc.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. =2D-- gnu/local.mk | 1 + gnu/packages/psyc.scm | 111 ++++++++++++++++++++++++++++++++++++++++++++++= ++++ 2 files changed, 112 insertions(+) create mode 100644 gnu/packages/psyc.scm diff --git a/gnu/local.mk b/gnu/local.mk index e2cf40d..2957e16 100644 =2D-- a/gnu/local.mk +++ b/gnu/local.mk @@ -293,6 +293,7 @@ GNU_SYSTEM_MODULES =3D \ %D%/packages/pumpio.scm \ %D%/packages/pretty-print.scm \ %D%/packages/protobuf.scm \ + %D%/packages/psyc.scm \ %D%/packages/pv.scm \ %D%/packages/python.scm \ %D%/packages/qemu.scm \ diff --git a/gnu/packages/psyc.scm b/gnu/packages/psyc.scm new file mode 100644 index 0000000..dd8a3eb =2D-- /dev/null +++ b/gnu/packages/psyc.scm @@ -0,0 +1,111 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2016 ng0 +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages psyc) + #:use-module (guix download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix build-system perl) + #:use-module (gnu packages) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages perl) + #:use-module (gnu packages web)) + +;; The URL at sdf.org is a mirror, officially known. The host www.psyced.o= rg +;; is running on is sometimes (rarely) attacked and this ensure that the f= iles +;; are available. +(define-public perl-net-psyc + (package + (name "perl-net-psyc") + (version "1.1") + (source + (origin + (method url-fetch) + (uri (list + (string-append "http://perl.psyc.eu/" + "perlpsyc-" version ".zip") + (string-append "http://krosos.sdf.org/static/unix/" + "perlpsyc-" version ".zip"))) + (file-name (string-append name "-" version ".zip")) + (sha256 + (base32 + "1lw6807qrbmvzbrjn1rna1dhir2k70xpcjvyjn45y35hav333a42")) + ;; psycmp3 currently depends on MP3::List and rxaudio (shareware), + ;; we can add it back when this is no longer the case. + (snippet '(delete-file "contrib/psycmp3")))) + (build-system perl-build-system) + (inputs + `(("perl-curses" ,perl-curses) + ("perl-io-socket-ssl" ,perl-io-socket-ssl))) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'configure) ; No configure script + ;; There is a Makefile, but it does not install everything + ;; (leaves out psycion) and says + ;; "# Just to give you a rough idea". XXX: Fix it upstream. + (replace 'build + (lambda _ + (zero? (system* "make" "manuals")))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/perl-net-psyc")) + (man1 (string-append out "/share/man/man1")) + (man3 (string-append out "/share/man/man3")) + (bin (string-append out "/bin")) + (libpsyc (string-append out "/lib/psyc/ion")) + (libperl (string-append out "/lib/perl5/site_perl/" + ,(package-version perl)))) + + (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) + (copy-recursively "share/man/man1" man1) + (copy-recursively "share/man/man3" man3) + #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 (getenv "PERL5LIB"))) + (for-each (lambda (file) + (wrap-program file + `("PERL5LIB" ":" prefix (,path)))) + (find-files bin "\\.*$")) + #t)))))) + (description + "@code{Net::PSYC} with support for TCP, UDP, Event.pm, @code{IO::Sele= ct} and +Gtk2 event loops. This package includes 12 applications and additional sc= ripts: +psycion (a @uref{http://about.psyc.eu,PSYC} chat client), remotor (a contr= ol console +for @uref{https://torproject.org,tor} router) and many more.") + (synopsis "Perl implementation of PSYC protocol") + (home-page "http://perlpsyc.pages.de") + (license (list license:gpl2 (package-license perl) + ;; contrib/irssi-psyc.pl: + license:public-domain + ;; bin/psycplay states AGPL with no version: + license:agpl3+)))) =2D-=20 2.10.0 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0002-gnu-Add-libpsyc.patch Content-Transfer-Encoding: quoted-printable From=203b20fd89b6f6e6d1fe00b89bcb1a8ec80853157e Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 13 Sep 2016 10:57:12 +0000 Subject: [PATCH 2/2] gnu: Add libpsyc. * gnu/packages/psyc.scm (libpsyc): New variable. =2D-- gnu/packages/psyc.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/psyc.scm b/gnu/packages/psyc.scm index dd8a3eb..58ce3c6 100644 =2D-- a/gnu/packages/psyc.scm +++ b/gnu/packages/psyc.scm @@ -20,8 +20,11 @@ #:use-module (guix download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) + #:use-module (guix build-system gnu) #:use-module (guix build-system perl) #:use-module (gnu packages) + #:use-module (gnu packages admin) + #:use-module (gnu packages linux) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) #:use-module (gnu packages web)) @@ -109,3 +112,42 @@ for @uref{https://torproject.org,tor} router) and many= more.") license:public-domain ;; bin/psycplay states AGPL with no version: license:agpl3+)))) + +(define-public libpsyc + (package + (name "libpsyc") + (version "20160913") + (source (origin + (method url-fetch) + (uri (list + (string-append "http://www.psyced.org/files/" + name "-" version ".tar.xz") + (string-append "http://krosos.sdf.org/static/unix/" + "perlpsyc-" version ".zip"))) + (sha256 + (base32 + "14q89fxap05ajkfn20rnhc6b1h4i3i2adyr7y6hs5zqwb2lcmc1p")))) + (build-system gnu-build-system) + (native-inputs + `(("perl" ,perl) + ("netcat" ,netcat) + ("procps" ,procps))) + (arguments + `(#:make-flags + (list "CC=3Dgcc" + (string-append "PREFIX=3D" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + ;; The rust bindings are the only ones in use, the lpc bindings + ;; are in psyclpc. The other bindings are not used by anything, + ;; the chances are high that the bindings do not even work, + ;; therefore we do not include them. + ;; TODO: Get a cargo build system. + (delete 'configure)))) ; no configure script + (home-page "http://about.psyc.eu/libpsyc") + (description "libpsyc is a PSYC library in C which implements core asp= ects of +PSYC, useful for all kinds of clients and servers including psyced.") + (synopsis "PSYC library in C useful for all kinds of clients and serve= rs") + (license (list license:agpl3+ + ;; test/test.c is based on a public-domain test + license:public-domain)))) =2D-=20 2.10.0 --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable =2D-=20 ng0 --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIcBAEBCgAGBQJX4mIoAAoJEAKilhUMIBgj1aQP/RqrseusjBbMxSgpWXjMgoxG l8QW8Oq/IxWCeMUZNUPayxdSjv9r5ZzB5cfabUlxRxBxvv2MMzIORjhaBC3k0NXP l5HVB6ZLYN442y8XHdNES5QBYv2xEilKmOwluzMENEgDn3LBKhI+Vrb6LFkddcTa sv3v3hriWKGUhVwKT/wruD1xKftdGVVyHPT9G92TI1wpuWAapOGK8Qc/bykYNDCm kE+9xznW6Q9sL7n4E781Z813K5JcnE1OF9miGqLxDtZEZe8ijSRBwkPgAJxNcAkV rLFRTclFvxHykI7nZ7tz0/1IFSfnid4SbhDr/7oGmzoZSLn/cej3F2EH/s9n3L6U fO171mYjb3+fsZvEbAja5WkHqmo0+XFodR3Ja21fkK377xwVPhTi1PfwTqSxA+HD WfZ02vfK5DumMs36LkpanOwWgd1VVucHxqOWx34EBP/APEnjmfyyHKbx7SbmfqOg 2wEr366DuL/HWyH2FvjREer6NXfQgjzmEXJ2gkcuREXoV1Q8wF/jtrbK6P8gqnNx fhXakbJytkgPgP93BPvL2Fo/V+dQlSX6TSfYqWx9emJlRCvC6Nshhj8936SGTXcX xPWMrEdHWM/0qojyQ34iVKZqTg5oHQoOvsA+n8iL7HJz6r5mhGVLWKoB08cJR8bC RYnxo/R/ZmGpAjOeI0Yk =ez9i -----END PGP SIGNATURE----- --==-=-=--