]>
Commit | Line | Data |
---|---|---|
c617ed92 | 1 | Summary: PhysicsFS file abstraction layer for games |
0dd991f9 | 2 | Summary(pl.UTF-8): PhysicsFS - warstwa abstrakcji plików dla gier |
c617ed92 | 3 | Name: physfs |
7481b379 | 4 | Version: 1.1.1 |
5 | Release: 1 | |
7c1622a0 | 6 | License: BSD-like (see LICENSE) |
c617ed92 | 7 | Group: Libraries |
8 | Source0: http://www.icculus.org/physfs/downloads/%{name}-%{version}.tar.gz | |
7481b379 | 9 | # Source0-md5: 0359b67793c1c14f00de1d1bbeb8ed6a |
c617ed92 | 10 | URL: http://www.icculus.org/physfs/ |
7481b379 | 11 | BuildRequires: cmake |
c617ed92 | 12 | BuildRequires: doxygen |
7c1622a0 | 13 | BuildRequires: libtool |
c617ed92 | 14 | BuildRequires: ncurses-devel |
15 | BuildRequires: readline-devel | |
16 | BuildRequires: zlib-devel | |
17 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
18 | ||
19 | %description | |
20 | PhysicsFS is a library to provide abstract access to various archives. | |
6ffab52d JB |
21 | It is intended for use in video games, and the design was somewhat |
22 | inspired by Quake 3's file subsystem. The programmer defines a "write | |
23 | directory" on the physical filesystem. No file writing done through | |
24 | the PhysicsFS API can leave that write directory, for security. For | |
25 | example, an embedded scripting language cannot write outside of this | |
26 | path if it uses PhysFS for all of its I/O, which means that untrusted | |
27 | scripts can run more safely. Symbolic links can be disabled as well, | |
28 | for added safety. For file reading, the programmer lists directories | |
29 | and archives that form a "search path". Once the search path is | |
30 | defined, it becomes a single, transparent hierarchical filesystem. | |
31 | This makes for easy access to ZIP files in the same way as you access | |
32 | a file directly on the disk, and it makes it easy to ship a new | |
33 | archive that will override a previous archive on a per-file basis. | |
34 | Finally, PhysicsFS gives you platform-abstracted means to determine if | |
35 | CD-ROMs are available, the user's home directory, where in the real | |
bdf8461f | 36 | filesystem your program is running, etc. |
6ffab52d | 37 | |
fd302d5d JR |
38 | %description -l pl.UTF-8 |
39 | PhysicsFS to biblioteka udostępniająca abstrakcyjny dostęp do różnych | |
40 | archiwów. Została stworzona z myślą o grach video, a projekt był | |
41 | trochę wzorowany na podsystemie plików z Quake 3. Programista | |
42 | definiuje "katalog zapisu" w fizycznym systemie plików. Żaden zapis do | |
43 | pliku poprzez API PhysicsFS nie może wyjść poza ten katalog - ze | |
44 | względu na bezpieczeństwo. Na przykład, wbudowany język skryptowy nie | |
45 | może zapisywać poza tą ścieżką, jeżeli używa PhysicsFS do wszystkich | |
46 | operacji wejścia/wyjścia, dzięki czemu można bezpiecznie uruchamiać | |
47 | nie zaufane skrypty. Dowiązania symboliczne także mogą być wyłączone | |
48 | dla poprawy bezpieczeństwa. Do odczytu pliku programista podaje | |
49 | katalogi i archiwa, które składają się na "ścieżkę poszukiwań". Po | |
50 | zdefiniowaniu tej ścieżki, staje się ona pojedynczym, przezroczystym | |
51 | hierarchicznym systemem plików. Pozwala to na łatwy dostęp do plików | |
52 | ZIP w taki sam sposób, jak do plików na dysku, a także ułatwia | |
53 | dostarczenie nowego archiwum, które przykryje poprzednie na poziomie | |
54 | plików. Ponadto PhysicsFS daje wyabstrahowane od platformy sposoby na | |
55 | określenie, czy dostępne są CD-ROMy, katalog domowy użytkownika, gdzie | |
56 | w prawdziwym systemie plików działa program itp. | |
c617ed92 | 57 | |
58 | %package devel | |
59 | Summary: Header files for PhysicsFS development | |
0dd991f9 | 60 | Summary(pl.UTF-8): Pliki nagłówkowe do programowania z użyciem PhysicsFS |
c617ed92 | 61 | Group: Development/Libraries |
b718a88b | 62 | Requires: %{name} = %{version}-%{release} |
7c1622a0 | 63 | Requires: zlib-devel |
c617ed92 | 64 | |
65 | %description devel | |
66 | PhysicsFS is a library to provide abstract access to various archives. | |
6ffab52d | 67 | This package contains the development headers and documentaion to |
c617ed92 | 68 | build programs using PhysicsFS. |
69 | ||
fd302d5d JR |
70 | %description devel -l pl.UTF-8 |
71 | PhysicsFS to biblioteka udostępniająca abstrakcyjny dostęp do różnych | |
72 | archiwów. Ten pakiet zawiera pliki nagłówkowe i dokumentację do | |
73 | budowania programów z użyciem PhysicsFS. | |
6ffab52d | 74 | |
c617ed92 | 75 | %package static |
6ffab52d | 76 | Summary: Static PhysicsFS libraries |
0dd991f9 | 77 | Summary(pl.UTF-8): Statyczne biblioteki PhysicsFS |
c617ed92 | 78 | Group: Development/Libraries |
b718a88b | 79 | Requires: %{name}-devel = %{version}-%{release} |
c617ed92 | 80 | |
81 | %description static | |
82 | PhysicsFS is a library to provide abstract access to various archives. | |
6ffab52d JB |
83 | This package contains the static PhysicsFS libraries. |
84 | ||
fd302d5d JR |
85 | %description static -l pl.UTF-8 |
86 | PhysicsFS to biblioteka udostępniająca abstrakcyjny dostęp do różnych | |
87 | archiwów. Ten pakiet zawiera statyczne biblioteki PhysicsFS. | |
c617ed92 | 88 | |
89 | %package programs | |
90 | Summary: Program for testing PhysicsFS archives | |
0dd991f9 | 91 | Summary(pl.UTF-8): Program do testowania archiwów PhysicsFS |
c617ed92 | 92 | Group: Development/Libraries |
b718a88b | 93 | Requires: %{name} = %{version}-%{release} |
c617ed92 | 94 | |
95 | %description programs | |
96 | PhysicsFS is a library to provide abstract access to various archives. | |
6ffab52d JB |
97 | This package contains the programs using for PhysicsFS archives |
98 | testing. | |
99 | ||
fd302d5d JR |
100 | %description programs -l pl.UTF-8 |
101 | PhysicsFS to biblioteka udostępniająca abstrakcyjny dostęp do różnych | |
102 | archiwów. Ten pakiet zawiera program używany do testowania archiwów | |
6ffab52d | 103 | PhysicsFS. |
c617ed92 | 104 | |
105 | %prep | |
6ffab52d | 106 | %setup -q |
c617ed92 | 107 | |
108 | %build | |
7dc74d47 | 109 | %{__cmake} . \ |
110 | -DCMAKE_CXX_COMPILER_WORKS=1 \ | |
111 | -DCMAKE_CXX_COMPILER="%{__cc}" | |
7481b379 | 112 | |
113 | # fix paths | |
114 | %{__sed} -i -e 's,/usr/local,/usr,g' cmake_install.cmake | |
5de53026 | 115 | # workaround for x86_64 |
116 | %ifarch %{x8664} | |
117 | %{__sed} -i -e 's,{CMAKE_INSTALL_PREFIX}/lib,{CMAKE_INSTALL_PREFIX}/lib64,g' cmake_install.cmake | |
118 | %endif | |
7481b379 | 119 | %{__make} |
c617ed92 | 120 | |
121 | doxygen | |
122 | ||
123 | %install | |
124 | rm -rf $RPM_BUILD_ROOT | |
125 | install -d $RPM_BUILD_ROOT%{_mandir}/man3 | |
126 | ||
6ffab52d JB |
127 | %{__make} install \ |
128 | DESTDIR=$RPM_BUILD_ROOT | |
c617ed92 | 129 | |
130 | install docs/man/man3/{PHYS*,phys*} $RPM_BUILD_ROOT%{_mandir}/man3 | |
131 | ||
132 | %clean | |
133 | rm -rf $RPM_BUILD_ROOT | |
134 | ||
135 | %post -p /sbin/ldconfig | |
136 | %postun -p /sbin/ldconfig | |
137 | ||
138 | %files | |
139 | %defattr(644,root,root,755) | |
7481b379 | 140 | %doc CHANGELOG.txt CREDITS.txt LICENSE.txt TODO.txt |
c617ed92 | 141 | %attr(755,root,root) %{_libdir}/lib*.so.*.* |
7dc74d47 | 142 | %attr(755,root,root) %ghost %{_libdir}/lib*.so.1 |
c617ed92 | 143 | |
144 | %files devel | |
145 | %defattr(644,root,root,755) | |
146 | %doc docs/html | |
6ffab52d | 147 | %attr(755,root,root) %{_libdir}/lib*.so |
c617ed92 | 148 | %{_includedir}/physfs.h |
149 | %{_mandir}/man3/* | |
150 | ||
151 | %files static | |
152 | %defattr(644,root,root,755) | |
153 | %{_libdir}/lib*.a | |
154 | ||
155 | %files programs | |
156 | %defattr(644,root,root,755) | |
6ffab52d | 157 | %attr(755,root,root) %{_bindir}/test_physfs |