From 7b036b6c3fd46dad02113da71692d14e2a1501a7 Mon Sep 17 00:00:00 2001 From: Andrey Bondrov Date: Thu, 7 Sep 2023 11:05:12 +1000 Subject: [PATCH] New version 0.5.92 Switch to cmake --- .abf.yml | 2 +- libayatana-appindicator.spec | 188 ++++++++++++++++++++++++----------- 2 files changed, 129 insertions(+), 61 deletions(-) diff --git a/.abf.yml b/.abf.yml index 6607011..78b23a2 100644 --- a/.abf.yml +++ b/.abf.yml @@ -1,2 +1,2 @@ sources: - libayatana-appindicator-0.5.5.tar.gz: 5e7aa282893a4dc11bfa838c6b2a6155b397d4e2 + libayatana-appindicator-0.5.92.tar.gz: 44944f8d3ce45567d6429a43cdd779a7300fe530 diff --git a/libayatana-appindicator.spec b/libayatana-appindicator.spec index fbc6765..1621a12 100644 --- a/libayatana-appindicator.spec +++ b/libayatana-appindicator.spec @@ -1,100 +1,168 @@ -# autoreconf is enough -%define _disable_rebuild_configure 1 - -%define major 1 %define api 0.1 -%define libname %mklibname ayatana-appindicator %{major} -%define devname %mklibname ayatana-appindicator-%{api} -d -%define girname %mklibname ayatanaappindicator-gir %{api} +%define major 1 +%define libname %mklibname ayatana-appindicator3_ %{major} +%define girname %mklibname ayatana-appindicator3-gir %{api} +%define devname %mklibname ayatana-appindicator3 -d -Summary: A library and indicator to take menus from applications and place them in the panel -Name: libayatana-appindicator -Version: 0.5.5 +%bcond_with mono + +Summary: Ayatana application indicators library +Name: libayatana-appindicator +Version: 0.5.92 Release: 1 -License: LGPLv3 -Group: Graphical desktop/Other -Url: https://github.com/AyatanaIndicators/libayatana-appindicator -Source0: https://github.com/AyatanaIndicators/libayatana-appindicator/archive/refs/tags/%{version}.tar.gz?/%{name}-%{version}.tar.gz - -# mono bindings can be enabled by adding BRs, -# currently no consumers need them -BuildRequires: %{_bindir}/gcov -BuildRequires: %{_bindir}/gtkdocize -BuildRequires: %{_bindir}/mate-autogen -BuildRequires: vala-devel -BuildRequires: pkgconfig(ayatana-indicator3-0.4) -BuildRequires: pkgconfig(dbusmenu-gtk-0.4) +License: LGPLv2 AND LGPLv3 AND GPLv3 +Group: System/Libraries +Url: https://ayatanaindicators.github.io/ +Source0: https://github.com/AyatanaIndicators/libayatana-appindicator/archive/%{version}/%{name}-%{version}.tar.gz +Buildrequires: cmake +BuildRequires: mate-common +BuildRequires: vala BuildRequires: pkgconfig(dbus-glib-1) -BuildRequires: pkgconfig(gio-2.0) -BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(dbusmenu-glib-0.4) +BuildRequires: pkgconfig(dbusmenu-gtk3-0.4) +BuildRequires: pkgconfig(gobject-introspection-1.0) BuildRequires: pkgconfig(gtk+-3.0) -BuildRequires: pkgconfig(python3) -BuildRequires: gtk-doc -BuildRequires: gobject-introspection-devel +BuildRequires: pkgconfig(gtk-doc) +%if %{with mono} +BuildRequires: pkgconfig(gapi-2.0) +BuildRequires: pkgconfig(gtk-sharp-2.0) +BuildRequires: pkgconfig(mono) +BuildRequires: pkgconfig(nunit) +%endif %description -%{summary} -GTK+3 version +A library to allow applications to add an icon into the +StatusNotifier-compatible notification area. If none are available, +it also provides an XEmbed-tray fallback. -#------------------------------------------------------------------ +#---------------------------------------------------------------------------- %package -n %{libname} -Summary: A library and indicator to take menus from applications, API %{api} +Summary: Ayatana application indicators library for GTK+3 Group: System/Libraries %description -n %{libname} -A library and indicator to take menus from applications and place them in the panel, -API %{api}, GTK+3 version +A library to allow applications to add an icon into the +StatusNotifier-compatible notification area. If none are available, +it also provides an XEmbed-tray fallback. + +This package contains the GTK+3 version of the library. %files -n %{libname} -%{_libdir}/libayatana-appindicator.so.%{major}* +%license COPYING* +%doc README +%{_libdir}/libayatana-appindicator3.so.%{major}* -#------------------------------------------------------------------ +#---------------------------------------------------------------------------- %package -n %{girname} -Summary: A library and indicator to take menus from applications, gir, API %{api} +Summary: GObject Introspection interface description for Ayatana Application Indicator3 Group: System/Libraries +Requires: %{libname} = %{EVRD} %description -n %{girname} -A library and indicator to take menus from applications and place them in the panel, -gir, API %{api}, GTK+3 version +This package contains the GObject Introspection interface description +for Ayatana Application Indicator3 and GTK+3. %files -n %{girname} -%{_libdir}/girepository-1.0/AyatanaAppIndicator-%{api}.typelib +%license COPYING* +%doc README +%{_libdir}/girepository-1.0/AyatanaAppIndicator3-%{api}.typelib -#------------------------------------------------------------------ +#---------------------------------------------------------------------------- %package -n %{devname} -Summary: Ayatana Indicator Display Objects library development files -Group: Development/C +Summary: Development package for %{name}3 (GTK+3) +Group: Development/C++ Requires: %{libname} = %{EVRD} Requires: %{girname} = %{EVRD} -Provides: %{name}-devel = %{EVRD} %description -n %{devname} -A library and indicator to take menus from applications and place them in the panel, -development files, GTK+3 version +Header files for development with %{name}3 (GTK+3). %files -n %{devname} -%{_libdir}/libayatana-appindicator.so -%{_libdir}/pkgconfig/ayatana-appindicator-%{api}.pc -%{_includedir}/libayatana-appindicator-%{api} -%{_datadir}/gir-1.0/AyatanaAppIndicator-%{api}.gir -%{_datadir}/vala/vapi/ayatana-appindicator-%{api}.vapi -%{_datadir}/vala/vapi/ayatana-appindicator-%{api}.deps -%{_datadir}/gtk-doc/html/libayatana-appindicator +%license COPYING* +%doc README +%{_includedir}/libayatana-appindicator3-%{api}/ +%{_libdir}/libayatana-appindicator3.so +%{_libdir}/pkgconfig/ayatana-appindicator3-%{api}.pc +%{_datadir}/gir-1.0/AyatanaAppIndicator3-%{api}.gir +%{_datadir}/vala/vapi/ayatana-appindicator3-%{api}.* -#------------------------------------------------------------------ +#---------------------------------------------------------------------------- + +%package doc +Summary: Documentation for libayatana-appindicator3 +Group: Documentation +BuildArch: noarch + +%description doc +This package contains the documentation for the Ayatana +appindicator3 libraries. + +%files doc +%{_datadir}/gtk-doc/html/libayatana-appindicator3/ + +#---------------------------------------------------------------------------- + +%if %{with mono} +%package -n ayatana-appindicator-sharp +Summary: Ayatana application indicators library for C# +Group: Development/C# + +%description -n ayatana-appindicator-sharp +This package provides the ayatana-appindicator-sharp assembly that +allows CLI (.NET) applications to take menus from applications and +place them in the panel. + +This package provides assemblies to be used by applications. + +%files -n ayatana-appindicator-sharp +%license COPYING* +%doc README +%{_libdir}/ayatana-appindicator-sharp-%{api}/ +%{_prefix}/lib/mono/ayatana-appindicator-sharp/ +%{_prefix}/lib/mono/gac/ayatana-appindicator-sharp/ +%{_prefix}/lib/mono/gac/policy.0.0.ayatana-appindicator-sharp/ +%endif + +#---------------------------------------------------------------------------- + +%if %{with mono} +%package -n ayatana-appindicator-sharp-devel +Summary: Development files for ayatana-appindicator-sharp +Group: Development/C# +Requires: ayatana-appindicator-sharp = %{EVRD} + +%description -n ayatana-appindicator-sharp-devel +This package contains the development files for the +ayatana-appindicator-sharp library. + +%files -n ayatana-appindicator-sharp-devel +%license COPYING* +%doc README +%{_libdir}/pkgconfig/ayatana-appindicator-sharp-%{api}.pc +%endif + +#---------------------------------------------------------------------------- %prep -%autosetup -p1 - -grep -Irl 'ayatana-indicator-0.4' | xargs sed -i'' -e 's,ayatana-indicator-0.4,ayatana-indicator3-0.4,g' +%setup -q %build -./autogen.sh -%configure --enable-gtk-doc +%if %{with mono} +export CSC=%{_bindir}/mcs +%endif + +%cmake \ +%if %{with mono} + -DENABLE_BINDINGS_MONO=ON \ +%else + -DENABLE_BINDINGS_MONO=OFF \ +%endif + -DENABLE_GTKDOC=ON %make %install -%makeinstall_std +%makeinstall_std -C build +