- update to 3.2.0:
* Several changes were made to accommodate our migration from hg on our own
Mercurial server to git and GitHub.
* Tons of important fixes going back to Sep 27, 2017. Including static analysis
fixes, platform compatibility improvements, etc.
* Added PHYSFS_setRoot, to mount a subset of an archive.
* Support for HOG2 (Descent 3) archives.
OBS-URL: https://build.opensuse.org/request/show/1039870
OBS-URL: https://build.opensuse.org/package/show/games/physfs?expand=0&rev=34
136 lines
5.1 KiB
RPMSpec
136 lines
5.1 KiB
RPMSpec
#
|
|
# spec file for package physfs
|
|
#
|
|
# Copyright (c) 2022 SUSE LLC
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%define so_nr 1
|
|
Name: physfs
|
|
Version: 3.2.0
|
|
Release: 0
|
|
Summary: PhysicsFS file abstraction layer for games
|
|
License: (CPL-1.0 OR LGPL-2.1-or-later) AND Zlib
|
|
Group: System/Libraries
|
|
URL: https://www.icculus.org/physfs/
|
|
Source: https://github.com/icculus/physfs/archive/refs/tags/release-%{version}.tar.gz
|
|
BuildRequires: cmake >= 3.0.0
|
|
BuildRequires: gcc-c++
|
|
BuildRequires: pkgconfig
|
|
BuildRequires: zlib-devel
|
|
|
|
%description
|
|
PhysicsFS is a library to provide abstract access to various archives.
|
|
It is intended for use in video games, and the design was somewhat
|
|
inspired by Quake 3's file subsystem. The programmer defines a "write
|
|
directory" on the physical filesystem. No file writing done through the
|
|
PhysicsFS API can leave that write directory, for security. For
|
|
example, an embedded scripting language cannot write outside of this
|
|
path if it uses PhysFS for all of its I/O, which means that untrusted
|
|
scripts can run more safely. Symbolic links can be disabled as well,
|
|
for added safety. For file reading, the programmer lists directories
|
|
and archives that form a "search path". Once the search path is
|
|
defined, it becomes a single, transparent hierarchical filesystem. This
|
|
makes for easy access to ZIP files in the same way as you access a file
|
|
directly on the disk, and it makes it easy to ship a new archive that
|
|
will override a previous archive on a per-file basis. Finally,
|
|
PhysicsFS gives you platform-abstracted means to determine if CD-ROMs
|
|
are available, the user's home directory, where in the real filesystem
|
|
your program is running, etc.
|
|
|
|
%package -n lib%{name}%{so_nr}
|
|
Summary: PhysicsFS file abstraction layer for games
|
|
# physfs was last used in openSUSE 11.3
|
|
Group: System/Libraries
|
|
Provides: physfs = %{version}
|
|
Obsoletes: physfs <= 1.0.1
|
|
|
|
%description -n lib%{name}%{so_nr}
|
|
PhysicsFS is a library to provide abstract access to various archives.
|
|
It is intended for use in video games, and the design was somewhat
|
|
inspired by Quake 3's file subsystem. The programmer defines a "write
|
|
directory" on the physical filesystem. No file writing done through the
|
|
PhysicsFS API can leave that write directory, for security. For
|
|
example, an embedded scripting language cannot write outside of this
|
|
path if it uses PhysFS for all of its I/O, which means that untrusted
|
|
scripts can run more safely. Symbolic links can be disabled as well,
|
|
for added safety. For file reading, the programmer lists directories
|
|
and archives that form a "search path". Once the search path is
|
|
defined, it becomes a single, transparent hierarchical filesystem. This
|
|
makes for easy access to ZIP files in the same way as you access a file
|
|
directly on the disk, and it makes it easy to ship a new archive that
|
|
will override a previous archive on a per-file basis. Finally,
|
|
PhysicsFS gives you platform-abstracted means to determine if CD-ROMs
|
|
are available, the user's home directory, where in the real filesystem
|
|
your program is running, etc.
|
|
|
|
%package -n lib%{name}-devel
|
|
Summary: Libraries, includes and more to develop PhysicsFS applications
|
|
Group: Development/Libraries/C and C++
|
|
Requires: lib%{name}%{so_nr} = %{version}
|
|
# physfs-devel was last used in openSUSE 11.3
|
|
Provides: physfs-devel = %{version}
|
|
Obsoletes: physfs-devel <= 1.0.1
|
|
|
|
%description -n lib%{name}-devel
|
|
Development package for libphysfs, a library to provide abstract access to
|
|
various archives.
|
|
|
|
%prep
|
|
%setup -q -n physfs-release-%{version}
|
|
|
|
%build
|
|
%cmake \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DPHYSFS_BUILD_STATIC=FALSE \
|
|
-DPHYSFS_BUILD_TEST=FALSE
|
|
%make_build
|
|
|
|
%install
|
|
%cmake_install
|
|
|
|
install -d %{buildroot}%{_libdir}/pkgconfig
|
|
cat << EOF > %{buildroot}%{_libdir}/pkgconfig/%{name}.pc
|
|
prefix=%{_prefix}
|
|
exec_prefix=\${prefix}
|
|
libdir=\${exec_prefix}/%{_lib}
|
|
includedir=\${prefix}/include
|
|
|
|
Name: PhysicsFS
|
|
Description: PhysicsFS, a library to provide abstract access to various archives
|
|
URL: %{url}
|
|
Version: %{version}
|
|
Libs: -L\${libdir} -lphysfs
|
|
Cflags: -I\${includedir}
|
|
EOF
|
|
|
|
%post -n lib%{name}%{so_nr} -p /sbin/ldconfig
|
|
%postun -n lib%{name}%{so_nr} -p /sbin/ldconfig
|
|
|
|
%files -n lib%{name}%{so_nr}
|
|
%defattr(0644,root,root,0755)
|
|
%license LICENSE.txt
|
|
%doc docs/CREDITS.txt docs/INSTALL.txt docs/TODO.txt
|
|
%{_libdir}/libphysfs.so.%{so_nr}
|
|
%{_libdir}/libphysfs.so.%{version}
|
|
|
|
%files -n lib%{name}-devel
|
|
%defattr(0644,root,root,0755)
|
|
%{_libdir}/libphysfs.so
|
|
%{_includedir}/physfs.h
|
|
%{_libdir}/cmake/PhysFS
|
|
%{_libdir}/pkgconfig/%{name}.pc
|
|
|
|
%changelog
|