Accepting request 393296 from GNOME:Factory

1

OBS-URL: https://build.opensuse.org/request/show/393296
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/pixman?expand=0&rev=51
This commit is contained in:
Dominique Leuenberger 2016-05-08 08:40:02 +00:00 committed by Git OBS Bridge
commit c75d896424
3 changed files with 53 additions and 0 deletions

View File

@ -0,0 +1,44 @@
From 7c6066b700c7cdd4aeb8be426b14b3a5f0de4b6c Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Sun, 17 Jan 2016 15:22:50 +0100
Subject: pixman-private: include <float.h> only in C code
<float.h> is included unconditionally by pixman-private.h, which in
turn gets included by assembler files. Unfortunately, with certain C
libraries (like the musl C library), <float.h> cannot be included in
assembler files:
CCLD libpixman-arm-simd.la
/home/test/buildroot/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/float.h: Assembler messages:
/home/test/buildroot/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/float.h:8: Error: bad instruction `int __flt_rounds(void)'
/home/test/buildroot/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/float.h: Assembler messages:
/home/test/buildroot/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/float.h:8: Error: bad instruction `int __flt_rounds(void)'
It turns out however that <float.h> is not needed by assembly files,
so we move its inclusion within the #ifndef __ASSEMBLER__ condition,
which solves the problem.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
diff --git a/pixman/pixman-private.h b/pixman/pixman-private.h
index 73108a0..73a5414 100644
--- a/pixman/pixman-private.h
+++ b/pixman/pixman-private.h
@@ -1,5 +1,3 @@
-#include <float.h>
-
#ifndef PIXMAN_PRIVATE_H
#define PIXMAN_PRIVATE_H
@@ -30,6 +28,7 @@
#include <stdio.h>
#include <string.h>
#include <stddef.h>
+#include <float.h>
#include "pixman-compiler.h"
--
cgit v0.10.2

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Mon Apr 4 16:11:45 UTC 2016 - zaitor@opensuse.org
- Add pixman-private-correct-include.patch: pixman-private: include
<float.h> only in C code, patch from upstream git.
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Feb 1 21:14:02 UTC 2016 - zaitor@opensuse.org Mon Feb 1 21:14:02 UTC 2016 - zaitor@opensuse.org

View File

@ -25,6 +25,8 @@ Group: System/Libraries
Url: http://xorg.freedesktop.org/ Url: http://xorg.freedesktop.org/
Source: http://cairographics.org/releases/%{name}-%{version}.tar.gz Source: http://cairographics.org/releases/%{name}-%{version}.tar.gz
Source99: baselibs.conf Source99: baselibs.conf
# PATCH-FIX-UPSTREAM pixman-private-correct-include.patch zaitor@opensuse.org -- pixman-private: include <float.h> only in C code
Patch0: pixman-private-correct-include.patch
BuildRequires: pkgconfig BuildRequires: pkgconfig
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -48,6 +50,7 @@ Pixman is a pixel manipulation library for X and cairo.
%prep %prep
%setup -q %setup -q
%patch0 -p1
%build %build
#autoreconf -fi #autoreconf -fi