unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH 08/10] gnu: base: Updated glibc-hurd to 2.19 and removed patches.
@ 2015-05-18 22:23 Manolis Ragkousis
  2015-05-18 22:38 ` Manolis Ragkousis
  0 siblings, 1 reply; 7+ messages in thread
From: Manolis Ragkousis @ 2015-05-18 22:23 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Guix-devel

[-- Attachment #1: Type: text/plain, Size: 69 bytes --]

This and the next one will become part of the add glibc/hurd commit.

[-- Attachment #2: 0008-gnu-base-Updated-glibc-hurd-to-2.19-and-removed-patc.patch --]
[-- Type: text/x-patch, Size: 10294 bytes --]

From c4417ed2a812ecabf61aafa5d1ea1a2677c27585 Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis <manolis837@gmail.com>
Date: Tue, 19 May 2015 00:44:59 +0300
Subject: [PATCH 08/10] gnu: base: Updated glibc-hurd to 2.19 and removed
 patches.

gnu/packages/base.scm (glibc/hurd): Update to 2.19
gnu/packages/patches/glibc-hurd-extern-inline.patch: Removed a patch.
gnu/packages/patches/libpthread-glibc-preparation.patch: Removed file.
gnu-system.am: Removed it.
---
 gnu-system.am                                      |   1 -
 gnu/packages/base.scm                              |  35 +----
 .../patches/glibc-hurd-extern-inline.patch         |  23 +---
 .../patches/libpthread-glibc-preparation.patch     | 146 ---------------------
 4 files changed, 9 insertions(+), 196 deletions(-)
 delete mode 100644 gnu/packages/patches/libpthread-glibc-preparation.patch

diff --git a/gnu-system.am b/gnu-system.am
index efb0ce3..6572e67 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -484,7 +484,6 @@ dist_patch_DATA =						\
   gnu/packages/patches/libvpx-fix-ssse3-quantize.patch		\
   gnu/packages/patches/libvpx-vp9-out-of-bounds-access.patch	\
   gnu/packages/patches/lirc-localstatedir.patch			\
-  gnu/packages/patches/libpthread-glibc-preparation.patch	\
   gnu/packages/patches/lm-sensors-hwmon-attrs.patch		\
   gnu/packages/patches/lua51-liblua-so.patch                    \
   gnu/packages/patches/luajit-no_ldconfig.patch			\
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index b4344ee..f6fd55d 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -699,16 +699,14 @@ command.")
 (define-public glibc/hurd
   (package (inherit glibc)
     (name "glibc-hurd")
-    (version "2.18")
+    (version "2.19")
     (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "git://git.sv.gnu.org/hurd/glibc")
-                    (commit "cc94b3cfe65523f980359e5f0e93a26196bda1d3")))
+              (method url-fetch)
+              (uri (string-append "http://alpha.gnu.org/gnu/hurd/glibc-"
+                                  version "-hurd+libpthread-20150515" ".tar.gz"))
               (sha256
                (base32
                 "17gsh0kaz0zyvghjmx861mi2p65m9901lngi179x61zm6v2v3xc4"))
-              (file-name (string-append name "-" version))
               (patches (map search-patch
                             '("glibc-hurd-extern-inline.patch")))))
 
@@ -719,18 +717,8 @@ command.")
                          ("hurd-minimal" ,hurd-minimal)))
     (native-inputs
      `(,@(package-native-inputs glibc)
-       ("patch/libpthread-patch" ,(search-patch "libpthread-glibc-preparation.patch"))
        ("mig" ,mig)
-       ("perl" ,perl)
-       ("libpthread" ,(origin
-                        (method git-fetch)
-                        (uri (git-reference
-                              (url "git://git.sv.gnu.org/hurd/libpthread")
-                              (commit "0ef7b75c4ba91b6660f0d3d8b51d14d25e3d5bfb")))
-                        (sha256
-                         (base32
-                          "031py18fls15z0wprni33mf762kg6fx8xqijppimhp83yp6ky3l3"))
-                        (file-name "libpthread")))))
+       ("perl" ,perl)))
 
     (arguments
      (substitute-keyword-arguments (package-arguments glibc)
@@ -749,17 +737,8 @@ command.")
                          ;; "linux-headers" input, to prevent errors.
                          (let ((%build-inputs `(("linux-headers" . "@DUMMY@")
                                                 ,@%build-inputs)))
-                           ,original-configure-flags))))
-       ((#:phases phases)
-        `(alist-cons-after
-          'unpack 'prepare-libpthread
-          (lambda* (#:key inputs #:allow-other-keys)
-            (copy-recursively (assoc-ref inputs "libpthread") "libpthread")
-
-            (system* "patch" "--force" "-p1" "-i"
-                     (assoc-ref inputs "patch/libpthread-patch"))
-            #t)
-          ,phases))))))
+                           ,original-configure-flags))))))))
+
 
 (define-public glibc/hurd-headers
   (package (inherit glibc/hurd)
diff --git a/gnu/packages/patches/glibc-hurd-extern-inline.patch b/gnu/packages/patches/glibc-hurd-extern-inline.patch
index a609b1f..33eb3a4 100644
--- a/gnu/packages/patches/glibc-hurd-extern-inline.patch
+++ b/gnu/packages/patches/glibc-hurd-extern-inline.patch
@@ -1,23 +1,3 @@
-This changes the way _EXTERN_INLINE is defined so we can
-avoid external definition errors.
-https://lists.gnu.org/archive/html/bug-hurd/2014-04/msg00002.html
-
-diff --git a/signal/sigsetops.c b/signal/sigsetops.c
-index 0317662..b92c296 100644
---- a/signal/sigsetops.c
-+++ b/signal/sigsetops.c
-@@ -3,7 +3,9 @@
- 
- #include <features.h>
- 
--#define _EXTERN_INLINE
-+#ifndef _EXTERN_INLINE
-+#define _EXTERN_INLINE __extern_inline
-+#endif
- #ifndef __USE_EXTERN_INLINES
- # define __USE_EXTERN_INLINES  1
- #endif
-
 Link libmachuser and libhurduser automatically with libc, since they are
 considered a standard part of the API in GNU-land.
 
@@ -32,4 +12,5 @@ considered a standard part of the API in GNU-land.
 +endif
  	mv -f $@.new $@
  
- endif
\ No newline at end of file
+ endif
+
diff --git a/gnu/packages/patches/libpthread-glibc-preparation.patch b/gnu/packages/patches/libpthread-glibc-preparation.patch
deleted file mode 100644
index a432454..0000000
--- a/gnu/packages/patches/libpthread-glibc-preparation.patch
+++ /dev/null
@@ -1,146 +0,0 @@
-This patch helps to integrate the Hurd's libpthread as a libc add-on.
-
-It writes the configure file, removes an rpc call not yet 
-implemented on the version of gnumach we use and defines
-a missing macro.
-
-diff --git a/libpthread/configure b/libpthread/configure
-new file mode 100644
-index 0000000..2cdbc71
---- /dev/null
-+++ b/libpthread/configure
-@@ -0,0 +1,2 @@
-+libc_add_on_canonical=libpthread
-+libc_add_on_subdirs=.
--- 
-1.9.0
-
-We are using a version of GNU Mach that lacks 'thread_terminate_release'
-(not introduced yet).  The 'thread_terminate' RPC call will be enough for
-our needs.
-See <http://lists.gnu.org/archive/html/bug-hurd/2014-05/msg00127.html>.
-
-diff --git a/libpthread/sysdeps/mach/pt-thread-terminate.c b/libpthread/sysdeps/mach/pt-thread-terminate.c
-index 6672065..129a611 100644
---- a/libpthread/sysdeps/mach/pt-thread-terminate.c
-+++ b/libpthread/sysdeps/mach/pt-thread-terminate.c
-@@ -70,9 +70,9 @@ __pthread_thread_terminate (struct __pthread *thread)
-   __mach_port_destroy (__mach_task_self (), wakeup_port);
- 
-   /* Terminate and release all that's left.  */
--  err = __thread_terminate_release (kernel_thread, mach_task_self (),
--				    kernel_thread, reply_port,
--				    stackaddr, stacksize);
-+  /* err = __thread_terminate_release (kernel_thread, mach_task_self (), */
-+  /* 				    kernel_thread, reply_port, */
-+  /* 				    stackaddr, stacksize); */
- 
-   /* The kernel does not support it yet.  Leak but at least terminate
-      correctly.  */
--- 
-1.9.2
-
-The __PTHREAD_SPIN_LOCK_INITIALIZER definition is missing, so we 
-define it to __SPIN_LOCK_INITIALIZER which already exists.
-See <http://lists.gnu.org/archive/html/commit-hurd/2009-04/msg00006.html>.
-  
-diff --git a/libpthread/sysdeps/mach/bits/spin-lock.h b/libpthread/sysdeps/mach/bits/spin-lock.h
-index 537dac9..fca0e5a 100644
---- a/libpthread/sysdeps/mach/bits/spin-lock.h
-+++ b/libpthread/sysdeps/mach/bits/spin-lock.h
-@@ -30,7 +30,7 @@ typedef __spin_lock_t __pthread_spinlock_t;
- 
- /* Initializer for a spin lock object.  */
- #ifndef __PTHREAD_SPIN_LOCK_INITIALIZER
--#error __PTHREAD_SPIN_LOCK_INITIALIZER undefined: should be defined by <lock-intern.h>.
-+#define __PTHREAD_SPIN_LOCK_INITIALIZER __SPIN_LOCK_INITIALIZER
- #endif
- 
- __END_DECLS
-
-The version of the glibc we use doesn't include the shm-directory.c file and does
-not yet support IS_IN.
-See <https://lists.gnu.org/archive/html/bug-hurd/2015-03/msg00078.html>
-
-diff --git a/libpthread/Makefile b/libpthread/Makefile
-index 2906788..b8dee58 100644
---- a/libpthread/Makefile
-+++ b/libpthread/Makefile
-@@ -149,8 +149,6 @@ libpthread-routines := pt-attr pt-attr-destroy pt-attr-getdetachstate	    \
- 	sem-post sem-timedwait sem-trywait sem-unlink			    \
- 	sem-wait							    \
- 									    \
--	shm-directory							    \
--									    \
- 	cthreads-compat							    \
- 	$(SYSDEPS)
- 
--- 
-2.3.6
-
-diff --git a/libpthread/pthread/pt-create.c b/libpthread/pthread/pt-create.c
-index d88afae..84044dc 100644
---- a/libpthread/pthread/pt-create.c
-+++ b/libpthread/pthread/pt-create.c
-@@ -28,7 +28,7 @@
- 
- #include <pt-internal.h>
- 
--#if IS_IN (libpthread)
-+#ifdef IS_IN_libpthread
- # include <ctype.h>
- #endif
- #ifdef HAVE_USELOCALE
-@@ -50,7 +50,7 @@ entry_point (struct __pthread *self, void *(*start_routine)(void *), void *arg)
-   __resp = &self->res_state;
- #endif
- 
--#if IS_IN (libpthread)
-+#ifdef IS_IN_libpthread
-   /* Initialize pointers to locale data.  */
-   __ctype_init ();
- #endif
-diff --git a/libpthread/pthread/pt-initialize.c b/libpthread/pthread/pt-initialize.c
-index 9e5404b..b9cacbd 100644
---- a/libpthread/pthread/pt-initialize.c
-+++ b/libpthread/pthread/pt-initialize.c
-@@ -28,7 +28,7 @@
- 
- DEFINE_HOOK (__pthread_init, (void));
- 
--#if IS_IN (libpthread)
-+#ifdef IS_IN_libpthread
- static const struct pthread_functions pthread_functions =
-   {
-     .ptr_pthread_attr_destroy = __pthread_attr_destroy,
-@@ -81,7 +81,7 @@ static const struct pthread_functions pthread_functions =
- void
- ___pthread_init (void)
- {
--#if IS_IN (libpthread)
-+#ifdef IS_IN_libpthread
-   __libc_pthread_init(&pthread_functions);
- #endif
-   RUN_HOOK (__pthread_init, ());
-diff --git a/libpthread/pthread/pt-internal.h b/libpthread/pthread/pt-internal.h
-index 18b5b4c..8cdcfce 100644
---- a/libpthread/pthread/pt-internal.h
-+++ b/libpthread/pthread/pt-internal.h
-@@ -35,7 +35,7 @@
- #include <pt-sysdep.h>
- #include <pt-machdep.h>
- 
--#if IS_IN (libpthread)
-+#ifdef IS_IN_libpthread
- # include <ldsodefs.h>
- #endif
- 
-@@ -60,7 +60,7 @@ enum pthread_state
- # define PTHREAD_SYSDEP_MEMBERS
- #endif
- 
--#if !(IS_IN (libpthread))
-+#ifndef IS_IN_libpthread
- #ifdef ENABLE_TLS
- /* Type of the TCB.  */
- typedef struct
-- 
2.4.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 08/10] gnu: base: Updated glibc-hurd to 2.19 and removed patches.
  2015-05-18 22:23 [PATCH 08/10] gnu: base: Updated glibc-hurd to 2.19 and removed patches Manolis Ragkousis
@ 2015-05-18 22:38 ` Manolis Ragkousis
  2015-05-19 16:28   ` Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: Manolis Ragkousis @ 2015-05-18 22:38 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Guix-devel

[-- Attachment #1: Type: text/plain, Size: 81 bytes --]

I did some rebasing before sending the patches, and the hash got a bit wrong. :P

[-- Attachment #2: 0008-gnu-base-Updated-glibc-hurd-to-2.19-and-removed-patc.patch --]
[-- Type: text/x-patch, Size: 10369 bytes --]

From 5eea545dcf50951d5bad8208b5f9ea83cc249f12 Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis <manolis837@gmail.com>
Date: Tue, 19 May 2015 00:44:59 +0300
Subject: [PATCH 8/10] gnu: base: Updated glibc-hurd to 2.19 and removed
 patches.

gnu/packages/base.scm (glibc/hurd): Update to 2.19
gnu/packages/patches/glibc-hurd-extern-inline.patch: Removed a patch.
gnu/packages/patches/libpthread-glibc-preparation.patch: Removed file.
gnu-system.am: Removed it.
---
 gnu-system.am                                      |   1 -
 gnu/packages/base.scm                              |  37 ++----
 .../patches/glibc-hurd-extern-inline.patch         |  23 +---
 .../patches/libpthread-glibc-preparation.patch     | 146 ---------------------
 4 files changed, 10 insertions(+), 197 deletions(-)
 delete mode 100644 gnu/packages/patches/libpthread-glibc-preparation.patch

diff --git a/gnu-system.am b/gnu-system.am
index efb0ce3..6572e67 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -484,7 +484,6 @@ dist_patch_DATA =						\
   gnu/packages/patches/libvpx-fix-ssse3-quantize.patch		\
   gnu/packages/patches/libvpx-vp9-out-of-bounds-access.patch	\
   gnu/packages/patches/lirc-localstatedir.patch			\
-  gnu/packages/patches/libpthread-glibc-preparation.patch	\
   gnu/packages/patches/lm-sensors-hwmon-attrs.patch		\
   gnu/packages/patches/lua51-liblua-so.patch                    \
   gnu/packages/patches/luajit-no_ldconfig.patch			\
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index b4344ee..3af1498 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -699,16 +699,14 @@ command.")
 (define-public glibc/hurd
   (package (inherit glibc)
     (name "glibc-hurd")
-    (version "2.18")
+    (version "2.19")
     (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "git://git.sv.gnu.org/hurd/glibc")
-                    (commit "cc94b3cfe65523f980359e5f0e93a26196bda1d3")))
+              (method url-fetch)
+              (uri (string-append "http://alpha.gnu.org/gnu/hurd/glibc-"
+                                  version "-hurd+libpthread-20150515" ".tar.gz"))
               (sha256
                (base32
-                "17gsh0kaz0zyvghjmx861mi2p65m9901lngi179x61zm6v2v3xc4"))
-              (file-name (string-append name "-" version))
+                "0fkmn1kfsbhyrkf1wqqvc47dl5bzflnbcggjjfp5s9c489z916zw"))
               (patches (map search-patch
                             '("glibc-hurd-extern-inline.patch")))))
 
@@ -719,18 +717,8 @@ command.")
                          ("hurd-minimal" ,hurd-minimal)))
     (native-inputs
      `(,@(package-native-inputs glibc)
-       ("patch/libpthread-patch" ,(search-patch "libpthread-glibc-preparation.patch"))
        ("mig" ,mig)
-       ("perl" ,perl)
-       ("libpthread" ,(origin
-                        (method git-fetch)
-                        (uri (git-reference
-                              (url "git://git.sv.gnu.org/hurd/libpthread")
-                              (commit "0ef7b75c4ba91b6660f0d3d8b51d14d25e3d5bfb")))
-                        (sha256
-                         (base32
-                          "031py18fls15z0wprni33mf762kg6fx8xqijppimhp83yp6ky3l3"))
-                        (file-name "libpthread")))))
+       ("perl" ,perl)))
 
     (arguments
      (substitute-keyword-arguments (package-arguments glibc)
@@ -749,17 +737,8 @@ command.")
                          ;; "linux-headers" input, to prevent errors.
                          (let ((%build-inputs `(("linux-headers" . "@DUMMY@")
                                                 ,@%build-inputs)))
-                           ,original-configure-flags))))
-       ((#:phases phases)
-        `(alist-cons-after
-          'unpack 'prepare-libpthread
-          (lambda* (#:key inputs #:allow-other-keys)
-            (copy-recursively (assoc-ref inputs "libpthread") "libpthread")
-
-            (system* "patch" "--force" "-p1" "-i"
-                     (assoc-ref inputs "patch/libpthread-patch"))
-            #t)
-          ,phases))))))
+                           ,original-configure-flags))))))))
+
 
 (define-public glibc/hurd-headers
   (package (inherit glibc/hurd)
diff --git a/gnu/packages/patches/glibc-hurd-extern-inline.patch b/gnu/packages/patches/glibc-hurd-extern-inline.patch
index a609b1f..33eb3a4 100644
--- a/gnu/packages/patches/glibc-hurd-extern-inline.patch
+++ b/gnu/packages/patches/glibc-hurd-extern-inline.patch
@@ -1,23 +1,3 @@
-This changes the way _EXTERN_INLINE is defined so we can
-avoid external definition errors.
-https://lists.gnu.org/archive/html/bug-hurd/2014-04/msg00002.html
-
-diff --git a/signal/sigsetops.c b/signal/sigsetops.c
-index 0317662..b92c296 100644
---- a/signal/sigsetops.c
-+++ b/signal/sigsetops.c
-@@ -3,7 +3,9 @@
- 
- #include <features.h>
- 
--#define _EXTERN_INLINE
-+#ifndef _EXTERN_INLINE
-+#define _EXTERN_INLINE __extern_inline
-+#endif
- #ifndef __USE_EXTERN_INLINES
- # define __USE_EXTERN_INLINES  1
- #endif
-
 Link libmachuser and libhurduser automatically with libc, since they are
 considered a standard part of the API in GNU-land.
 
@@ -32,4 +12,5 @@ considered a standard part of the API in GNU-land.
 +endif
  	mv -f $@.new $@
  
- endif
\ No newline at end of file
+ endif
+
diff --git a/gnu/packages/patches/libpthread-glibc-preparation.patch b/gnu/packages/patches/libpthread-glibc-preparation.patch
deleted file mode 100644
index a432454..0000000
--- a/gnu/packages/patches/libpthread-glibc-preparation.patch
+++ /dev/null
@@ -1,146 +0,0 @@
-This patch helps to integrate the Hurd's libpthread as a libc add-on.
-
-It writes the configure file, removes an rpc call not yet 
-implemented on the version of gnumach we use and defines
-a missing macro.
-
-diff --git a/libpthread/configure b/libpthread/configure
-new file mode 100644
-index 0000000..2cdbc71
---- /dev/null
-+++ b/libpthread/configure
-@@ -0,0 +1,2 @@
-+libc_add_on_canonical=libpthread
-+libc_add_on_subdirs=.
--- 
-1.9.0
-
-We are using a version of GNU Mach that lacks 'thread_terminate_release'
-(not introduced yet).  The 'thread_terminate' RPC call will be enough for
-our needs.
-See <http://lists.gnu.org/archive/html/bug-hurd/2014-05/msg00127.html>.
-
-diff --git a/libpthread/sysdeps/mach/pt-thread-terminate.c b/libpthread/sysdeps/mach/pt-thread-terminate.c
-index 6672065..129a611 100644
---- a/libpthread/sysdeps/mach/pt-thread-terminate.c
-+++ b/libpthread/sysdeps/mach/pt-thread-terminate.c
-@@ -70,9 +70,9 @@ __pthread_thread_terminate (struct __pthread *thread)
-   __mach_port_destroy (__mach_task_self (), wakeup_port);
- 
-   /* Terminate and release all that's left.  */
--  err = __thread_terminate_release (kernel_thread, mach_task_self (),
--				    kernel_thread, reply_port,
--				    stackaddr, stacksize);
-+  /* err = __thread_terminate_release (kernel_thread, mach_task_self (), */
-+  /* 				    kernel_thread, reply_port, */
-+  /* 				    stackaddr, stacksize); */
- 
-   /* The kernel does not support it yet.  Leak but at least terminate
-      correctly.  */
--- 
-1.9.2
-
-The __PTHREAD_SPIN_LOCK_INITIALIZER definition is missing, so we 
-define it to __SPIN_LOCK_INITIALIZER which already exists.
-See <http://lists.gnu.org/archive/html/commit-hurd/2009-04/msg00006.html>.
-  
-diff --git a/libpthread/sysdeps/mach/bits/spin-lock.h b/libpthread/sysdeps/mach/bits/spin-lock.h
-index 537dac9..fca0e5a 100644
---- a/libpthread/sysdeps/mach/bits/spin-lock.h
-+++ b/libpthread/sysdeps/mach/bits/spin-lock.h
-@@ -30,7 +30,7 @@ typedef __spin_lock_t __pthread_spinlock_t;
- 
- /* Initializer for a spin lock object.  */
- #ifndef __PTHREAD_SPIN_LOCK_INITIALIZER
--#error __PTHREAD_SPIN_LOCK_INITIALIZER undefined: should be defined by <lock-intern.h>.
-+#define __PTHREAD_SPIN_LOCK_INITIALIZER __SPIN_LOCK_INITIALIZER
- #endif
- 
- __END_DECLS
-
-The version of the glibc we use doesn't include the shm-directory.c file and does
-not yet support IS_IN.
-See <https://lists.gnu.org/archive/html/bug-hurd/2015-03/msg00078.html>
-
-diff --git a/libpthread/Makefile b/libpthread/Makefile
-index 2906788..b8dee58 100644
---- a/libpthread/Makefile
-+++ b/libpthread/Makefile
-@@ -149,8 +149,6 @@ libpthread-routines := pt-attr pt-attr-destroy pt-attr-getdetachstate	    \
- 	sem-post sem-timedwait sem-trywait sem-unlink			    \
- 	sem-wait							    \
- 									    \
--	shm-directory							    \
--									    \
- 	cthreads-compat							    \
- 	$(SYSDEPS)
- 
--- 
-2.3.6
-
-diff --git a/libpthread/pthread/pt-create.c b/libpthread/pthread/pt-create.c
-index d88afae..84044dc 100644
---- a/libpthread/pthread/pt-create.c
-+++ b/libpthread/pthread/pt-create.c
-@@ -28,7 +28,7 @@
- 
- #include <pt-internal.h>
- 
--#if IS_IN (libpthread)
-+#ifdef IS_IN_libpthread
- # include <ctype.h>
- #endif
- #ifdef HAVE_USELOCALE
-@@ -50,7 +50,7 @@ entry_point (struct __pthread *self, void *(*start_routine)(void *), void *arg)
-   __resp = &self->res_state;
- #endif
- 
--#if IS_IN (libpthread)
-+#ifdef IS_IN_libpthread
-   /* Initialize pointers to locale data.  */
-   __ctype_init ();
- #endif
-diff --git a/libpthread/pthread/pt-initialize.c b/libpthread/pthread/pt-initialize.c
-index 9e5404b..b9cacbd 100644
---- a/libpthread/pthread/pt-initialize.c
-+++ b/libpthread/pthread/pt-initialize.c
-@@ -28,7 +28,7 @@
- 
- DEFINE_HOOK (__pthread_init, (void));
- 
--#if IS_IN (libpthread)
-+#ifdef IS_IN_libpthread
- static const struct pthread_functions pthread_functions =
-   {
-     .ptr_pthread_attr_destroy = __pthread_attr_destroy,
-@@ -81,7 +81,7 @@ static const struct pthread_functions pthread_functions =
- void
- ___pthread_init (void)
- {
--#if IS_IN (libpthread)
-+#ifdef IS_IN_libpthread
-   __libc_pthread_init(&pthread_functions);
- #endif
-   RUN_HOOK (__pthread_init, ());
-diff --git a/libpthread/pthread/pt-internal.h b/libpthread/pthread/pt-internal.h
-index 18b5b4c..8cdcfce 100644
---- a/libpthread/pthread/pt-internal.h
-+++ b/libpthread/pthread/pt-internal.h
-@@ -35,7 +35,7 @@
- #include <pt-sysdep.h>
- #include <pt-machdep.h>
- 
--#if IS_IN (libpthread)
-+#ifdef IS_IN_libpthread
- # include <ldsodefs.h>
- #endif
- 
-@@ -60,7 +60,7 @@ enum pthread_state
- # define PTHREAD_SYSDEP_MEMBERS
- #endif
- 
--#if !(IS_IN (libpthread))
-+#ifndef IS_IN_libpthread
- #ifdef ENABLE_TLS
- /* Type of the TCB.  */
- typedef struct
-- 
2.4.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 08/10] gnu: base: Updated glibc-hurd to 2.19 and removed patches.
  2015-05-18 22:38 ` Manolis Ragkousis
@ 2015-05-19 16:28   ` Ludovic Courtès
  2015-06-08 20:57     ` Manolis Ragkousis
  0 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2015-05-19 16:28 UTC (permalink / raw)
  To: Manolis Ragkousis; +Cc: Guix-devel

Manolis Ragkousis <manolis837@gmail.com> skribis:

> From 5eea545dcf50951d5bad8208b5f9ea83cc249f12 Mon Sep 17 00:00:00 2001
> From: Manolis Ragkousis <manolis837@gmail.com>
> Date: Tue, 19 May 2015 00:44:59 +0300
> Subject: [PATCH 8/10] gnu: base: Updated glibc-hurd to 2.19 and removed
>  patches.
>
> gnu/packages/base.scm (glibc/hurd): Update to 2.19
> gnu/packages/patches/glibc-hurd-extern-inline.patch: Removed a patch.
> gnu/packages/patches/libpthread-glibc-preparation.patch: Removed file.
> gnu-system.am: Removed it.

Add stars in front of each item.  “Remove” is enough for removed file.

>  gnu-system.am                                      |   1 -
>  gnu/packages/base.scm                              |  37 ++----
>  .../patches/glibc-hurd-extern-inline.patch         |  23 +---
>  .../patches/libpthread-glibc-preparation.patch     | 146 ---------------------
>  4 files changed, 10 insertions(+), 197 deletions(-)

Very cool! :-)

OK for wip-hurd with adjusted commit log!

Ludo’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 08/10] gnu: base: Updated glibc-hurd to 2.19 and removed patches.
  2015-05-19 16:28   ` Ludovic Courtès
@ 2015-06-08 20:57     ` Manolis Ragkousis
  2015-06-08 21:27       ` Manolis Ragkousis
  0 siblings, 1 reply; 7+ messages in thread
From: Manolis Ragkousis @ 2015-06-08 20:57 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Guix-devel

[-- Attachment #1: Type: text/plain, Size: 39 bytes --]

Updated patch. Ok to push to wip-hurd?

[-- Attachment #2: 0001-gnu-base-Updated-glibc-hurd-to-2.19-and-removed-patc.patch --]
[-- Type: text/x-patch, Size: 12576 bytes --]

From ee55055398b8b135d5ba8ac42ef051df606fdc8c Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis <manolis837@gmail.com>
Date: Thu, 21 May 2015 16:57:23 +0300
Subject: [PATCH] gnu: base: Updated glibc-hurd to 2.19 and removed patches.

* gnu/packages/base.scm (glibc/hurd): Update to 2.19
* gnu/packages/patches/glibc-hurd-extern-inline.patch: Rename to ...
* gnu/packages/patches/glibc-hurd-libs.patch: ... this and removed a patch.
* gnu/packages/patches/libpthread-glibc-preparation.patch: Remove.
* gnu-system.am (dist_patch_DATA): Removed it and adapt to renamed file.
---
 gnu-system.am                                      |   3 +-
 gnu/packages/base.scm                              |  38 ++----
 .../patches/glibc-hurd-extern-inline.patch         |  35 -----
 gnu/packages/patches/glibc-hurd-libs.patch         |  19 +++
 .../patches/libpthread-glibc-preparation.patch     | 146 ---------------------
 5 files changed, 28 insertions(+), 213 deletions(-)
 delete mode 100644 gnu/packages/patches/glibc-hurd-extern-inline.patch
 create mode 100644 gnu/packages/patches/glibc-hurd-libs.patch
 delete mode 100644 gnu/packages/patches/libpthread-glibc-preparation.patch

diff --git a/gnu-system.am b/gnu-system.am
index 8b4f703..f15d4e9 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -436,9 +436,9 @@ dist_patch_DATA =						\
   gnu/packages/patches/glibc-bootstrap-system.patch		\
   gnu/packages/patches/glibc-ldd-x86_64.patch			\
   gnu/packages/patches/glibc-locales.patch			\
+  gnu/packages/patches/glibc-hurd-libs.patch			\
   gnu/packages/patches/gmp-arm-asm-nothumb.patch		\
   gnu/packages/patches/gnutls-fix-duplicate-manpages.patch	\
-  gnu/packages/patches/glibc-hurd-extern-inline.patch		\
   gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch \
   gnu/packages/patches/gobject-introspection-cc.patch		\
   gnu/packages/patches/gobject-introspection-girepository.patch	\
@@ -475,7 +475,6 @@ dist_patch_DATA =						\
   gnu/packages/patches/libvpx-vp9-out-of-bounds-access.patch	\
   gnu/packages/patches/linux-libre-libreboot-fix.patch		\
   gnu/packages/patches/lirc-localstatedir.patch			\
-  gnu/packages/patches/libpthread-glibc-preparation.patch	\
   gnu/packages/patches/lm-sensors-hwmon-attrs.patch		\
   gnu/packages/patches/lua51-liblua-so.patch                    \
   gnu/packages/patches/luajit-no_ldconfig.patch			\
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 67bdab4..c69221c 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -697,18 +697,16 @@ command.")
 (define-public glibc/hurd
   (package (inherit glibc)
     (name "glibc-hurd")
-    (version "2.18")
+    (version "2.19")
     (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "git://git.sv.gnu.org/hurd/glibc")
-                    (commit "cc94b3cfe65523f980359e5f0e93a26196bda1d3")))
+              (method url-fetch)
+              (uri (string-append "http://alpha.gnu.org/gnu/hurd/glibc-"
+                                  version "-hurd+libpthread-20150515" ".tar.gz"))
               (sha256
                (base32
-                "17gsh0kaz0zyvghjmx861mi2p65m9901lngi179x61zm6v2v3xc4"))
-              (file-name (string-append name "-" version))
+                "0fkmn1kfsbhyrkf1wqqvc47dl5bzflnbcggjjfp5s9c489z916zw"))
               (patches (map search-patch
-                            '("glibc-hurd-extern-inline.patch")))))
+                            '("glibc-hurd-libs.patch")))))
 
     ;; Libc provides <hurd.h>, which includes a bunch of Hurd and Mach headers,
     ;; so both should be propagated.
@@ -717,18 +715,8 @@ command.")
                          ("hurd-minimal" ,hurd-minimal)))
     (native-inputs
      `(,@(package-native-inputs glibc)
-       ("patch/libpthread-patch" ,(search-patch "libpthread-glibc-preparation.patch"))
        ("mig" ,mig)
-       ("perl" ,perl)
-       ("libpthread" ,(origin
-                        (method git-fetch)
-                        (uri (git-reference
-                              (url "git://git.sv.gnu.org/hurd/libpthread")
-                              (commit "0ef7b75c4ba91b6660f0d3d8b51d14d25e3d5bfb")))
-                        (sha256
-                         (base32
-                          "031py18fls15z0wprni33mf762kg6fx8xqijppimhp83yp6ky3l3"))
-                        (file-name "libpthread")))))
+       ("perl" ,perl)))
 
     (arguments
      (substitute-keyword-arguments (package-arguments glibc)
@@ -747,17 +735,7 @@ command.")
                          ;; "linux-headers" input, to prevent errors.
                          (let ((%build-inputs `(("linux-headers" . "@DUMMY@")
                                                 ,@%build-inputs)))
-                           ,original-configure-flags))))
-       ((#:phases phases)
-        `(alist-cons-after
-          'unpack 'prepare-libpthread
-          (lambda* (#:key inputs #:allow-other-keys)
-            (copy-recursively (assoc-ref inputs "libpthread") "libpthread")
-
-            (system* "patch" "--force" "-p1" "-i"
-                     (assoc-ref inputs "patch/libpthread-patch"))
-            #t)
-          ,phases))))))
+                           ,original-configure-flags))))))))
 
 (define-public glibc/hurd-headers
   (package (inherit glibc/hurd)
diff --git a/gnu/packages/patches/glibc-hurd-extern-inline.patch b/gnu/packages/patches/glibc-hurd-extern-inline.patch
deleted file mode 100644
index a609b1f..0000000
--- a/gnu/packages/patches/glibc-hurd-extern-inline.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-This changes the way _EXTERN_INLINE is defined so we can
-avoid external definition errors.
-https://lists.gnu.org/archive/html/bug-hurd/2014-04/msg00002.html
-
-diff --git a/signal/sigsetops.c b/signal/sigsetops.c
-index 0317662..b92c296 100644
---- a/signal/sigsetops.c
-+++ b/signal/sigsetops.c
-@@ -3,7 +3,9 @@
- 
- #include <features.h>
- 
--#define _EXTERN_INLINE
-+#ifndef _EXTERN_INLINE
-+#define _EXTERN_INLINE __extern_inline
-+#endif
- #ifndef __USE_EXTERN_INLINES
- # define __USE_EXTERN_INLINES  1
- #endif
-
-Link libmachuser and libhurduser automatically with libc, since they are
-considered a standard part of the API in GNU-land.
-
---- a/Makerules
-+++ b/Makerules
-@@ -978,6 +978,9 @@
- 	      '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)$(libc-name))'\
-	      ' AS_NEEDED (' $(rtlddir)/$(rtld-installed-name) ') )' \
- 	) > $@.new
-+ifeq ($(patsubst gnu%,,$(config-os)),)
-+	echo 'INPUT ( AS_NEEDED ( -lmachuser -lhurduser ) )' >> $@.new
-+endif
- 	mv -f $@.new $@
- 
- endif
\ No newline at end of file
diff --git a/gnu/packages/patches/glibc-hurd-libs.patch b/gnu/packages/patches/glibc-hurd-libs.patch
new file mode 100644
index 0000000..cae1a40
--- /dev/null
+++ b/gnu/packages/patches/glibc-hurd-libs.patch
@@ -0,0 +1,19 @@
+Link libmachuser and libhurduser automatically with libc, since they are
+considered a standard part of the API in GNU-land.
+See <http://lists.gnu.org/archive/html/bug-hurd/2011-03/msg00112.html>
+
+---
+ Makerules |    3 +++
+ 1 file changed, 3 insertions(+)
+--- a/Makerules
++++ b/Makerules
+@@ -1001,6 +1001,9 @@ $(inst_libdir)/libc.so: $(common-objpfx)
+ 	      '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)$(libc-name))'\
+ 	      ' AS_NEEDED (' $(rtlddir)/$(rtld-installed-name) ') )' \
+ 	) > $@.new
++ifeq ($(patsubst gnu%,,$(config-os)),)
++	echo 'INPUT ( AS_NEEDED ( -lmachuser -lhurduser ) )' >> $@.new
++endif
+ 	mv -f $@.new $@
+ 
+ endif
diff --git a/gnu/packages/patches/libpthread-glibc-preparation.patch b/gnu/packages/patches/libpthread-glibc-preparation.patch
deleted file mode 100644
index a432454..0000000
--- a/gnu/packages/patches/libpthread-glibc-preparation.patch
+++ /dev/null
@@ -1,146 +0,0 @@
-This patch helps to integrate the Hurd's libpthread as a libc add-on.
-
-It writes the configure file, removes an rpc call not yet 
-implemented on the version of gnumach we use and defines
-a missing macro.
-
-diff --git a/libpthread/configure b/libpthread/configure
-new file mode 100644
-index 0000000..2cdbc71
---- /dev/null
-+++ b/libpthread/configure
-@@ -0,0 +1,2 @@
-+libc_add_on_canonical=libpthread
-+libc_add_on_subdirs=.
--- 
-1.9.0
-
-We are using a version of GNU Mach that lacks 'thread_terminate_release'
-(not introduced yet).  The 'thread_terminate' RPC call will be enough for
-our needs.
-See <http://lists.gnu.org/archive/html/bug-hurd/2014-05/msg00127.html>.
-
-diff --git a/libpthread/sysdeps/mach/pt-thread-terminate.c b/libpthread/sysdeps/mach/pt-thread-terminate.c
-index 6672065..129a611 100644
---- a/libpthread/sysdeps/mach/pt-thread-terminate.c
-+++ b/libpthread/sysdeps/mach/pt-thread-terminate.c
-@@ -70,9 +70,9 @@ __pthread_thread_terminate (struct __pthread *thread)
-   __mach_port_destroy (__mach_task_self (), wakeup_port);
- 
-   /* Terminate and release all that's left.  */
--  err = __thread_terminate_release (kernel_thread, mach_task_self (),
--				    kernel_thread, reply_port,
--				    stackaddr, stacksize);
-+  /* err = __thread_terminate_release (kernel_thread, mach_task_self (), */
-+  /* 				    kernel_thread, reply_port, */
-+  /* 				    stackaddr, stacksize); */
- 
-   /* The kernel does not support it yet.  Leak but at least terminate
-      correctly.  */
--- 
-1.9.2
-
-The __PTHREAD_SPIN_LOCK_INITIALIZER definition is missing, so we 
-define it to __SPIN_LOCK_INITIALIZER which already exists.
-See <http://lists.gnu.org/archive/html/commit-hurd/2009-04/msg00006.html>.
-  
-diff --git a/libpthread/sysdeps/mach/bits/spin-lock.h b/libpthread/sysdeps/mach/bits/spin-lock.h
-index 537dac9..fca0e5a 100644
---- a/libpthread/sysdeps/mach/bits/spin-lock.h
-+++ b/libpthread/sysdeps/mach/bits/spin-lock.h
-@@ -30,7 +30,7 @@ typedef __spin_lock_t __pthread_spinlock_t;
- 
- /* Initializer for a spin lock object.  */
- #ifndef __PTHREAD_SPIN_LOCK_INITIALIZER
--#error __PTHREAD_SPIN_LOCK_INITIALIZER undefined: should be defined by <lock-intern.h>.
-+#define __PTHREAD_SPIN_LOCK_INITIALIZER __SPIN_LOCK_INITIALIZER
- #endif
- 
- __END_DECLS
-
-The version of the glibc we use doesn't include the shm-directory.c file and does
-not yet support IS_IN.
-See <https://lists.gnu.org/archive/html/bug-hurd/2015-03/msg00078.html>
-
-diff --git a/libpthread/Makefile b/libpthread/Makefile
-index 2906788..b8dee58 100644
---- a/libpthread/Makefile
-+++ b/libpthread/Makefile
-@@ -149,8 +149,6 @@ libpthread-routines := pt-attr pt-attr-destroy pt-attr-getdetachstate	    \
- 	sem-post sem-timedwait sem-trywait sem-unlink			    \
- 	sem-wait							    \
- 									    \
--	shm-directory							    \
--									    \
- 	cthreads-compat							    \
- 	$(SYSDEPS)
- 
--- 
-2.3.6
-
-diff --git a/libpthread/pthread/pt-create.c b/libpthread/pthread/pt-create.c
-index d88afae..84044dc 100644
---- a/libpthread/pthread/pt-create.c
-+++ b/libpthread/pthread/pt-create.c
-@@ -28,7 +28,7 @@
- 
- #include <pt-internal.h>
- 
--#if IS_IN (libpthread)
-+#ifdef IS_IN_libpthread
- # include <ctype.h>
- #endif
- #ifdef HAVE_USELOCALE
-@@ -50,7 +50,7 @@ entry_point (struct __pthread *self, void *(*start_routine)(void *), void *arg)
-   __resp = &self->res_state;
- #endif
- 
--#if IS_IN (libpthread)
-+#ifdef IS_IN_libpthread
-   /* Initialize pointers to locale data.  */
-   __ctype_init ();
- #endif
-diff --git a/libpthread/pthread/pt-initialize.c b/libpthread/pthread/pt-initialize.c
-index 9e5404b..b9cacbd 100644
---- a/libpthread/pthread/pt-initialize.c
-+++ b/libpthread/pthread/pt-initialize.c
-@@ -28,7 +28,7 @@
- 
- DEFINE_HOOK (__pthread_init, (void));
- 
--#if IS_IN (libpthread)
-+#ifdef IS_IN_libpthread
- static const struct pthread_functions pthread_functions =
-   {
-     .ptr_pthread_attr_destroy = __pthread_attr_destroy,
-@@ -81,7 +81,7 @@ static const struct pthread_functions pthread_functions =
- void
- ___pthread_init (void)
- {
--#if IS_IN (libpthread)
-+#ifdef IS_IN_libpthread
-   __libc_pthread_init(&pthread_functions);
- #endif
-   RUN_HOOK (__pthread_init, ());
-diff --git a/libpthread/pthread/pt-internal.h b/libpthread/pthread/pt-internal.h
-index 18b5b4c..8cdcfce 100644
---- a/libpthread/pthread/pt-internal.h
-+++ b/libpthread/pthread/pt-internal.h
-@@ -35,7 +35,7 @@
- #include <pt-sysdep.h>
- #include <pt-machdep.h>
- 
--#if IS_IN (libpthread)
-+#ifdef IS_IN_libpthread
- # include <ldsodefs.h>
- #endif
- 
-@@ -60,7 +60,7 @@ enum pthread_state
- # define PTHREAD_SYSDEP_MEMBERS
- #endif
- 
--#if !(IS_IN (libpthread))
-+#ifndef IS_IN_libpthread
- #ifdef ENABLE_TLS
- /* Type of the TCB.  */
- typedef struct
-- 
2.4.2


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 08/10] gnu: base: Updated glibc-hurd to 2.19 and removed patches.
  2015-06-08 20:57     ` Manolis Ragkousis
@ 2015-06-08 21:27       ` Manolis Ragkousis
  2015-06-09 15:47         ` Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: Manolis Ragkousis @ 2015-06-08 21:27 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Guix-devel

[-- Attachment #1: Type: text/plain, Size: 164 bytes --]

Actually I merged this patch with the one from [PATCH 09/10] gnu: base:
Remove a multiple definition from libpthread with some changes.

This is the updated patch.

[-- Attachment #2: 0001-gnu-base-Updated-glibc-hurd-to-2.19-and-removed-patc.patch --]
[-- Type: text/x-patch, Size: 13984 bytes --]

From f4867aa5438bd5c51579aa9cc3ac0227d7eaf211 Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis <manolis837@gmail.com>
Date: Thu, 21 May 2015 16:57:23 +0300
Subject: [PATCH] gnu: base: Updated glibc-hurd to 2.19 and removed patches.

* gnu/packages/base.scm (glibc/hurd): Update to 2.19
* gnu/packages/patches/glibc-hurd-extern-inline.patch: Rename to ...
* gnu/packages/patches/glibc-hurd-libs.patch: ... this and removed a patch.
* gnu/packages/patches/libpthread-glibc-preparation.patch: Remove.
* gnu/packages/patches/libpthread-remove-duplicate.patch: Add
* gnu-system.am (dist_patch_DATA): Add, remove and adapt to renamed file.
---
 gnu-system.am                                      |   4 +-
 gnu/packages/base.scm                              |  40 ++----
 .../patches/glibc-hurd-extern-inline.patch         |  35 -----
 gnu/packages/patches/glibc-hurd-libs.patch         |  19 +++
 .../patches/libpthread-glibc-preparation.patch     | 146 ---------------------
 .../patches/libpthread-remove-duplicate.patch      |  17 +++
 6 files changed, 47 insertions(+), 214 deletions(-)
 delete mode 100644 gnu/packages/patches/glibc-hurd-extern-inline.patch
 create mode 100644 gnu/packages/patches/glibc-hurd-libs.patch
 delete mode 100644 gnu/packages/patches/libpthread-glibc-preparation.patch
 create mode 100644 gnu/packages/patches/libpthread-remove-duplicate.patch

diff --git a/gnu-system.am b/gnu-system.am
index 8b4f703..12f35aa 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -436,9 +436,9 @@ dist_patch_DATA =						\
   gnu/packages/patches/glibc-bootstrap-system.patch		\
   gnu/packages/patches/glibc-ldd-x86_64.patch			\
   gnu/packages/patches/glibc-locales.patch			\
+  gnu/packages/patches/glibc-hurd-libs.patch			\
   gnu/packages/patches/gmp-arm-asm-nothumb.patch		\
   gnu/packages/patches/gnutls-fix-duplicate-manpages.patch	\
-  gnu/packages/patches/glibc-hurd-extern-inline.patch		\
   gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch \
   gnu/packages/patches/gobject-introspection-cc.patch		\
   gnu/packages/patches/gobject-introspection-girepository.patch	\
@@ -466,6 +466,7 @@ dist_patch_DATA =						\
   gnu/packages/patches/libevent-dns-tests.patch			\
   gnu/packages/patches/liboop-mips64-deplibs-fix.patch		\
   gnu/packages/patches/libmad-mips-newgcc.patch			\
+  gnu/packages/patches/libpthread-remove-duplicate.patch	\
   gnu/packages/patches/libtheora-config-guess.patch		\
   gnu/packages/patches/libtool-skip-tests.patch			\
   gnu/packages/patches/libtool-skip-tests2.patch		\
@@ -475,7 +476,6 @@ dist_patch_DATA =						\
   gnu/packages/patches/libvpx-vp9-out-of-bounds-access.patch	\
   gnu/packages/patches/linux-libre-libreboot-fix.patch		\
   gnu/packages/patches/lirc-localstatedir.patch			\
-  gnu/packages/patches/libpthread-glibc-preparation.patch	\
   gnu/packages/patches/lm-sensors-hwmon-attrs.patch		\
   gnu/packages/patches/lua51-liblua-so.patch                    \
   gnu/packages/patches/luajit-no_ldconfig.patch			\
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 67bdab4..64eea3a 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -697,18 +697,16 @@ command.")
 (define-public glibc/hurd
   (package (inherit glibc)
     (name "glibc-hurd")
-    (version "2.18")
+    (version "2.19")
     (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "git://git.sv.gnu.org/hurd/glibc")
-                    (commit "cc94b3cfe65523f980359e5f0e93a26196bda1d3")))
+              (method url-fetch)
+              (uri (string-append "http://alpha.gnu.org/gnu/hurd/glibc-"
+                                  version "-hurd+libpthread-20150515" ".tar.gz"))
               (sha256
                (base32
-                "17gsh0kaz0zyvghjmx861mi2p65m9901lngi179x61zm6v2v3xc4"))
-              (file-name (string-append name "-" version))
-              (patches (map search-patch
-                            '("glibc-hurd-extern-inline.patch")))))
+                "0fkmn1kfsbhyrkf1wqqvc47dl5bzflnbcggjjfp5s9c489z916zw"))
+              (patches (list (search-patch "glibc-hurd-libs.patch")
+                             (search-patch "libpthread-remove-duplicate.patch")))))
 
     ;; Libc provides <hurd.h>, which includes a bunch of Hurd and Mach headers,
     ;; so both should be propagated.
@@ -717,18 +715,8 @@ command.")
                          ("hurd-minimal" ,hurd-minimal)))
     (native-inputs
      `(,@(package-native-inputs glibc)
-       ("patch/libpthread-patch" ,(search-patch "libpthread-glibc-preparation.patch"))
        ("mig" ,mig)
-       ("perl" ,perl)
-       ("libpthread" ,(origin
-                        (method git-fetch)
-                        (uri (git-reference
-                              (url "git://git.sv.gnu.org/hurd/libpthread")
-                              (commit "0ef7b75c4ba91b6660f0d3d8b51d14d25e3d5bfb")))
-                        (sha256
-                         (base32
-                          "031py18fls15z0wprni33mf762kg6fx8xqijppimhp83yp6ky3l3"))
-                        (file-name "libpthread")))))
+       ("perl" ,perl)))
 
     (arguments
      (substitute-keyword-arguments (package-arguments glibc)
@@ -747,17 +735,7 @@ command.")
                          ;; "linux-headers" input, to prevent errors.
                          (let ((%build-inputs `(("linux-headers" . "@DUMMY@")
                                                 ,@%build-inputs)))
-                           ,original-configure-flags))))
-       ((#:phases phases)
-        `(alist-cons-after
-          'unpack 'prepare-libpthread
-          (lambda* (#:key inputs #:allow-other-keys)
-            (copy-recursively (assoc-ref inputs "libpthread") "libpthread")
-
-            (system* "patch" "--force" "-p1" "-i"
-                     (assoc-ref inputs "patch/libpthread-patch"))
-            #t)
-          ,phases))))))
+                           ,original-configure-flags))))))))
 
 (define-public glibc/hurd-headers
   (package (inherit glibc/hurd)
diff --git a/gnu/packages/patches/glibc-hurd-extern-inline.patch b/gnu/packages/patches/glibc-hurd-extern-inline.patch
deleted file mode 100644
index a609b1f..0000000
--- a/gnu/packages/patches/glibc-hurd-extern-inline.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-This changes the way _EXTERN_INLINE is defined so we can
-avoid external definition errors.
-https://lists.gnu.org/archive/html/bug-hurd/2014-04/msg00002.html
-
-diff --git a/signal/sigsetops.c b/signal/sigsetops.c
-index 0317662..b92c296 100644
---- a/signal/sigsetops.c
-+++ b/signal/sigsetops.c
-@@ -3,7 +3,9 @@
- 
- #include <features.h>
- 
--#define _EXTERN_INLINE
-+#ifndef _EXTERN_INLINE
-+#define _EXTERN_INLINE __extern_inline
-+#endif
- #ifndef __USE_EXTERN_INLINES
- # define __USE_EXTERN_INLINES  1
- #endif
-
-Link libmachuser and libhurduser automatically with libc, since they are
-considered a standard part of the API in GNU-land.
-
---- a/Makerules
-+++ b/Makerules
-@@ -978,6 +978,9 @@
- 	      '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)$(libc-name))'\
-	      ' AS_NEEDED (' $(rtlddir)/$(rtld-installed-name) ') )' \
- 	) > $@.new
-+ifeq ($(patsubst gnu%,,$(config-os)),)
-+	echo 'INPUT ( AS_NEEDED ( -lmachuser -lhurduser ) )' >> $@.new
-+endif
- 	mv -f $@.new $@
- 
- endif
\ No newline at end of file
diff --git a/gnu/packages/patches/glibc-hurd-libs.patch b/gnu/packages/patches/glibc-hurd-libs.patch
new file mode 100644
index 0000000..cae1a40
--- /dev/null
+++ b/gnu/packages/patches/glibc-hurd-libs.patch
@@ -0,0 +1,19 @@
+Link libmachuser and libhurduser automatically with libc, since they are
+considered a standard part of the API in GNU-land.
+See <http://lists.gnu.org/archive/html/bug-hurd/2011-03/msg00112.html>
+
+---
+ Makerules |    3 +++
+ 1 file changed, 3 insertions(+)
+--- a/Makerules
++++ b/Makerules
+@@ -1001,6 +1001,9 @@ $(inst_libdir)/libc.so: $(common-objpfx)
+ 	      '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)$(libc-name))'\
+ 	      ' AS_NEEDED (' $(rtlddir)/$(rtld-installed-name) ') )' \
+ 	) > $@.new
++ifeq ($(patsubst gnu%,,$(config-os)),)
++	echo 'INPUT ( AS_NEEDED ( -lmachuser -lhurduser ) )' >> $@.new
++endif
+ 	mv -f $@.new $@
+ 
+ endif
diff --git a/gnu/packages/patches/libpthread-glibc-preparation.patch b/gnu/packages/patches/libpthread-glibc-preparation.patch
deleted file mode 100644
index a432454..0000000
--- a/gnu/packages/patches/libpthread-glibc-preparation.patch
+++ /dev/null
@@ -1,146 +0,0 @@
-This patch helps to integrate the Hurd's libpthread as a libc add-on.
-
-It writes the configure file, removes an rpc call not yet 
-implemented on the version of gnumach we use and defines
-a missing macro.
-
-diff --git a/libpthread/configure b/libpthread/configure
-new file mode 100644
-index 0000000..2cdbc71
---- /dev/null
-+++ b/libpthread/configure
-@@ -0,0 +1,2 @@
-+libc_add_on_canonical=libpthread
-+libc_add_on_subdirs=.
--- 
-1.9.0
-
-We are using a version of GNU Mach that lacks 'thread_terminate_release'
-(not introduced yet).  The 'thread_terminate' RPC call will be enough for
-our needs.
-See <http://lists.gnu.org/archive/html/bug-hurd/2014-05/msg00127.html>.
-
-diff --git a/libpthread/sysdeps/mach/pt-thread-terminate.c b/libpthread/sysdeps/mach/pt-thread-terminate.c
-index 6672065..129a611 100644
---- a/libpthread/sysdeps/mach/pt-thread-terminate.c
-+++ b/libpthread/sysdeps/mach/pt-thread-terminate.c
-@@ -70,9 +70,9 @@ __pthread_thread_terminate (struct __pthread *thread)
-   __mach_port_destroy (__mach_task_self (), wakeup_port);
- 
-   /* Terminate and release all that's left.  */
--  err = __thread_terminate_release (kernel_thread, mach_task_self (),
--				    kernel_thread, reply_port,
--				    stackaddr, stacksize);
-+  /* err = __thread_terminate_release (kernel_thread, mach_task_self (), */
-+  /* 				    kernel_thread, reply_port, */
-+  /* 				    stackaddr, stacksize); */
- 
-   /* The kernel does not support it yet.  Leak but at least terminate
-      correctly.  */
--- 
-1.9.2
-
-The __PTHREAD_SPIN_LOCK_INITIALIZER definition is missing, so we 
-define it to __SPIN_LOCK_INITIALIZER which already exists.
-See <http://lists.gnu.org/archive/html/commit-hurd/2009-04/msg00006.html>.
-  
-diff --git a/libpthread/sysdeps/mach/bits/spin-lock.h b/libpthread/sysdeps/mach/bits/spin-lock.h
-index 537dac9..fca0e5a 100644
---- a/libpthread/sysdeps/mach/bits/spin-lock.h
-+++ b/libpthread/sysdeps/mach/bits/spin-lock.h
-@@ -30,7 +30,7 @@ typedef __spin_lock_t __pthread_spinlock_t;
- 
- /* Initializer for a spin lock object.  */
- #ifndef __PTHREAD_SPIN_LOCK_INITIALIZER
--#error __PTHREAD_SPIN_LOCK_INITIALIZER undefined: should be defined by <lock-intern.h>.
-+#define __PTHREAD_SPIN_LOCK_INITIALIZER __SPIN_LOCK_INITIALIZER
- #endif
- 
- __END_DECLS
-
-The version of the glibc we use doesn't include the shm-directory.c file and does
-not yet support IS_IN.
-See <https://lists.gnu.org/archive/html/bug-hurd/2015-03/msg00078.html>
-
-diff --git a/libpthread/Makefile b/libpthread/Makefile
-index 2906788..b8dee58 100644
---- a/libpthread/Makefile
-+++ b/libpthread/Makefile
-@@ -149,8 +149,6 @@ libpthread-routines := pt-attr pt-attr-destroy pt-attr-getdetachstate	    \
- 	sem-post sem-timedwait sem-trywait sem-unlink			    \
- 	sem-wait							    \
- 									    \
--	shm-directory							    \
--									    \
- 	cthreads-compat							    \
- 	$(SYSDEPS)
- 
--- 
-2.3.6
-
-diff --git a/libpthread/pthread/pt-create.c b/libpthread/pthread/pt-create.c
-index d88afae..84044dc 100644
---- a/libpthread/pthread/pt-create.c
-+++ b/libpthread/pthread/pt-create.c
-@@ -28,7 +28,7 @@
- 
- #include <pt-internal.h>
- 
--#if IS_IN (libpthread)
-+#ifdef IS_IN_libpthread
- # include <ctype.h>
- #endif
- #ifdef HAVE_USELOCALE
-@@ -50,7 +50,7 @@ entry_point (struct __pthread *self, void *(*start_routine)(void *), void *arg)
-   __resp = &self->res_state;
- #endif
- 
--#if IS_IN (libpthread)
-+#ifdef IS_IN_libpthread
-   /* Initialize pointers to locale data.  */
-   __ctype_init ();
- #endif
-diff --git a/libpthread/pthread/pt-initialize.c b/libpthread/pthread/pt-initialize.c
-index 9e5404b..b9cacbd 100644
---- a/libpthread/pthread/pt-initialize.c
-+++ b/libpthread/pthread/pt-initialize.c
-@@ -28,7 +28,7 @@
- 
- DEFINE_HOOK (__pthread_init, (void));
- 
--#if IS_IN (libpthread)
-+#ifdef IS_IN_libpthread
- static const struct pthread_functions pthread_functions =
-   {
-     .ptr_pthread_attr_destroy = __pthread_attr_destroy,
-@@ -81,7 +81,7 @@ static const struct pthread_functions pthread_functions =
- void
- ___pthread_init (void)
- {
--#if IS_IN (libpthread)
-+#ifdef IS_IN_libpthread
-   __libc_pthread_init(&pthread_functions);
- #endif
-   RUN_HOOK (__pthread_init, ());
-diff --git a/libpthread/pthread/pt-internal.h b/libpthread/pthread/pt-internal.h
-index 18b5b4c..8cdcfce 100644
---- a/libpthread/pthread/pt-internal.h
-+++ b/libpthread/pthread/pt-internal.h
-@@ -35,7 +35,7 @@
- #include <pt-sysdep.h>
- #include <pt-machdep.h>
- 
--#if IS_IN (libpthread)
-+#ifdef IS_IN_libpthread
- # include <ldsodefs.h>
- #endif
- 
-@@ -60,7 +60,7 @@ enum pthread_state
- # define PTHREAD_SYSDEP_MEMBERS
- #endif
- 
--#if !(IS_IN (libpthread))
-+#ifndef IS_IN_libpthread
- #ifdef ENABLE_TLS
- /* Type of the TCB.  */
- typedef struct
diff --git a/gnu/packages/patches/libpthread-remove-duplicate.patch b/gnu/packages/patches/libpthread-remove-duplicate.patch
new file mode 100644
index 0000000..bd3ae5b
--- /dev/null
+++ b/gnu/packages/patches/libpthread-remove-duplicate.patch
@@ -0,0 +1,17 @@
+There is a definition of __libc_getspecific in libpthread that causes the
+build to fail. Remove it.
+--- a/libpthread/pthread/cthreads-compat.c
++++ b/libpthread/pthread/cthreads-compat.c
+@@ -70,12 +70,6 @@
+   return 0;
+ }
+ 
+-void *
+-__libc_getspecific (cthread_key_t key)
+-{
+-  return pthread_getspecific (key);
+-}
+-
+ int
+ cthread_setspecific (cthread_key_t key, void *val)
+ {
\ No newline at end of file
-- 
2.4.2


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 08/10] gnu: base: Updated glibc-hurd to 2.19 and removed patches.
  2015-06-08 21:27       ` Manolis Ragkousis
@ 2015-06-09 15:47         ` Ludovic Courtès
  2015-06-09 19:40           ` Manolis Ragkousis
  0 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2015-06-09 15:47 UTC (permalink / raw)
  To: Manolis Ragkousis; +Cc: Guix-devel

Manolis Ragkousis <manolis837@gmail.com> skribis:

> Actually I merged this patch with the one from [PATCH 09/10] gnu: base:
> Remove a multiple definition from libpthread with some changes.
>
> This is the updated patch.
>
> From f4867aa5438bd5c51579aa9cc3ac0227d7eaf211 Mon Sep 17 00:00:00 2001
> From: Manolis Ragkousis <manolis837@gmail.com>
> Date: Thu, 21 May 2015 16:57:23 +0300
> Subject: [PATCH] gnu: base: Updated glibc-hurd to 2.19 and removed patches.
>
> * gnu/packages/base.scm (glibc/hurd): Update to 2.19
> * gnu/packages/patches/glibc-hurd-extern-inline.patch: Rename to ...
> * gnu/packages/patches/glibc-hurd-libs.patch: ... this and removed a patch.
> * gnu/packages/patches/libpthread-glibc-preparation.patch: Remove.
> * gnu/packages/patches/libpthread-remove-duplicate.patch: Add
> * gnu-system.am (dist_patch_DATA): Add, remove and adapt to renamed file.

Sure!

>  6 files changed, 47 insertions(+), 214 deletions(-)

These are definitely good stats from the point of view of Guix.  :-)

Ludo’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 08/10] gnu: base: Updated glibc-hurd to 2.19 and removed patches.
  2015-06-09 15:47         ` Ludovic Courtès
@ 2015-06-09 19:40           ` Manolis Ragkousis
  0 siblings, 0 replies; 7+ messages in thread
From: Manolis Ragkousis @ 2015-06-09 19:40 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Guix-devel

On 9 June 2015 at 18:47, Ludovic Courtès <ludo@gnu.org> wrote:
>>  6 files changed, 47 insertions(+), 214 deletions(-)
>
> These are definitely good stats from the point of view of Guix.  :-)

Hehe, thanks to our Hurd friends. :-)

Pushed.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2015-06-09 19:45 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-18 22:23 [PATCH 08/10] gnu: base: Updated glibc-hurd to 2.19 and removed patches Manolis Ragkousis
2015-05-18 22:38 ` Manolis Ragkousis
2015-05-19 16:28   ` Ludovic Courtès
2015-06-08 20:57     ` Manolis Ragkousis
2015-06-08 21:27       ` Manolis Ragkousis
2015-06-09 15:47         ` Ludovic Courtès
2015-06-09 19:40           ` Manolis Ragkousis

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).