[packages/Coin] - added build patch (misc compile fixes) - added pc patch (remove regular CFLAGS from .pc Cflags) -

qboosh qboosh at pld-linux.org
Wed Nov 5 16:00:41 CET 2014


commit 899bef0578e2b0016e7ce4bce0734b26296c3c00
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Wed Nov 5 16:00:53 2014 +0100

    - added build patch (misc compile fixes)
    - added pc patch (remove regular CFLAGS from .pc Cflags)
    - added format patch (fixes for -Werror=format-security)
    - completed packaging

 Coin-build.patch  |  23 ++++++++
 Coin-format.patch |  14 +++++
 Coin-pc.patch     |  11 ++++
 Coin.spec         | 164 +++++++++++++++++++++++++++++++++++-------------------
 4 files changed, 155 insertions(+), 57 deletions(-)
---
diff --git a/Coin.spec b/Coin.spec
index 3ac12c0..21ecdbd 100644
--- a/Coin.spec
+++ b/Coin.spec
@@ -1,114 +1,164 @@
 #
+# Conditional build:
+%bcond_without	static_libs	# static library
+#
 Summary:	High-level, retained-mode toolkit for effective 3D graphics development
-Summary(pl.UTF-8):	Zbiór narzędzi wysokiego poziomu do efektywnego rozwijania grafiki 3D
+Summary(pl.UTF-8):	Wysokopoziomowy toolkit do efektywnego rozwijania grafiki 3D
 Name:		Coin
 Version:	3.1.3
-Release:	0.1
-License:	GPL
+Release:	1
+License:	GPL or Coin PEL or Coin EL
 Group:		X11/Libraries
-Source0:	http://ftp.coin3d.org/coin/src/all/%{name}-%{version}.tar.gz
+Source0:	https://bitbucket.org/Coin3D/coin/downloads/%{name}-%{version}.tar.gz
 # Source0-md5:	1538682f8d92cdf03e845c786879fbea
+Patch0:		%{name}-build.patch
+Patch1:		%{name}-pc.patch
+Patch2:		%{name}-format.patch
 URL:		http://www.coin3d.org/
+BuildRequires:	OpenAL-devel
 BuildRequires:	OpenGL-GLU-devel
 BuildRequires:	OpenGL-devel
-BuildRequires:	automake
+BuildRequires:	bzip2-devel
+BuildRequires:	fontconfig-devel
+BuildRequires:	freetype-devel >= 2
+#BuildRequires:	js-devel
 BuildRequires:	libstdc++-devel
 BuildRequires:	xorg-lib-libX11-devel
+BuildRequires:	zlib-devel
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define specflags -DCOIN_INTERNAL -DCOIN_DEBUG=0
+#define specflags -DCOIN_INTERNAL -DCOIN_DEBUG=0
 
 %description
 High-level, retained-mode toolkit for effective 3D graphics
-development.
+development. It's fully compatible with SGI Open Inventor 2.1.
+
+%description -l pl.UTF-8
+Wysokopoziomowy toolkit trybu przechowującego do efektywnego
+rozwijania grafiki 3D. Jest w pełni kompatybilny z pakietem SGI Open
+Inventor 2.1.
 
 %package devel
-Summary:	Header files for ... library
-Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki ...
+Summary:	Header files for Coin3D library
+Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki Coin3D
 Group:		X11/Development/Libraries
-# if base package contains shared library for which these headers are
 Requires:	%{name} = %{version}-%{release}
-# if -libs package contains shared library for which these headers are
-#Requires:	%{name}-libs = %{version}-%{release}
 
 %description devel
-Header files for ... library.
+Header files for Coin3D library.
 
 %description devel -l pl.UTF-8
-Pliki nagłówkowe biblioteki ....
+Pliki nagłówkowe biblioteki Coin3D.
 
+%package static
+Summary:	Static Coin3D library
+Summary(pl.UTF-8):	Statyczna biblioteka Coin3D
+Group:		X11/Development/Libraries
+Requires:	%{name}-devel = %{version}-%{release}
 
-%prep
-%setup -q
-#%setup -q -c -T
-#%setup -q -n %{name}
-#%setup -q -n %{name}-%{version}.orig -a 1
-#%patch0 -p1
-
-# undos the source
-#find '(' -name '*.php' -o -name '*.inc' ')' -print0 | xargs -0 %{__sed} -i -e 's,\r$,,'
+%description static
+Static Coin3D library.
 
-# remove CVS control files
-#find -name CVS -print0 | xargs -0 rm -rf
+%description static -l pl.UTF-8
+Statyczna biblioteka Coin3D.
 
-# you'll need this if you cp -a complete dir in source
-# cleanup backups after patching
-find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
+%prep
+%setup -q
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
 
 %build
-# if ac/am/* rebuilding is necessary, do it in this order and add
-# appropriate BuildRequires
-#%%{__intltoolize}
-#%%{__gettextize}
-#%%{__libtoolize}
-#%%{__aclocal}
-#%%{__autoconf}
-#%%{__autoheader}
-#%%{__automake}
-# if not running libtool or automake, but config.sub is too old:
-# cp -f /usr/share/automake/config.sub .
+# must include COIN_INTERNAL and COIN_DEBUG in CFLAGS/CXXFLAGS, because
+# internal CPPFLAGS are not propagated everywhere
+CFLAGS="%{rpmcflags} -DCOIN_INTERNAL -DCOIN_DEBUG=0"
+CXXFLAGS="%{rpmcxxflags} -DCOIN_INTERNAL -DCOIN_DEBUG=0"
 %configure \
-	--enable-system-expat
-
+	--enable-3ds-import \
+	--disable-debug \
+	--enable-java-wrapper \
+	--enable-man \
+	%{?with_static_libs:--enable-static} \
+	--enable-system-expat \
+	--enable-threadsafe
+
+# FIXME: don't use global LIBS to fix libCoin.la linking
+# (but cannot regenerate ac/am because of missing m4 files)
 %{__make} \
 	LIBS="-ldl -lGL -lX11 -lpthread"
 
 %install
 rm -rf $RPM_BUILD_ROOT
-# create directories if necessary
-#install -d $RPM_BUILD_ROOT
-%if %{with initscript}
-install -d $RPM_BUILD_ROOT/etc/{sysconfig,rc.d/init.d}
-%endif
-#install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+
+# sanitize file list
+%{__sed} -i -ne '/^S/p' man/man3/filelist.txt
 
 %{__make} install \
 	DESTDIR=$RPM_BUILD_ROOT
 
+# obsoleted by pkg-config
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libCoin.la
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-
-%if %{with ldconfig}
 %post	-p /sbin/ldconfig
 %postun	-p /sbin/ldconfig
-%endif
 
 %files
 %defattr(644,root,root,755)
-%doc AUTHORS ChangeLog NEWS README THANKS
+%doc AUTHORS COPYING ChangeLog FAQ FAQ.legal NEWS README README.UNIX RELNOTES THANKS
 %attr(755,root,root) %{_bindir}/coin-config
 %attr(755,root,root) %{_libdir}/libCoin.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libCoin.so.60
 %{_datadir}/%{name}
+%{_mandir}/man1/coin-config.1*
 
 %files devel
 %defattr(644,root,root,755)
-# %doc devel-doc/*
-%{_libdir}/libCoin.so
-%{_libdir}/libCoin.la
-%{_includedir}/Inventor
+%attr(755,root,root) %{_libdir}/libCoin.so
+%dir %{_includedir}/Inventor
+%{_includedir}/Inventor/C
+%{_includedir}/Inventor/VRMLnodes
+%{_includedir}/Inventor/actions
+%{_includedir}/Inventor/annex
+%{_includedir}/Inventor/bundles
+%{_includedir}/Inventor/caches
+%{_includedir}/Inventor/collision
+%{_includedir}/Inventor/details
+%{_includedir}/Inventor/draggers
+%{_includedir}/Inventor/elements
+%{_includedir}/Inventor/engines
+%{_includedir}/Inventor/errors
+%{_includedir}/Inventor/events
+%{_includedir}/Inventor/fields
+%{_includedir}/Inventor/lists
+%{_includedir}/Inventor/lock
+%{_includedir}/Inventor/manips
+%{_includedir}/Inventor/misc
+%{_includedir}/Inventor/nodekits
+%{_includedir}/Inventor/nodes
+%{_includedir}/Inventor/projectors
+%{_includedir}/Inventor/scxml
+%{_includedir}/Inventor/sensors
+%{_includedir}/Inventor/system
+%{_includedir}/Inventor/threads
+%{_includedir}/Inventor/tools
+%{_includedir}/Inventor/Sb*.h
+%{_includedir}/Inventor/So*.h
+%{_includedir}/Inventor/non_winsys.h
+%{_includedir}/Inventor/oivwin32.h
 %{_includedir}/SoDebug.h
 %{_includedir}/SoWinEnterScope.h
 %{_includedir}/SoWinLeaveScope.h
-%{_aclocaldir}/*.m4
-%{_pkgconfigdir}/*.pc
+%{_pkgconfigdir}/Coin.pc
+%{_aclocaldir}/coin.m4
+%{_mandir}/man3/Sb*.3*
+%{_mandir}/man3/Sc*.3*
+%{_mandir}/man3/So*.3*
+
+%if %{with static_libs}
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libCoin.a
+%endif
diff --git a/Coin-build.patch b/Coin-build.patch
new file mode 100644
index 0000000..acdd46c
--- /dev/null
+++ b/Coin-build.patch
@@ -0,0 +1,23 @@
+--- Coin-3.1.3/include/Inventor/SbBasic.h.orig	2010-03-02 14:20:09.000000000 +0100
++++ Coin-3.1.3/include/Inventor/SbBasic.h	2014-11-02 21:47:43.939298989 +0100
+@@ -25,6 +25,9 @@
+ \**************************************************************************/
+ 
+ #include <Inventor/C/basic.h>
++#ifndef NDEBUG
++#include <Inventor/C/errors/debugerror.h>
++#endif
+ 
+ /* ********************************************************************** */
+ /* Trap people trying to use Inventor headers while compiling C source code.
+--- Coin-3.1.3/src/fonts/freetype.cpp.orig	2010-03-02 14:20:09.000000000 +0100
++++ Coin-3.1.3/src/fonts/freetype.cpp	2014-11-03 21:09:52.395768445 +0100
+@@ -38,7 +38,7 @@
+ #include "config.h"
+ #endif /* HAVE_CONFIG_H */
+ 
+-#include <stdlib.h>
++#include <cstdlib>
+ #include <assert.h>
+ 
+ #include "glue/freetype.h"
diff --git a/Coin-format.patch b/Coin-format.patch
new file mode 100644
index 0000000..afa2f72
--- /dev/null
+++ b/Coin-format.patch
@@ -0,0 +1,14 @@
+--- Coin-3.1.3/src/profiler/SoProfiler.cpp.orig	2010-03-02 14:20:09.000000000 +0100
++++ Coin-3.1.3/src/profiler/SoProfiler.cpp	2014-11-04 20:53:37.368850092 +0100
+@@ -552,9 +552,9 @@
+     // send ansi-console clear screen code
+     static const char * CLEAR_SEQUENCE = "\033c";
+     if (profiler::console::onstdout) {
+-      fprintf(coin_get_stdout(), CLEAR_SEQUENCE);
++      fputs(CLEAR_SEQUENCE, coin_get_stdout());
+     } else if (profiler::console::onstderr) {
+-      fprintf(coin_get_stderr(), CLEAR_SEQUENCE);
++      fputs(CLEAR_SEQUENCE,coin_get_stderr());
+     }
+   }
+ 
diff --git a/Coin-pc.patch b/Coin-pc.patch
new file mode 100644
index 0000000..f3b7319
--- /dev/null
+++ b/Coin-pc.patch
@@ -0,0 +1,11 @@
+--- Coin-3.1.3/Coin.pc.in.orig	2010-03-02 14:20:09.000000000 +0100
++++ Coin-3.1.3/Coin.pc.in	2014-11-04 19:01:27.505799266 +0100
+@@ -11,7 +11,7 @@
+ Requires:
+ Conflicts:
+ Libs: -L${libdir} @COIN_EXTRA_LDFLAGS@ @COIN_EXTRA_LIBS@
+-Cflags: -I${includedir} @COIN_EXTRA_CFLAGS@ @COIN_EXTRA_CPPFLAGS@
++Cflags: -I${includedir}
+ 
+ coin_host=@host@
+ compiler=@COIN_COMPILER@
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/Coin.git/commitdiff/899bef0578e2b0016e7ce4bce0734b26296c3c00



More information about the pld-cvs-commit mailing list