[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
07/19: gnu: base: Updated glibc-hurd to 2.19 and removed patches.
From: |
Manolis Fragkiskos Ragkousis |
Subject: |
07/19: gnu: base: Updated glibc-hurd to 2.19 and removed patches. |
Date: |
Mon, 28 Dec 2015 19:17:03 +0000 |
phant0mas pushed a commit to branch wip-hurd
in repository guix.
commit da275a54578f8be4ff98449d0a4803f24f8cd9ae
Author: Manolis Ragkousis <address@hidden>
Date: Thu May 21 16:57:23 2015 +0300
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 | 3 +-
gnu/packages/base.scm | 42 ++-----
.../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(+), 215 deletions(-)
diff --git a/gnu-system.am b/gnu-system.am
index e1874fa..682d2fe 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -489,6 +489,7 @@ dist_patch_DATA =
\
gnu/packages/patches/glibc-locale-incompatibility.patch \
gnu/packages/patches/glibc-o-largefile.patch \
gnu/packages/patches/glibc-versioned-locpath.patch \
+ gnu/packages/patches/glibc-hurd-libs.patch \
gnu/packages/patches/gmp-arm-asm-nothumb.patch \
gnu/packages/patches/gmp-faulty-test.patch \
gnu/packages/patches/gnucash-price-quotes-perl.patch \
@@ -542,6 +543,7 @@ dist_patch_DATA =
\
gnu/packages/patches/libmad-frame-length.patch \
gnu/packages/patches/libmad-mips-newgcc.patch \
gnu/packages/patches/librsvg-tests.patch \
+ gnu/packages/patches/libpthread-remove-duplicate.patch \
gnu/packages/patches/libtheora-config-guess.patch \
gnu/packages/patches/libtool-skip-tests2.patch \
gnu/packages/patches/libsndfile-CVE-2014-9496.patch \
@@ -562,7 +564,6 @@ dist_patch_DATA =
\
gnu/packages/patches/libwmf-CVE-2015-4696.patch \
gnu/packages/patches/libxslt-CVE-2015-7995.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/lua-pkgconfig.patch \
gnu/packages/patches/lua51-liblua-so.patch \
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index cbd629f..f9319d2 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -757,18 +757,16 @@ command.")
;; The Hurd's libc variant.
(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.
@@ -777,18 +775,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)
@@ -807,19 +795,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))))
- (synopsis "The GNU C Library (GNU Hurd variant)")
- (supported-systems %hurd-systems)))
+ ,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) ') )' \
- ) > address@hidden
-+ifeq ($(patsubst gnu%,,$(config-os)),)
-+ echo 'INPUT ( AS_NEEDED ( -lmachuser -lhurduser ) )' >> address@hidden
-+endif
- mv -f address@hidden $@
-
- 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) ') )' \
+ ) > address@hidden
++ifeq ($(patsubst gnu%,,$(config-os)),)
++ echo 'INPUT ( AS_NEEDED ( -lmachuser -lhurduser ) )' >> address@hidden
++endif
+ mv -f address@hidden $@
+
+ 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
- branch wip-hurd created (now d80d08d), Manolis Fragkiskos Ragkousis, 2015/12/28
- 03/19: gnu: cross-base: Make it aware of non-Linux (ie. Hurd) systems., Manolis Fragkiskos Ragkousis, 2015/12/28
- 01/19: gnu: base: Add glibc-hurd and hurd-minimal., Manolis Fragkiskos Ragkousis, 2015/12/28
- 02/19: gnu: cross-base: Add support to cross-build libc for GNU/Hurd., Manolis Fragkiskos Ragkousis, 2015/12/28
- 04/19: gnu: gcc: Also substitute the dynamic linker name for GNU (ie. Hurd) systems., Manolis Fragkiskos Ragkousis, 2015/12/28
- 06/19: gnu: hurd: Pass --build to hurd-headers when not cross building., Manolis Fragkiskos Ragkousis, 2015/12/28
- 05/19: gnu: hurd: Pass --build to gnumach-headers when not cross building., Manolis Fragkiskos Ragkousis, 2015/12/28
- 08/19: gnu: base: Added glibc-for-target macro., Manolis Fragkiskos Ragkousis, 2015/12/28
- 10/19: gnu: base: Build glibc-hurd for i586-pc-gnu instead of i686-pc-gnu., Manolis Fragkiskos Ragkousis, 2015/12/28
- 07/19: gnu: base: Updated glibc-hurd to 2.19 and removed patches.,
Manolis Fragkiskos Ragkousis <=
- 09/19: gnu: cross-base: Build the correct cross-mig., Manolis Fragkiskos Ragkousis, 2015/12/28
- 12/19: gnu: base: Disable bogus code in Hurd's glibc., Manolis Fragkiskos Ragkousis, 2015/12/28
- 14/19: gnu: glibc/hurd: Use hurd-kernel-headers package., Manolis Fragkiskos Ragkousis, 2015/12/28
- 13/19: gnu: hurd: Add hurd-kernel-headers package., Manolis Fragkiskos Ragkousis, 2015/12/28
- 11/19: gnu: make-bootstrap: Produce the correct %glibc-bootstrap-tarball for Hurd systems., Manolis Fragkiskos Ragkousis, 2015/12/28
- 15/19: gnu: cross-gcc, cross-libc: Use hurd-kernel-headers., Manolis Fragkiskos Ragkousis, 2015/12/28
- 16/19: gnu: base: Add libmachuser.so and libhurduser.so to libc.so's search path., Manolis Fragkiskos Ragkousis, 2015/12/28
- 17/19: gnu: glibc/hurd: Make glibc aware of "--with-headers" argument., Manolis Fragkiskos Ragkousis, 2015/12/28
- 18/19: gnu: commencement: Add support for a native GNU/Hurd system., Manolis Fragkiskos Ragkousis, 2015/12/28
- 19/19: gnu: glibc-hurd: Update to 20151031., Manolis Fragkiskos Ragkousis, 2015/12/28