# # spec file for package MyGUI # # Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %define capname MYGUI %define _major 3.0 %define _minor 1 %define _sover 3 Name: MyGUI Version: %{_major}.%{_minor} Release: 1 License: LGPLv3 Summary: A GUI library for Ogre Rendering Engine URL: http://my-gui.sourceforge.net/ Group: Development/Tools/GUI Builders Source: %{name}_%{version}_source.zip Source1: %{name}.png Source90: %{name}-rpmlintrc Patch0: %{name}-lib_suffix.patch BuildRequires: Cg BuildRequires: Cg-devel BuildRequires: cmake BuildRequires: dejavu BuildRequires: dos2unix BuildRequires: doxygen BuildRequires: fdupes BuildRequires: freetype2-devel BuildRequires: gcc-c++ BuildRequires: graphviz BuildRequires: libOIS-devel BuildRequires: libOgreMain-devel BuildRequires: libuuid-devel BuildRequires: pkgconfig BuildRequires: unzip BuildRequires: update-desktop-files Requires: dejavu BuildRoot: %{_tmppath}/%{name}-%{version}-build %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%{_sover} Summary: Shared library for MyGUI Group: System/Libraries %description -n libMyGUIEngine%{_sover} 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%{_sover} = %{version} Requires: libOIS-devel Requires: libOgreMain-devel Requires: libuuid-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. %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 \ .. make %{?_smp_mflags} popd pushd Docs doxygen -u 2> /dev/null doxygen Doxyfile popd %install pushd build %make_install 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}/%{capname} mv %{buildroot}%{_bindir}/resources.xml %{buildroot}%{_datadir}/%{capname} # adjust OGRE path sed -i -e 's|PluginFolder=/usr/local/lib/OGRE|%{_libdir}/OGRE|g' %{buildroot}%{_datadir}/%{capname}/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}/%{capname}/Media/UnitTests rm -r %{buildroot}%{_datadir}/%{capname}/Media/Wrapper/WrapperBaseApp # don't ask me where this file went, it vanished with 12.1... # for now simply ignore the error... :-) rm Docs/html/installdox || true %fdupes -s %{buildroot} %post -n libMyGUIEngine%{_sover} -p /sbin/ldconfig %postun -n libMyGUIEngine%{_sover} -p /sbin/ldconfig %files %defattr(-,root,root) %doc *.txt COPYING.LESSER %{_bindir}/%{name}.sh %{_bindir}/FontViewer %{_bindir}/ImageSetViewer %{_bindir}/LayoutEditor %dir %{_datadir}/%{capname} %{_datadir}/%{capname}/*.cfg %{_datadir}/%{capname}/*.xml %dir %{_datadir}/%{capname}/Media %{_datadir}/%{capname}/Media/Common/ %{_datadir}/%{capname}/Media/MyGUI_Media/ %{_datadir}/%{capname}/Media/Tools/ %{_datadir}/applications/FontViewer.desktop %{_datadir}/applications/ImageSetViewer.desktop %{_datadir}/applications/LayoutEditor.desktop %{_datadir}/pixmaps/*.png %files devel %defattr(-,root,root) %dir %{_includedir}/%{capname} %{_includedir}/%{capname}/*.h %{_libdir}/libMyGUIEngine.so %{_libdir}/libMyGUI.OgrePlatform.a %{_libdir}/pkgconfig/*.pc %files devel-doc %defattr(-,root,root) %doc Docs/html/* %files -n libMyGUIEngine%{_sover} %defattr(-,root,root) %{_libdir}/libMyGUIEngine.so.* %files demo %defattr(-,root,root) %{_bindir}/%{name}-Demo_* %{_libdir}/libPlugin_StrangeButton.so #%dir %{_datadir}/%{capname} #%dir %{_datadir}/%{capname}/Media %{_datadir}/%{capname}/Media/Demos/ %changelog