ng0 <ngillm...@runbox.com> writes: > * gnu/packages/psyc.scm (libpsyc): New variable. > --- > gnu/packages/psyc.scm | 41 +++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 41 insertions(+) > > diff --git a/gnu/packages/psyc.scm b/gnu/packages/psyc.scm > index 4d53dfd..253fa64 100644 > --- a/gnu/packages/psyc.scm > +++ b/gnu/packages/psyc.scm > @@ -21,7 +21,10 @@ > #:use-module ((guix licenses) #:prefix license:) > #:use-module (guix packages) > #:use-module (guix build-system perl) > + #:use-module (guix build-system gnu) > #: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)) > @@ -103,3 +106,41 @@ 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 (string-append "http://www.psyced.org/files/" > + name "-" version ".tar.xz")) > + (sha256 > + (base32 > + "14q89fxap05ajkfn20rnhc6b1h4i3i2adyr7y6hs5zqwb2lcmc1p")))) > + (build-system gnu-build-system) > + (native-inputs > + `(("perl" ,perl) > + ("netcat" ,netcat) > + ("procps" ,procps))) > + (arguments > + `(#:make-flags > + (list "CC=gcc" > + (string-append "PREFIX=" (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 in Guix. > + (delete 'configure)))) ; no configure script > + (home-page "http://about.psyc.eu/libpsyc") > + (description > + "@code{libpsyc} is a PSYC library in C which implements > +core aspects of PSYC, useful for all kinds of clients and servers > +including psyced.") > + (synopsis "PSYC library in C") > + (license (list license:agpl3+ > + ;; test/test.c is based on a public-domain test > + license:public-domain))))
This looks okay to me, although the unusual order of package fields really throws me off. We normally have “arguments” after “build-system” (because they are arguments to the build-side code), “*inputs” below “arguments”, “synopsis” above “description”, etc. I also think all of psyc should go to “messaging” instead of getting its own module. ~~ Ricardo