# # spec file for package graphene # # Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # 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 http://bugs.opensuse.org/ # Name: graphene Version: 1.5.2 Release: 0 Summary: A thin layer of types for graphic libraries License: MIT Group: Development/Languages/C and C++ Url: http://ebassi.github.io/graphene/ Source: https://download.gnome.org/sources/graphene/1.5/%{name}-%{version}.tar.xz BuildRequires: gobject-introspection-devel BuildRequires: meson >= 0.36.0 BuildRequires: pkgconfig BuildRequires: pkgconfig(gobject-2.0) >= 2.30.0 BuildRoot: %{_tmppath}/%{name}-%{version}-build %description 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 libgraphene-1_0-0 Summary: A thin layer of types for graphic libraries -- System library 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: A thin layer of types for graphic libraries -- GObject introspection Group: System/Libraries %description -n typelib-1_0-Graphene-1_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 libgraphene-devel Summary: A thin layer of types for graphic libraries -- Development files Group: Development/Languages/C and C++ Requires: libgraphene-1_0-0 = %{version} Requires: typelib-1_0-Graphene-1_0 = %{version} %description -n libgraphene-devel 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. %prep %setup -q # Workaround for an apparent mesa issue sed -i "s/©/(c)/" src/graphene-version.h.in %build %ifarch i586 # on i586, the compiler drops 'libm' and then g-ir-scanner fails to resolve it # See gh#ebassie/graphene#82 export SUSE_ASNEEDED=0 %endif mkdir build pushd build meson \ --prefix=%{_prefix} \ --bindir=%{_bindir} \ --datadir=%{_datadir} \ --libdir=%{_libdir} \ --includedir=%{_includedir} \ --libexecdir=%{_libexecdir} \ --sysconfdir=%{_sysconfdir} \ --mandir=%{_mandir} \ --default-library=shared \ .. # sources are in the parent directory ninja %{?_smp_mflags} %install pushd build DESTDIR=%{buildroot} ninja %{?_smp_mflags} install %check pushd build ninja 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 %defattr(-,root,root) %doc LICENSE %{_libdir}/libgraphene-1.0.so.* %files -n typelib-1_0-Graphene-1_0 %defattr(-,root,root) %{_libdir}/girepository-1.0/Graphene-1.0.typelib %files -n libgraphene-devel %defattr(-,root,root) %{_includedir}/graphene-1.0/ %{_prefix}/lib/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 %changelog