[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