commit 5cfe56cd033e13cc49bb10967e875e9503408d2e382b80146378d2b33f1c54d0 Author: Adrian Schröter Date: Wed May 17 14:48:26 2023 +0200 Sync from SUSE:ALP:Source:Standard:1.0 graphene revision 1d5801b53a3b05bb0dd3c0f902c3454e 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/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..817fe67 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1 @@ +libgraphene-1_0-0 diff --git a/graphene-1.10.8.tar.xz b/graphene-1.10.8.tar.xz new file mode 100644 index 0000000..e415697 --- /dev/null +++ b/graphene-1.10.8.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a37bb0e78a419dcbeaa9c7027bcff52f5ec2367c25ec859da31dfde2928f279a +size 333924 diff --git a/graphene.changes b/graphene.changes new file mode 100644 index 0000000..180b115 --- /dev/null +++ b/graphene.changes @@ -0,0 +1,295 @@ +------------------------------------------------------------------- +Fri Mar 18 17:29:48 UTC 2022 - Bjørn Lie + +- Update to version 1.10.8: + + ray: + - simplify NaN checking. + - Improve intersection + + Build fixes. + + SIMD: + - Make reciprocal operations 0-safe. + - Add simplified scalar reciprocal. + + tests: + - Fix installed introspection test. + - Add ray intersection unit. + + Fix detection of AArch64. + + Documentation fixes. + +------------------------------------------------------------------- +Thu Apr 15 11:42:40 UTC 2021 - Dominique Leuenberger + +- Update to version 1.10.6: + + Hide GRAPHENE_SIMD_S from the introspection data. + + Nudge ray axis when intersecting a box. +- Changes from version 1.10.4: + + Add ARM NEON support when building with Visual Studio. + + Build fix on ARM64 Windows. + + Drop deprecated "python3" Meson module. + + Fix detection of non-intersecting boxes. + + Only enable SSE2 on x86_64. + + Use the compiler-appropriate alignment attributes. + + Change introspection option to a yielding feature. +- Change -Dintrospection=true meson parameter to + -Dintrospection=enabled: follow upstream build system changes. +- Wrap -Dsse2=true meson parameter into %ifarch x86_64: 32bit + builds for example do not support sse2 (likely boo#1184678). + +------------------------------------------------------------------- +Thu Jan 28 12:08:06 UTC 2021 - Bjørn Lie + +- Pass conditional Darm_neon=false instead of Darm-neon=true to + meson, fix build for armv7. +- Stop passing Dbenchmarks=true, no longer recognized nor used. + +------------------------------------------------------------------- +Tue Jun 23 19:20:50 UTC 2020 - Bjørn Lie + +- Update to version 1.10.2: + + Disable SSE on 32bit builds on Windows with MSVC + + Add more documentation on the conventions used by matrix + operations + + Fix Euler angles/matrix conversion + + Various bugs fixed. + +------------------------------------------------------------------- +Tue May 5 12:25:24 UTC 2020 - Dominique Leuenberger + +- Use %{_libexecdir} instead of %{_prefix}/lib: follow the package + installer definition. + +------------------------------------------------------------------- +Mon Sep 9 08:41:28 UTC 2019 - Bjørn Lie + +- Update to version 1.10.0: + + API additions, mostly driven by Gthree: + - Add graphene_matrix_decompose(). + - Add intersection methods to graphene_ray_t. + - graphene_triangle_init_from_float(). + - graphene_triangle_get_uv(). + + Fix graphene_ray_transform(). + + Documentation fixes. + +------------------------------------------------------------------- +Fri Sep 6 15:53:59 NZST 2019 - luke@ljones.dev + +- Update to version 1.9.6: + + Add radians based initialisers for graphene_euler_t. + + Use pragma once for the header inclusion guard. + + Remove unused function (#159) + + Add multiply(), scale(), and add() operators to + graphene_quaternion_t. + + Add lerp() operator to all vector types. + + Add graphene_plane_transform() + + Documentation updates for graphene_ray_t. + + Fix graphene_box_get_center() and. + graphene_box_get_bounding_sphere() (#165) + + Ensure that we detect empty or infinite boxes in the. + graphene_box_t API. +- Changes from version 1.9.4: + + Graphene now uses an ancillary library called µTest for its + test suite; this means it's possible to build and run the test + suite without necessarily depending on GLib. + + the conversion of the Euler angles type to and from matrices and. + quaternions has been rewritten from scratch, and should not only + be finally correct, but it should also cover more use cases—namely + the "proper" Euler angles as well as the Tait–Bryan angles. + + the ARM NEON implementation of the SIMD types has been improved, + fixed, and tested, so it's not marked as experimental any more. + + Require Meson ≥ 0.50.1. + + Fix graphene_quaternion_equal() to consider the orientation, not + just the component equality. + + Fix graphene_quaternion_slerp() to always interpolate along the + shortest path. + + Re-implement the conversion of graphene_euler_t to and from + graphene_matrix_t and graphene_quaternion_t. + + Add graphene_rectangle_get_area() + + Document restrictions of graphene_rect_round(), and deprecate the function. + + Add graphene_rect_round_extents() + + Port the test suite from GLib's testing utilities to µTest. + + Remove internal floating point comparisons. + + Improve the NEON extensions detection code. + + Fix comparison operators for graphene_simd4f_t on ARM using the + NEON extensions. + + Remove the "experimental" compiler warning from the ARM NEON + implementation of graphene_simd4f_t. +- Changes from version 1.9.2: + + Add graphene_rect_scale() method. + + Fix warning from Meson by dropping unnecessary argument to. + configure_file() + + Clean up arguments of pkgconfig.generate() + + Add equality operators to graphene_matrix_t. + + Add getters for translation components of a graphene_matrix_t. + + Use darwin_versions argument instead of rolling our own. + + Add GRAPHENE_RECT_INIT_ZERO + +------------------------------------------------------------------- +Mon Mar 25 23:24:28 UTC 2019 - Bjørn Lie + +- Update to version 1.8.6: + + Bug fixes, bug fixes everywhere! Also: documentation changes to + clarify what we do behind the veil of the various matrix + multiplication functions. Hopefully, this should help people + using Graphene especially when it comes to integration with + other libraries. + + Fix matrix multiplication when the result matrix is also one of + the operands. + + Fix check when converting a 4x4 matrix into an affine + transformation matrix. + + Fix interpolation between matrices with a perspective + component. + + Documentation fixes for matrix/matrix and matrix/vector + multiplication operators. +- Changes from version 1.8.4: + + Mostly a bug fixing release, with an especially glaring bug fix + in the point transformation function of graphene_matrix_t that + was found thanks to GTK 4. Now the function is covered by the + test suite, so it should not regress. + + Another major fix is the ensuring that we have a description of + the SIMD types through introspection, which means that language + bindings can finally know how big every other structure using + them is. The SIMD API is still not available through + introspection, as it's a pure C convenience. + + Require Meson ≥ 0.48.0. + + Fix matrix/point transformation. + + Build fixes for MSVC. + + Introspection fixes for bool. + + Fix the InitOnce checks on Windows. + + Correctly parse SIMD types for introspection. + + Build fixes for the pkg-config file. + + Documentation fixes: + - Clarify matrix/vector/point multiplication. + - Clarify plane description. + - Clarify the units for the matrix skew factors. + - Document use of graphene-gobject with Meson. + +------------------------------------------------------------------- +Thu Jun 14 19:37:38 UTC 2018 - bjorn.lie@gmail.com + +- Update to version 1.8.2: + + The main change is that we've now disabled SIMD optimisations + on 32 bit Intel architectures; there aren't many of those left, + and in general compilers have been less than stellar when + supporting SIMD types on them. This is especially problematic + when it comes to using Graphene types inside other allocated + structures, where SIMD alignment rules break system allocators + on platforms like Windows. To avoid introducing weird bugs, if + you're on 32 bit IA, you're only going to have access to the + scalar SIMD implementation. + +------------------------------------------------------------------- +Fri Feb 23 01:05:52 UTC 2018 - bjorn.lie@gmail.com + +- Update to version 1.8.0: + + No new API, this cycle, but it's time to spin a new stable + release. + + The major news for this release is that we dropped the + Autotools build from the repository; Graphene is now built + exclusively with Meson. + + We've added various fixes to the build on macOS, in order to + maintain compatibility with the old Autotools build. + + The variables in the pkg-config file that expose the SIMD + functionality built inside Graphene have been updated, to + ensure that they can be easily consumed by other projects; + instead of a single string that needs to be split, we now + expose boolean variables for all SIMD implementations. + + We've also improved the ability to use Graphene as a Meson + sub-project; this allows Meson to check out, build, and depend + on Graphene when building complex projects, like GTK. This is + really useful inside CI pipelines, as it minimises the amount + of separate steps needed when setting up the build. +- Update options passed to meson, following upstream changes: + gtk_doc=true, gobject_types=true, introspection=true, + gcc_vector=true, sse2=true, arm-neon=true, tests=true and + benchmarks=true. + +------------------------------------------------------------------- +Thu Feb 22 23:34:27 UTC 2018 - bjorn.lie@gmail.com + +- Update to version 1.6.2: + + Mostly fixes for the Meson build, to ensure it's a bit more + idiomatic and conforms to what newer versions of Meson expect + from a project. +- Do a minor spec clean, use autosetup and license macros. +- Stop exporting LANG=C.UTF-8, fixed upstream. +- Stop exporting i586 conditional SUSE_ASNEEDED=0, fixed upstream. +- Pass explict enable-gtk-doc=true, enable-gobject-types=true, + enable-introspection=true, enable-gcc-vector=true, + enable-sse2=true and enable-arm-neon=true to meson, ensure we + build the features we want. +- Following the above, add gtk-doc BuildRequires and package the + now built documentation in devel subpackage. +- Stop using sed to ensure we are using python3, fixed upstream. +- Add fdupes BuildRequires and macro, remove duplicate files. + +------------------------------------------------------------------- +Wed Nov 29 12:22:26 UTC 2017 - dimstar@opensuse.org + +- Switch to python3: + + Update the shebang in src/identfilter.py using sed. + + Replace --identifier-filter-cmd=python in src/meson.build with + --identifier-filter-cmd=python3 (using sed). + + Add python3-base BuildRequires: needed to have the python3 + interpreter present. + +------------------------------------------------------------------- +Thu Aug 10 01:57:07 CEST 2017 - ro@suse.de + +- on i586, disable sse2 for the moment, otherwise the package + fails in the testsuite on the "box" test + +------------------------------------------------------------------- +Sat Mar 4 08:47:33 UTC 2017 - zaitor@opensuse.org + +- Update to version 1.6.0: + + The Meson dependency has been bumped to 0.37.0. + + Added graphene_frustum_equal() method. + + Dropped the -Denable-debug option for the Meson build; + debugging levels are handled through the --buildtype Meson + option; you can use release to disable all debugging code paths + when building Graphene. + + Graphene now automatically builds binaries for Windows (i686 + and x86_64) using Appveyor; you can find the builds attached to + the release notes. + +------------------------------------------------------------------- +Tue Feb 28 18:30:47 UTC 2017 - dimstar@opensuse.org + +- Add baselibs.conf: produce libgraphene-1_0-0-32bit, required by + gtk4. + +------------------------------------------------------------------- +Wed Jan 11 13:19:22 UTC 2017 - zaitor@opensuse.org + +- Update to version 1.5.4: + + For the time being and after requests from distributors, the + autotools build environment has been reinstated in Git, though + Meson is still the preferred build environment; I still expect + to drop the autotools build in the near future. + + Graphene now correctly identifies whether the platform has an + aligned memory allocator. + + Compatibility fixes for printing int64_t to terminal. + + Fixed the cross-references to GLib types in the API reference + build. + + Improve the builtin detection in the Meson build and the build + of Graphene under MingW. +- Switch to github url, gnome url is currently broken. +- Pass export LANG=C.UTF-8, workaround meson issue. +- Drop sed call to workaround Mesa issue. + +------------------------------------------------------------------- +Tue Dec 6 14:13:57 UTC 2016 - dimstar@opensuse.org + +- Use meson provided macros to build instead of carrying the long + meson command lines. + +------------------------------------------------------------------- +Mon Nov 28 00:01:10 UTC 2016 - jengelh@inai.de + +- Trim description outside the main subpackage of interest; + reflow summaries. + +------------------------------------------------------------------- +Thu Nov 24 14:38:15 UTC 2016 - dimstar@opensuse.org + +- Initial package, version 1.5.2. + diff --git a/graphene.spec b/graphene.spec new file mode 100644 index 0000000..e3e682c --- /dev/null +++ b/graphene.spec @@ -0,0 +1,133 @@ +# +# spec file for package graphene +# +# Copyright (c) 2022 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/ +# + + +Name: graphene +Version: 1.10.8 +Release: 0 +Summary: Thin type layer for graphic libraries +License: MIT +Group: Development/Languages/C and C++ +URL: https://ebassi.github.io/graphene/ +Source: https://download.gnome.org/sources/graphene/1.10/%{name}-%{version}.tar.xz +Source99: baselibs.conf + +BuildRequires: fdupes +BuildRequires: gobject-introspection-devel +BuildRequires: gtk-doc +BuildRequires: meson >= 0.48.0 +BuildRequires: pkgconfig +BuildRequires: python3-base +BuildRequires: pkgconfig(gobject-2.0) >= 2.30.0 + +%description +The Graphene library provides types and their relative API for affine +matrices, 4×4 matrices, projections, transformations, vectors and +quaternions. + +%package -n libgraphene-1_0-0 +Summary: Thin type layer for graphic libraries +Group: System/Libraries + +%description -n libgraphene-1_0-0 +When creating graphic libraries you most likely end up dealing with points +and rectangles. If you're particularly unlucky, you may end up dealing +with affine matrices and 2D transformations. If you're writing a graphic +library with 3D transformations, though, you are going to hit the jackpot: +4x4 matrices, projections, transformations, vectors, and quaternions. + +This library provides types and their relative API; it does not deal with +windowing system surfaces, drawing, scene graphs, or input. You're +supposed to do that yourself, in your own canvas implementation, which is +the whole point of writing the library in the first place. + +%package -n typelib-1_0-Graphene-1_0 +Summary: GObject introspection for libgraphene, a thin type layer for graphic libraries +Group: System/Libraries + +%description -n typelib-1_0-Graphene-1_0 +The Graphene library provides types and their relative API for affine +matrices, 4×4 matrices, projections, transformations, vectors and +quaternions. + +%package -n libgraphene-devel +Summary: Development files for libgraphene, a thin type layer for graphic libraries +Group: Development/Languages/C and C++ +Requires: libgraphene-1_0-0 = %{version} +Requires: typelib-1_0-Graphene-1_0 = %{version} + +%description -n libgraphene-devel +The Graphene library provides types and their relative API for affine +matrices, 4×4 matrices, projections, transformations, vectors and +quaternions. + +This subpackage contains the development files for the Graphene library. + +%prep +%autosetup -p1 + +%build +%meson \ + -Dgtk_doc=true \ + -Dgobject_types=true \ + -Dintrospection=enabled \ + -Dgcc_vector=true \ +%ifarch x86_64 + -Dsse2=true \ +%endif +%ifarch armv7hl + -Darm_neon=false \ +%else + -Darm_neon=true \ +%endif + -Dtests=true \ + %{nil} +%meson_build + +%install +%meson_install +%fdupes %{buildroot}%{_libdir}/pkgconfig + +%check +%meson_test + +%post -n libgraphene-1_0-0 -p /sbin/ldconfig +%postun -n libgraphene-1_0-0 -p /sbin/ldconfig + +%files -n libgraphene-1_0-0 +%license LICENSE.txt +%{_libdir}/libgraphene-1.0.so.* + +%files -n typelib-1_0-Graphene-1_0 +%{_libdir}/girepository-1.0/Graphene-1.0.typelib + +%files -n libgraphene-devel +%doc %{_datadir}/gtk-doc/html/* +%{_includedir}/graphene-1.0/ +%{_libexecdir}/installed-tests/ +%{_libdir}/libgraphene-1.0.so +%{_libdir}/pkgconfig/graphene-1.0.pc +%{_libdir}/pkgconfig/graphene-gobject-1.0.pc +%dir %{_libdir}/graphene-1.0 +%dir %{_libdir}/graphene-1.0/include +%{_libdir}/graphene-1.0/include/graphene-config.h +%{_datadir}/gir-1.0/Graphene-1.0.gir +%dir %{_datadir}/installed-tests +%dir %{_datadir}/installed-tests/graphene-1.0 +%{_datadir}/installed-tests/graphene-1.0/* + +%changelog