Message ID | 20160929103810.10273-3-ngillmann@runbox.com |
---|---|
State | New |
Headers | show |
ng0 <ngillmann@runbox.com> writes: > * gnu/packages/psyc.scm (psyclpc): New variable. > --- > gnu/packages/psyc.scm | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 79 insertions(+) > > diff --git a/gnu/packages/psyc.scm b/gnu/packages/psyc.scm As before, please add this to “messaging”. > + > +;; This commit removes the historic bundled pcre, not released as a tarball so far. > +(define-public psyclpc > + (let* ((commit "8bd51f2a4847860ba8b82dc79348ab37d516011e") > + (revision "1")) Okay. > + (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))) > + (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. Please don’t do this. Guix is not a derivative of Gentoo. This should be explained right here. > + (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")) I don’t think it’s wise to override the target directories to have a prefix of “/opt/psyced”. We already have a prefix: “/gnu/store/<hash>-<name>-<version>/”. If this is needed at runtime for some reason it should be done by a service. > + #:phases > + (modify-phases %standard-phases > + (add-before 'configure 'chdir-to-src > + ;; We need to pass this as env variables > + ;; and manually change the directory. What is “this”? > + (lambda _ > + (chdir "src") > + (setenv "CONFIG_SHELL" (which "sh")) > + (setenv "SHELL" (which "sh"))))) CONFIG_SHELL and SHELL are usually set for autoconf. Why does this not work in this case? Please end the phase with #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") s/psycLPC is a// > + (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.") Please fix the line lengths. > + (license license:gpl2)))) GPLv2 only? ~~ Ricardo
Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de> writes: > ng0 <ngillmann@runbox.com> writes: > >> * gnu/packages/psyc.scm (psyclpc): New variable. >> --- >> gnu/packages/psyc.scm | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++ >> 1 file changed, 79 insertions(+) >> >> diff --git a/gnu/packages/psyc.scm b/gnu/packages/psyc.scm > > As before, please add this to “messaging”. Okay. I will move the already added module psyc.scm in master to messaging then. It's not exclusive messaging, but I don't really care where it ends up. psyc.scm was just a suggestion I made (which can be read in the very first message for this patch set). >> + >> +;; This commit removes the historic bundled pcre, not released as a tarball so far. >> +(define-public psyclpc >> + (let* ((commit "8bd51f2a4847860ba8b82dc79348ab37d516011e") >> + (revision "1")) > > Okay. > >> + (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))) >> + (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. > > Please don’t do this. Guix is not a derivative of Gentoo. This should > be explained right here. > >> + (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")) > > I don’t think it’s wise to override the target directories to have a > prefix of “/opt/psyced”. We already have a prefix: > “/gnu/store/<hash>-<name>-<version>/”. If this is needed at runtime for > some reason it should be done by a service. > >> + #:phases >> + (modify-phases %standard-phases >> + (add-before 'configure 'chdir-to-src >> + ;; We need to pass this as env variables >> + ;; and manually change the directory. > > What is “this”? > >> + (lambda _ >> + (chdir "src") >> + (setenv "CONFIG_SHELL" (which "sh")) >> + (setenv "SHELL" (which "sh"))))) > > CONFIG_SHELL and SHELL are usually set for autoconf. Why does this not > work in this case? > > Please end the phase with #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") > > s/psycLPC is a// > >> + (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.") > > Please fix the line lengths. As far as I know you picked an old thread and I fixed this in a newer one. If I'm wrong about this, there'll be a new thread soon enough. >> + (license license:gpl2)))) > > GPLv2 only? Yes, but since 2010 there's also a different license, as this was originally up to someone else to review, I'll add again: I have to send in a new patch revisision. psyclpc also needs a fix for reproducibility which I will pass on directly to one of us with push access. After psyclpc is fixed at our end, I will send new versions to guix. > > ~~ Ricardo > Thanks for review
diff --git a/gnu/packages/psyc.scm b/gnu/packages/psyc.scm index 253fa64..75d861e 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 @@ -144,3 +153,73 @@ including psyced.") (license (list license:agpl3+ ;; test/test.c is based on a public-domain test license:public-domain)))) + +;; 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))) + (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"))))) + #: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))))