7498f55
Name:           plib
75ece07
Version:        1.8.5
63888b1
Release:        26%{?dist}
7498f55
Summary:        Set of portable libraries especially useful for games
cc2c199
License:        LGPLv2+
7498f55
URL:            http://plib.sourceforge.net/
7498f55
Source:         http://plib.sourceforge.net/dist/plib-%{version}.tar.gz
7498f55
Patch1:         plib-1.8.4-fullscreen.patch
7498f55
Patch3:         plib-1.8.4-autorepeat.patch
b24a9a6
Patch4:         plib-1.8.5-CVE-2011-4620.patch
481f9a5
Patch5:         plib-1.8.5-CVE-2012-4552.patch
656c3fe
Patch6:         plib-freeglut.patch
e3eef95
BuildRequires:  gcc gcc-c++
7498f55
BuildRequires:  freeglut-devel libpng-devel libXext-devel libXi-devel
7498f55
Buildrequires:  libXmu-devel libSM-devel libXxf86vm-devel
5910d5c
cvsextras 364f1ee
%description
5910d5c
This is a set of OpenSource (LGPL) libraries that will permit programmers
5910d5c
to write games and other realtime interactive applications that are 100%
5910d5c
portable across a wide range of hardware and operating systems. Here is
5910d5c
what you need - it's all free and available with LGPL'ed source code on
5910d5c
the web. All of it works well together.
5910d5c
5910d5c
5910d5c
%package devel
7498f55
Summary:        Development files for %{name}
7498f55
Requires:       %{name} = %{version}-%{release}
7498f55
Requires:       libGL-devel
5910d5c
5910d5c
%description devel
4d65c64
This package contains the header files and libraries needed to write
4d65c64
or compile programs that use plib.
5910d5c
cvsextras 364f1ee
cvsextras 364f1ee
%prep
4d65c64
%setup -q
4d65c64
%patch1 -p1 -b .fs
7498f55
%patch3 -p1 -b .autorepeat
b24a9a6
%patch4 -p1
481f9a5
%patch5 -p1
656c3fe
%patch6 -p0
4d65c64
# for some reason this file has its x permission sets, which makes rpmlint cry
4d65c64
chmod -x src/sg/sgdIsect.cxx
5910d5c
cvsextras 364f1ee
cvsextras 364f1ee
%build
7498f55
%configure CXXFLAGS="$RPM_OPT_FLAGS -fPIC -DXF86VIDMODE"
7498f55
make %{?_smp_mflags} 
4d65c64
# and below is a somewhat dirty hack inspired by debian to build shared libs
4d65c64
# instead of static. Notice that the adding of -fPIC to CXXFLAGS above is part
4d65c64
# of the hack.
4d65c64
dirnames=(util sg ssg fnt js net psl pui puAux pw sl sl ssgAux)
4d65c64
libnames=(ul sg ssg fnt js net psl pu puaux pw sl sm ssgaux)
4d65c64
libdeps=("" \
4d65c64
  "-L../util -lplibul" \
4d65c64
  "-L../util -lplibul -L../sg -lplibsg -lGL" \
4d65c64
  "-L../util -lplibul -L../sg -lplibsg -lGL" \
4d65c64
  "-L../util -lplibul" \
4d65c64
  "-L../util -lplibul" \
4d65c64
  "-L../util -lplibul" \
4d65c64
  "-L../util -lplibul -L../sg -lplibsg -L../fnt -lplibfnt -lGL" \
4d65c64
  "-L../util -lplibul -L../sg -lplibsg -L../fnt -lplibfnt -L../pui -lplibpu -lGL" \
4d65c64
  "-L../util -lplibul -lX11 -lGL -lXxf86vm" \
4d65c64
  "-L../util -lplibul" \
4d65c64
  "-L../util -lplibul" \
4d65c64
  "-L../util -lplibul -L../sg -lplibsg -L../ssg -lplibssg -lGL")
4d65c64
4d65c64
for (( i = 0; i < 13; i++ )) ; do
4d65c64
  pushd src/${dirnames[$i]}
71f891f
  g++ -shared -Wl,-soname,libplib${libnames[$i]}.so.%{version} \
4d65c64
    -o libplib${libnames[$i]}.so.%{version} `ar t libplib${libnames[$i]}.a` \
71f891f
    ${libdeps[$i]} -Wl,-z,relro -Wl,-z,now
4d65c64
  ln -s libplib${libnames[$i]}.so.%{version} libplib${libnames[$i]}.so
4d65c64
  popd
4d65c64
done
5910d5c
cvsextras 364f1ee
cvsextras 364f1ee
%install
7498f55
make install DESTDIR=$RPM_BUILD_ROOT
4d65c64
# we don't want the static libs
7498f55
rm $RPM_BUILD_ROOT%{_libdir}/*.a
4d65c64
# instead do a DIY install of the shared libs we created
7498f55
cp -a `find . -name "libplib*.so*"` $RPM_BUILD_ROOT%{_libdir}
5910d5c
cvsextras 364f1ee
6b22f9c
%ldconfig_scriptlets
4d65c64
4d65c64
4d65c64
%files
5910d5c
%doc AUTHORS COPYING ChangeLog NOTICE README
4d65c64
%{_libdir}/libplib*.so.%{version}
4d65c64
4d65c64
%files devel
5910d5c
%{_includedir}/*
4d65c64
%{_libdir}/libplib*.so
cvsextras 364f1ee
cvsextras 364f1ee
cvsextras 364f1ee
%changelog
63888b1
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.5-26
63888b1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
63888b1
4c80644
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.5-25
4c80644
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
4c80644
656c3fe
* Mon Sep 23 2019 Gwyn Ciesla <gwync@protonmail.com> - 1.8.5-24
656c3fe
- Update for new freeglut.
656c3fe
7205856
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.5-23
7205856
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
7205856
a8b4cba
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.5-22
a8b4cba
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
a8b4cba
e3eef95
* Thu Aug  9 2018 Hans de Goede <hdegoede@redhat.com> 1.8.5-21
e3eef95
- Fix FTBFS (rhbz#1605477)
e3eef95
113ff9c
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.5-20
113ff9c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
113ff9c
4e77076
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.5-19
4e77076
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
4e77076
9285a15
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.5-18
9285a15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
9285a15
7d543df
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.5-17
7d543df
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
7d543df
3d64218
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.5-16
3d64218
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
3d64218
3d9ebe6
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.5-15
3d9ebe6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
3d9ebe6
71f891f
* Fri Jan 15 2016 Adam Jackson <ajax@redhat.com> 1.8.5-14
71f891f
- Use g++ to link, and fix linker flags
71f891f
e68b800
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.5-13
e68b800
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
e68b800
8ad741d
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.5-12
8ad741d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
8ad741d
7c017ba
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.5-11
7c017ba
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
7c017ba
571bcc6
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.5-10
571bcc6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild