Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37732876
en ru br
ALT Linux repos
S:7.3.0-alt1

Group :: System/Libraries
RPM: libgranite7

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

%def_disable snapshot
%def_disable docs
%def_enable check

%define _name granite
%define rdn_name io.elementary.%_name-%api_ver_major
%define ver_major 7.3
%define api_ver_major 7
%define api_ver 7.0
%define sover 7

Name: lib%_name%api_ver_major
Version: %ver_major.0
Release: alt1

Summary: Extension of GTK4 libraries
Group: System/Libraries
License: LGPL-3.0
Url: https://github.com/elementary/%_name

%if_disabled snapshot
Source: %url/archive/%version/%_name-%version.tar.gz
%else
Vcs: https://github.com/elementary/granite.git
Source: %_name-%version.tar
%endif

%define glib_ver 2.50
%define gtk4_ver 4.4
%define vala_ver 0.40

Requires: elementary-icon-theme >= %ver_major

BuildRequires(pre): rpm-macros-meson rpm-build-gir
BuildRequires: meson sassc
BuildRequires: vala-tools >= %vala_ver libgio-devel >= %glib_ver
BuildRequires: libgio-devel >= %glib_ver libgtk4-devel >= %gtk4_ver
BuildRequires: libgee0.8-devel gobject-introspection-devel
BuildRequires: libgtk4-gir-devel libgee0.8-gir-devel
%{?_enable_docs:BuildRequires: gtk-doc valadoc}

%description
Granite is a companion library for GTK4 and GLib that provides complex
widgets and convenience methods designed for use in apps built for
elementary OS.

This package contains the shared library.

%package devel
Summary: Extension of GTK+ libraries (development files)
Group: Development/GNOME and GTK+
Requires: %name = %EVR
Provides: %name-vala = %EVR

%description devel
Granite is a companion library for GTK4 and GLib that provides complex
widgets and convenience methods designed for use in apps built for
elementary OS.

This package contains header files.

%package -n %_name%api_ver_major-demo
Summary: Extension of GTK4 libraries (demo binary)
Group: Development/GNOME and GTK+
Requires: %name = %EVR

%description -n %_name%api_ver_major-demo
Granite is a companion library for GTK4 and GLib that provides complex
widgets and convenience methods designed for use in apps built for
elementary OS.

This package contains a small demo application to show Granite Widgets.

%package gir
Summary: GObject introspection data for the Granite library
Group: System/Libraries
Requires: %name = %EVR

%description gir
GObject introspection data for the Granite library.

%package gir-devel
Summary: GObject introspection devel data for the Granite library.
Group: System/Libraries
BuildArch: noarch
Requires: %name-devel = %EVR
Requires: %name-gir = %EVR

%description gir-devel
GObject introspection devel data for the Granite library.

%prep
%setup -n %_name-%version

%build
%meson %{?_enable_docs:-Ddocumentation=true}
%meson_build

%install
%meson_install
%find_lang %_name-%api_ver_major

%check
%__meson_test

%files -f %_name-%api_ver_major.lang
%_libdir/*.so.%{sover}*
%_iconsdir/hicolor/*/*/*.svg
%_datadir/metainfo/%_name-%api_ver_major.metainfo.xml
%doc README*

%files devel
%_includedir/%_name-%api_ver_major/
%_libdir/*.so
%_pkgconfigdir/%_name-%api_ver_major.pc
%_datadir/vala/vapi/%_name-%api_ver_major.deps
%_datadir/vala/vapi/%_name-%api_ver_major.vapi

%files -n %_name%api_ver_major-demo
%_bindir/*
%_desktopdir/%rdn_name.demo.desktop

%files gir
%_typelibdir/Granite-%api_ver.typelib

%files gir-devel
%_girdir/Granite-%api_ver.gir


%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin