guix-devel
[Top][All Lists]
Advanced

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

Re: [PATCH 4/4] gnu: Add psyced.


From: ng0
Subject: Re: [PATCH 4/4] gnu: Add psyced.
Date: Thu, 29 Sep 2016 10:44:32 +0000

Like in the old patch (I don't know how to pass git sendemail the root
of another thread), this is not a finished patch but I require input on
this. I have to debug by writing the service.

ng0 <address@hidden> writes:

> * 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 75d861e..cc1da6e 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)
> +
> +                 (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
>
>

-- 
              ng0



reply via email to

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