unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Efraim Flashner <efraim@flashner.co.il>
To: ng0 <ngillmann@runbox.com>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH 4/4] gnu: Add psyced.
Date: Wed, 26 Oct 2016 14:37:12 +0300	[thread overview]
Message-ID: <20161026113712.GA9130@macbook42.flashner.co.il> (raw)
In-Reply-To: <20161004083429.3409-5-ngillmann@runbox.com>

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

On Tue, Oct 04, 2016 at 08:34:29AM +0000, ng0 wrote:
> * gnu/packages/psyc.scm (psyced): New variable.
> ---
>  gnu/packages/psyc.scm | 103 ++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 103 insertions(+)
> 
> diff --git a/gnu/packages/psyc.scm b/gnu/packages/psyc.scm
> index 2a2ddc1..e929866 100644
> --- a/gnu/packages/psyc.scm
> +++ b/gnu/packages/psyc.scm
> @@ -223,3 +223,106 @@ multi user virtual environments on the internet.  This technology is used for
>  MUDs and also the psyced implementation of the Protocol for SYnchronous Conferencing (PSYC).  psycLPC is a fork of LDMud with some new features and
>  many bug fixes.")
>      (license license:gpl2))))
> +
> +;; XXX: We need a service for this which makes it functional, including
> +;; copying initial data around.
> +(define-public psyced
> +  (let* ((commit "18e72b74ccc4edef58751475d15138fb1300a3b1")
> +         (revision "1"))
> +    (package
> +      (name "psyced")
> +      (version (string-append "20160830-" revision "." (string-take commit 7)))
> +      (source (origin
> +                (method git-fetch)
> +                (uri (git-reference
> +                      (url "git://git.psyced.org/psyced")
> +                      (commit commit)))
> +                (file-name (string-append name "-" version "-checkout"))
> +                (sha256
> +                 (base32
> +                  "1h2cbb14lvnxyqf9g35h78d796hyhafg3h73jv69z6j2cvhka9r2"))))
> +      (build-system gnu-build-system)
> +      (inputs
> +       `(("perl" ,perl)))
> +      ;; psyced needs psyclpc at runtime, specifically you will also not
> +      ;; be able to use psyced witout psyclpc.
> +      (native-inputs
> +       `(("pkg-config" ,pkg-config)))
> +      (propagated-inputs
> +       `(("psyclpc" ,psyclpc)))
> +      (arguments
> +       `(#:tests? #f ; No tests
> +         #:phases
> +         (modify-phases %standard-phases
> +           (delete 'configure) ; No configure
> +           (delete 'build) ; no make build needed
> +           ;; Much of what install.sh used to do is now handled by psyconf. Upstream
> +           ;; reference is the Gentoo ebuild in the youbroketheinternet-overlay
> +           ;; (https://gnunet.org/git/) where equal ways of installing psyced are applied
> +           (replace 'install
> +             (lambda* (#:key outputs #:allow-other-keys)
> +               (let* ((out (assoc-ref outputs "out"))
> +                      (bin (string-append out "/bin")) ;symlink it?
> +                      (doc (string-append out "/share/doc"))
> +                      ;; sandbox in /opt/psyced/world:
> +                      (opt (string-append out "/opt/psyced"))
> +                      (var (string-append out "/var/psyced"))
> +                      (vard (string-append var "/data"))
> +                      (vardpe (string-append vard "/person"))
> +                      (vardpl (string-append vard "/place"))
> +                      (varcon (string-append var "/config"))
> +                      (etcpsy (string-append out "/etc/psyc")) ;symlink to /
> +                      (varlp (string-append out "/var/log/psyced")) ;symlink to /
> +                      (varlpp (string-append varlp "/place"))) ;symlink to /
> +                 (mkdir-p bin)
> +                 (mkdir-p doc)
> +                 (mkdir-p opt)
> +                 (mkdir-p var)
> +                 (mkdir-p vard)
> +                 (mkdir-p vardpe)
> +                 (mkdir-p vardpl)
> +                 (mkdir-p varcon)
> +                 (mkdir-p etcpsy)
> +                 (mkdir-p varlp)
> +                 (mkdir-p varlpp)
> +

I don't see any files being installed into %out/var/*, is psyced
supposed to be able to write to these directories at runtime?

> +                 (copy-recursively "bin" bin)
> +
> +                 (install-file "config/psyced.ini" etcpsy)
> +
> +                 (install-file "AGENDA.txt" doc)
> +                 (install-file "CHANGESTODO" doc)
> +                 (install-file "COPYLEFT.txt" doc)
> +                 (install-file "LICENSE.txt" doc)
> +
> +                 (copy-recursively "pike" opt)
> +                 (copy-recursively "place" opt)
> +                 (copy-recursively "run" opt)
> +                 (copy-recursively "tor" opt)
> +                 (copy-recursively "config" opt)
> +                 (copy-recursively "trust" opt)
> +                 (copy-recursively "utility" opt)
> +                 (copy-recursively "world" opt)
> +                 #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 "\\.*$"))
> +                 #t))))))
> +      (home-page "http://www.psyced.org")
> +      (synopsis "Server for Federated Messaging and Chat over PSYC, IRC, XMPP, and more")
> +      (description
> +       "psyced is a scalable multi-protocol multi-casting chat, messaging
> +and social server solution to build decentralized chat networks upon.
> +Powerful, not bloated, not too hard to get into.  It supports the
> +following protocols and formats: PSYC, XMPP S2S, IRC, TELNET, HTTP, SMTP,
> +OAuth, XML, RSS.  It also has limited/experimental code for the following
> +things: Clients using XMPP C2S, Java Applets, Status.Net, WAP, NNTP.")
> +      (license license:gpl2))))
> -- 
> 2.10.0
> 
> 

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 801 bytes --]

  reply	other threads:[~2016-10-26 11:37 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-29 10:38 [PATCH 1/4] gnu: Add perl-net-psyc ng0
2016-09-29 10:38 ` [PATCH 2/4] gnu: Add libpsyc ng0
2016-10-30  5:57   ` Ricardo Wurmus
2016-09-29 10:38 ` [PATCH 3/4] gnu: Add psyclpc ng0
2016-10-30  6:03   ` Ricardo Wurmus
2016-10-30 12:46     ` ng0
2016-09-29 10:38 ` [PATCH 4/4] gnu: Add psyced ng0
2016-09-29 10:44   ` ng0
2016-10-30  5:42     ` Ricardo Wurmus
2016-10-30  5:48   ` Ricardo Wurmus
2016-10-02  1:46 ` [PATCH 1/4] gnu: Add perl-net-psyc Leo Famulari
2016-10-02 10:35   ` ng0
2016-10-04  2:24     ` Leo Famulari
2016-10-04  8:23       ` ng0
2016-10-04  8:34         ` psyc.scm: new patch series ng0
2016-10-04  8:34           ` [PATCH 1/4] gnu: Add perl-net-psyc ng0
2016-10-04  8:34           ` [PATCH 2/4] gnu: Add libpsyc ng0
2016-10-04  8:34           ` [PATCH 3/4] gnu: Add psyclpc ng0
2016-10-04  8:34           ` [PATCH 4/4] gnu: Add psyced ng0
2016-10-26 11:37             ` Efraim Flashner [this message]
2016-10-28 10:04               ` ng0
2016-10-30  5:54 ` [PATCH 1/4] gnu: Add perl-net-psyc Ricardo Wurmus

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=20161026113712.GA9130@macbook42.flashner.co.il \
    --to=efraim@flashner.co.il \
    --cc=guix-devel@gnu.org \
    --cc=ngillmann@runbox.com \
    /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).