mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 21:38:07 -05:00
gnu: wordnet: Build with gcc@6 to prevent chunked literal strings.
* gnu/packages/wordnet.scm (wordnet)[arguments]: Remove -fno-builtin-strcpy. [native-inputs]: New field.
This commit is contained in:
parent
aba5182c69
commit
2c5ab05bff
1 changed files with 8 additions and 16 deletions
|
@ -23,6 +23,7 @@ (define-module (gnu packages wordnet)
|
||||||
#:use-module (guix licenses)
|
#:use-module (guix licenses)
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
|
#:use-module (gnu packages gcc)
|
||||||
#:use-module (gnu packages tcl))
|
#:use-module (gnu packages tcl))
|
||||||
|
|
||||||
(define-public wordnet
|
(define-public wordnet
|
||||||
|
@ -51,22 +52,7 @@ (define-public wordnet
|
||||||
|
|
||||||
;; Provide the `result' field in `Tcl_Interp'.
|
;; Provide the `result' field in `Tcl_Interp'.
|
||||||
;; See <https://bugs.gentoo.org/show_bug.cgi?id=452034>.
|
;; See <https://bugs.gentoo.org/show_bug.cgi?id=452034>.
|
||||||
;;
|
"CFLAGS=-DUSE_INTERP_RESULT -O2")
|
||||||
;; The 'DEFAULTPATH' string literal, which
|
|
||||||
;; contains the output path, only appears as
|
|
||||||
;; the operand of one 'strcpy' call. As a
|
|
||||||
;; consequence, GCC does not store the string
|
|
||||||
;; literal as is but instead introduces "gaps"
|
|
||||||
;; for alignment reasons presumably---like
|
|
||||||
;; "/gnu/sto?????re/8jp8b??????ky105…". This
|
|
||||||
;; makes this string invisible to the GC, which
|
|
||||||
;; in turns causes problems when running a
|
|
||||||
;; grafted WordNet because that grafted WordNet
|
|
||||||
;; keeps referring to the ungrafted variant,
|
|
||||||
;; which is not protected from GC. Thus,
|
|
||||||
;; disable use of '__builtin_strcpy' to avoid
|
|
||||||
;; that.
|
|
||||||
"CFLAGS=-DUSE_INTERP_RESULT -O2 -fno-builtin-strcpy")
|
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
(add-after 'install 'post-install
|
(add-after 'install 'post-install
|
||||||
|
@ -93,6 +79,12 @@ (define-public wordnet
|
||||||
#t))))))
|
#t))))))
|
||||||
(outputs '("out"
|
(outputs '("out"
|
||||||
"tk")) ; for the Tcl/Tk GUI
|
"tk")) ; for the Tcl/Tk GUI
|
||||||
|
|
||||||
|
;; Build with a patched GCC to work around <http://bugs.gnu.org/24703>.
|
||||||
|
;; (Specifically the 'DEFAULTPATH' string literal is what we want to
|
||||||
|
;; prevent from being chunked so that grafting can "see" it and patch it.)
|
||||||
|
(native-inputs `(("gcc@6" ,gcc-6)))
|
||||||
|
|
||||||
(inputs `(("tk" ,tk)
|
(inputs `(("tk" ,tk)
|
||||||
("tcl" ,tcl)))
|
("tcl" ,tcl)))
|
||||||
(home-page "http://wordnet.princeton.edu/")
|
(home-page "http://wordnet.princeton.edu/")
|
||||||
|
|
Loading…
Reference in a new issue