diff --git a/0001_Fix_mono_dir.patch b/0001_Fix_mono_dir.patch new file mode 100644 index 0000000..b7c82c4 --- /dev/null +++ b/0001_Fix_mono_dir.patch @@ -0,0 +1,24 @@ +diff -Nru libappindicator-0.4.92.orig/bindings/mono/appindicator-sharp-0.1.pc.in libappindicator-0.4.92/bindings/mono/appindicator-sharp-0.1.pc.in +--- libappindicator-0.4.92.orig/bindings/mono/appindicator-sharp-0.1.pc.in 2012-06-27 21:04:30.199741626 -0400 ++++ libappindicator-0.4.92/bindings/mono/appindicator-sharp-0.1.pc.in 2012-06-27 21:05:23.326822552 -0400 +@@ -1,7 +1,7 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ + libdir=@libdir@ +-assemblies_dir=${libdir}/cli/appindicator-sharp-0.1 ++assemblies_dir=${libdir}/appindicator-sharp-0.1 + + Name: appindicator-sharp + Description: application indicators for .NET +diff -Nru libappindicator-0.4.92.orig/bindings/mono/Makefile.am libappindicator-0.4.92/bindings/mono/Makefile.am +--- libappindicator-0.4.92.orig/bindings/mono/Makefile.am 2012-06-27 21:04:30.199741626 -0400 ++++ libappindicator-0.4.92/bindings/mono/Makefile.am 2012-06-27 21:04:59.562786431 -0400 +@@ -31,7 +31,7 @@ + $(DLLPOLICY1) \ + $(POLICY1).config + +-assemblydir = $(libdir)/cli/appindicator-sharp-0.1 ++assemblydir = $(libdir)/appindicator-sharp-0.1 + assembly_DATA = $(TARGET) + + CLEANFILES = \ diff --git a/README.en.md b/README.en.md deleted file mode 100644 index 47f74ed..0000000 --- a/README.en.md +++ /dev/null @@ -1,36 +0,0 @@ -# libappindicator - -#### Description -{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**} - -#### Software Architecture -Software architecture description - -#### Installation - -1. xxxx -2. xxxx -3. xxxx - -#### Instructions - -1. xxxx -2. xxxx -3. xxxx - -#### Contribution - -1. Fork the repository -2. Create Feat_xxx branch -3. Commit your code -4. Create Pull Request - - -#### Gitee Feature - -1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md -2. Gitee blog [blog.gitee.com](https://blog.gitee.com) -3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) -4. The most valuable open source project [GVP](https://gitee.com/gvp) -5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) -6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/README.md b/README.md deleted file mode 100644 index 44925fb..0000000 --- a/README.md +++ /dev/null @@ -1,39 +0,0 @@ -# libappindicator - -#### 介绍 -{**以下是码云平台说明,您可以替换此简介** -码云是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台 -无论是个人、团队、或是企业,都能够用码云实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)} - -#### 软件架构 -软件架构说明 - - -#### 安装教程 - -1. xxxx -2. xxxx -3. xxxx - -#### 使用说明 - -1. xxxx -2. xxxx -3. xxxx - -#### 参与贡献 - -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request - - -#### 码云特技 - -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 -5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/incompatible_pointer_build_fix.patch b/incompatible_pointer_build_fix.patch new file mode 100644 index 0000000..50678be --- /dev/null +++ b/incompatible_pointer_build_fix.patch @@ -0,0 +1,12 @@ +diff -up libappindicator-12.10.0/src/app-indicator.c.build_fix libappindicator-12.10.0/src/app-indicator.c +--- libappindicator-12.10.0/src/app-indicator.c.build_fix 2018-04-10 14:43:57.134400594 +0200 ++++ libappindicator-12.10.0/src/app-indicator.c 2018-04-10 14:45:34.655448722 +0200 +@@ -2196,7 +2196,7 @@ app_indicator_set_secondary_activate_tar + + g_return_if_fail (GTK_IS_WIDGET (menuitem)); + +- priv->sec_activate_target = g_object_ref(G_OBJECT(menuitem)); ++ priv->sec_activate_target = g_object_ref(menuitem); + priv->sec_activate_enabled = widget_is_menu_child(self, menuitem); + g_signal_connect(menuitem, "parent-set", G_CALLBACK(sec_activate_target_parent_changed), self); + } diff --git a/libappindicator-12.10.0.tar.gz b/libappindicator-12.10.0.tar.gz new file mode 100644 index 0000000..0affab8 Binary files /dev/null and b/libappindicator-12.10.0.tar.gz differ diff --git a/libappindicator.spec b/libappindicator.spec new file mode 100644 index 0000000..d4614ca --- /dev/null +++ b/libappindicator.spec @@ -0,0 +1,169 @@ +Name: libappindicator +Version: 12.10.0 +Release: 21 +Summary: The library of application indicators +License: LGPLv2 and LGPLv3 +URL: https://launchpad.net/libappindicator +Source0: https://launchpad.net/libappindicator/12.10/12.10.0/+download/libappindicator-12.10.0.tar.gz +Patch0001: 0001_Fix_mono_dir.patch +Patch0002: incompatible_pointer_build_fix.patch + +BuildRequires: autoconf automake gtk-doc vala-tools dbus-glib-devel libdbusmenu-devel +BuildRequires: libdbusmenu-gtk2-devel libdbusmenu-gtk3-devel gobject-introspection-devel +BuildRequires: gtk2-devel gtk3-devel libindicator-devel libindicator-gtk3-devel +BuildRequires: python2-devel pygtk2-devel +%ifarch %{mono_arches} +BuildRequires: gtk-sharp2-devel gtk-sharp2-gapi mono-devel mono-nunit-devel +%endif + +%description +The libappindicator allows applications to export a menu into the Unity Menu bar. +It bases on KSNI and works in KDE and will fallback to generic Systray support if +none of those are available. + +%package -n python2-appindicator +%{?python_provide:%python_provide python2-appindicator} +Summary: Python 2 bindings for libappindicator +Requires: libappindicator = 12.10.0-21 +%description -n python2-appindicator +This package contains the Python 2 bindings for the appindicator library. + +%package devel +Summary: Development package for libappindicator +Requires: libappindicator = 12.10.0-21 +Requires: dbus-glib-devel libdbusmenu-devel +%description devel +This package contains the development files for the appindicator library. + +%package gtk3 +Summary: Package of application indicators library - GTK 3 +%description gtk3 +This package contains the GTK 3 version of libappindicator. + +%package gtk3-devel +Summary: Development package for libappindicator-gtk3 +Requires: libappindicator-gtk3 = 12.10.0-21 +Requires: dbus-glib-devel libdbusmenu-devel +%description gtk3-devel +This package contains the development files for the appindicator-gtk3 library. + +%package docs +Summary: Documentation package for libappindicator and libappindicator-gtk3 +BuildArch: noarch +%description docs +This package contains the documentation for the appindicator and +appindicator-gtk3 libraries. + +%ifarch %{mono_arches} +%package sharp +Summary: Application indicators library - C# +%description sharp +This package contains the Mono C# bindings for this library. + +%package sharp-devel +Summary: Development package for libappindicator-sharp +Requires: libappindicator-sharp = 12.10.0-21 +%description sharp-devel +This package contains the development files for the appindicator-sharp library. +%endif + +%prep +%setup -q +%patch0001 -p1 -b .monodir +%patch0002 -p1 -b .incompatible_pointer_build_fix +sed -i "s#gmcs#mcs#g" configure.ac +sed -i 's/--nogtkinit//' docs/reference/Makefile.am +gtkdocize --copy +cp -f gtk-doc.make gtk-doc.local.make +autoreconf -vif + +%build +%global _configure ../configure +mkdir build-gtk2 build-gtk3 +pushd build-gtk2 +export CFLAGS="%{optflags} $CFLAGS -Wno-deprecated-declarations" +%configure --with-gtk=2 --enable-gtk-doc --disable-static +make -j1 V=1 +popd +pushd build-gtk3 +export CFLAGS="%{optflags} $CFLAGS -Wno-deprecated-declarations" +%configure --with-gtk=3 --enable-gtk-doc --disable-static +make -j1 V=1 +popd + +%install +pushd build-gtk2 +make install DESTDIR=%{buildroot} +popd +pushd build-gtk3 +make install DESTDIR=%{buildroot} +popd +find %{buildroot} -type f -name '*.la' -delete +%ldconfig_scriptlets +%ldconfig_scriptlets gtk3 + +%files +%doc AUTHORS README COPYING COPYING.LGPL.2.1 +%{_libdir}/libappindicator.so.* +%{_libdir}/girepository-1.0/AppIndicator-0.1.typelib +%files -n python2-appindicator +%dir %{python_sitearch}/appindicator/ +%{python_sitearch}/appindicator/__init__.py* +%{python_sitearch}/appindicator/_appindicator.so +%dir %{_datadir}/pygtk/ +%dir %{_datadir}/pygtk/2.0/ +%dir %{_datadir}/pygtk/2.0/defs/ +%{_datadir}/pygtk/2.0/defs/appindicator.defs +%files devel +%dir %{_includedir}/libappindicator-0.1/ +%dir %{_includedir}/libappindicator-0.1/libappindicator/ +%{_includedir}/libappindicator-0.1/libappindicator/*.h +%{_libdir}/libappindicator.so +%{_libdir}/pkgconfig/appindicator-0.1.pc +%{_datadir}/gir-1.0/AppIndicator-0.1.gir +%{_datadir}/vala/vapi/appindicator-0.1.vapi +%{_datadir}/vala/vapi/appindicator-0.1.deps +%files gtk3 +%doc AUTHORS README COPYING COPYING.LGPL.2.1 +%{_libdir}/libappindicator3.so.* +%{_libdir}/girepository-1.0/AppIndicator3-0.1.typelib +%files gtk3-devel +%dir %{_includedir}/libappindicator3-0.1/ +%dir %{_includedir}/libappindicator3-0.1/libappindicator/ +%{_includedir}/libappindicator3-0.1/libappindicator/*.h +%{_libdir}/libappindicator3.so +%{_libdir}/pkgconfig/appindicator3-0.1.pc +%{_datadir}/gir-1.0/AppIndicator3-0.1.gir +%{_datadir}/vala/vapi/appindicator3-0.1.vapi +%{_datadir}/vala/vapi/appindicator3-0.1.deps +%files docs +%doc %{_datadir}/gtk-doc/html/libappindicator/ + +%ifarch %{mono_arches} +%files sharp +%doc AUTHORS README COPYING COPYING.LGPL.2.1 +%dir %{_libdir}/appindicator-sharp-0.1/ +%{_libdir}/appindicator-sharp-0.1/appindicator-sharp.dll +%{_libdir}/appindicator-sharp-0.1/appindicator-sharp.dll.config +%{_libdir}/appindicator-sharp-0.1/policy.0.0.appindicator-sharp.config +%{_libdir}/appindicator-sharp-0.1/policy.0.0.appindicator-sharp.dll +%{_libdir}/appindicator-sharp-0.1/policy.0.1.appindicator-sharp.config +%{_libdir}/appindicator-sharp-0.1/policy.0.1.appindicator-sharp.dll +%dir %{_prefix}/lib/mono/appindicator-sharp/ +%{_prefix}/lib/mono/appindicator-sharp/appindicator-sharp.dll +%{_prefix}/lib/mono/appindicator-sharp/policy.0.0.appindicator-sharp.dll +%dir %{_prefix}/lib/mono/gac/appindicator-sharp/ +%dir %{_prefix}/lib/mono/gac/appindicator-sharp/*/ +%{_prefix}/lib/mono/gac/appindicator-sharp/*/appindicator-sharp.dll +%{_prefix}/lib/mono/gac/appindicator-sharp/*/appindicator-sharp.dll.config +%dir %{_prefix}/lib/mono/gac/policy.0.0.appindicator-sharp/ +%dir %{_prefix}/lib/mono/gac/policy.0.0.appindicator-sharp/*/ +%{_prefix}/lib/mono/gac/policy.0.0.appindicator-sharp/*/policy.0.0.appindicator-sharp.dll +%{_prefix}/lib/mono/gac/policy.0.0.appindicator-sharp/*/policy.0.0.appindicator-sharp.config +%files sharp-devel +%{_libdir}/pkgconfig/appindicator-sharp-0.1.pc +%endif + +%changelog +* Tue Nov 26 2019 openEuler Buildteam - 12.10.0-21 +- Package init