unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [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).