physfs-vl.spec 4.8 KB

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