aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches/apr-fix-atomics.patch
blob: 94cce9b5f10e7fb82b4e8c9118542174f720e566 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
This patch is taken from Debian, using Debian version 1.7.0-8.
A new patch will be needed when apr is updated.

# quick and dirty fix for FTBFS on mipsel
# There should be a proper configure check, see 
# https://bz.apache.org/bugzilla/show_bug.cgi?id=63566
Index: apr-1.7.0/include/arch/unix/apr_arch_atomic.h
===================================================================
--- apr-1.7.0.orig/include/arch/unix/apr_arch_atomic.h
+++ apr-1.7.0/include/arch/unix/apr_arch_atomic.h
@@ -26,6 +26,9 @@
 /* noop */
 #elif HAVE_ATOMIC_BUILTINS
 #   define USE_ATOMICS_BUILTINS
+#   if (__INTPTR_WIDTH__ == 32) && ( defined(__MIPSEL__) || defined(__powerpc__) ) || defined(__m68k__) || defined(__sh__)
+#       define NEED_ATOMICS_GENERIC64
+#   endif
 #elif defined(SOLARIS2) && SOLARIS2 >= 10
 #   define USE_ATOMICS_SOLARIS
 #   define NEED_ATOMICS_GENERIC64
Index: apr-1.7.0/atomic/unix/builtins64.c
===================================================================
--- apr-1.7.0.orig/atomic/unix/builtins64.c
+++ apr-1.7.0/atomic/unix/builtins64.c
@@ -16,7 +16,7 @@
 
 #include "apr_arch_atomic.h"
 
-#ifdef USE_ATOMICS_BUILTINS
+#if defined(USE_ATOMICS_BUILTINS) && ! defined(NEED_ATOMICS_GENERIC64)
 
 APR_DECLARE(apr_uint64_t) apr_atomic_read64(volatile apr_uint64_t *mem)
 {
Index: apr-1.7.0/atomic/unix/builtins.c
===================================================================
--- apr-1.7.0.orig/atomic/unix/builtins.c
+++ apr-1.7.0/atomic/unix/builtins.c
@@ -20,7 +20,11 @@
 
 APR_DECLARE(apr_status_t) apr_atomic_init(apr_pool_t *p)
 {
+#if defined (NEED_ATOMICS_GENERIC64)
+    return apr__atomic_generic64_init(p);
+#else
     return APR_SUCCESS;
+#endif
 }
 
 APR_DECLARE(apr_uint32_t) apr_atomic_read32(volatile apr_uint32_t *mem)
d>build: Use a 'guile' executable that doesn't warn about locales....This gets rid of: guile: warning: failed to install locale when running the 'guix' command on a foreign distro where 'GUIX_LOCPATH' isn't set. * Makefile.am (pkglibexec_PROGRAMS, guile_SOURCES, guile_LDADD) (guile_CFLAGS): New variables. (install-exec-hook): New target. (AUX_FILES): Remove 'guile-launcher.c'. * configure.ac: Use 'GUILE_FLAGS'. Ludovic Courtès 2020-08-29build: Remove references to the 'nix-hash' program....* configure.ac: Remove check for 'nix-hash'. * tests/base32.scm (%nix-hash, %have-nix-hash?): Remove. ("sha256 & bytevector->nix-base32-string"): Remove test. * build-aux/pre-inst-env.in: Do not set 'NIX_HASH' environment variable. Ludovic Courtès 2020-08-29build: Remove check for Guile 2.2.1 bug....This check is unnecessary since e688c2df3924423b67892cc9939ca099c729d1cb. * m4/guix.m4 (GUIX_ASSERT_SYNTAX_OBJECT_EQUAL): Remove. * configure.ac: Remove user. Ludovic Courtès 2020-08-24Use "guile-zlib" and "guile-lzlib" instead of (guix config)....* Makefile.am (MODULES): Remove guix/zlib.scm and guix/lzlib.scm, (SCM_TESTS): remove tests/zlib.scm, tests/lzlib.scm. * build-aux/build-self.scm (make-config.scm): Remove unused %libz variable. * configure.ac: Remove LIBZ and LIBLZ variables and check instead for Guile-zlib and Guile-lzlib. * doc/guix.texi ("Requirements"): Remove zlib requirement and add Guile-zlib and Guile-lzlib instead. * gnu/packages/package-management.scm (guix)[native-inputs]: Add "guile-zlib" and "guile-lzlib", [inputs]: remove "zlib" and "lzlib", [propagated-inputs]: ditto, [arguments]: add "guile-zlib" and "guile-lzlib" to Guile load path. * guix/config.scm.in (%libz, %liblz): Remove them. * guix/lzlib.scm: Remove it. * guix/man-db.scm: Use (zlib) instead of (guix zlib). * guix/profiles.scm (manual-database): Do not stub (guix config) in imported modules list, instead add "guile-zlib" to the extension list. * guix/scripts/publish.scm: Use (zlib) instead of (guix zlib) and (lzlib) instead of (guix lzlib), (string->compression-type, effective-compression): do not check for zlib and lzlib availability. * guix/scripts/substitute.scm (%compression-methods): Do not check for lzlib availability. * guix/self.scm (specification->package): Add "guile-zlib" and "guile-lzlib" and remove "zlib" and "lzlib", (compiled-guix): remove "zlib" and "lzlib" arguments and add guile-zlib and guile-lzlib to the dependencies, also do not pass "zlib" and "lzlib" to "make-config.scm" procedure, (make-config.scm): remove "zlib" and "lzlib" arguments as well as %libz and %liblz variables. * guix/utils.scm (lzip-port): Use (lzlib) instead of (guix lzlib) and do not check for lzlib availability. * guix/zlib.scm: Remove it. * m4/guix.m4 (GUIX_LIBZ_LIBDIR, GUIX_LIBLZ_FILE_NAME): Remove them. * tests/lzlib.scm: Use (zlib) instead of (guix zlib) and (lzlib) instead of (guix lzlib), and do not check for zlib and lzlib availability. * tests/publish.scm: Ditto. * tests/substitute.scm: Do not check for lzlib availability. * tests/utils.scm: Ditto. * tests/zlib.scm: Remove it. Mathieu Othacehe 2020-06-16etc: Add committer script....* etc/committer.scm.in: New file. * configure.ac: Configure it. Ricardo Wurmus 2020-05-28maint: Check whether Guile-Gcrypt is recent enough....Suggested by Danny Milosavljevic <dannym@scratchpost.org> in <https://bugs.gnu.org/41494>. * m4/guix.m4 (GUIX_CHECK_GUILE_GCRYPT): New macro. * configure.ac: Use it. Ludovic Courtès 2020-05-14etc: indent-code.el: Use the --quick option....This prevents Emacs from loading the autoload definitions found in its profile, which needlessly clutters the output. It also prevents Geiser (if installed) from blocking the script and asking the user to input the Scheme implementation to use. The trick for passing multiple arguments to Emacs is to use what is called a "sesquicolon" (see https://www.emacswiki.org/emacs/EmacsScripts). * etc/indent-code.el.in: Rename to... * etc/indent-code.el: ...this. Adapt the shebang to use a sesquicolon, and pass the --quick option to Emacs. Since this line is interpreted by the shell, simply use Emacs from the PATH instead of from a hard coded location. (main): New procedure, used as the entry point. * configure.ac: Remove the warning about Emacs. Emacs can now be installed any time by the user if they want to use the script. * .gitignore: No longer ignore changes to etc/indent-code.el. Maxim Cournoyer 2020-04-23build: Don't build man pages when cross-compiling....* configure.ac: Define 'CROSS_COMPILING' Automake conditional. * doc/local.mk (dist_man1_MANS): Wrap in "if !CROSS_COMPILING". Ludovic Courtès