fix multilib conflicts

This commit is contained in:
Miroslav Lichvar 2013-07-16 17:18:24 +02:00
parent 7d1b99318b
commit ba9b77512f
3 changed files with 50 additions and 45 deletions

View File

@ -1,45 +0,0 @@
diff -up guile-1.8.7/libguile/Makefile.in.multilib guile-1.8.7/libguile/Makefile.in
--- guile-1.8.7/libguile/Makefile.in.multilib 2009-07-05 22:25:09.000000000 +0200
+++ guile-1.8.7/libguile/Makefile.in 2009-07-16 18:07:44.000000000 +0200
@@ -1717,6 +1717,11 @@ install-nodist_modincludeHEADERS: $(nodi
while read files; do \
echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(modincludedir)'"; \
$(INSTALL_HEADER) $$files "$(DESTDIR)$(modincludedir)" || exit $$?; \
+ for f in $$files; do if [ "$$f" = "scmconfig.h" ]; then \
+ grep -q "SCM_SIZEOF_LONG 4" "$(DESTDIR)$(modincludedir)/$$f" && g=32 || g=64; \
+ mv "$(DESTDIR)$(modincludedir)/$$f" "$(DESTDIR)$(modincludedir)/scmconfig-$$g.h"; \
+ $(INSTALL_HEADER) "$${d}scmconfig.h.mlib" "$(DESTDIR)$(modincludedir)/$$f"; \
+ fi; done \
done
uninstall-nodist_modincludeHEADERS:
diff -up guile-1.8.7/libguile/guile-snarf.in.multilib guile-1.8.7/libguile/guile-snarf.in
--- guile-1.8.7/libguile/guile-snarf.in.multilib 2009-07-04 00:19:00.000000000 +0200
+++ guile-1.8.7/libguile/guile-snarf.in 2009-07-16 18:06:48.000000000 +0200
@@ -39,7 +39,6 @@
# #endif
#
# If the environment variable CPP is set, use its value instead of the
-# C pre-processor determined at Guile configure-time: "@CPP@".
# Code:
@@ -75,7 +74,7 @@ tempdir="$TMPDIR/guile-snarf.$$"
(umask 077 && mkdir $tempdir) || exit 1
temp="$tempdir/tmp"
-if [ x"$CPP" = x ] ; then cpp="@CPP@" ; else cpp="$CPP" ; fi
+if [ x"$CPP" = x ] ; then cpp="gcc -E" ; else cpp="$CPP" ; fi
trap "rm -rf $tempdir" 0 1 2 15
diff -up /dev/null guile-1.8.7/libguile/scmconfig.h.mlib
--- /dev/null 2009-06-24 16:43:53.264001725 +0200
+++ guile-1.8.7/libguile/scmconfig.h.mlib 2009-07-16 18:06:48.000000000 +0200
@@ -0,0 +1,6 @@
+#include <bits/wordsize.h>
+#if __WORDSIZE == 32
+#include "libguile/scmconfig-32.h"
+#else
+#include "libguile/scmconfig-64.h"
+#endif

47
guile-multilib.patch Normal file
View File

@ -0,0 +1,47 @@
diff -up guile-2.0.9/libguile/Makefile.in.multilib guile-2.0.9/libguile/Makefile.in
--- guile-2.0.9/libguile/Makefile.in.multilib 2013-04-10 01:31:59.000000000 +0200
+++ guile-2.0.9/libguile/Makefile.in 2013-07-16 16:59:59.490527131 +0200
@@ -3283,6 +3283,11 @@ install-nodist_modincludeHEADERS: $(nodi
while read files; do \
echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(modincludedir)'"; \
$(INSTALL_HEADER) $$files "$(DESTDIR)$(modincludedir)" || exit $$?; \
+ for f in $$files; do if [ "$$f" = "scmconfig.h" ]; then \
+ grep -q "SCM_SIZEOF_LONG 4" "$(DESTDIR)$(modincludedir)/$$f" && g=32 || g=64; \
+ mv "$(DESTDIR)$(modincludedir)/$$f" "$(DESTDIR)$(modincludedir)/scmconfig-$$g.h"; \
+ $(INSTALL_HEADER) "$${d}scmconfig-multilib.h" "$(DESTDIR)$(modincludedir)/$$f"; \
+ fi; done \
done
uninstall-nodist_modincludeHEADERS:
diff -up guile-2.0.9/libguile/scmconfig-multilib.h.multilib guile-2.0.9/libguile/scmconfig-multilib.h
--- guile-2.0.9/libguile/scmconfig-multilib.h.multilib 2013-07-16 17:02:26.045733704 +0200
+++ guile-2.0.9/libguile/scmconfig-multilib.h 2013-07-16 17:01:51.623685971 +0200
@@ -0,0 +1,7 @@
+/* multilib clean wrapper */
+#include <bits/wordsize.h>
+#if __WORDSIZE == 32
+#include "libguile/scmconfig-32.h"
+#else
+#include "libguile/scmconfig-64.h"
+#endif
diff -up guile-2.0.9/meta/guile-config.in.multilib guile-2.0.9/meta/guile-config.in
--- guile-2.0.9/meta/guile-config.in.multilib 2012-07-02 11:28:14.000000000 +0200
+++ guile-2.0.9/meta/guile-config.in 2013-07-16 17:09:25.650324597 +0200
@@ -1,7 +1,6 @@
#!/bin/sh
-PKG_CONFIG_PATH="@pkgconfigdir@:$PKG_CONFIG_PATH"
GUILE_AUTO_COMPILE=0
-export PKG_CONFIG_PATH GUILE_AUTO_COMPILE
+export GUILE_AUTO_COMPILE
exec "@installed_guile@" -e main -s $0 "$@"
!#
@@ -31,7 +30,7 @@ exec "@installed_guile@" -e main -s $0 "
(ice-9 rdelim))
-(define %pkg-config-program "@PKG_CONFIG@")
+(define %pkg-config-program "pkg-config")
;;;; main function, command-line processing

View File

@ -14,6 +14,8 @@ Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
Requires: coreutils
Patch1: guile-multilib.patch
%description
GUILE (GNU's Ubiquitous Intelligent Language for Extension) is a library
implementation of the Scheme programming language, written in C. GUILE
@ -40,6 +42,7 @@ install the guile package.
%prep
%setup -q -n guile-%version
%patch1 -p1 -b .multilib
%build