* [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 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.