# Copyright (c) 2009-2010 oc2pus # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments to toni@links2linux.de # norootforbuild %define prefix /usr %define _name2 MYGUI %define _major 3.0 %define _minor 1 %define _SO_nr 3 Summary: A GUI library for Ogre Rendering Engine Name: MyGUI Version: %{_major}.%{_minor} Release: 1 License: LGPL Group: Development/Tools/GUI Builders Source: %{name}_%{version}_source.zip Source1: %{name}.png Source90: %{name}-rpmlintrc Patch0: LIB_SUFFIX.patch URL: http://my-gui.sourceforge.net/ BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: cmake BuildRequires: dejavu BuildRequires: dos2unix BuildRequires: doxygen BuildRequires: fdupes BuildRequires: freetype2-devel BuildRequires: gcc-c++ BuildRequires: graphviz BuildRequires: libOIS-devel BuildRequires: libuuid-devel BuildRequires: libOgreMain-devel BuildRequires: pkgconfig BuildRequires: unzip BuildRequires: update-desktop-files Requires: dejavu BuildRequires: Cg-devel Cg %description MyGUI, it is a GUI library for Ogre Rendering Engine. We pursue next targets: GUI have to be fast, flexible and simple in using. Speed We are working above productivity. We have already own variant of Overlays for the text and for the simple rectangles, allowing uniting them in one batch. In the future it is planned some more modifications for improvement of result. Flexibility The library supports plug-ins that allows to use your own widgets, which can be loaded in realtime. Loading description of the majority of parameters, from XML files, and as creation skins in process. Loading skins, layouts, descriptions of a plane of overlapping, cursors and fonts. Creation of skins in a code. Support of parsing of some parameters for widget, for management of a condition widget, for example, at loading from XML. Simplicity The interface for use is done as much as possible clear. Use of delegates, this disappears necessity for inheritance for reception of messages. In addition: support an alpha effects. The coloring text in one line. Skins, consisting from unlimited quantity pieces. Unlimited quantity of widget condition's (for developers). This package contains ImageSetViewer and LayoutEditor. %package demo Summary: Some demo applications for MyGUI Group: Development/Tools/GUI Builders Requires: %{name} = %{version} %description demo MyGUI, it is a GUI library for Ogre Rendering Engine. We pursue next targets: GUI have to be fast, flexible and simple in using. This package contains some demo applications for package MyGUI. %package -n libMyGUIEngine%{_SO_nr} Summary: Shared library for MyGUI Group: System/Libraries Provides: libmygui0 = 2.2.3 Obsoletes: libmygui0 < 2.2.3 %description -n libMyGUIEngine%{_SO_nr} MyGUI, it is a GUI library for Ogre Rendering Engine. We pursue next targets: GUI have to be fast, flexible and simple in using. This package contains the shared library for package MyGUI. %package devel Summary: Include Files and Libraries mandatory for Development Group: Development/Libraries/C and C++ Requires: freetype2-devel Requires: libMyGUIEngine%{_SO_nr} = %{version} Requires: libuuid-devel Requires: libOIS-devel Requires: libOgreMain-devel %description devel MyGUI, it is a GUI library for Ogre Rendering Engine. We pursue next targets: GUI have to be fast, flexible and simple in using. Include Files and Libraries mandatory for Development with MyGUI. %package devel-doc Summary: Development documentation for MyGUI Group: Documentation/HTML %description devel-doc MyGUI, it is a GUI library for Ogre Rendering Engine. We pursue next targets: GUI have to be fast, flexible and simple in using. Development documentation for package MyGUI. %debug_package %prep %setup -q -n %{name}%{_major} %patch0 dos2unix *.txt COPYING.LESSER %__chmod 644 *.txt COPYING.LESSER %build %__install -dm 755 build pushd build cmake \ -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DCMAKE_SKIP_RPATH=YES \ -DCMAKE_BUILD_TYPE=release \ %ifarch x86_64 -DLIB_SUFFIX=64 \ %endif -DMYGUI_STATIC=FALSE \ -DMYGUI_USE_FREETYPE=TRUE \ -DMYGUI_BUILD_SAMPLES=TRUE \ -DMYGUI_BUILD_PLUGINS=TRUE \ -DMYGUI_BUILD_TOOLS=TRUE \ -DMYGUI_BUILD_WRAPPER=FALSE \ -DMYGUI_INSTALL_SAMPLES=TRUE \ -DMYGUI_INSTALL_TOOLS=TRUE \ -DMYGUI_INSTALL_DOCS=TRUE \ -DMYGUI_INSTALL_MEDIA=TRUE \ -DMYGUI_INSTALL_SAMPLES_SOURCE=TRUE \ -DMYGUI_FULL_RPATH=FALSE \ .. %if %suse_version <= 1100 find . -name flags.make | xargs %__sed -i -e 's|-I/usr/include/OGRE|`pkg-config --cflags OGRE`|g' %endif %__make %{?jobs:-j%{jobs}} popd pushd Docs doxygen -u 2> /dev/null doxygen Doxyfile popd %install pushd build %makeinstall popd # rename demos to avoid duplicate names with other packages pushd %{buildroot}%{_bindir} demos=`ls -1 Demo_*` for i in $demos; do %__mv $i %{name}-$i done popd # move those files to /usr/share/MYGUI %__mv %{buildroot}%{_bindir}/plugins.cfg \ %{buildroot}%{_datadir}/%{_name2} %__mv %{buildroot}%{_bindir}/resources.xml \ %{buildroot}%{_datadir}/%{_name2} # adjust OGRE path %__sed -i -e 's|PluginFolder=/usr/local/lib/OGRE|%{_libdir}/OGRE|g' \ %{buildroot}%{_datadir}/%{_name2}/plugins.cfg # wrapper-script for binaries %__cat > %{name}.sh < $i.desktop << EOF [Desktop Entry] Name=MyGUI $i GenericName=MyGUI $i Comment=%{name} $i Exec=%{name}.sh $i Icon=%{name} Terminal=false Type=Application EOF %suse_update_desktop_file -i $i Development GUIDesigner done # remove unwanted files %__rm -r %{buildroot}%{_datadir}/%{_name2}/Media/UnitTests %__rm -r %{buildroot}%{_datadir}/%{_name2}/Media/Wrapper/WrapperBaseApp %__rm Docs/html/installdox %fdupes -s %{buildroot} %clean [ -d "%{buildroot}" -a "%{buildroot}" != "" ] && %__rm -rf "%{buildroot}" %post -n libMyGUIEngine%{_SO_nr} -p /sbin/ldconfig %postun -n libMyGUIEngine%{_SO_nr} -p /sbin/ldconfig %files %defattr(-,root,root) %doc *.txt COPYING.LESSER %{_bindir}/%{name}.sh %{_bindir}/FontViewer %{_bindir}/ImageSetViewer %{_bindir}/LayoutEditor %dir %{_datadir}/%{_name2} %{_datadir}/%{_name2}/*.cfg %{_datadir}/%{_name2}/*.xml %dir %{_datadir}/%{_name2}/Media %dir %{_datadir}/%{_name2}/Media/Common %{_datadir}/%{_name2}/Media/Common/* %dir %{_datadir}/%{_name2}/Media/MyGUI_Media %{_datadir}/%{_name2}/Media/MyGUI_Media/* %dir %{_datadir}/%{_name2}/Media/Tools %{_datadir}/%{_name2}/Media/Tools/* %{_datadir}/applications/FontViewer.desktop %{_datadir}/applications/ImageSetViewer.desktop %{_datadir}/applications/LayoutEditor.desktop %{_datadir}/pixmaps/*.png %files devel %defattr(-,root,root) %dir %{_includedir}/%{_name2} %{_includedir}/%{_name2}/*.h %{_libdir}/libMyGUIEngine.so %{_libdir}/libMyGUI.OgrePlatform.a %{_libdir}/pkgconfig/*.pc %files devel-doc %defattr(-,root,root) %doc Docs/html/* %files -n libMyGUIEngine%{_SO_nr} %defattr(-,root,root) %{_libdir}/libMyGUIEngine.so.* %files demo %defattr(-,root,root) %{_bindir}/%{name}-Demo_* %{_libdir}/libPlugin_StrangeButton.so #%dir %{_datadir}/%{_name2} #%dir %{_datadir}/%{_name2}/Media %dir %{_datadir}/%{_name2}/Media/Demos %{_datadir}/%{_name2}/Media/Demos/* %changelog * Fri Feb 12 2010 Toni Graffy - 3.0.1-0.pm.1 - update to 3.0.1 - renamed libmygui0 ==> libMyGUIEngine3 * Fri Oct 30 2009 Toni Graffy - 2.2.3-0.pm.1 - update to 2.2.3 * Mon Apr 13 2009 Toni Graffy - 2.2.2-0.pm.2 - rebuild with ogre-1.6.2 * Fri Mar 27 2009 Toni Graffy - 2.2.2-0.pm.1 - initial build 2.2.2