diff --git a/.gitignore b/.gitignore index c41272d..1db95a9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /ignition-math2-2.2.3.tar.bz2 /ignition-math2-2.3.0.tar.bz2 /ignition-math2-2.4.1.tar.bz2 +/ignition-math3-3.0.0.tar.bz2 diff --git a/ignition-math-2.4.1-arm.patch b/ignition-math-2.4.1-arm.patch deleted file mode 100644 index 86fc151..0000000 --- a/ignition-math-2.4.1-arm.patch +++ /dev/null @@ -1,62 +0,0 @@ -diff -up ./include/ignition/math/Helpers.hh.arm ./include/ignition/math/Helpers.hh ---- ./include/ignition/math/Helpers.hh.arm 2016-07-17 22:44:20.356159571 -0400 -+++ ./include/ignition/math/Helpers.hh 2016-07-17 22:44:20.358159647 -0400 -@@ -518,7 +518,9 @@ namespace ignition - - // Degrade precision on Windows, which cannot handle 'long double' - // values properly. See the implementation of Unpair. --#ifdef _MSC_VER -+ // 32 bit ARM processors also define 'long double' to be the same -+ // size as 'double', and must also be degraded -+#if defined _MSC_VER || defined __arm__ - using PairInput = uint16_t; - using PairOutput = uint32_t; - #else -diff -up ./src/Helpers_TEST.cc.arm ./src/Helpers_TEST.cc ---- ./src/Helpers_TEST.cc.arm 2016-07-08 14:48:37.000000000 -0400 -+++ ./src/Helpers_TEST.cc 2016-07-17 23:02:03.811649459 -0400 -@@ -324,7 +324,7 @@ TEST(HelpersTest, Volume) - ///////////////////////////////////////////////// - TEST(HelpersTest, Pair) - { --#ifdef _MSC_VER -+#if defined _MSC_VER || defined __arm__ - math::PairInput maxA = IGN_UINT16_MAX; - math::PairInput maxB = IGN_UINT16_MAX; - #else -@@ -336,7 +336,7 @@ TEST(HelpersTest, Pair) - - // Maximum parameters should generate a maximum key - math::PairOutput maxKey = math::Pair(maxA, maxB); --#ifdef _MSC_VER -+#if defined _MSC_VER || defined __arm__ - EXPECT_EQ(maxKey, IGN_UINT32_MAX); - #else - EXPECT_EQ(maxKey, IGN_UINT64_MAX); -@@ -346,7 +346,7 @@ TEST(HelpersTest, Pair) - EXPECT_EQ(maxC, maxA); - EXPECT_EQ(maxD, maxB); - --#ifdef _MSC_VER -+#if defined _MSC_VER || defined __arm__ - math::PairInput minA = IGN_UINT16_MIN; - math::PairInput minB = IGN_UINT16_MIN; - #else -@@ -357,7 +357,7 @@ TEST(HelpersTest, Pair) - - // Minimum parameters should generate a minimum key - math::PairOutput minKey = math::Pair(minA, minB); --#ifdef _MSC_VER -+#if defined _MSC_VER || defined __arm__ - EXPECT_EQ(minKey, IGN_UINT32_MIN); - #else - EXPECT_EQ(minKey, IGN_UINT64_MIN); -@@ -408,7 +408,7 @@ TEST(HelpersTest, Pair) - } - } - --#ifndef _MSC_VER -+#if !defined _MSC_VER && !defined __arm__ - // Iterate over large numbers, and check for unique keys. - for (math::PairInput a = IGN_UINT32_MAX-5000; a < IGN_UINT32_MAX; a++) - { diff --git a/ignition-math-3.0.0-arm.patch b/ignition-math-3.0.0-arm.patch new file mode 100644 index 0000000..e9f35b2 --- /dev/null +++ b/ignition-math-3.0.0-arm.patch @@ -0,0 +1,62 @@ +diff -up ./include/ignition/math/Helpers.hh.arm ./include/ignition/math/Helpers.hh +--- ./include/ignition/math/Helpers.hh.arm 2017-01-05 16:51:02.000000000 -0500 ++++ ./include/ignition/math/Helpers.hh 2017-02-19 13:28:07.226984728 -0500 +@@ -707,7 +707,9 @@ namespace ignition + + // Degrade precision on Windows, which cannot handle 'long double' + // values properly. See the implementation of Unpair. +-#ifdef _MSC_VER ++ // 32 bit ARM processors also define 'long double' to be the same ++ // size as 'double', and must also be degraded ++#if defined _MSC_VER || defined __arm__ + using PairInput = uint16_t; + using PairOutput = uint32_t; + #else +diff -up ./src/Helpers_TEST.cc.arm ./src/Helpers_TEST.cc +--- ./src/Helpers_TEST.cc.arm 2017-02-19 13:28:07.227984768 -0500 ++++ ./src/Helpers_TEST.cc 2017-02-19 13:33:18.179230962 -0500 +@@ -330,7 +330,7 @@ TEST(HelpersTest, Volume) + ///////////////////////////////////////////////// + TEST(HelpersTest, Pair) + { +-#ifdef _MSC_VER ++#if defined _MSC_VER || defined __arm__ + math::PairInput maxA = math::MAX_UI16; + math::PairInput maxB = math::MAX_UI16; + #else +@@ -342,7 +342,7 @@ TEST(HelpersTest, Pair) + + // Maximum parameters should generate a maximum key + math::PairOutput maxKey = math::Pair(maxA, maxB); +-#ifdef _MSC_VER ++#if defined _MSC_VER || defined __arm__ + EXPECT_EQ(maxKey, math::MAX_UI32); + #else + EXPECT_EQ(maxKey, math::MAX_UI64); +@@ -352,7 +352,7 @@ TEST(HelpersTest, Pair) + EXPECT_EQ(maxC, maxA); + EXPECT_EQ(maxD, maxB); + +-#ifdef _MSC_VER ++#if defined _MSC_VER || defined __arm__ + math::PairInput minA = math::MIN_UI16; + math::PairInput minB = math::MIN_UI16; + #else +@@ -363,7 +363,7 @@ TEST(HelpersTest, Pair) + + // Minimum parameters should generate a minimum key + math::PairOutput minKey = math::Pair(minA, minB); +-#ifdef _MSC_VER ++#if defined _MSC_VER || defined __arm__ + EXPECT_EQ(minKey, math::MIN_UI32); + #else + EXPECT_EQ(minKey, math::MIN_UI64); +@@ -414,7 +414,7 @@ TEST(HelpersTest, Pair) + } + } + +-#ifndef _MSC_VER ++#if defined _MSC_VER || defined __arm__ + // Iterate over large numbers, and check for unique keys. + for (math::PairInput a = math::MAX_UI32-5000; a < math::MAX_UI32; a++) + { diff --git a/ignition-math.spec b/ignition-math.spec index 29113a4..1a66d83 100644 --- a/ignition-math.spec +++ b/ignition-math.spec @@ -1,25 +1,22 @@ %global _docdir_fmt %{name} Name: ignition-math -Version: 2.4.1 -Release: 2%{?dist} +Version: 3.0.0 +Release: 1%{?dist} Summary: Small, Fast, High Performance Math Library Group: Development/Libraries License: ASL 2.0 URL: http://ignitionrobotics.org/libraries/math -Source0: http://gazebosim.org/distributions/ign-math/releases/%{name}2-%{version}.tar.bz2 +Source0: http://gazebosim.org/distributions/ign-math/releases/%{name}3-%{version}.tar.bz2 BuildRequires: cmake BuildRequires: doxygen BuildRequires: graphviz BuildRequires: rubygem-ronn -# Add patch to work around test failures to due extended 387 floating point precision -# https://bitbucket.org/ignitionrobotics/ign-math/pull-requests/58/change-equality-helper-to-work-with-387-fp/diff -Patch0: %{name}-2.4.1-387.patch # Patch to work around the fact that 'long double' is the same size as 'double' on arm # Not yet submitted upstream -Patch1: %{name}-2.4.1-arm.patch +Patch1: %{name}-3.0.0-arm.patch %description Ignition Math is a component in the Ignition framework, a set of libraries designed to rapidly develop robot applications. The library defines math @@ -42,10 +39,9 @@ BuildArch: noarch Generated API and development documentation for %{name} %prep -%setup -q -n %{name}2-%{version} +%setup -q -n %{name}3-%{version} # Required to sneak in custom CFLAGS via CMAKE_C_FLAGS_ALL sed -i 's/unset/#unset/g' CMakeLists.txt -%patch0 -p0 -b .387 %patch1 -p0 -b .arm %build @@ -60,6 +56,7 @@ pushd build -DSSE4_1_FOUND=FALSE \ -DSSE4_2_FOUND=FALSE \ -DCMAKE_C_FLAGS_ALL="%{optflags}" \ + -DCMAKE_CXX_FLAGS_ALL="%{optflags}" \ -DCMAKE_BUILD_TYPE=RelWithDebInfo popd @@ -92,6 +89,11 @@ make -C build test ARGS="-V" %doc build/doxygen/html %changelog +* Sun Feb 19 2017 Rich Mattes - 3.0.0-1 +- Update to release 3.0.0 +- Fix FTBFS (rhbz#1423733) +- Remove upstreamed patch + * Fri Feb 10 2017 Fedora Release Engineering - 2.4.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild diff --git a/sources b/sources index dfde9a7..21e0e32 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -96a9474bb2f6f21f1833af6f51688720 ignition-math2-2.4.1.tar.bz2 +SHA512 (ignition-math3-3.0.0.tar.bz2) = c85ab294029b4cc9cb024316ab55e6fac8cd669e07f8f220c5b88e474e938521aa71519121fdcc7291d17156b8e80cd79b0a75469e20723fd97bc0d758e75a69