aboutsummaryrefslogtreecommitdiff
path: root/gn/packages/erlang.scm
diff options
context:
space:
mode:
authorpjotrp2016-03-24 12:00:00 -0500
committerpjotrp2016-03-24 12:00:00 -0500
commita0c613babbabf0418a4f69a5437fe4caf074a1d7 (patch)
tree8f63e82fd3e1bbd3d0881a1293d707f53fa1eceb /gn/packages/erlang.scm
parentd81eb54552568897e9a3c9cd52b352b2c0644565 (diff)
downloadguix-bioinformatics-a0c613babbabf0418a4f69a5437fe4caf074a1d7.tar.gz
Updated erlang by Leo
Diffstat (limited to 'gn/packages/erlang.scm')
-rw-r--r--gn/packages/erlang.scm100
1 files changed, 42 insertions, 58 deletions
diff --git a/gn/packages/erlang.scm b/gn/packages/erlang.scm
index ebf98cf..117057b 100644
--- a/gn/packages/erlang.scm
+++ b/gn/packages/erlang.scm
@@ -22,17 +22,14 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
- #:use-module (guix build-system trivial)
- #:use-module (gnu packages base)
- #:use-module (gnu packages compression)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (gnu packages tls))
(define-public erlang
- ;; Keep in sync with 'erlang-manpages'!
(package
(name "erlang")
+ ;; When updating, remember to update the hash of erlang-manpages!
(version "18.3")
(source (origin
(method url-fetch)
@@ -45,7 +42,17 @@
"1hy9slq9gjvwdb504dmvp6rax90isnky6chqkyq5v4ybl4lq3azx"))))
(build-system gnu-build-system)
(native-inputs
- `(("perl" ,perl)))
+ `(("perl" ,perl)
+
+ ;; Erlang's documentation is distributed in a separate tarball.
+ ("erlang-manpages"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "http://erlang.org/download/otp_doc_man_"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1hpcr7a3dx2y9gnb53bvb4g6lyvbwigadl9s3f978s01x40f32wp"))))))
(inputs
`(("ncurses" ,ncurses)
("openssl" ,openssl)))
@@ -54,28 +61,28 @@
(list (string-append "--with-ssl=" (assoc-ref %build-inputs "openssl")))
#:phases
(modify-phases %standard-phases
- (add-after 'patch-source-shebangs 'patch-source-env
- (lambda _
- (let ((escripts
- (append
- (find-files "." "\\.escript")
- (find-files "lib/stdlib/test/escript_SUITE_data/")
- '("erts/lib_src/utils/make_atomics_api"
- "erts/preloaded/src/add_abstract_code"
- "lib/diameter/bin/diameterc"
- "lib/reltool/examples/display_args"
- "lib/reltool/examples/mnesia_core_dump_viewer"
- "lib/snmp/src/compile/snmpc.src"
- "make/verify_runtime_dependencies"
- "make/emd2exml.in"))))
- (substitute* escripts
- (("/usr/bin/env") (which "env"))))))
(add-after 'unpack 'path-to-rm
(lambda _
(substitute* "erts/configure"
(("/bin/rm") (which "rm")))
(substitute* "lib/odbc/configure"
(("/bin/rm") (which "rm")))))
+ (add-after 'patch-source-shebangs 'patch-source-env
+ (lambda _
+ (let ((escripts
+ (append
+ (find-files "." "\\.escript")
+ (find-files "lib/stdlib/test/escript_SUITE_data/")
+ '("erts/lib_src/utils/make_atomics_api"
+ "erts/preloaded/src/add_abstract_code"
+ "lib/diameter/bin/diameterc"
+ "lib/reltool/examples/display_args"
+ "lib/reltool/examples/mnesia_core_dump_viewer"
+ "lib/snmp/src/compile/snmpc.src"
+ "make/verify_runtime_dependencies"
+ "make/emd2exml.in"))))
+ (substitute* escripts
+ (("/usr/bin/env") (which "env"))))))
(add-before 'configure 'set-erl-top
(lambda _
(setenv "ERL_TOP" (getcwd))))
@@ -83,7 +90,20 @@
;; This only works after install.
(lambda _
(substitute* (string-append (assoc-ref %outputs "out") "/bin/erl")
- (("sed") (which "sed"))))))
+ (("sed") (which "sed")))))
+ (add-after 'install 'install-doc
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (manpages (assoc-ref inputs "erlang-manpages"))
+ (share (string-append out "/share/")))
+ (mkdir-p share)
+ (with-directory-excursion share
+ (and
+ (zero? (system* "tar" "xvf" manpages))
+ ;; Delete superfluous files.
+ (for-each delete-file '("COPYRIGHT"
+ "PR.template"
+ "README"))))))))
#:test-target "release_tests"))
(home-page "http://erlang.org/")
(synopsis "The Erlang programming language")
@@ -94,39 +114,3 @@ availability. Some of its uses are in telecoms, banking, e-commerce,
computer telephony and instant messaging. Erlang's runtime system has
built-in support for concurrency, distribution and fault tolerance.")
(license license:asl2.0)))
-
-(define-public erlang-manpages
- ;; Keep in sync with 'erlang'!
- (package
- (name "erlang-manpages")
- (version (package-version erlang))
- (source (origin
- (method url-fetch)
- (uri (string-append "http://erlang.org/download/otp_doc_man_"
- version ".tar.gz"))
- (sha256
- (base32
- "1hpcr7a3dx2y9gnb53bvb4g6lyvbwigadl9s3f978s01x40f32wp"))))
- (build-system trivial-build-system)
- (arguments
- '(#:modules ((guix build utils))
- #:builder
- (begin
- (use-modules (guix build utils))
- (let* ((gz (assoc-ref %build-inputs "gzip"))
- (tar (assoc-ref %build-inputs "tar"))
- (out (assoc-ref %outputs "out"))
- (man (string-append out "/share/man")))
- (setenv "PATH" (string-append tar "/bin:" gz "/bin"))
- (mkdir-p man)
- (with-directory-excursion man
- (zero? (system* "tar" "xvf"
- (assoc-ref %build-inputs "source"))))
- (delete-file (string-append man "/PR.template"))
- (delete-file (string-append man "/README"))))))
- (native-inputs `(("tar" ,tar)
- ("gzip" ,gzip)))
- (synopsis "Man pages of Erlang")
- (description "This provides the man pages of Erlang.")
- (home-page (package-home-page erlang))
- (license license:asl2.0)))