diff options
author | ng0 <ngillmann@runbox.com> | 2016-10-04 08:34:28 +0000 |
---|---|---|
committer | Efraim Flashner <efraim@flashner.co.il> | 2016-10-26 11:29:35 +0300 |
commit | 1df790d50d7980d83937bfa93d9b270bcc2b1be8 (patch) | |
tree | b1ee157675833d1f90dda98f3922abac17898848 /gnu | |
parent | 19262a718e97d6ebc782c8dc7e53d04cfb5f794d (diff) | |
download | guix-1df790d50d7980d83937bfa93d9b270bcc2b1be8.tar guix-1df790d50d7980d83937bfa93d9b270bcc2b1be8.tar.gz |
gnu: Add psyclpc.
* gnu/packages/psyc.scm (psyclpc): New variable.
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/psyc.scm | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/gnu/packages/psyc.scm b/gnu/packages/psyc.scm index 57042946d5..a55f78e4c0 100644 --- a/gnu/packages/psyc.scm +++ b/gnu/packages/psyc.scm @@ -18,15 +18,24 @@ (define-module (gnu packages psyc) #:use-module (guix download) + #:use-module (guix git-download) #: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 autotools) + #:use-module (gnu packages bison) + #:use-module (gnu packages compression) + #:use-module (gnu packages gettext) #:use-module (gnu packages linux) + #:use-module (gnu packages man) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) + #:use-module (gnu packages pcre) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages tls) #:use-module (gnu packages web)) (define-public perl-net-psyc @@ -143,3 +152,76 @@ core aspects of PSYC, useful for all kinds of clients and servers including psyced.") (synopsis "PSYC library in C") (license license:agpl3+))) + +;; This commit removes the historic bundled pcre, not released as a tarball so far. +(define-public psyclpc + (let* ((commit "8bd51f2a4847860ba8b82dc79348ab37d516011e") + (revision "1")) + (package + (name "psyclpc") + (version (string-append "20160821-" revision "." (string-take commit 7))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "git://git.psyced.org/git/psyclpc") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "10w4kx9ygcv1lcmd7j4knvjiy8dac1y3hjfv3lhp67jpv6w3iagz")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; There are no tests/checks. + #:configure-flags + ;; If you have questions about this part, look at + ;; "src/settings/psyced" and the ebuild. + (list + "--enable-use-tls=yes" + "--enable-use-mccp" ; Mud Client Compression Protocol, leave this enabled. + (string-append "--prefix=" + (assoc-ref %outputs "out")) + ;; src/Makefile: Set MUD_LIB to the directory which contains + ;; the mud data. defaults to MUD_LIB = @libdir@ + (string-append "--libdir=" + (assoc-ref %outputs "out") + "/opt/psyced/world") + (string-append "--bindir=" + (assoc-ref %outputs "out") + "/opt/psyced/bin") + ;; src/Makefile: Set ERQ_DIR to directory which contains the + ;; stuff which ERQ can execute (hopefully) savely. Was formerly + ;; defined in config.h. defaults to ERQ_DIR= @libexecdir@ + (string-append "--libexecdir=" + (assoc-ref %outputs "out") + "/opt/psyced/run")) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'chdir-to-src + ;; We need to pass this as env variables + ;; and manually change the directory. + (lambda _ + (chdir "src") + (setenv "CONFIG_SHELL" (which "sh")) + (setenv "SHELL" (which "sh")) + #t))) + #:make-flags (list "install-all"))) + (inputs + `(("zlib" ,zlib) + ("openssl" ,openssl) + ("pcre" ,pcre))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("bison" ,bison) + ("gnu-gettext" ,gnu-gettext) + ("help2man" ,help2man) + ("autoconf" ,autoconf) + ("automake" ,automake))) + (home-page "http://lpc.psyc.eu/") + (synopsis "psycLPC is a multi-user network server programming language") + (description + "LPC is a bytecode language, invented to specifically implement +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)))) |