diff --git a/.gitignore b/.gitignore index e69de29..bd95902 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/libindicator-0.3.15.tar.gz diff --git a/libindicator-0.3.15-abs_srcdir.patch b/libindicator-0.3.15-abs_srcdir.patch new file mode 100644 index 0000000..7f9f675 --- /dev/null +++ b/libindicator-0.3.15-abs_srcdir.patch @@ -0,0 +1,22 @@ +=== modified file 'libindicator/Makefile.am' +--- libindicator/Makefile.am 2010-11-11 15:38:56 +0000 ++++ libindicator/Makefile.am 2010-11-24 23:00:33 +0000 +@@ -73,7 +73,7 @@ + indicator-object-enum-types.h: s-enum-types-h + @true + s-enum-types-h: $(indicator_headers) +- ( cd $(srcdir) && $(GLIB_MKENUMS) --template $(srcdir)/indicator-object-enum-types.h.template \ ++ ( cd $(srcdir) && $(GLIB_MKENUMS) --template $(abs_srcdir)/indicator-object-enum-types.h.template \ + $(indicator_headers) ) >> tmp-indicator-object-enum-types.h \ + && (cmp -s tmp-indicator-object-enum-types.h indicator-object-enum-types.h || cp tmp-indicator-object-enum-types.h indicator-object-enum-types.h ) \ + && rm -f tmp-indicator-object-enum-types.h && echo timestamp > $(@F) +@@ -81,7 +81,7 @@ + indicator-object-enum-types.c: s-enum-types-c + @true + s-enum-types-c: $(indicator_headers) +- ( cd $(srcdir) && $(GLIB_MKENUMS) --template $(srcdir)/indicator-object-enum-types.c.template \ ++ ( cd $(srcdir) && $(GLIB_MKENUMS) --template $(abs_srcdir)/indicator-object-enum-types.c.template \ + $(indicator_headers) ) > tmp-indicator-object-enum-types.c \ + && (cmp -s tmp-indicator-object-enum-types.c indicator-object-enum-types.c || cp tmp-indicator-object-enum-types.c indicator-object-enum-types.c ) \ + && rm -f tmp-indicator-object-enum-types.c + diff --git a/libindicator-0.3.15-loader3.patch b/libindicator-0.3.15-loader3.patch new file mode 100644 index 0000000..971fdbf --- /dev/null +++ b/libindicator-0.3.15-loader3.patch @@ -0,0 +1,35 @@ +=== modified file 'tools/Makefile.am' +--- tools/Makefile.am 2010-11-11 15:25:43 +0000 ++++ tools/Makefile.am 2010-11-24 23:00:06 +0000 +@@ -1,11 +1,13 @@ + if USE_GTK3 + INDICATOR_LIB = -lindicator3 ++libexec_PROGRAMS = indicator-loader3 ++VER=3 + else ++VER= + INDICATOR_LIB = -lindicator ++libexec_PROGRAMS = indicator-loader + endif + +-libexec_PROGRAMS = \ +- indicator-loader + + ############################# + # Indicator Loader +@@ -24,6 +26,14 @@ + -L$(top_builddir)/libindicator/.libs \ + $(INDICATOR_LIB) + ++# We duplicate these here because Automake won't let us use $(VER) on the left hand side. ++# Since we carefully use $(VER) in the right hand side above, we can assign the same values. ++# Only one version of the library is every compiled at the same time, so it is safe to reuse ++# the right hand sides like this. ++indicator_loader3_SOURCES = $(indicator_loader_SOURCES) ++indicator_loader3_CFLAGS = $(indicator_loader_CFLAGS) ++indicator_loader3_LDADD = $(indicator_loader_LDADD) ++ + xsessiondir = $(sysconfdir)/X11/Xsession.d + + xsession_DATA = 80indicator-debugging + diff --git a/libindicator.spec b/libindicator.spec new file mode 100644 index 0000000..0134327 --- /dev/null +++ b/libindicator.spec @@ -0,0 +1,149 @@ +Summary: Shared functions for Ayatana indicators +Name: libindicator +Version: 0.3.15 +Release: 1%{?dist} +License: GPLv3 +Group: System Environment/Libraries +URL: https://launchpad.net/libindicator +Source0: http://launchpad.net/libindicator/0.3/%{version}/+download/%{name}-%{version}.tar.gz +# From upstream https://code.launchpad.net/~ken-vandine/libindicator/natty_fixes +# fix out-of-tree build and rename the GTK+ 3 indicator-loader for +# parallel installation +Patch0: libindicator-0.3.15-abs_srcdir.patch +Patch1: libindicator-0.3.15-loader3.patch + +BuildRequires: gtk-doc +BuildRequires: libtool +BuildRequires: dbus-glib-devel +BuildRequires: gtk2-devel +BuildRequires: gtk3-devel + +%description +A set of symbols and convenience functions that all Ayatana indicators +are likely to use. + +%package tools +Summary: Tools for %{name} +Group: System Environment/Libraries + +%description tools +This package contains tools used by the %{name} package, the +Ayatana indicators system. + +%package devel +Summary: Development files for %{name} +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} +Requires: pkgconfig + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + +%package gtk3 +Summary: GTK+3 build of %{name} +Group: System Environment/Libraries + +%description gtk3 +A set of symbols and convenience functions that all Ayatana indicators +are likely to use. This is the GTK+ 3 build of %{name}, for use +by GTK+ 3 apps. + +%package gtk3-tools +Summary: Tools for %{name} +Group: System Environment/Libraries + +%description gtk3-tools +This package contains tools used by the %{name}-gtk3 package, the +Ayatana indicators system. This package contains the builds of the +tools for the GTK+3 build of %{name}. + +%package gtk3-devel +Summary: Development files for %{name}-gtk3 +Group: Development/Libraries +Requires: %{name}-gtk3 = %{version}-%{release} +Requires: pkgconfig + +%description gtk3-devel +The %{name}-gtk3-devel package contains libraries and header files for +developing applications that use %{name}-gtk3. + +%prep +%setup -q +%patch0 -p0 -b .abs_srcdir +%patch1 -p0 -b .loader3 + +%build +# without this, you get rpath problems; can't figure why +autoreconf -i + +# we build it twice, once against GTK+ 3 and once against GTK+ 2, so +# both GTK+ 2 and GTK+ 3 apps can use it; the GTK+ 3 build is +# libindicator-gtk3. When we have no need for the GTK+ 2 build any more +# we can drop the -gtk3 package and have the main package build against +# GTK+ 3. +%global _configure ../configure +rm -rf build-gtk3 build-gtk2 +mkdir build-gtk3 build-gtk2 +pushd build-gtk2 +%configure --disable-static +make %{?_smp_mflags} +popd +pushd build-gtk3 +%configure --disable-static --with-gtk=3 +make %{?_smp_mflags} +popd + +%install +rm -rf %{buildroot} +make -C build-gtk2 DESTDIR=%{buildroot} install +make -C build-gtk3 DESTDIR=%{buildroot} install +find %{buildroot} -regex ".*\.la$" | xargs rm -f -- + +# this dummy indicator is fairly useless, it's not shipped in Ubuntu +rm -f %{buildroot}%{_libdir}/libdummy-indicator*.so + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig +%post gtk3 -p /sbin/ldconfig +%postun gtk3 -p /sbin/ldconfig + +%files +%defattr(-,root,root,-) +%doc COPYING +%{_libdir}/libindicator.so.* + +%files tools +%defattr(-,root,root,-) +%doc COPYING +%{_libexecdir}/indicator-loader + +%files devel +%defattr(-,root,root,-) +%doc COPYING +%{_includedir}/libindicator-0.3 +%{_libdir}/libindicator.so +%{_libdir}/pkgconfig/indicator.pc +# This is marked as 'for development use only' +%{_sysconfdir}/X11/Xsession.d/80indicator-debugging + +%files gtk3 +%defattr(-,root,root,-) +%doc COPYING +%{_libdir}/libindicator3.so.* + +%files gtk3-tools +%defattr(-,root,root,-) +%doc COPYING +%{_libexecdir}/indicator-loader3 + +%files gtk3-devel +%defattr(-,root,root,-) +%doc COPYING +%{_includedir}/libindicator3-0.3 +%{_libdir}/libindicator3.so +%{_libdir}/pkgconfig/indicator3.pc + +%changelog +* Fri Dec 03 2010 Adam Williamson - 0.3.15-1 +- initial package diff --git a/sources b/sources index e69de29..5c0995b 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +0ae797cbb0fb803c38b8d4da3969d8b1 libindicator-0.3.15.tar.gz