File granite-7.spec of Package granite-7

#
# spec file for package granite7
#
# 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 upstream_name  granite
%define upstream_vname Granite
%define upstream_ver   7
%define upstream_uuid  io.elementary.%{upstream_name}-%{upstream_ver}

Name:           %{upstream_name}-%{upstream_ver}
Version:        7.5.0
Release:        0
Summary:        Elementary companion library for GTK+ and GLib
Group:		System/Libraries
License:        LGPL-3.0-or-later
URL:            https://github.com/elementary/granite/
Source0:        %{upstream_name}-%{version}.tar.xz
BuildRequires:  fdupes
BuildRequires:  gcc
BuildRequires:  meson
BuildRequires:	gettext
BuildRequires:	vala >= 0.40
BuildRequires:  sassc
BuildRequires:	pkgconfig(gee-0.8)
BuildRequires:	pkgconfig(glib-2.0)
BuildRequires:	pkgconfig(gtk+-3.0) >= 3.22
BuildRequires:	pkgconfig(gtk4)
BuildRequires:	pkgconfig(gobject-introspection-1.0)

%define _description %{expand:	
Granite is a companion library for GTK+ and GLib. Among other things,
it provides complex widgets and convenience functions designed for
use in apps built for elementary.}

%description %{_description}

%package -n lib%{name}-%{upstream_ver}
Summary:        Elementary companion library for GTK+ and GLib
Group:		System/Libraries

%description -n lib%{name}-%{upstream_ver} %{_description}

%package -n typelib-1_0-%{upstream_vname}-%{upstream_ver}_0
Summary:        Introspection bindings for %{name}
Group:          System/Libraries
Requires:       lib%{name}-%{upstream_ver} = %{version}-%{release}

%description -n typelib-1_0-%{upstream_vname}-%{upstream_ver}_0 %{_description}

This subpackage provides the GObject Introspection bindings for
%{name}.

%package demo
Summary:        Demo for %{name}
Group:          System/GUI/Other
Requires:       lib%{name}-%{upstream_ver} = %{version}-%{release}

%description demo %{_description}

This subpackge package contains the %{name} demo application.

%package devel
Summary:	Development package for %{name}
Group:		Development/Languages
Requires:       lib%{name}-%{upstream_ver} = %{version}-%{release}

%description devel %{_description}

This subpackage contains development files needed to build against
%{name}.

%lang_package

%prep
%autosetup -n %{upstream_name}-%{version} -p1

%build
%meson
%meson_build

%install
%meson_install
%fdupes %{buildroot}/%{_datadir}/locale/ %{buildroot}/%{_datadir}/icons/hicolor/

%check
%meson_test

%find_lang %{name}

%ldconfig_scriptlets -n lib%{name}-%{upstream_ver}

%files lang -f %{name}.lang

%files -n lib%{name}-%{upstream_ver}
%{_libdir}/lib%{name}.so.%{upstream_ver}
%{_libdir}/lib%{name}.so.%{version}
%dir %{_datadir}/icons/hicolor/48x48/
%dir %{_datadir}/icons/hicolor/48x48/apps/
%{_datadir}/icons/hicolor/48x48/apps/%{upstream_uuid}.svg
%dir %{_datadir}/icons/hicolor/48x48@2/
%dir %{_datadir}/icons/hicolor/48x48@2/apps/
%{_datadir}/icons/hicolor/48x48@2/apps/%{upstream_uuid}.svg
%{_datadir}/themes/%{upstream_vname}/

%files -n typelib-1_0-%{upstream_vname}-%{upstream_ver}_0
%{_libdir}/girepository-1.0/%{upstream_vname}-%{upstream_ver}.0.typelib

%files demo
%{_bindir}/%{name}-demo
%{_datadir}/applications/%{upstream_uuid}.demo.desktop

%files devel
%license COPYING
%doc README.md
%{_includedir}/%{name}
%{_libdir}/lib%{name}.so
%{_libdir}/pkgconfig/%{name}.pc
%{_datadir}/gir-1.0/%{upstream_vname}-%{upstream_ver}.0.gir
%{_datadir}/metainfo/%{name}.metainfo.xml
%{_datadir}/vala/vapi/%{name}.deps
%{_datadir}/vala/vapi/%{name}.vapi

%changelog
openSUSE Build Service is sponsored by