* [PATCH] Fix IcedTea6 build.
@ 2015-05-11 13:58 Ricardo Wurmus
2015-05-11 14:30 ` Ludovic Courtès
0 siblings, 1 reply; 2+ messages in thread
From: Ricardo Wurmus @ 2015-05-11 13:58 UTC (permalink / raw)
To: Guix-devel
[-- Attachment #1: Type: text/plain, Size: 480 bytes --]
When the new RUNPATH validation phase was enabled by default, GCJ could
no longer be built. After the GCJ build was fixed I noticed that
IcedTea6 failed because it could no longer find "gcj/libgcj-config.h".
I do not know what commit actually caused this failure.
A fix is attached. The patch adds the target-dependent GCJ include
directory (whose "gcj" directory contains nothing more than
"libgcj-config.h") to the CPATH, so that the header file can be found at
build time.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-icedtea6-Add-target-dependent-include-directory-.patch --]
[-- Type: text/x-patch, Size: 1984 bytes --]
From c4888d11730061d73a7a242099999d35d4ad5c0f Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Date: Mon, 11 May 2015 15:50:34 +0200
Subject: [PATCH] gnu: icedtea6: Add target-dependent include directory to
CPATH.
* gnu/packages/java.scm (gcj-4.8)[arguments]: Add target-dependent GCJ include
directory to CPATH environment variable.
---
gnu/packages/java.scm | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 2a56769..182ada6 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -459,11 +459,19 @@ build process and its dependencies, whereas Make uses Makefile format.")
(alist-cons-before
'configure 'set-additional-paths
(lambda* (#:key inputs #:allow-other-keys)
+ (use-modules (ice-9 popen))
+ (use-modules (ice-9 rdelim))
(let* ((gcjdir (assoc-ref %build-inputs "gcj"))
(gcjlib (string-append gcjdir "/lib"))
- (antpath (string-append (getcwd) "/../apache-ant-1.9.4")))
+ (antpath (string-append (getcwd) "/../apache-ant-1.9.4"))
+ ;; Get target-specific include directory
+ (gcjinclude (let* ((port (open-input-pipe "gcj -print-file-name=include"))
+ (str (read-line port)))
+ (close-pipe port)
+ str)))
(setenv "CPATH"
- (string-append (assoc-ref %build-inputs "libxrender")
+ (string-append gcjinclude ":"
+ (assoc-ref %build-inputs "libxrender")
"/include/X11/extensions" ":"
(assoc-ref %build-inputs "libxtst")
"/include/X11/extensions" ":"
--
2.1.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] Fix IcedTea6 build.
2015-05-11 13:58 [PATCH] Fix IcedTea6 build Ricardo Wurmus
@ 2015-05-11 14:30 ` Ludovic Courtès
0 siblings, 0 replies; 2+ messages in thread
From: Ludovic Courtès @ 2015-05-11 14:30 UTC (permalink / raw)
To: Ricardo Wurmus; +Cc: Guix-devel
[-- Attachment #1: Type: text/plain, Size: 1102 bytes --]
Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de> skribis:
> From c4888d11730061d73a7a242099999d35d4ad5c0f Mon Sep 17 00:00:00 2001
> From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
> Date: Mon, 11 May 2015 15:50:34 +0200
> Subject: [PATCH] gnu: icedtea6: Add target-dependent include directory to
> CPATH.
>
> * gnu/packages/java.scm (gcj-4.8)[arguments]: Add target-dependent GCJ include
> directory to CPATH environment variable.
> ---
> gnu/packages/java.scm | 12 ++++++++++--
> 1 file changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
> index 2a56769..182ada6 100644
> --- a/gnu/packages/java.scm
> +++ b/gnu/packages/java.scm
> @@ -459,11 +459,19 @@ build process and its dependencies, whereas Make uses Makefile format.")
> (alist-cons-before
> 'configure 'set-additional-paths
> (lambda* (#:key inputs #:allow-other-keys)
> + (use-modules (ice-9 popen))
> + (use-modules (ice-9 rdelim))
Instead of these ‘use-modules’, could you instead do:
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 644 bytes --]
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 26fc3ec..4273151 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -250,6 +250,11 @@ build process and its dependencies, whereas Make uses Makefile format.")
;; gremlin) doesn't support it yet, so skip this phase.
#:validate-runpath? #f
+ #:modules ((guix build utils)
+ (guix build gnu-build-system)
+ (ice-9 popen)
+ (ice-9 rdelim))
+
#:configure-flags
(let* ((gcjdir (assoc-ref %build-inputs "gcj"))
(ecj (string-append gcjdir "/share/java/ecj.jar"))
[-- Attachment #3: Type: text/plain, Size: 192 bytes --]
> + ;; Get target-specific include directory
+ “so that libgcj-config.h is found when compiling $FOO.”
OK to push with these changes.
Thank you!
Ludo’.
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-05-11 14:30 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-11 13:58 [PATCH] Fix IcedTea6 build Ricardo Wurmus
2015-05-11 14:30 ` Ludovic Courtès
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).