physfs-vl.spec 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. %define name physfs
  2. %define version 1.1.1
  3. %define release 1%{?_dist_release}
  4. Summary: Library to provide abstract access to various archives
  5. Name: %{name}
  6. Version: %{version}
  7. Release: %{release}
  8. Source0: http://icculus.org/physfs/downloads/%{name}-%{version}.tar.gz
  9. License: BSD
  10. Group: System Environment/Libraries
  11. URL: http://icculus.org/physfs/
  12. BuildRequires: zlib-devel, readline-devel, doxygen
  13. BuildRequires: cmake
  14. BuildRoot: %{_tmppath}/%{name}-%{version}-root
  15. %description
  16. PhysicsFS is a library to provide abstract access to various archives.
  17. It is intended for use in video games, and the design was somewhat
  18. inspired by Quake 3's file subsystem.
  19. The programmer defines a "write directory" on the physical filesystem.
  20. No file writing done through the PhysicsFS API can leave that write directory,
  21. for security.
  22. For example, an embedded scripting language cannot write outside
  23. of this path if it uses PhysFS for all of its I/O, which means
  24. that untrusted scripts can run more safely.
  25. Symbolic links can be disabled as well, for added safety.
  26. For file reading, the programmer lists directories and archives
  27. that form a "search path".
  28. Once the search path is defined, it becomes a single,
  29. transparent hierarchical filesystem.
  30. This makes for easy access to ZIP files in the same way
  31. as you access a file directly on the disk,
  32. and it makes it easy to ship a new archive
  33. that will override a previous archive on a per-file basis.
  34. Finally, PhysicsFS gives you platform-abstracted means to determine
  35. if CD-ROMs are available, the user's home directory,
  36. where in the real filesystem your program is running, etc.
  37. %package devel
  38. Summary: Development libraries and headers for physfs
  39. Group: Development/Libraries
  40. Requires: %{name} = %{version}-%{release}
  41. %description devel
  42. This package contains the libraries and headers necessary for developing
  43. packages with physfs functionality.
  44. %prep
  45. %setup -q
  46. %build
  47. %ifarch x86_64
  48. mv CMakeLists.txt CMakeLists.txt.orig
  49. cat CMakeLists.txt.orig \
  50. | sed "s/LIBRARY DESTINATION lib/LIBRARY DESTINATION %{_lib}/" \
  51. | sed "s/ARCHIVE DESTINATION lib/ARCHIVE DESTINATION %{_lib}/" \
  52. > CMakeLists.txt
  53. %endif
  54. cmake -D CMAKE_INSTALL_PREFIX=%{_prefix} .
  55. make %{?_smp_mflags}
  56. doxygen
  57. %install
  58. %{__rm} -rf ${RPM_BUILD_ROOT}
  59. make DESTDIR=${RPM_BUILD_ROOT} install
  60. #%{__rm} -rf ${RPM_BUILD_ROOT}%{_libdir}/*.la
  61. mkdir -p $RPM_BUILD_ROOT%{_mandir}/man3
  62. install -m0644 docs/man/man3/* $RPM_BUILD_ROOT%{_mandir}/man3
  63. # Handle man page conflicts (bz #183705) from Fedora
  64. mv $RPM_BUILD_ROOT%{_mandir}/man3/author.3 \
  65. $RPM_BUILD_ROOT%{_mandir}/man3/physfs-author.3
  66. mv $RPM_BUILD_ROOT%{_mandir}/man3/description.3 \
  67. $RPM_BUILD_ROOT%{_mandir}/man3/physfs-description.3
  68. mv $RPM_BUILD_ROOT%{_mandir}/man3/extension.3 \
  69. $RPM_BUILD_ROOT%{_mandir}/man3/physfs-extension.3
  70. mv $RPM_BUILD_ROOT%{_mandir}/man3/major.3 \
  71. $RPM_BUILD_ROOT%{_mandir}/man3/physfs-major.3
  72. mv $RPM_BUILD_ROOT%{_mandir}/man3/minor.3 \
  73. $RPM_BUILD_ROOT%{_mandir}/man3/physfs-minor.3
  74. mv $RPM_BUILD_ROOT%{_mandir}/man3/patch.3 \
  75. $RPM_BUILD_ROOT%{_mandir}/man3/physfs-patch.3
  76. mv $RPM_BUILD_ROOT%{_mandir}/man3/url.3 \
  77. $RPM_BUILD_ROOT%{_mandir}/man3/physfs-url.3
  78. %clean
  79. %{__rm} -rf ${RPM_BUILD_ROOT}
  80. %post -p /sbin/ldconfig
  81. %postun -p /sbin/ldconfig
  82. %files
  83. %defattr(-,root,root,-)
  84. %doc CHANGELOG.txt CREDITS.txt LICENSE.txt TODO.txt
  85. %{_libdir}/*.so.*
  86. %{_bindir}/test_physfs
  87. %{_bindir}/wxtest_physfs
  88. %files devel
  89. %defattr(-,root,root,-)
  90. %doc docs/html/ docs/latex/
  91. %{_includedir}/physfs.h
  92. %{_libdir}/*.a
  93. #%{_libdir}/*.la
  94. %{_libdir}/*.so
  95. %{_mandir}/man3/*
  96. %changelog
  97. * Thu Oct 09 2008 Shu KONNO <owa@bg.wakwak.com> 1.1.1-1vl5
  98. - applied new versioning policy
  99. * Wed Jan 03 2008 Shu KONNO <owa@bg.wakwak.com> 1.1.1-0vl3
  100. - updated CMakeLists.txt for lib64
  101. * Fri Sep 07 2007 Atsushi SHICHI <ats777@gmail.com> 1.1.1-0vl2
  102. - remove "-D PHYSFS_BUILD_TEST:BOOL=OFF" from cmake option.
  103. - add test_physfs to %%files.
  104. * Wed Sep 06 2007 Atsushi SHICHI <ats777@gmail.com> 1.1.1-0vl1
  105. - new upstream release.
  106. - add "BuildRequires: cmake".
  107. - to use cmake instead of %%configure.
  108. - update %%files.
  109. - temporarily remove test_physfs from %%files.
  110. - remove libphysfs.la from %%files devel.
  111. * Mon Sep 3 2007 Munehiro Yamamoto <myamamoto@g.math.s.chiba-u.ac.jp> 1.1.0-0vl1
  112. - initial build for Vine Linux 4.1
  113. * Mon Oct 17 2005 Munehiro Yamamoto <myamamoto@g.math.s.chiba-u.ac.jp> 1.1.0-0vlmp2
  114. - change Group: System Environment/Libraries
  115. * Fri Jun 24 2005 Munehiro Yamamoto <myamamoto@g.math.s.chiba-u.ac.jp> 1.0.0-0vlmp1
  116. - initial build for Vine Linux 3.2
  117. # end of file