media-libs/flac: add upstream fix for x32 builds #574984
authorMike Frysinger <vapier@gentoo.org>
Wed, 10 Aug 2016 06:19:32 +0000 (14:19 +0800)
committerMike Frysinger <vapier@gentoo.org>
Wed, 10 Aug 2016 06:19:38 +0000 (14:19 +0800)
media-libs/flac/files/flac-1.3.1-x32.patch [new file with mode: 0644]
media-libs/flac/flac-1.3.1-r1.ebuild

diff --git a/media-libs/flac/files/flac-1.3.1-x32.patch b/media-libs/flac/files/flac-1.3.1-x32.patch
new file mode 100644 (file)
index 0000000..2dc2d3b
--- /dev/null
@@ -0,0 +1,69 @@
+https://bugs.gentoo.org/574984
+
+fix from upstream
+
+From 7566d3d4c11c16801e1c98093c4db33589451c17 Mon Sep 17 00:00:00 2001
+From: Erik de Castro Lopo <erikd@mega-nerd.com>
+Date: Wed, 11 Mar 2015 20:51:42 +1100
+Subject: [PATCH] configure.ac : Tweak for x32 architecture.
+
+The x32 architecture uses and ILP32 (32 bit ints, longs and pointers)
+on an x86_64 CPU. Since the CPU is x86_64 we need to set FLAC__CPU_X86_64
+even though the pointer size is 32 bits.
+
+Patch-from: Stuart Shelton
+Closes: https://sourceforge.net/p/flac/bugs/427/
+---
+ configure.ac | 37 ++++++++++++++++++++++++-------------
+ 1 file changed, 24 insertions(+), 13 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 3b1c037e80f5..2dcc6987a03d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -105,19 +105,30 @@ AC_CHECK_SIZEOF(void*,1)
+ asm_optimisation=no
+ case "$host_cpu" in
+       x86_64)
+-              if test $ac_cv_sizeof_voidp = 4 ; then
+-                      # This must be a 32 bit user space running on 64 bit kernel so treat
+-                      # this as ia32.
+-                      cpu_ia32=true
+-                      AC_DEFINE(FLAC__CPU_IA32)
+-                      AH_TEMPLATE(FLAC__CPU_IA32, [define if building for ia32/i386])
+-              else
+-                      # x86_64 user space and kernel.
+-                      cpu_x86_64=true
+-                      AC_DEFINE(FLAC__CPU_X86_64)
+-                      AH_TEMPLATE(FLAC__CPU_X86_64, [define if building for x86_64])
+-                      fi
+-              asm_optimisation=$asm_opt
++              case "$host" in
++                      *gnux32)
++                              # x32 user space and 64 bit kernel.
++                              cpu_x86_64=true
++                              AC_DEFINE(FLAC__CPU_X86_64)
++                              AH_TEMPLATE(FLAC__CPU_X86_64, [define if building for x86_64])
++                              asm_optimisation=$asm_opt
++                              ;;
++                      *)
++                              if test $ac_cv_sizeof_voidp = 4 ; then
++                                      # This must be a 32 bit user space running on 64 bit kernel so treat
++                                      # this as ia32.
++                                      cpu_ia32=true
++                                      AC_DEFINE(FLAC__CPU_IA32)
++                                      AH_TEMPLATE(FLAC__CPU_IA32, [define if building for ia32/i386])
++                      else
++                                      # x86_64 user space and kernel.
++                                      cpu_x86_64=true
++                                      AC_DEFINE(FLAC__CPU_X86_64)
++                                      AH_TEMPLATE(FLAC__CPU_X86_64, [define if building for x86_64])
++                              fi
++                              asm_optimisation=$asm_opt
++                              ;;
++              esac
+               ;;
+       i*86)
+               cpu_ia32=true
+-- 
+2.9.0
index 79112a386a24de5573a15341324c32691aef3e97..5d2f37248ab1b4343479d5b89c76689bbc0778e0 100644 (file)
@@ -34,6 +34,7 @@ src_prepare() {
                "${FILESDIR}"/${PN}-1.3.0-asneeded.patch
                "${FILESDIR}"/${PN}-1.3.0-dontbuild-tests.patch
                "${FILESDIR}"/${PN}-1.3.0-dontbuild-examples.patch
+               "${FILESDIR}"/${PN}-1.3.1-x32.patch #574984
        )
 
        AT_M4DIR="m4" autotools-multilib_src_prepare