]> git.pld-linux.org Git - packages/allegro.git/blobdiff - allegro.spec
- release 2
[packages/allegro.git] / allegro.spec
index c6c0569922e2d784fb5547da236225f012b31409..21cf80cb31c326709fa768561f94f858ff0cd56f 100644 (file)
@@ -1,20 +1,15 @@
 #
-# TODO: Handle situations when there are no modules (most bconds turned off)
-#
 # Conditional build:
 %bcond_without alsa    # without ALSA modules
-%bcond_without arts    # without aRts module
 %bcond_without dga2    # without DGA2 module
-%bcond_without dbglib  # don't build debug versions of library
-%bcond_without esd     # without esound module
-%bcond_without fbcon   # without framebuffer module
 %bcond_without jack    # without JACK module
-%bcond_without proflib # don't debug profiling versions of library
-%bcond_without sse     # build without sse
-%bcond_without static  # don't build static versions of library
-%bcond_without svga    # without svgalib module
-%bcond_without vga     # without vga module
+%bcond_with    svga    # without svgalib module
+%bcond_without vga     # without vga module (x86-only)
 #
+%ifnarch %{ix86}
+# x86_64 too?
+%undefine      with_vga
+%endif
 Summary:       A game programming library
 Summary(de.UTF-8):     Eine Bibliothek zur Programmierung von Spielen
 Summary(es.UTF-8):     Una biblioteca de programación de juegos
@@ -22,28 +17,27 @@ Summary(fr.UTF-8):  Une librairie de programmation de jeux
 Summary(it.UTF-8):     Una libreria per la programmazione di videogiochi
 Summary(pl.UTF-8):     Biblioteka do programowania gier
 Name:          allegro
-Version:       4.3.0
-Release:       1
+Version:       4.4.2
+Release:       2
 License:       Giftware
 Group:         Libraries
-Source0:       http://dl.sourceforge.net/alleg/%{name}-%{version}.tar.gz
-# Source0-md5: 0746b948ecd63cab806026cf3b452e20
+Source0:       http://downloads.sourceforge.net/alleg/%{name}-%{version}.tar.gz
+# Source0-md5: 4db71b0460fc99926ae91d223199c2e6
 Patch0:                %{name}-info.patch
-Patch1:                %{name}-examples.patch
-Patch2:                %{name}-opt.patch
-Patch3:                %{name}-ldflags.patch
-Patch4:                %{name}-frame-pointer.patch
-Patch5:                %{name}-config.patch
+Patch1:                %{name}-config.patch
 URL:           http://alleg.sourceforge.net/
-%{?with_alsa:BuildRequires:    alsa-lib-devel}
-%{?with_arts:BuildRequires:    artsc-devel}
-BuildRequires: autoconf >= 2.53
-BuildRequires: automake
-%{?with_esd:BuildRequires:     esound-devel}
-%if %{with jack}
+BuildRequires: OpenGL-GLU-devel
+BuildRequires: OpenGL-devel
+%{?with_alsa:BuildRequires:    alsa-lib-devel >= 0.9}
+BuildRequires: cmake >= 2.6
 BuildRequires: jack-audio-connection-kit-devel
+BuildRequires: libogg-devel
+BuildRequires: libpng-devel
+BuildRequires: libstdc++-devel
+BuildRequires: libvorbis-devel
 BuildRequires: pkgconfig
-%endif
+BuildRequires: rpmbuild(macros) >= 1.600
+BuildRequires: sed >= 4.0
 %{?with_svga:BuildRequires:    svgalib-devel}
 BuildRequires: texinfo
 BuildRequires: xorg-lib-libX11-devel
@@ -84,6 +78,12 @@ Summary(es.UTF-8):   Archivos de inclusión
 Summary(pl.UTF-8):     Biblioteka do programowania gier - pliki nagłówkowe
 Group:         Development/Libraries
 Requires:      %{name} = %{version}-%{release}
+Requires:      xorg-lib-libX11-devel
+Requires:      xorg-lib-libXcursor-devel
+Requires:      xorg-lib-libXext-devel
+Requires:      xorg-lib-libXpm-devel
+Requires:      xorg-lib-libXxf86vm-devel
+Obsoletes:     allegro-static
 
 %description devel
 Allegro is a cross-platform library intended for use in computer games
@@ -120,102 +120,6 @@ grach komputerowych i innych rodzajach oprogramowania multimedialnego.
 Ten pakiet zawiera pliki nagłówkowe niezbędne do kompilowania
 aplikacji wykorzystujących bibliotekę allegro.
 
-%package static
-Summary:       A game programming library - static libraries
-Summary(pl.UTF-8):     Biblioteka do programowania gier - biblioteki statyczne
-Group:         Development/Libraries
-Requires:      %{name}-devel = %{version}-%{release}
-Requires:      xorg-lib-libX11-devel
-Requires:      xorg-lib-libXcursor-devel
-Requires:      xorg-lib-libXext-devel
-Requires:      xorg-lib-libXpm-devel
-Requires:      xorg-lib-libXxf86vm-devel
-
-%description static
-Allegro is a cross-platform library intended for use in computer games
-and other types of multimedia programming.
-
-This package contains static libraries for linking with allegro
-applications.
-
-%description static -l pl.UTF-8
-Allegro jest przenośną biblioteką przeznaczoną do wykorzystania w
-grach komputerowych i innych rodzajach oprogramowania multimedialnego.
-
-Ten pakiet zawiera biblioteki statyczne do konsolidacji z aplikacjami
-wykorzystującymi allegro.
-
-%package debug
-Summary:       liballd - debug version of shared allegro library
-Summary(pl.UTF-8):     liballd - wersja debug dzielonej biblioteki allegro
-Group:         Development/Libraries
-Requires:      %{name}-devel = %{version}-%{release}
-
-%description debug
-liballd - debug version of shared allegro library (contains debugging
-symbols and other information).
-
-%description debug -l pl.UTF-8
-liballd - wersja debug dzielonej biblioteki allegro (zawierająca
-symbole i inne informacje potrzebne przy odpluskwianiu).
-
-%package debug-static
-Summary:       liballd - debug version of static allegro library
-Summary(pl.UTF-8):     liballd - wersja debug statycznej biblioteki allegro
-Group:         Development/Libraries
-Requires:      %{name}-devel = %{version}-%{release}
-
-%description debug-static
-liballd - debug version of static allegro library (contains debugging
-symbols and other information).
-
-%description debug-static -l pl.UTF-8
-liballd - wersja debug statycznej biblioteki allegro (zawierająca
-symbole i inne informacje potrzebne przy odpluskwianiu).
-
-%package profile
-Summary:       liballp - profiling version of shared allegro library
-Summary(pl.UTF-8):     liballp - wersja dzielonej biblioteki allegro służąca do profilowania
-Group:         Development/Libraries
-Requires:      %{name}-devel = %{version}-%{release}
-
-%description profile
-liballp - profiling version of shared allegro library.
-
-%description profile -l pl.UTF-8
-liballp - wersja dzielonej biblioteki allegro służąca do profilowania.
-
-%package profile-static
-Summary:       liballp - profiling version of static allegro library
-Summary(pl.UTF-8):     liballp - wersja statycznej biblioteki allegro służąca do profilowania
-Group:         Development/Libraries
-Requires:      %{name}-devel = %{version}-%{release}
-
-%description profile-static
-liballp - profiling version of static allegro library.
-
-%description profile-static -l pl.UTF-8
-liballp - wersja statycznej biblioteki allegro służąca do
-profilowania.
-
-%package svgalib
-Summary:       A game programming library - svgalib module
-Summary(pl.UTF-8):     Biblioteka do programowania gier - moduł dla svgalib
-Group:         Libraries
-Requires:      %{name} = %{version}-%{release}
-
-%description svgalib
-Allegro is a cross-platform library intended for use in computer games
-and other types of multimedia programming.
-
-This package contains module for use with allegro and svgalib.
-
-%description svgalib -l pl.UTF-8
-Allegro jest przenośną biblioteką przeznaczoną do wykorzystania w
-grach komputerowych i innych rodzajach oprogramowania multimedialnego.
-
-Ten pakiet zawiera moduł do wykorzystania allegro z svgalibem.
-
 %package dga2
 Summary:       A game programming library - DGA2 module
 Summary(pl.UTF-8):     Biblioteka do programowania gier - moduł dla DGA2
@@ -234,59 +138,41 @@ grach komputerowych i innych rodzajach oprogramowania multimedialnego.
 
 Ten pakiet zawiera moduł do wykorzystania z DGA.
 
-%package esd
-Summary:       A game programming library - esound module
-Summary(pl.UTF-8):     Biblioteka do programowania gier - moduł dla esound
-Group:         Libraries
-Requires:      %{name} = %{version}-%{release}
-
-%description esd
-Allegro is a cross-platform library intended for use in computer games
-and other types of multimedia programming.
-
-This package contains a esound module for use with ESound daemon.
-
-%description esd -l pl.UTF-8
-Allegro jest przenośną biblioteką przeznaczoną do wykorzystania w
-grach komputerowych i innych rodzajach oprogramowania multimedialnego.
-
-Ten pakiet zawiera moduł do wykorzystania z demonem ESound.
-
-%package arts
-Summary:       A game programming library - aRts module
-Summary(pl.UTF-8):     Biblioteka do programowania gier - moduł dla aRts
+%package fbcon
+Summary:       A game programming library - FrameBuffer module
+Summary(pl.UTF-8):     Biblioteka do programowania gier - moduł dla FrameBuffera
 Group:         Libraries
 Requires:      %{name} = %{version}-%{release}
 
-%description arts
+%description fbcon
 Allegro is a cross-platform library intended for use in computer games
 and other types of multimedia programming.
 
-This package contains a esound module for use with aRts.
+This package contains module for use with Linux FrameBuffer.
 
-%description arts -l pl.UTF-8
+%description fbcon -l pl.UTF-8
 Allegro jest przenośną biblioteką przeznaczoną do wykorzystania w
 grach komputerowych i innych rodzajach oprogramowania multimedialnego.
 
-Ten pakiet zawiera moduł do wykorzystania z aRts.
+Ten pakiet zawiera moduł do wykorzystania z linuksowym FrameBufferem.
 
-%package fbcon
-Summary:       A game programming library - framebuffer module
-Summary(pl.UTF-8):     Biblioteka do programowania gier - moduł dla framebuffera
+%package svgalib
+Summary:       A game programming library - svgalib module
+Summary(pl.UTF-8):     Biblioteka do programowania gier - moduł dla svgalib
 Group:         Libraries
 Requires:      %{name} = %{version}-%{release}
 
-%description fbcon
+%description svgalib
 Allegro is a cross-platform library intended for use in computer games
 and other types of multimedia programming.
 
-This package contains a esound module for use with framebuffer.
+This package contains module for use with allegro and svgalib.
 
-%description fbcon -l pl.UTF-8
+%description svgalib -l pl.UTF-8
 Allegro jest przenośną biblioteką przeznaczoną do wykorzystania w
 grach komputerowych i innych rodzajach oprogramowania multimedialnego.
 
-Ten pakiet zawiera moduł do wykorzystania z framebufferem.
+Ten pakiet zawiera moduł do wykorzystania allegro z svgalibem.
 
 %package vga
 Summary:       A game programming library - vga module
@@ -344,6 +230,39 @@ grach komputerowych i innych rodzajach oprogramowania multimedialnego.
 
 Ten pakiet zawiera moduł do wykorzystania z biblioteką dźwiękową JACK.
 
+%package addons
+Summary:       Allegro addon libraries
+Summary(pl.UTF-8):     Dodatkowe biblioteki Allegro
+Group:         Libraries
+Requires:      %{name} = %{version}-%{release}
+Obsoletes:     allegro-gl
+
+%description addons
+Allegro addon libraries: AllegroGL, JPGAlleg, loadpng, logg.
+
+%description addons -l pl.UTF-8
+Dodatkowe biblioteki Allegro: AllegroGL, JPGAlleg, loadpng, logg.
+
+%package addons-devel
+Summary:       Header files for Allegro addon libraries
+Summary(pl.UTF-8):     Pliki nagłówkowe dodatkowych bibliotek Allegro
+Group:         Development/Libraries
+Requires:      %{name}-addons = %{version}-%{release}
+Requires:      %{name}-devel = %{version}-%{release}
+Requires:      OpenGL-GLU-devel
+Requires:      OpenGL-devel
+Requires:      libpng-devel
+Requires:      libvorbis-devel
+Obsoletes:     allegro-gl-devel
+
+%description addons-devel
+Header files for Allegro addon libraries: AllegroGL, JPGAlleg,
+loadpng, logg.
+
+%description addons-devel -l pl.UTF-8
+Pliki nagłówkowe dodatkowych bibliotek Allegro: AllegroGL, JPGAlleg,
+loadpng, logg.
+
 %package tools
 Summary:       A game programming library - tools
 Summary(de.UTF-8):     Zusätzliche Hilfprogramme für die Allegro Bibliothek
@@ -420,60 +339,42 @@ biblioteki allegro.
 %setup -q
 %patch0 -p1
 %patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
 
-%build
-%{__aclocal}
-%{__autoheader} configure.in > include/allegro/platform/alunixac.hin
-%{__autoconf}
-#TARGET_ARCH="%{rpmcflags}" export TARGET_ARCH
-# dbglib & proflib are compiled besides normlib, so it's ok to have them here
-%configure \
-       %{?with_static:--enable-static} \
-       %{?with_dbglib:--enable-dbglib} \
-       %{?with_proflib:--enable-proflib} \
-%if !%{with alsa}
-       --disable-alsadigi \
-       --disable-alsamidi \
-%endif
-       %{!?with_arts:--disable-artsdigi} \
-       %{!?with_dga2:--disable-xwin-dga2} \
-       %{!?with_esd:--disable-esddigi} \
-       %{!?with_fbcon:--disable-fbcon} \
-       %{!?with_jack:--disable-jackdigi} \
-       %{!?with_svga:--disable-svgalib} \
-       %{!?with_vga:--disable-vga} \
-%if !%{with sse}
-       --disable-sse \
-       --disable-asm \
-%endif
-%ifnarch %{ix86}
-       --disable-asm \
-       --disable-mmx \
-       --disable-sse
-%endif
+sed -i -e 's/ADDON_LINKAGE STATIC/ADDON_LINKAGE SHARED/' CMakeLists.txt
 
-%{__make} \
-       MAKEINFO=makeinfo
+%build
+install -d build
+cd build
+%cmake .. \
+       -DINFODIR=%{_infodir} \
+       -DPLATFORM_LIBS=-ldl \
+       %{!?with_alsa:-DWANT_ALSA=OFF} \
+       -DWANT_LINUX_CONSOLE=ON \
+       %{!?with_vga:-DWANT_LINUX_VGA=OFF} \
+       %{!?with_svga:-DWANT_LINUX_SVGALIB=OFF}
+
+%{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT%{_mandir}/man3
 
-%{__make} install install-man install-info install-lib \
+%{__make} -C build install \
        DESTDIR=$RPM_BUILD_ROOT
 
 install modules.lst $RPM_BUILD_ROOT%{_libdir}/allegro/%{version}
 
-mv $RPM_BUILD_ROOT%{_bindir}/demo{,-allegro}
+# install examples and tests
+find build/examples -maxdepth 1 -perm 755 -name "ex*" -exec install {} $RPM_BUILD_ROOT%{_bindir} \;
+find build/tests -maxdepth 1 -perm 755 ! -name CMakeFiles -exec install {} $RPM_BUILD_ROOT%{_bindir} \;
+
+# force install man pages
+cp build/docs/man/* $RPM_BUILD_ROOT%{_mandir}/man3
+
 mv $RPM_BUILD_ROOT%{_bindir}/play{,-allegro}
-#mv $RPM_BUILD_ROOT%{_bindir}/setup{,-allegro}
 mv $RPM_BUILD_ROOT%{_bindir}/test{,-allegro}
 
-# help rpm to find reqs for ELF objects
-chmod 755 $RPM_BUILD_ROOT%{_libdir}/{*.so,allegro/*/*.so}
+%{__rm} -r $RPM_BUILD_ROOT%{_prefix}/doc/allegro-%{version}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -481,16 +382,20 @@ rm -rf $RPM_BUILD_ROOT
 %post  -p /sbin/ldconfig
 %postun        -p /sbin/ldconfig
 
-%post devel
-[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir %{_infodir} >/dev/null 2>&1
+%post  devel -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
+
+%postun        devel -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
 
-%postun devel
-[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir %{_infodir} >/dev/null 2>&1
+%post  addons -p /sbin/ldconfig
+%postun        addons -p /sbin/ldconfig
 
 %files
 %defattr(644,root,root,755)
-%doc AUTHORS CHANGES THANKS readme.txt
-%attr(755,root,root) %{_libdir}/liballeg-%{version}.so
+%doc AUTHORS CHANGES THANKS readme.txt todo.txt
+%attr(755,root,root) %{_libdir}/liballeg.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/liballeg.so.4.4
 %dir %{_libdir}/allegro
 %dir %{_libdir}/allegro/%{version}
 %{_libdir}/allegro/%{version}/modules.lst
@@ -498,49 +403,15 @@ rm -rf $RPM_BUILD_ROOT
 %files devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/allegro-config
-%{_libdir}/liballeg_unsharable.a
-%{_includedir}/*
-%{_aclocaldir}/allegro.m4
-%{_mandir}/man3/*
-%{_infodir}/*.info*
-
-%if %{with static}
-%files static
-%defattr(644,root,root,755)
-%{_libdir}/liballeg.a
-%endif
-
-%if %{with dbglib}
-%files debug
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/liballd-%{version}.so
-%{_libdir}/liballd_unsharable.a
-
-%if %{with static}
-%files debug-static
-%defattr(644,root,root,755)
-%{_libdir}/liballd.a
-%endif
-%endif
-
-%if %{with proflib}
-%files profile
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/liballp-%{version}.so
-%{_libdir}/liballp_unsharable.a
-
-%if %{with static}
-%files profile-static
-%defattr(644,root,root,755)
-%{_libdir}/liballp.a
-%endif
-%endif
-
-%if %{with svga}
-%files svgalib
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/allegro/%{version}/alleg-svgalib.so
-%endif
+%attr(755,root,root) %{_libdir}/liballeg.so
+%{_includedir}/allegro
+%{_includedir}/allegro.h
+%{_includedir}/linalleg.h
+%{_includedir}/xalleg.h
+# XXX: aren't some names too generic?
+%{_mandir}/man3/*.3*
+%{_infodir}/allegro.info*
+%{_pkgconfigdir}/allegro.pc
 
 %if %{with dga2}
 %files dga2
@@ -548,31 +419,21 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/allegro/%{version}/alleg-dga2.so
 %endif
 
-%if %{with esd}
-%files esd
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/allegro/%{version}/alleg-esddigi.so
-%endif
-
-%if %{with arts}
-%files arts
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/allegro/%{version}/alleg-artsdigi.so
-%endif
-
-%if %{with fbcon}
 %files fbcon
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/allegro/%{version}/alleg-fbcon.so
+
+%if %{with svga}
+%files svgalib
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/allegro/%{version}/alleg-svgalib.so
 %endif
 
-%ifarch %{ix86}
 %if %{with vga}
 %files vga
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/allegro/%{version}/alleg-vga.so
 %endif
-%endif
 
 %if %{with alsa}
 %files alsa
@@ -584,9 +445,36 @@ rm -rf $RPM_BUILD_ROOT
 %if %{with jack}
 %files jack
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/allegro/%{version}/alleg-jackdigi.so
+%attr(755,root,root) %{_libdir}/allegro/%{version}/alleg-jack.so
 %endif
 
+%files addons
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/liballeggl.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/liballeggl.so.4.4
+%attr(755,root,root) %{_libdir}/libjpgalleg.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libjpgalleg.so.4.4
+%attr(755,root,root) %{_libdir}/libloadpng.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libloadpng.so.4.4
+%attr(755,root,root) %{_libdir}/liblogg.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/liblogg.so.4.4
+
+%files addons-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/liballeggl.so
+%attr(755,root,root) %{_libdir}/libjpgalleg.so
+%attr(755,root,root) %{_libdir}/libloadpng.so
+%attr(755,root,root) %{_libdir}/liblogg.so
+%{_includedir}/allegrogl
+%{_includedir}/alleggl.h
+%{_includedir}/jpgalleg.h
+%{_includedir}/loadpng.h
+%{_includedir}/logg.h
+%{_pkgconfigdir}/allegrogl.pc
+%{_pkgconfigdir}/jpgalleg.pc
+%{_pkgconfigdir}/loadpng.pc
+%{_pkgconfigdir}/logg.pc
+
 %files tools
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/colormap
@@ -594,21 +482,16 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/pack
 %attr(755,root,root) %{_bindir}/rgbmap
 %attr(755,root,root) %{_bindir}/textconv
-#%attr(755,root,root) %{_bindir}/xkeymap
-%attr(755,root,root) %{_bindir}/xf2pcx
 %attr(755,root,root) %{_bindir}/dat
 %attr(755,root,root) %{_bindir}/dat2c
 %attr(755,root,root) %{_bindir}/dat2s
 %attr(755,root,root) %{_bindir}/grabber
 %attr(755,root,root) %{_bindir}/pat2dat
-#%attr(755,root,root) %{_bindir}/setup-allegro
 
 %files tests
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/afinfo
 %attr(755,root,root) %{_bindir}/akaitest
-%attr(755,root,root) %{_bindir}/cpptest
-%attr(755,root,root) %{_bindir}/demo-allegro
 %attr(755,root,root) %{_bindir}/digitest
 %attr(755,root,root) %{_bindir}/filetest
 %attr(755,root,root) %{_bindir}/gfxinfo
@@ -652,6 +535,8 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/expat
 %attr(755,root,root) %{_bindir}/exquat
 %attr(755,root,root) %{_bindir}/exrgbhsv
+%attr(755,root,root) %{_bindir}/exrotscl
+%attr(755,root,root) %{_bindir}/extrans2
 %attr(755,root,root) %{_bindir}/exsample
 %attr(755,root,root) %{_bindir}/exsyscur
 %attr(755,root,root) %{_bindir}/exscale
This page took 0.09129 seconds and 4 git commands to generate.