ecc7522afa
OBS-URL: https://build.opensuse.org/request/show/66573 OBS-URL: https://build.opensuse.org/package/show/games/MyGUI?expand=0&rev=1
326 lines
8.7 KiB
RPMSpec
326 lines
8.7 KiB
RPMSpec
# 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 <<EOF
|
|
#! /bin/bash
|
|
if [ -z "\$1" ]; then
|
|
echo "missing parameter..."
|
|
echo ""
|
|
echo "usage:"
|
|
echo "\$0 LayoutEditor"
|
|
echo "\$0 ImageSetViewer"
|
|
echo "\$0 FontViewer"
|
|
echo ""
|
|
echo "or one of the installed demo applications:"
|
|
myDemos=\`ls -1 %{_bindir}/%{name}-Demo_*\`
|
|
echo \$myDemos | sed -e 's|%{_bindir}/||g'
|
|
exit 1
|
|
fi
|
|
|
|
# create local working directory
|
|
mkdir -p \$HOME/.%{name}
|
|
|
|
# link the resources to local dir
|
|
# just in case some new files appear (update)
|
|
ln -sf %{_datadir}/%{_name2}/Media \$HOME/.%{name}
|
|
|
|
if [ ! -f \$HOME/.%{name}/plugins.cfg ]; then
|
|
# config should be user writeable
|
|
%__cp %{_datadir}/%{_name2}/plugins.cfg \$HOME/.%{name}
|
|
fi
|
|
if [ ! -f \$HOME/.%{name}/resources.xml ]; then
|
|
%__cp %{_datadir}/%{_name2}/resources.xml \$HOME/.%{name}
|
|
fi
|
|
|
|
# call binary from local working-directory
|
|
cd \$HOME/.%{name}
|
|
%{_bindir}/\$1
|
|
EOF
|
|
%__install -m 755 %{name}.sh \
|
|
%{buildroot}%{_bindir}
|
|
|
|
# use system fonts
|
|
pushd %{buildroot}%{_datadir}/%{_name2}/Media/MyGUI_Media
|
|
ln -sf %{_datadir}/fonts/truetype/DejaVuSans.ttf .
|
|
ln -sf %{_datadir}/fonts/truetype/DejaVuSans-ExtraLight.ttf .
|
|
popd
|
|
|
|
# icon
|
|
%__install -dm 755 %{buildroot}%{_datadir}/pixmaps
|
|
%__install -m 644 %{SOURCE1} \
|
|
%{buildroot}%{_datadir}/pixmaps
|
|
|
|
# menu-entries
|
|
for i in LayoutEditor ImageSetViewer FontViewer; do
|
|
%__cat > $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 <toni@links2linux.de> - 3.0.1-0.pm.1
|
|
- update to 3.0.1
|
|
- renamed libmygui0 ==> libMyGUIEngine3
|
|
* Fri Oct 30 2009 Toni Graffy <toni@links2linux.de> - 2.2.3-0.pm.1
|
|
- update to 2.2.3
|
|
* Mon Apr 13 2009 Toni Graffy <toni@links2linux.de> - 2.2.2-0.pm.2
|
|
- rebuild with ogre-1.6.2
|
|
* Fri Mar 27 2009 Toni Graffy <toni@links2linux.de> - 2.2.2-0.pm.1
|
|
- initial build 2.2.2
|