diff --git a/libdbusmenu.spec b/libdbusmenu.spec index 4303486..7f14af9 100644 --- a/libdbusmenu.spec +++ b/libdbusmenu.spec @@ -1,182 +1,166 @@ -%global ubuntu_release 16.04 +# Todo: build docs +# BuildRequires: gtk-doc >= 1.14 +# configure --enable-gtk-doc --enable-gtk-doc-html --enable-gtk-doc-pdf -%if 0%{?fedora} -%global tools_doc %{_docdir}/%{name}-tools -%global glib_doc %{_docdir}/%{name}-glib-devel -%else -%global tools_doc %{_docdir}/%{name}-tools-%{version} -%global glib_doc %{_docdir}/%{name}-glib-devel-%{version} -%endif +%global ubuntu_release 16.04 -Name: libdbusmenu -Version: %{ubuntu_release}.0 -Release: 1%{?dist} -Summary: A library that pulling out some code out of indicator-applet +Name: libdbusmenu +Version: %{ubuntu_release}.0 +Release: 1%{?dist} +Summary: Library for passing menus over DBus # All files installed in final rpms use C sources with dual licensing headers. # Tests compiled in the build process are licensed GPLv3 -License: LGPLv3 or LGPLv2 and GPLv3 -URL: https://launchpad.net/libdbusmenu -Source0: https://launchpad.net/libdbusmenu/%{ubuntu_release}/%{version}/+download/%{name}-%{version}.tar.gz - -BuildRequires: vala-tools vala-devel -BuildRequires: json-glib-devel -BuildRequires: chrpath -BuildRequires: intltool -BuildRequires: gobject-introspection-devel -BuildRequires: gnome-doc-utils -BuildRequires: gnome-common -BuildRequires: python -BuildRequires: glib2-devel -# valgrind exists only on selected arches -%ifarch %{ix86} x86_64 ppc ppc64 s390x %{arm} -BuildRequires: valgrind-devel -%endif -BuildRequires: pkgconfig -BuildRequires: glibc-devel -BuildRequires: gtk3-devel -BuildRequires: gtk2-devel -BuildRequires: atk-devel +License: LGPLv3 or LGPLv2 and GPLv3 +URL: https://launchpad.net/libdbusmenu +Source0: https://launchpad.net/libdbusmenu/%{ubuntu_release}/%{version}/+download/%{name}-%{version}.tar.gz + +BuildRequires: atk-devel +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: gettext +BuildRequires: glibc-devel +BuildRequires: gnome-common +BuildRequires: gnome-doc-utils +BuildRequires: intltool +BuildRequires: libtool +BuildRequires: libxslt +BuildRequires: pkgconfig +BuildRequires: pkgconfig(atk) +BuildRequires: pkgconfig(gio-2.0) >= 2.35.4 +BuildRequires: pkgconfig(gio-unix-2.0) >= 2.24 +BuildRequires: pkgconfig(glib-2.0) >= 2.35.4 +BuildRequires: pkgconfig(gobject-introspection-1.0) >= 0.10 +BuildRequires: pkgconfig(gtk+-2.0) >= 2.16 +BuildRequires: pkgconfig(gtk+-3.0) >= 2.91 +BuildRequires: pkgconfig(json-glib-1.0) >= 0.13.4 +BuildRequires: pkgconfig(valgrind) +BuildRequires: pkgconfig(x11) >= 1.3 +BuildRequires: python +BuildRequires: vala-devel +BuildRequires: vala-tools %description -It passes a menu structure across DBus so that a program can create -a menu simply without worrying about how it is displayed on the -other side of the bus - +This is a small library designed to make sharing and displaying of menu +structures over DBus simple and easy to use. It works for both QT and GTK+ and +makes building menus simple. %package devel -Summary: %{summary} -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: dbus-glib-devel -%description devel -Development Files for %{name} +Summary: %{summary} - Development files +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: dbus-glib-devel +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. %package gtk2 -Summary: %{summary} -Requires: %{name}%{?_isa} = %{version}-%{release} +Summary: %{summary} - GTK+2 version +Requires: %{name}%{?_isa} = %{version}-%{release} + %description gtk2 -Shared libraries for the %{name}-gtk2 library +Shared libraries for the %{name}-gtk2 library. %package gtk3 -Requires: %{name}%{?_isa} = %{version}-%{release} -Summary: %{summary} +Summary: %{summary} - GTK+3 version +Requires: %{name}%{?_isa} = %{version}-%{release} %description gtk3 -Shared libraries for the %{name}-gtk3 library +Shared libraries for the %{name}-gtk3 library. +%package gtk2-devel +Summary: Development files for %{name}-gtk2 +Requires: %{name}-gtk2%{?_isa} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: gtk2-devel +Requires: dbus-glib-devel -%package gtk2-devel -Summary: Development files for %{name} -Requires: %{name}-gtk2%{?_isa} = %{version}-%{release} -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: gtk2-devel -Requires: dbus-glib-devel -%description gtk2-devel +%description gtk2-devel The %{name}-gtk2-devel package contains libraries and header files for -developing applications that use %{name}. +developing applications that use %{name}-gtk2. -%package gtk3-devel -Summary: Development files for %{name} -Requires: %{name}-gtk3%{?_isa} = %{version}-%{release} -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: gtk3-devel -Requires: dbus-glib-devel +%package gtk3-devel +Summary: Development files for %{name}-gtk3 +Requires: %{name}-gtk3%{?_isa} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: gtk3-devel +Requires: dbus-glib-devel -%description gtk3-devel +%description gtk3-devel The %{name}-gtk3-devel package contains libraries and header files for -developing applications that use %{name}. +developing applications that use %{name}-gtk3. -%package jsonloader -Summary: Test lib development files -Requires: %{name}-devel%{?_isa} = %{version}-%{release} -%description jsonloader -It passes a menu structure across DBus so that a program can create -a menu simply without worrying about how it is displayed on the -other side of the bus - -%package jsonloader-devel -Summary: Test lib development files for %{name} -Requires: %{name}-jsonloader%{?_isa} = %{version}-%{release} -Requires: %{name}%{?_isa} = %{version}-%{release} -%description jsonloader-devel -It passes a menu structure across DBus so that a program can create -a menu simply without worrying about how it is displayed on the -other side of the bus - -%package doc -Summary: Document files for %{name} -BuildArch: noarch -Group: Documentation -%description doc -The %{name}-doc package contains documents for -developing applications that use %{name}. +%package jsonloader +Summary: Test lib development files +Requires: %{name}-devel%{?_isa} = %{version}-%{release} -%package tools -Requires: %{name}%{?_isa} = %{version}-%{release} -Summary: Development tools for the dbusmenu libraries +%description jsonloader +Test library for %{name}. -%description tools -The %{name}-tools package contains helper tools for -developing applications that use %{name}. +%package jsonloader-devel +Summary: Test lib development files for %{name} +Requires: %{name}-jsonloader%{?_isa} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description jsonloader-devel +The %{name}-jsonloader-devel package contains libraries and header files for +developing applications that use %{name}-jsonloader. + +%package doc +Summary: Document files for %{name} +BuildArch: noarch + +%description doc +The %{name}-doc package contains documents for developing applications that +use %{name}. + +%package tools +Summary: Development tools for the dbusmenu libraries +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description tools +The %{name}-tools package contains helper tools for developing applications +that use %{name}. %prep %setup -q -n %{name}-%{version} -c -cp -a %{name}-%{version}/{README,COPYING,COPYING.2.1,COPYING-GPL3,AUTHORS} . +cp -a %{name}-%{version}/{README,COPYING,COPYING.2.1,COPYING-GPL3,AUTHORS,ChangeLog} . cp -a %{name}-%{version} %{name}-gtk3-%{version} + %build +build(){ +autoreconf -vif +%configure --disable-static --disable-dumper $* +%make_build +} + pushd %{name}-gtk3-%{version} sed -i -e 's@^#!.*python$@#!/usr/bin/python2@' tools/dbusmenu-bench -export CFLAGS="%{optflags} -Wno-error=deprecated-declarations" -%configure --disable-static --disable-scrollkeeper --with-gtk=3 --disable-dumper -sed -i -e 's! -shared ! -Wl,--as-needed\0!g' libtool -make %{?_smp_mflags} V=1 +build --with-gtk=3 popd - pushd %{name}-%{version} sed -i -e 's@^#!.*python$@#!/usr/bin/python2@' tools/dbusmenu-bench -export CFLAGS="%{optflags} -Wno-error=deprecated-declarations" -%configure --disable-static --disable-scrollkeeper --with-gtk=2 --disable-dumper -sed -i -e 's! -shared ! -Wl,--as-needed\0!g' libtool -make %{?_smp_mflags} V=1 +build --with-gtk=2 popd %install pushd %{name}-gtk3-%{version} -make install DESTDIR=%{buildroot} -chrpath --delete %{buildroot}%{_libdir}/libdbusmenu-gtk3.so.4.0.12 -chrpath --delete %{buildroot}%{_libdir}/libdbusmenu-jsonloader.so.4.0.12 -chrpath --delete %{buildroot}%{_libexecdir}/dbusmenu-testapp - -find %{buildroot} -name '*.la' -exec rm -f {} ';' +%make_install +find %{buildroot} -name '*.la' -delete popd - pushd %{name}-%{version} -make install DESTDIR=%{buildroot} -chrpath --delete %{buildroot}%{_libdir}/libdbusmenu-gtk.so.4.0.12 -chrpath --delete %{buildroot}%{_libdir}/libdbusmenu-jsonloader.so.4.0.12 -chrpath --delete %{buildroot}%{_libexecdir}/dbusmenu-testapp - -find %{buildroot} -name '*.la' -exec rm -f {} ';' +%make_install +find %{buildroot} -name '*.la' -delete popd - -# Put documentation in correct directory -install -dm755 %{buildroot}%{tools_doc}/ -mv %{buildroot}%{_docdir}/%{name}/README.dbusmenu-bench \ - %{buildroot}%{tools_doc} - -# Put examples in correct documentation directory -install -dm755 %{buildroot}%{glib_doc}/examples/ -mv %{buildroot}%{_docdir}/%{name}/examples/glib-server-nomenu.c \ - %{buildroot}%{glib_doc}/examples/ - +# Let rpmbuild pick the documents in the files section +rm -fr %{buildroot}%{_docdir}/%{name} %post -p /sbin/ldconfig %post gtk2 -p /sbin/ldconfig @@ -188,12 +172,14 @@ mv %{buildroot}%{_docdir}/%{name}/examples/glib-server-nomenu.c \ %postun gtk3 -p /sbin/ldconfig %postun jsonloader -p /sbin/ldconfig -%files -%doc README COPYING COPYING.2.1 COPYING-GPL3 AUTHORS +%files +%license COPYING COPYING.2.1 COPYING-GPL3 +%doc README AUTHORS ChangeLog %{_libdir}/libdbusmenu-glib.so.* %{_libdir}/girepository-1.0/Dbusmenu-0.4.typelib %files devel +%doc %{name}-%{version}/tests/glib-server-nomenu.c %dir %{_includedir}/libdbusmenu-glib-0.4/ %dir %{_includedir}/libdbusmenu-glib-0.4/libdbusmenu-glib/ %{_includedir}/libdbusmenu-glib-0.4/libdbusmenu-glib/*.h @@ -201,14 +187,10 @@ mv %{buildroot}%{_docdir}/%{name}/examples/glib-server-nomenu.c \ %{_libdir}/pkgconfig/dbusmenu-glib-0.4.pc %{_datadir}/gir-1.0/Dbusmenu-0.4.gir %{_datadir}/vala/vapi/Dbusmenu-0.4.vapi -%dir %{glib_doc}/ -%dir %{glib_doc}/examples/ -%doc %{glib_doc}/examples/glib-server-nomenu.c %files jsonloader %{_libdir}/libdbusmenu-jsonloader.so.* - %files jsonloader-devel %dir %{_includedir}/libdbusmenu-glib-0.4/ %dir %{_includedir}/libdbusmenu-glib-0.4/libdbusmenu-jsonloader/ @@ -224,7 +206,6 @@ mv %{buildroot}%{_docdir}/%{name}/examples/glib-server-nomenu.c \ %{_libdir}/libdbusmenu-gtk.so.* %{_libdir}/girepository-1.0/DbusmenuGtk-0.4.typelib - %files gtk3-devel %dir %{_includedir}/libdbusmenu-gtk3-0.4 %dir %{_includedir}/libdbusmenu-gtk3-0.4/libdbusmenu-gtk @@ -243,20 +224,17 @@ mv %{buildroot}%{_docdir}/%{name}/examples/glib-server-nomenu.c \ %{_datadir}/gir-1.0/DbusmenuGtk-0.4.gir %{_datadir}/vala/vapi/DbusmenuGtk-0.4.vapi - -%files doc -%doc README COPYING COPYING.2.1 AUTHORS +%files doc %dir %{_datadir}/gtk-doc/ %{_datadir}/gtk-doc/* %files tools +%doc %{name}-%{version}/tools/README.dbusmenu-bench %{_libexecdir}/dbusmenu-bench %{_libexecdir}/dbusmenu-testapp %dir %{_datadir}/%{name}/ %dir %{_datadir}/%{name}/json/ %{_datadir}/%{name}/json/test-gtk-label.json -%dir %{tools_doc}/ -%{tools_doc}/README.dbusmenu-bench %changelog * Sun Apr 16 2017 Simone Caronni - 16.04.0-1