Nowe SPECE: guichan.spec, tmw.spec

Paweł Zaskórski p.zaskorski at wp.pl
Fri May 27 12:57:30 CEST 2005


Witam,

ostatnio natrafiłem na grę The Mana World (http://themanaworld.org/).
Wprawdzie jest we wczesnym stadium rozwoju, ale nadaje się do grania
(on-line). Z myślą o PLD napisałem do niej speca. Wcześniej musiałem
jednak przygotować jeszcze jednego - do bibliotek Guichan
(http://guichan.sourceforge.net/) z których to gra korzysta.

Niestety, w guichan.spec nie udało mi się pogodzić budowania pakietu w
obecności bibliotek Allegro. W taki oto sposób budowanie guichan.spec
wysypuje się:

 amd64-pld-linux-g++ -DHAVE_CONFIG_H -I. -I. -I../../include
-march=x86-64 -O3 -mfpmath=sse -ftracer -s -pipe -DNDEBUG
-DG_DISABLE_ASSERT -I/usr/include/SDL -D_REENTRANT -march=x86-64 -O3
-mfpmath=sse -ftracer -s -pipe -DNDEBUG -DG_DISABLE_ASSERT -Wall -Werror
-Wno-unused -DGUICHAN_BUILD -MT allegrographics.lo -MD -MP -MF
.deps/allegrographics.Tpo -c allegrographics.cpp  -fPIC -DPIC -o
.libs/allegrographics.o
allegrographics.cpp: In member function `virtual bool
   gcn::AllegroGraphics::pushClipArea(gcn::Rectangle)':
allegrographics.cpp:128: error: `set_clip_rect' undeclared (first use this
   function)
allegrographics.cpp:128: error: (Each undeclared identifier is reported
only
   once for each function it appears in.)
allegrographics.cpp: In member function `virtual void
   gcn::AllegroGraphics::popClipArea()':
allegrographics.cpp:159: error: `set_clip_rect' undeclared (first use this
   function)
make[2]: *** [allegrographics.lo] Błąd 1
make[2]: Opuszczenie katalogu
`/home/users/pawel/rpm/BUILD/guichan-0.4.0/src/allegro'
make[1]: *** [all-recursive] Błąd 1
make[1]: Opuszczenie katalogu
`/home/users/pawel/rpm/BUILD/guichan-0.4.0/src'
make: *** [all-recursive] Błąd 1
błąd: Błędny status wyjścia z /var/tmp/rpm-tmp.84911 (%build)

Bez bibliotek Allegro otrzymamy następujące pakiety:
guichan-0.4.0-1
guichan-OpenGL-0.4.0-1
guichan-OpenGL-devel-0.4.0-1
guichan-OpenGL-static-0.4.0-1
guichan-SDL-0.4.0-1
guichan-SDL-devel-0.4.0-1
guichan-SDL-static-0.4.0-1
guichan-devel-0.4.0-1
guichan-static-0.4.0-1

z czego tmw (The Mana World) wymaga tylko trzech.

Można by dołączyć te spece do repozytorium CVS?

Jeśli ktoś mi wyjaśni, na czym polega błąd z bibliotekami Allegro, to
chętnie rozszerzę guichan.spec o podpakiety guichan-allegro-*.

Pozdrawiam
-- 
Paweł M. Zaskórski
jid: pmz at jabberpl.org
-------------- next part --------------
# $Revision:$, $Date:$
Summary:	A free 2D MMORPG
Summary(pl):	Darmowa gra 2D typu MMORPG
Name:		tmw
Version:	0.0.12
Release:	1
License:	GPL
Group:		X11/Applications/Games
Source0:	http://dl.sourceforge.net/themanaworld/%{name}-%{version}.tar.gz
# Source0-md5:	884911d3472c694a800cdee0db64d0c5
URL:		http://themanaworld.org/
BuildRequires:	guichan-devel
BuildRequires:	guichan-OpenGL-devel
BuildRequires:	guichan-SDL-devel
BuildRequires:	libxml2-devel
BuildRequires:	physfs-devel
Requires:	guichan
Requires:	guichan-OpenGL
Requires:	guichan-SDL
Requires:	libxml2
Requires:	physfs
Requires:	SDL_image
Requires:	SDL_mixer
BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)

%description
The Mana World (TMW) is an on-line fantasy role playing game.

%description -l pl
The Mana World (TMW) to sieciowa gra typu RPG osadzona w świecie
fantasy.

%prep
%setup -q

%build
%{__aclocal}
%{__autoconf}
%{__automake}
%configure
%{__make}

%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_bindir},%{_datadir}/twm,%{_desktopdir}} \
        $RPM_BUILD_ROOT%{_pixmapsdir}

%{__make} install \
        DESTDIR=$RPM_BUILD_ROOT

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(644,root,root,755)
%doc AUTHORS ChangeLog README
%attr(755,root,root) %{_bindir}/*
%{_datadir}/%{name}
%{_desktopdir}/*
%{_pixmapsdir}/*

%define date	%(echo `LC_ALL="C" date +"%a %b %d %Y"`)
%changelog
* %{date} PLD Team <feedback at pld-linux.org>
All persons listed below can be reached at <cvs_login>@pld-linux.org

$Log:$
-------------- next part --------------
# $Revision:$, $Date:$
#
# TODO: build with allegro libs
#
Summary:	Guichan is a portable C++ GUI library designed for games
Summary(pl):	Guichan to przenośna biblioteka C++ zaprojektowana do gier
Name:		guichan
Version:	0.4.0
Release:	0.1
License:	BSD-like
Group:		Libraries
Source0:	http://dl.sourceforge.net/guichan/%{name}-%{version}-src.tar.gz
# Source0-md5:	f68b6c603c4fb3d70a8737f916214a35
URL:		http://guichan.sourceforge.net/
BuildRequires:	autoconf
BuildRequires:	automake
BuildRequires:	OpenGL-devel
BuildRequires:	SDL-devel
BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)

%description
Guichan is a small, efficient C++ GUI library designed for games. It
comes with a standard set of widgets and can use several different
objects for displaying graphics and grabbing user input.

%description -l pl
Guichan jest małą, efektowną biblioteką C++ zaprojektowaną do gier.
Dostarcza standardowego zestawu widgetów i może używać różnorodnych
obiektów do wyświetlania grafiki oraz przechwytywania wejścia.

%package devel
Summary:	Header files for Guichan development
Summary(pl):	Pliki nagłówkowe do programowania z użyciem Guichan
Group:		Development/Libraries
Requires:	%{name} = %{version}

%description devel
This package contains the development headers and documentaion to
build programs using Guichan.

%description devel -l pl
Ten pakiet zawiera pliki nagłówkowe i dokumentację do budowania
programów z użyciem Guichan.

%package static
Summary:	Static Guichan libraries
Summary(pl):	Statyczne biblioteki Guichan
Group:		Development/Libraries
Requires:	%{name}-devel = %{version}

%description static
This package contains the static Guichan libraries.

%description static -l pl
Ten pakiet zawiera statyczne biblioteki Guichan.

%package OpenGL
Summary:	OpenGL Guichan library
Summary(pl):	Biblioteka OpenGL dla Guichan
Group:		Libraries
Requires:	%{name} = %{version}-%{release}
Requires:	OpenGL

%description OpenGL
OpenGL Guichan library.

%description OpenGL -l pl
Biblioteka OpenGL dla Guichan.

%package OpenGL-devel
Summary:	Headers files for OpenGL Guichan library
Summary(pl):	Pliki nagłówkowe biblioteki OpenGL dla Guichan
Group:		Development/Libraries
Requires:	%{name}-OpenGL = %{version}-%{release}
Requires:	%{name}-devel = %{version}-%{release}
Requires:	OpenGL-devel

%description OpenGL-devel
Headers files for OpenGL Guichan library.

%description OpenGL-devel -l pl
Pliki nagłówkowe biblioteki OpenGL dla Guichan.

%package OpenGL-static
Summary:	Static OpenGL Guichan library
Summary(pl):	Statyczna biblioteka OpenGL dla Guichan
Group:		Development/Libraries
Requires:	%{name}-OpenGL-devel = %{version}-%{release}

%description OpenGL-static
Static OpenGL Guichan library.

%description OpenGL-static -l pl
Statyczna biblioteka OpenGL dla Guichan.

%package SDL
Summary:	SDL Guichan library
Summary(pl):	Biblioteka SDL dla Guichan
Group:		Libraries
Requires:	%{name} = %{version}-%{release}
Requires:	SDL

%description SDL
SDL Guichan library.

%description SDL -l pl
Biblioteka SDL dla Guichan.

%package SDL-devel
Summary:	Headers files for SDL Guichan library
Summary(pl):	Pliki nagłówkowe biblioteki SDL dla Guichan
Group:		Development/Libraries
Requires:	%{name}-SDL = %{version}-%{release}
Requires:	%{name}-devel = %{version}-%{release}
Requires:	SDL-devel

%description SDL-devel
Headers files for SDL Guichan library.

%description SDL-devel -l pl
Pliki nagłówkowe biblioteki SDL dla Guichan.

%package SDL-static
Summary:	Static SDL Guichan library
Summary(pl):	Statyczna biblioteka SDL dla Guichan
Group:		Development/Libraries
Requires:	%{name}-SDL-devel = %{version}-%{release}

%description SDL-static
Static SDL Guichan library.

%description SDL-static -l pl
Statyczna biblioteka SDL dla Guichan.

%prep
%setup -q

%build
%{__libtoolize}
%{__aclocal}
%{__autoconf}
%{__autoheader}
%{__automake}
%configure

%{__make}

%install
rm -rf $RPM_BUILD_ROOT

%{__make} install \
	DESTDIR=$RPM_BUILD_ROOT

%clean
rm -rf $RPM_BUILD_ROOT

%post	-p /sbin/ldconfig
%postun	-p /sbin/ldconfig

%post	OpenGL -p /sbin/ldconfig
%postun	OpenGL -p /sbin/ldconfig

%post	SDL -p /sbin/ldconfig
%postun	SDL -p /sbin/ldconfig

%files
%defattr(644,root,root,755)
%doc ChangeLog README NEWS TODO
%attr(755,root,root) %{_libdir}/libguichan.so.*.*

%files devel
%defattr(644,root,root,755)
%doc docs/html
%attr(755,root,root) %{_libdir}/libguichan.so
%{_libdir}/libguichan.la
%{_includedir}/guichan.hpp
%{_includedir}/guichan/*.hpp
%{_includedir}/guichan/widgets
%exclude %{_includedir}/guichan/sdl*
%exclude %{_includedir}/guichan/opengl*

%files static
%defattr(644,root,root,755)
%{_libdir}/libguichan.a

%files OpenGL
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libguichan_opengl.so.*.*

%files OpenGL-devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libguichan_opengl.so
%{_libdir}/libguichan_opengl.la
%{_includedir}/guichan/opengl/*
%{_includedir}/guichan/opengl.hpp

%files OpenGL-static
%defattr(644,root,root,755)
%{_libdir}/libguichan_opengl.a

%files SDL
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libguichan_sdl.so.*.*

%files SDL-devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libguichan_sdl.so
%{_libdir}/libguichan_sdl.la
%{_includedir}/guichan/sdl/*
%{_includedir}/guichan/sdl.hpp

%files SDL-static
%defattr(644,root,root,755)
%{_libdir}/libguichan_sdl.a

%define date	%(echo `LC_ALL="C" date +"%a %b %d %Y"`)
%changelog
* %{date} PLD Team <feedback at pld-linux.org>
All persons listed below can be reached at <cvs_login>@pld-linux.org

$Log:$


More information about the pld-devel-pl mailing list