all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Manolis Ragkousis <manolis837@gmail.com>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: Guix-devel <Guix-devel@gnu.org>
Subject: Re: [PATCH] gnu: base: Add Glibc-Hurd Headers.
Date: Sat, 27 Sep 2014 20:30:06 +0300	[thread overview]
Message-ID: <CAFtzXzNXDR4pE84oQZO6CuuSkvG_KGo7V+WiW8J6wysOB8sqwg@mail.gmail.com> (raw)
In-Reply-To: <CAFtzXzNv6M7cOSaTs3KDQ0AvkSETz-GL1YfppLWDoDC4BVO_kg@mail.gmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 1654 bytes --]

I am working on the cross-base patch so we can merge it with wip-hurd as
well, but some problems need to be discussed.

First, in glibc/hurd headers we need to redeclare #:configure-flags with
less flags.
We shouldn't but because we use the same configure flags as in glibc and
glibc/hurd, we get an error at (string-append "--localedir=" (assoc-ref
%outputs "locales") "/share/locale") when it tries to find the locales
output.
>In unknown file:
>   ?: 0 [string-append "--localedir=" #f "/share/locale"]

I attached the log.

Second, in glibc/hurd headers again, because we Don't use the same phases
as in glibc and glibc/hurd, and as a result we don't have the pre-configure
phase of glibc,  /bin/pwd is not substituted with pwd and we get a "no such
file" error.

>checking for i686-pc-gnu-readelf... i686-pc-gnu-readelf
>../glibc-hurd-2.18/configure: line 3312: /bin/pwd: No such file or
directory
>../glibc-hurd-2.18/configure: line 3312: /bin/pwd: No such file or
directory
>configure: error: you must configure in a separate build directory
>phase `configure' failed after 1 seconds

In order to solve this I just need to add a pre-configure phase with just
(lambda _
    (substitute* "configure"
        (("/bin/pwd") "pwd")))

attached log.

Third, in glibc/hurd the permissions in chmod "bits/pthreadtypes.h" should
be 666 not 555.

With this changes glibc/hurd can be built using the i686-pc-gnu cross
toolchain.

I attached the patch and I made sure that there will be no regressions with
the cross-base patch.

I wrote a simple commit message because it needs to be merged with the
current glibc/hurd patch in wip-hurd.

Thank you,
Manolis

[-- Attachment #1.2: Type: text/html, Size: 2103 bytes --]

[-- Attachment #2: 7rc2bifwca5rn62irz5q9hhhjwi30z-glibc-hurd-headers-cross-i686-pc-gnu-2.18.drv.bz2 --]
[-- Type: application/x-bzip2, Size: 535 bytes --]

[-- Attachment #3: k5ghfib3n6campjhi3y3ji634qv960-glibc-hurd-headers-cross-i686-pc-gnu-2.18.drv.bz2 --]
[-- Type: application/x-bzip2, Size: 56145 bytes --]

[-- Attachment #4: 0001-gnu-base-Edits-on-glibc-hurd-and-glibc-hurd-headers.patch --]
[-- Type: text/x-patch, Size: 2003 bytes --]

From 88f065c3818e2e6665ae490557415594528f2d6a Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis <manolis837@gmail.com>
Date: Sat, 27 Sep 2014 20:07:19 +0300
Subject: [PATCH] gnu: base: Edits on glibc-hurd and glibc-hurd-headers.

* gnu/packages/base.scm (glibc/hurd): Fix file permissions in bits/pthreadtypes.h
			(glibc/hurd-headers): Add configure flags
					    : Add preconfigure phase
---
 gnu/packages/base.scm | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 2acb51b..53858d4 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -561,7 +561,7 @@ with the Linux kernel.")
                      (assoc-ref %build-inputs "patch/libpthread-patch"))
 
             ;; Make the file writable.
-            (chmod "bits/pthreadtypes.h" #o555)
+            (chmod "bits/pthreadtypes.h" #o666)
             (copy-recursively "libpthread/sysdeps/generic/bits" "bits"))
           ,phases))))))
 
@@ -571,6 +571,11 @@ with the Linux kernel.")
     (outputs '("out"))
     (arguments
      (substitute-keyword-arguments (package-arguments glibc/hurd)
+       ;; We just pass the flags really needed to build the headers.
+       ((#:configure-flags _)
+        `(list "--enable-add-ons"
+               "--host=i686-pc-gnu"
+               "--enable-obsolete-rpc"))
        ((#:phases _)
         '(alist-replace
           'install
@@ -586,7 +591,16 @@ with the Linux kernel.")
                      (string-append out "/include/gnu/stubs.h"))))))
 
           ;; Nothing to build.
-          (alist-delete 'build %standard-phases)))))))
+          (alist-delete 
+           'build 
+
+           ;; We need this to use `pwd', not `/bin/pwd'.
+           (alist-cons-before
+            'configure 'pre-configure
+            (lambda _
+              (substitute* "configure"
+                (("/bin/pwd") "pwd")))
+            %standard-phases))))))))
 
 (define-public tzdata
   (package
-- 
2.1.1


  reply	other threads:[~2014-09-27 17:35 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-02 21:16 [PATCH] gnu: base: Add Glibc-Hurd Headers Manolis Ragkousis
2014-08-29 13:48 ` Ludovic Courtès
2014-09-24 13:01   ` Manolis Ragkousis
2014-09-27  9:31     ` Ludovic Courtès
2014-09-27 13:50       ` Manolis Ragkousis
2014-09-27 17:30         ` Manolis Ragkousis [this message]
2014-09-28  9:51           ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAFtzXzNXDR4pE84oQZO6CuuSkvG_KGo7V+WiW8J6wysOB8sqwg@mail.gmail.com \
    --to=manolis837@gmail.com \
    --cc=Guix-devel@gnu.org \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.