1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453
|
%define name clanlib
%define version 0.5.4
# the way release works is as follows (based upon "official" Mandrake naming convention)
# 0.5.4-1mdk official release of ClanLib 0.5.3 (rpm build 1)
# 0.5.4-0.20010504.1mdk "snapshot" release of (a pre) ClanLib 0.5.4 from date 2001/05/04
%define release 0.20010512.1mdk
%define prefix %{_prefix}
%define lib_name_orig libclanlib
%define lib_major 1
%define lib_name %{lib_name_orig}%{lib_major}
Name: %{name}
Summary: The ClanLib Game SDK
Version: %{version}
Release: %{release}
Copyright: LGPL
Group: System/Libraries
Source: ClanLib-%{version}.tar.gz
URL: http://clanlib.org/
Packager: Jeroen Janssen <japj@clanlib.org>
BuildRoot: %{_tmppath}/%{name}-buildroot
BuildRequires: libhermes-devel >= 1.3.0 zlib-devel bzip2 libbzip2-devel
#%ifarch %{ix86}
#BuildRequires: svgalib-devel
#%endif
Obsoletes: ClanLib
%description
The ClanLib Game SDK is a crossplatform game library designed to ease the work
for game developers. The goal is to provide a common interface to classical
game problems (loading graphics eg.), so games can share as much code as
possible. Ideally anyone with small resources should be able to write
commercial quality games.
%package -n %{lib_name}
Summary: Main library for %{name}
Group: System/Libraries
%description -n %{lib_name}
This package contains the library needed to run programs dynamically
linked with %{name}.
%package -n %{lib_name}-devel
Summary: Headers for developing programs that will use %{name}
Group: Development/C++
Requires: %{lib_name} = %{version}
Provides: %{lib_name_orig}-devel = %{version}-%{release}
Obsoletes: ClanLib-devel clanlib-devel
%description -n %{lib_name}-devel
This package contains the headers that programmers will need to develop
applications which will use %{name}.
#%package -n %{lib_name}-gl
#Summary: ClanLib OpenGL module
#Group: System/Libraries
#Requires: %{lib_name} = %{version} Mesa %{lib_name}-display
#BuildRequires: Mesa-common-devel
#Obsoletes: ClanLib-gl clanlib-gl
#
#%description -n %{lib_name}-gl
#The ClanLib Game SDK is a crossplatform game library designed to ease the
#work for game developers. This package is the OpenGL module (clanGL).
%package -n %{lib_name}-mikmod
Summary: ClanLib MikMod module
Group: System/Libraries
Requires: %{lib_name} = %{version} libmikmod %{lib_name}-sound
BuildRequires: libmikmod-devel
Obsoletes: ClanLib-mikmod clanlib-mikmod
%description -n %{lib_name}-mikmod
The ClanLib Game SDK is a crossplatform game library designed to ease the
work for game developers. This package is the MikMod module (clanMikMod).
%package -n %{lib_name}-png
Summary: ClanLib PNG module
Group: System/Libraries
Requires: %{lib_name} = %{version} libpng %{lib_name}-display
BuildRequires: libpng-devel
Obsoletes: ClanLib-png clanlib-png
%description -n %{lib_name}-png
The ClanLib Game SDK is a crossplatform game library designed to ease the
work for game developers. This package is the PNG module (clanPNG).
#%package docs
#Summary: ClanLib documentation
#Group: System/Libraries
#Obsoletes: ClanLib-docs clanlib-docs
#
#%description docs
#The ClanLib Game SDK is a crossplatform game library designed to ease the
#work for game developers. This package contains the documentation.
%package -n %{lib_name}-gui
Summary: ClanLib GUI module
Group: System/Libraries
Requires: %{lib_name} = %{version} %{lib_name}-display
Obsoletes: ClanLib-gui clanlib-gui
%description -n %{lib_name}-gui
The ClanLib Game SDK is a crossplatform game library designed to ease the
work for game developers. This package is the GUI module (clanGUI).
%package -n %{lib_name}-app
Summary: ClanLib Application module
Group: System/Libraries
Requires: %{lib_name} = %{version}
Obsoletes: ClanLib-app clanlib-app
%description -n %{lib_name}-app
The ClanLib Game SDK is a crossplatform game library designed to ease the
work for game developers. This package is the Application module (clanApp).
%package -n %{lib_name}-display
Summary: ClanLib Display module
Group: System/Libraries
Requires: %{lib_name} = %{version} XFree86-static-libs
BuildRequires: XFree86-devel
Obsoletes: ClanLib-display clanlib-display
%description -n %{lib_name}-display
The ClanLib Game SDK is a crossplatform game library designed to ease the
work for game developers. This package is the Display module (clanDisplay).
%package -n %{lib_name}-jpeg
Summary: ClanLib JPEG module
Group: System/Libraries
Requires: %{lib_name} = %{version} libjpeg %{lib_name}-display
BuildRequires: libjpeg-devel
Obsoletes: ClanLib-jpeg clanlib-jpeg
%description -n %{lib_name}-jpeg
The ClanLib Game SDK is a crossplatform game library designed to ease the
work for game developers. This package is the JPEG module (clanJPEG).
%package -n %{lib_name}-network
Summary: ClanLib Network module
Group: System/Libraries
Requires: %{lib_name} = %{version}
Obsoletes: ClanLib-network clanlib-network
%description -n %{lib_name}-network
The ClanLib Game SDK is a crossplatform game library designed to ease the
work for game developers. This package is the Network module (clanNetwork).
%package -n %{lib_name}-sound
Summary: ClanLib Sound module
Group: System/Libraries
Requires: %{lib_name} = %{version}
Obsoletes: ClanLib-sound clanlib-sound
%description -n %{lib_name}-sound
The ClanLib Game SDK is a crossplatform game library designed to ease the
work for game developers. This package is the Sound module (clanSound).
%package -n %{lib_name}-smalljpeg
Summary: ClanLib SmallJPEG module
Group: System/Libraries
Requires: %{lib_name} = %{version} %{lib_name}-display
Obsoletes: ClanLib-smalljpeg clanlib-smalljpeg
%description -n %{lib_name}-smalljpeg
The ClanLib Game SDK is a crossplatform game library designed to ease the
work for game developers. This package is the SmallJPEG module (clanSmallJPEG).
%package -n %{lib_name}-lua
Summary: ClanLib LUA module
Group: System/Libraries
Requires: %{lib_name} = %{version} lua
BuildRequires: lua
Obsoletes: ClanLib-lua clanlib-lua
%description -n %{lib_name}-lua
The ClanLib Game SDK is a crossplatform game library designed to ease the
work for game developers. This package is the LUA module (clanLUA).
%package -n %{lib_name}-vorbis
Summary: ClanLib Vorbis module
Group: System/Libraries
Requires: %{lib_name} = %{version} libogg0 libvorbis0 %{lib_name}-sound
BuildRequires: libogg0-devel libvorbis0-devel
Obsoletes: ClanLib-vorbis clanlib-vorbis
%description -n %{lib_name}-vorbis
The ClanLib Game SDK is a crossplatform game library designed to ease the
work for game developers. This package is the Vorbis module (clanVorbis).
%package -n %{lib_name}-ttf
Summary: ClanLib TTF module
Group: System/Libraries
Requires: %{lib_name} = %{version} freetype2 %{lib_name}-display
BuildRequires: freetype2-devel
Obsoletes: ClanLib-ttf clanlib-ttf
%description -n %{lib_name}-ttf
The ClanLib Game SDK is a crossplatform game library designed to ease the
work for game developers. This package is the TTF module (clanTTF).
%prep
%setup -n ClanLib-%{version}
# remove nasty no-newline-at-end-of-line, it bothers gcc-2.96
find . -name "*.h" -exec perl -pi -e '$_.="\n" if eof' {} \;
find . -name "*.cpp" -exec perl -pi -e '$_.="\n" if eof' {} \;
%build
# (gc) workaround g++ exception bug when -fomit-frame-pointer is set
export CFLAGS="$RPM_OPT_FLAGS -fno-omit-frame-pointer" CXXFLAGS="$RPM_OPT_FLAGS -fno-omit-frame-pointer"
./autogen.sh
%ifarch %{ix86}
%configure --enable-x11 --disable-fbdev --enable-joystick --disable-ggi --enable-opengl --disable-svgalib --enable-clansound --enable-network --enable-gui --enable-lua --enable-mikmod --enable-png --enable-jpeg --enable-smalljpeg --enable-vorbis --enable-ttf --enable-asm386 --enable-dyn --disable-directfb
%endif
# (Dadou) GG put some non usuable options in %ifnarch ix86 (like svga)
# configure do a (nearly nice job), so let it plays
%ifarch ppc
%configure --disable-asm386
%endif
%ifnarch %{ix86} ppc
%configure --enable-x11 --enable-fbdev --enable-opengl --disable-svgalib --enable-clansound --enable-network --enable-dyn --disable-asm386
%endif
make clanCore
make clanApp
make clanDisplay
make clanSound
make clanJPEG
make clanNetwork
make clanSmallJPEG
#make clanGL
make clanMikMod
make clanGUI
make clanVorbis
make clanTTF
make clanLua
#make clanMPEG
make clanPNG
make strip
make docs
%install
%makeinstall BIN_PREFIX=$RPM_BUILD_ROOT%{_bindir} LIB_PREFIX=$RPM_BUILD_ROOT%{_libdir} INC_PREFIX=$RPM_BUILD_ROOT%{_includedir}
make MAN_PREFIX=$RPM_BUILD_ROOT%{_mandir} HTML_PREFIX=$RPM_BUILD_ROOT%{_datadir}/doc/%{name}-docs-%{version}/Documentation EXAMPLE_SRC_PREFIX=$RPM_BUILD_ROOT%{_datadir}/doc/%{name}-docs-%{version}/Examples docs_install
%post -n %{lib_name} -p /sbin/ldconfig
#%post -n %{lib_name}-gl -p /sbin/ldconfig
%post -n %{lib_name}-mikmod -p /sbin/ldconfig
%post -n %{lib_name}-png -p /sbin/ldconfig
%post -n %{lib_name}-gui -p /sbin/ldconfig
%post -n %{lib_name}-app -p /sbin/ldconfig
%post -n %{lib_name}-display -p /sbin/ldconfig
%post -n %{lib_name}-jpeg -p /sbin/ldconfig
%post -n %{lib_name}-network -p /sbin/ldconfig
%post -n %{lib_name}-sound -p /sbin/ldconfig
%post -n %{lib_name}-smalljpeg -p /sbin/ldconfig
%post -n %{lib_name}-lua -p /sbin/ldconfig
%post -n %{lib_name}-vorbis -p /sbin/ldconfig
%post -n %{lib_name}-ttf -p /sbin/ldconfig
%postun -n %{lib_name} -p /sbin/ldconfig
#%postun -n %{lib_name}-gl -p /sbin/ldconfig
%postun -n %{lib_name}-mikmod -p /sbin/ldconfig
%postun -n %{lib_name}-png -p /sbin/ldconfig
%postun -n %{lib_name}-gui -p /sbin/ldconfig
%postun -n %{lib_name}-app -p /sbin/ldconfig
%postun -n %{lib_name}-display -p /sbin/ldconfig
%postun -n %{lib_name}-jpeg -p /sbin/ldconfig
%postun -n %{lib_name}-network -p /sbin/ldconfig
%postun -n %{lib_name}-sound -p /sbin/ldconfig
%postun -n %{lib_name}-smalljpeg -p /sbin/ldconfig
%postun -n %{lib_name}-lua -p /sbin/ldconfig
%postun -n %{lib_name}-vorbis -p /sbin/ldconfig
%postun -n %{lib_name}-ttf -p /sbin/ldconfig
%clean
rm -rf $RPM_BUILD_ROOT
#%files
#%defattr(-, root, root)
#%doc README
%files -n %{lib_name}
%defattr(-, root, root)
%doc README COPYING CREDITS
%{_libdir}/libclanCore.so.*
%files -n %{lib_name}-devel
%defattr(-, root, root)
%doc README COPYING CREDITS CODING_STYLE BUGS PORTING README.fbdev README.gui README.upgrade ascii-logo
%{_libdir}/*.so
%{_includedir}/ClanLib/*
%{_bindir}/clanlib-config
#%files docs
#%defattr(-, root, root)
##%doc README COPYING CREDITS CODING_STYLE BUGS PORTING README.fbdev README.gui README.upgrade
#%{_docdir}/%{name}-docs-%{version}/*
##%{_mandir}/man1/datafile_compiler.1*
##%{_mandir}/man3/CL*
##%{_mandir}/man3/clanlib.3*
#%files -n %{lib_name}-gl
#%defattr(-, root, root)
#%doc README COPYING
#%{_libdir}/libclanGL.so.*
%files -n %{lib_name}-mikmod
%defattr(-, root, root)
%doc README COPYING
%{_libdir}/libclanMikMod.so.*
%files -n %{lib_name}-png
%defattr(-, root, root)
%doc README COPYING
%{_libdir}/libclanPNG.so.*
%files -n %{lib_name}-gui
%defattr(-, root, root)
%doc README COPYING README.gui
%{_libdir}/libclanGUI.so*
%files -n %{lib_name}-app
%defattr(-, root, root)
%doc README COPYING
%{_libdir}/libclanApp.so.*
%files -n %{lib_name}-display
%defattr(-, root, root)
%doc README COPYING README.fbdev
%{_libdir}/libclanDisplay.so.*
%files -n %{lib_name}-jpeg
%defattr(-, root, root)
%doc README COPYING
%{_libdir}/libclanJPEG.so.*
%files -n %{lib_name}-network
%defattr(-, root, root)
%doc README COPYING
%{_libdir}/libclanNetwork.so.*
%files -n %{lib_name}-sound
%defattr(-, root, root)
%doc README COPYING
%{_libdir}/libclanSound.so.*
%files -n %{lib_name}-smalljpeg
%defattr(-, root, root)
%doc README COPYING
%{_libdir}/libclanSmallJPEG.so.*
%files -n %{lib_name}-lua
%defattr(-, root, root)
%doc README COPYING
%{_libdir}/libclanLua.so.*
%files -n %{lib_name}-vorbis
%defattr(-, root, root)
%doc README COPYING
%{_libdir}/libclanVorbis.so.*
%files -n %{lib_name}-ttf
%defattr(-, root, root)
%doc README COPYING
%{_libdir}/libclanTTF.so.*
%changelog
* Sat May 12 2001 Jeroen Janssen <japj@clanlib.org>
- disabling DirectFB for the moment
* Fri May 04 2001 Jeroen Janssen <japj@clanlib.org>
- disabled doc building for the moment (until it's properly fixed, just grab the tar.gz for now)
- changed to "official" Mandake version/release naming convention (thanks to Guillaume Cottenceau)
* Sat Apr 28 2001 Jeroen Janssen <japj@clanlib.org>
- added some more docs to the devel rpm
* Fri Apr 27 2001 Jeroen Janssen <japj@clanlib.org>
- some preparations for official release of ClanLib-0.5.0 (note *NO* GL support)
- updated documentation generation
- added lua build dependency
* Wed Apr 25 2001 Jeroen Janssen <japj@clanlib.org>
- added vorbis & ttf
- (hopefully) added some usefull dependencies
- added more interdependant package relations (mainly display/sound related)
* Tue Apr 24 2001 Jeroen Janssen <japj@clanlib.org>
- added clanLua + configuration updates
* Mon Apr 23 2001 Jeroen Janssen <japj@clanlib.org>
- initial "spec port" from MDK8-clanlib 0.4.4 to ClanLib CVS 0.5
- added gui,app,display,jpeg,network,sound and smalljpeg
- instructions: put a ClanLib-0.5.0.tar.gz into /usr/src/RPMS/SOURCES,
go to /usr/src/RPMS/SPECS, put this spec there and run rpm -ba clanlib.spec
this should result in a bunch of rpms being build.
|