From dd96fb8983d46d1a22fdfb9ff8304b3f9b6e37d282fc03e55bce44084178febf Mon Sep 17 00:00:00 2001 From: Dirk Stoecker Date: Mon, 4 Nov 2024 17:23:24 +0000 Subject: [PATCH] - Skip elliptical-arc-test and polynomial-test also on ppc64le, riscv64, s390x OBS-URL: https://build.opensuse.org/package/show/graphics/lib2geom?expand=0&rev=29 --- .gitattributes | 23 +++++ .gitignore | 1 + fix-pkgconfig-libdir-path.patch | 12 +++ lib2geom-1.3.tar.gz | 3 + lib2geom-1.4.tar.gz | 3 + lib2geom.changes | 133 +++++++++++++++++++++++++++ lib2geom.spec | 158 ++++++++++++++++++++++++++++++++ 7 files changed, 333 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 fix-pkgconfig-libdir-path.patch create mode 100644 lib2geom-1.3.tar.gz create mode 100644 lib2geom-1.4.tar.gz create mode 100644 lib2geom.changes create mode 100644 lib2geom.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/fix-pkgconfig-libdir-path.patch b/fix-pkgconfig-libdir-path.patch new file mode 100644 index 0000000..303747e --- /dev/null +++ b/fix-pkgconfig-libdir-path.patch @@ -0,0 +1,12 @@ +Index: lib2geom-1.2.2/2geom.pc.in +=================================================================== +--- lib2geom-1.2.2.orig/2geom.pc.in ++++ lib2geom-1.2.2/2geom.pc.in +@@ -1,6 +1,6 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=${prefix} +-libdir=${exec_prefix}/lib ++libdir=%{prefix}/@CMAKE_INSTALL_LIBDIR@ + includedir=${prefix}/include + + Name: 2geom diff --git a/lib2geom-1.3.tar.gz b/lib2geom-1.3.tar.gz new file mode 100644 index 0000000..d7e6ddb --- /dev/null +++ b/lib2geom-1.3.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:732a81c6564d5c388bae44f0fdd350f628375e23294941abbe928ab87ec937ab +size 1450203 diff --git a/lib2geom-1.4.tar.gz b/lib2geom-1.4.tar.gz new file mode 100644 index 0000000..77e68b7 --- /dev/null +++ b/lib2geom-1.4.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:edef330f557f188afc11ab505b6ffcfafb075da73e5dde95b9ecf96d20ab6374 +size 1466446 diff --git a/lib2geom.changes b/lib2geom.changes new file mode 100644 index 0000000..d4bfb67 --- /dev/null +++ b/lib2geom.changes @@ -0,0 +1,133 @@ +------------------------------------------------------------------- +Wed Oct 30 10:52:01 UTC 2024 - Andreas Schwab + +- Skip elliptical-arc-test and polynomial-test also on ppc64le, riscv64, s390x + +------------------------------------------------------------------- +Fri Oct 25 12:31:51 UTC 2024 - thod_@gmx.de + +- Drop skip_failing_tests.diff and skip_failing_tests_gcc14.diff patches, + manually deactivate test for each target + +------------------------------------------------------------------- +Wed Oct 16 13:07:29 UTC 2024 - thod_@gmx.de + +- Revert dropping skip_failing_tests.diff and skip_failing_tests_gcc14.diff + +------------------------------------------------------------------- +Mon Oct 14 17:51:25 UTC 2024 - thod_@gmx.de + +- Update to version 1.4 + * The classes Point, Interval and their integer variants have been enhanced + * New member functions have been added to the Point, IntPoint and OptRect classes + * Several bug fixes, build system improvements + * See the full release notes + https://gitlab.com/inkscape/lib2geom/-/releases/1.4 +- Drop skip_failing_tests.diff and skip_failing_tests_gcc14.diff patches, fixed upstream + +------------------------------------------------------------------- +Fri Aug 9 11:24:22 UTC 2024 - Filip Kastl + +- Add skip_failing_tests_gcc14.diff to fix more instable + intersection tests. This allows the 32bit version of the package + to be built with GCC14. + +------------------------------------------------------------------- +Wed Aug 23 13:38:04 UTC 2023 - Jan Engelhardt + +- Add -DNDEBUG to CFLAGS explicitly, since the i586 build depends + on it. + +------------------------------------------------------------------- +Thu Jul 27 20:40:32 UTC 2023 - Dirk Stoecker + +- add skip_failing_tests.diff to fix instable intersection tests + +------------------------------------------------------------------- +Mon Jul 24 21:11:01 UTC 2023 - thod_@gmx.de + +- Update to version 1.3 + * In-place expansion of bounding boxes + * Enhancements to the Path class + * See the full release notes + https://gitlab.com/inkscape/lib2geom/-/releases/1.3 + +------------------------------------------------------------------- +Thu Mar 2 10:46:51 UTC 2023 - Martin Liška + +- Use -fexcess-precision=fast as GCC 13 changes the default + for C++ compiler and without the change some tests fail on i586. + More info can be seen here: + https://gcc.gnu.org/gcc-13/porting_to.html#excess-precision + +------------------------------------------------------------------- +Sun Dec 18 14:52:12 UTC 2022 - thod_@gmx.de + +- Update to version 1.2.2 + * Remove assertions in the intersection routine for EllipticalArc + * fix-floating-point-epsilon-in-tests-i586.patch fixed upstream + +------------------------------------------------------------------- +Mon Jun 28 10:16:01 UTC 2021 - Antonio Larrosa + +- Add patch to fix libdir in pkgconfig file and to install it to + the right location under %{_libdir}/pkgconfig instead of + %{_prefix}/lib/pkgconfig which is being used by upstream: + * fix-pkgconfig-libdir-path.patch + +------------------------------------------------------------------- +Wed Jun 16 07:47:47 UTC 2021 - Antonio Larrosa + +- Use -DCMAKE_SKIP_RPATH:BOOL=OFF so rpath is set on tests and they + can find the library in the build directory. Also use + -DCMAKE_SKIP_INSTALL_RPATHS:BOOL=ON so rpaths are not set in + installed files. + +------------------------------------------------------------------- +Tue Jun 15 16:25:05 UTC 2021 - Antonio Larrosa + +- Add patch to fix a floating point error when running tests on + i586: + * fix-floating-point-epsilon-in-tests-i586.patch + +------------------------------------------------------------------- +Tue Jun 15 07:53:25 UTC 2021 - Antonio Larrosa + +- Update to version 1.1: + * 2Geom v1.1 is not ABI compatible with v1.0, it switches + from boost::optional to std::optional. + * Add Geom::Parallelogram + * Add Geom::PathIteratorSink::inPath() + * Add Geom::are_near_rel() for Geom::Point + * Move headers to include directory + * Make build system git submodule friendly + * Fix Python 3 support (py2geom) + * Remove Python 2 support (py2geom) + +------------------------------------------------------------------- +Tue May 5 07:15:56 UTC 2020 - Dan Čermák + +- Cleanup spec file + * don't use _service, spectool can download the sources + * fix install location of the library + * use macros more consistently + +------------------------------------------------------------------- +Mon May 04 22:14:56 UTC 2020 - andythe_great@pm.me + +- Update to version 1.0: + * Release version 1.0 + * Stabilize API for upcoming release + * Embed googletest in source tree. + * Remove googletest as submodule + * README: Fix path to toys dir + * NEWS: Initial draft of a release announcement for 1.0 + * Fix crash in itemBounds returns an empty interval when the bounds are undefined + * CMake/py2geom: Remove broken/unnecessary win32-specific code + * CMake/py2geom: Make compatible with Boost versions lower than 1.67 + * Proper depends + +------------------------------------------------------------------- +Mon May 4 21:57:40 UTC 2020 - andy great + +- Initial package release. diff --git a/lib2geom.spec b/lib2geom.spec new file mode 100644 index 0000000..9d25fcc --- /dev/null +++ b/lib2geom.spec @@ -0,0 +1,158 @@ +# +# spec file for package lib2geom +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%define __builder ninja +%define sonum 1_4_0 +%define sover 1.4.0 +%define libname lib2geom%{sonum} +%define develname 2geom +%define short_version 1.4 +Name: lib2geom +Version: 1.4.0 +Release: 0 +Summary: Easy to use 2D geometry library in C++ +License: LGPL-2.1-only AND MPL-1.1 +URL: https://gitlab.com/inkscape/%{name} +Group: System/Libraries +Source0: %{url}/-/archive/%{short_version}/%{name}-%{short_version}.tar.gz +# PATCH-FIX-OPENSUSE +Patch1: fix-pkgconfig-libdir-path.patch +BuildRequires: cmake >= 2.6 +%if 0%{suse_version} < 1550 +BuildRequires: gcc13-c++ +%else +BuildRequires: gcc-c++ +%endif +BuildRequires: glib2 +BuildRequires: gsl-devel +BuildRequires: gtest +BuildRequires: gtk3-devel +BuildRequires: libboost_headers-devel +BuildRequires: ninja +BuildRequires: cmake(double-conversion) + +%description +A C++ 2D geometry library geared towards processing data +associated with vector graphics. The primary design consideration +is ease of use and clarity. + +%package -n %{libname} +Summary: Easy to use 2D geometry library in C++ + +%description -n %{libname} +A C++ 2D geometry library geared towards processing data +associated with vector graphics. The primary design consideration +is ease of use and clarity. + +%package devel +Summary: Development files for %{name} +Requires: %{libname} = %{version} +Group: Development/Libraries/C and C++ + +%description devel +This package contains all necessary include files and libraries +needed to develop applications that require %{name}. + +%prep +%autosetup -n %{name}-%{short_version} -p1 + +%build +%if 0%{?suse_version} && 0%{?suse_version} <= 1500 +export CC=gcc-13 +export CXX=g++-13 +%endif +export CFLAGS="%optflags -fexcess-precision=fast -DNDEBUG" +export CXXFLAGS="$CFLAGS" +%cmake -Wno-dev \ + -D2GEOM_BUILD_SHARED:BOOL=ON \ + -D2GEOM_TOYS:BOOL=OFF \ + -D2GEOM_TESTING:BOOL=ON \ + -DCMAKE_SKIP_RPATH:BOOL=OFF \ + -DCMAKE_SKIP_INSTALL_RPATHS:BOOL=ON \ + %{nil} + +%cmake_build + +%install +%cmake_install + +%post -n %{libname} -p /sbin/ldconfig +%postun -n %{libname} -p /sbin/ldconfig + +%check +# deactivate failling test, also see +# PATCH-FIX-UPSTREAM fix instable tests, https://gitlab.com/inkscape/lib2geom/-/issues/67 +%if 0%{?suse_version} > 1500 +# TW x86_64 => passes +# TW i586 +%ifarch i586 +%define excluded_tests 1 +ctest_exclude_regex="ellipse-test|elliptical-arc-test|line-test|polynomial-test|self-intersections-test" +%endif +# TW armv7l => passes +# TW aarch64 +%ifarch aarch64 ppc64le riscv64 s390x +%define excluded_tests 1 +ctest_exclude_regex="elliptical-arc-test|polynomial-test" +%endif +%endif +%if 0%{?sle_version} == 150600 && 0%{?is_opensuse} +# 15.6 x86_64 => passes +# 15.6 i586 +%ifarch i586 +%define excluded_tests 1 +ctest_exclude_regex="bezier-test|ellipse-test|line-test|polynomial-test|self-intersections-test" +%endif +%endif +%if 0%{?sle_version} == 150500 && 0%{?is_opensuse} +# 15.5 x86_64 +%ifarch x86_64 +%define excluded_tests 1 +ctest_exclude_regex="line-test" +%endif +# 15.5 i586 +%ifarch i586 +%define excluded_tests 1 +ctest_exclude_regex="bezier-test|ellipse-test|line-test|polynomial-test|self-intersections-test" +%endif +%endif +# END deactivate failling test +pushd build +ctest --output-on-failure --force-new-ctest-process --parallel %{_smp_build_ncpus} \ + %{?excluded_tests:--exclude-regex "($ctest_exclude_regex)"} +popd + +%files -n %{libname} +%license COPYING-LGPL-2.1 COPYING-MPL-1.1 +%doc NEWS.md README.md +%{_libdir}/%{name}.so.%{sover} + +%files devel +%dir %{_includedir}/%{develname}-%{version}/ +%dir %{_includedir}/%{develname}-%{version}/%{develname}/ +%{_includedir}/%{develname}-%{version}/%{develname}/numeric/ +%{_includedir}/%{develname}-%{version}/%{develname}/intervaltree/ +%{_includedir}/%{develname}-%{version}/%{develname}/orphan-code/ +%{_includedir}/%{develname}-%{version}/%{develname}/symbolic/ +%{_includedir}/%{develname}-%{version}/%{develname}/*.h + +%{_libdir}/%{name}.so +%{_libdir}/pkgconfig/%{develname}.pc +%{_libdir}/cmake/2Geom/ + +%changelog