rpms/ETL/F-10 ETL-0.04.12-build.patch, NONE, 1.1 ETL.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

Lubomir Rintel lkundrak at fedoraproject.org
Sun Mar 1 10:45:11 UTC 2009


Author: lkundrak

Update of /cvs/pkgs/rpms/ETL/F-10
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv10144/F-10

Modified Files:
	.cvsignore sources 
Added Files:
	ETL-0.04.12-build.patch ETL.spec 
Log Message:
Import ETL

ETL-0.04.12-build.patch:

--- NEW FILE ETL-0.04.12-build.patch ---
Upstream review:
http://patches.synfig.org/r/12/

* Replace autoconf-generated etl_profile.h with custom one
  - Do not use the HAVE_* autoconf macros so that we don't conflict
  - Include only necessary defines
* Abort if mandatory checks don't pass
* Do not redefine v*printf

Lubomir Rintel <lkundrak at v3.sk>

diff -urp ETL-0.04.12.orig/configure.ac ETL-0.04.12/configure.ac
--- ETL-0.04.12.orig/configure.ac	2008-10-17 17:21:58.000000000 +0200
+++ ETL-0.04.12/configure.ac	2009-01-09 16:00:42.000000000 +0100
@@ -6,7 +6,7 @@ AC_INIT([Extended Template Library],[0.0
 AC_REVISION
 
 AC_CONFIG_AUX_DIR(config)
-AC_CONFIG_HEADERS([ETL/etl_profile_.h])
+AC_CONFIG_HEADERS([config.h])
 AC_CANONICAL_HOST
 AC_CANONICAL_TARGET
 
@@ -44,27 +44,14 @@ AC_WIN32_QUIRKS
 # -- H E A D E R S --------------------------------------------
 
 AH_TOP([
-// We want to be autoconf/autoheader friendly, so 
-// if the developer has already included an
-// autoheader-generated configuration script, 
-// we can assume that the user knew what they
-// were doing and let them use their own config.h.
-//#ifndef PACKAGE_TARNAME
+// This is not used anywhere
 ])
 
-AH_BOTTOM([
-//#endif // ifndef PACKAGE_TARNAME
-])
-
-
 # -- T Y P E S & S T R U C T S --------------------------------
 
 # -- F U N C T I O N S ----------------------------------------
 
 ETL_DEPS
-AC_CHECK_FUNCS([fork])
-AC_CHECK_FUNCS([kill])
-AC_CHECK_FUNCS([pipe])
 
 # -- O U T P U T ----------------------------------------------
 
diff -urp ETL-0.04.12.orig/ETL/clock ETL-0.04.12/ETL/clock
--- ETL-0.04.12.orig/ETL/clock	2007-10-30 11:53:52.000000000 +0100
+++ ETL-0.04.12/ETL/clock	2009-01-09 16:00:42.000000000 +0100
@@ -29,7 +29,7 @@
 
 #include "etl_config.h"
 
-#ifdef HAVE_GETTIMEOFDAY
+#ifdef ETL_HAS_GETTIMEOFDAY
 #include "_clock_gettimeofday.h"
 #ifndef ETL_CLOCK_DEFAULT_DESC_CLASS
 #define ETL_CLOCK_DEFAULT_DESC_CLASS	_ETL::clock_desc_gettimeofday
diff -urp ETL-0.04.12.orig/ETL/Makefile.am ETL-0.04.12/ETL/Makefile.am
--- ETL-0.04.12.orig/ETL/Makefile.am	2008-02-23 12:09:53.000000000 +0100
+++ ETL-0.04.12/ETL/Makefile.am	2009-01-09 16:00:42.000000000 +0100
@@ -2,14 +2,11 @@
 
 MAINTAINERCLEANFILES=Makefile.in
 
-CLEANFILES=$(top_builddir)/ETL/etl_profile.h
+DISTCLEANFILES=$(top_builddir)/ETL/etl_profile.h
 
 etldir = $(includedir)/ETL
 
 etl_HEADERS= value _value.h rect _rect.h misc _misc.h ref_count _ref_count.h angle fastangle handle ipc thread fixed random clock hermite calculus stringf trivial spline _stringf.h _bspline.h _calculus.h _mutex_null.h _hermite.h _curve_func.h _clock_base.h _clock_system.h _clock_gettimeofday.h _random.h _angle.h _fastangle.h _curve.h _handle.h _thread.h _mutex_pthreads.h _mutex_win32.h _condition.h _rwlock.h smach _smach.h _trivial.h _fixed.h etl_config.h $(top_builddir)/ETL/etl_profile.h _fastangle_tables.h bezier _bezier.h _bezier_angle.h _status.h status pen _pen.h boxblur _boxblur.h gaussian _gaussian.h surface _surface.h smart_ptr _smart_ptr.h _clock_win32hpcount.h mutex _mutex_pthreads_simple.h
 
-$(top_builddir)/ETL/etl_profile.h:$(top_builddir)/ETL/etl_profile_.h
-	sed "s/PACKAGE/ETL/g;" < $(top_builddir)/ETL/etl_profile_.h > $(top_builddir)/ETL/etl_profile.h
-
 # FIXME: figure out why this is in SVN, but isn't installed
 EXTRA_DIST=_bit_rotate.h
diff -urp ETL-0.04.12.orig/ETL/mutex ETL-0.04.12/ETL/mutex
--- ETL-0.04.12.orig/ETL/mutex	2008-02-23 12:09:53.000000000 +0100
+++ ETL-0.04.12/ETL/mutex	2009-01-09 16:00:42.000000000 +0100
@@ -29,7 +29,7 @@
 
 #include "etl_config.h"
 
-#ifdef HAVE_LIBPTHREAD
+#ifdef ETL_HAS_LIBPTHREAD
 #  include "_mutex_pthreads_simple.h"
 #else
 #ifdef _WIN32
diff -urp ETL-0.04.12.orig/ETL/_mutex_pthreads.h ETL-0.04.12/ETL/_mutex_pthreads.h
--- ETL-0.04.12.orig/ETL/_mutex_pthreads.h	2007-03-16 01:37:48.000000000 +0100
+++ ETL-0.04.12/ETL/_mutex_pthreads.h	2009-01-09 16:00:42.000000000 +0100
@@ -33,7 +33,7 @@
 
 #include <pthread.h>
 
-#ifdef HAVE_SCHED_H
+#ifdef ETL_HAS_SCHED_H
 # include <sched.h>
 #endif
 
diff -urp ETL-0.04.12.orig/ETL/_stringf.h ETL-0.04.12/ETL/_stringf.h
--- ETL-0.04.12.orig/ETL/_stringf.h	2008-01-25 13:23:29.000000000 +0100
+++ ETL-0.04.12/ETL/_stringf.h	2009-01-09 16:00:42.000000000 +0100
@@ -48,6 +48,13 @@
 #define POPEN_BINARY_WRITE_TYPE "w"
 #endif
 
+#ifdef ETL_HAS__VSNPRINTF
+#ifndef ETL_HAS_VSNPRINTF
+#define vnsprintf _vnsprintf
+#define ETL_HAS_VSNPRINTF 1
+#endif
+#endif
+
 /* === T Y P E D E F S ===================================================== */
 
 _ETL_BEGIN_CDECLS
@@ -58,24 +65,39 @@ _ETL_BEGIN_CDECLS
 #define ETL_NO_THROW throw()
 #endif
 
-#ifdef HAVE_VASPRINTF	// This is the preferred method
+#ifdef __GLIBC__
+// We prefer prototypes from GLIBC, since defining them ourselves
+// works around its security mechanisms
+#define _GNU_SOURCE
+#include <stdio.h>
+#endif
+
+#ifdef ETL_HAS_VASPRINTF	// This is the preferred method
+#ifndef __GLIBC__
  extern int vasprintf(char **,const char *,va_list)ETL_NO_THROW;
+#endif
 #else
 
-# ifdef HAVE_VSNPRINTF	// This is the secondary method
+# ifdef ETL_HAS_VSNPRINTF	// This is the secondary method
+#ifndef __GLIBC__
  extern int vsnprintf(char *,size_t,const char*,va_list)ETL_NO_THROW;
+#endif
 # endif
 
 #endif
 
-#ifdef HAVE_VSSCANF
+#ifdef ETL_HAS_VSSCANF
+#ifndef __GLIBC__
 extern int vsscanf(const char *,const char *,va_list)ETL_NO_THROW;
+#endif
 #else
 #define ETL_NO_VSTRSCANF
-#ifdef HAVE_SSCANF
+#ifdef ETL_HAS_SSCANF
+#ifndef __GLIBC__
 extern int sscanf(const char *buf, const char *format, ...)ETL_NO_THROW;
 #endif
 #endif
+#endif
 
 #include <unistd.h>
 
@@ -88,7 +110,7 @@ _ETL_BEGIN_NAMESPACE
 inline std::string
 vstrprintf(const char *format, va_list args)
 {
-#ifdef HAVE_VASPRINTF	// This is the preferred method (and safest)
+#ifdef ETL_HAS_VASPRINTF	// This is the preferred method (and safest)
 	char *buffer;
 	std::string ret;
 	vasprintf(&buffer,format,args);
@@ -96,7 +118,7 @@ vstrprintf(const char *format, va_list a
 	free(buffer);
 	return ret;
 #else
-#ifdef HAVE_VSNPRINTF	// This is the secondary method (Safe, but bulky)
+#ifdef ETL_HAS_VSNPRINTF	// This is the secondary method (Safe, but bulky)
 #warning etl::vstrprintf() has a maximum size of ETL_STRPRINTF_MAX_LENGTH in this configuration.
 #ifdef ETL_THREAD_SAFE
 	char buffer[ETL_STRPRINTF_MAX_LENGTH];
@@ -145,7 +167,7 @@ strscanf(const std::string &data, const 
 }
 #else
 
-#if defined (HAVE_SSCANF) && defined (__GNUC__)
+#if defined (ETL_HAS_SSCANF) && defined (__GNUC__)
 #define strscanf(data,format,...) sscanf(data.c_str(),format,__VA_ARGS__)
 #endif
 #endif
diff -urp ETL-0.04.12.orig/ETL/_thread.h ETL-0.04.12/ETL/_thread.h
--- ETL-0.04.12.orig/ETL/_thread.h	2007-03-16 01:37:48.000000000 +0100
+++ ETL-0.04.12/ETL/_thread.h	2009-01-09 16:00:42.000000000 +0100
@@ -31,21 +31,21 @@
 
 #define __USE_GNU
 
-#ifdef HAVE_PTHREAD_H
+#ifdef ETL_HAS_PTHREAD_H
 # include <pthread.h>
 #endif
 
-#ifdef HAVE_SCHED_H
+#ifdef ETL_HAS_SCHED_H
 # include <sched.h>
 #endif
 
-#ifdef HAVE_CREATETHREAD
+#ifdef ETL_HAS_CREATETHREAD
 # include <windows.h>
 #endif
 
 /* === M A C R O S ========================================================= */
 
-#if ( defined (HAVE_PTHREAD_CREATE) || defined (HAVE_CLONE) || defined (HAVE_CREATETHREAD) ) && !defined (NO_THREADS)
+#if ( defined (ETL_HAS_PTHREAD_CREATE) || defined (ETL_HAS_CLONE) || defined (ETL_HAS_CREATETHREAD) ) && !defined (NO_THREADS)
 # define CALLISTO_THREADS
 #endif
 
@@ -53,7 +53,7 @@
 
 /* === C L A S S E S & S T R U C T S ======================================= */
 
-#if defined(CALLISTO_THREADS) && defined(HAVE_PTHREAD_CREATE)
+#if defined(CALLISTO_THREADS) && defined(ETL_HAS_PTHREAD_CREATE)
 static inline void Yield(void)
 {
 	sched_yield();
@@ -68,7 +68,7 @@ inline void Yield(void) { }
 
 #ifdef CALLISTO_THREADS
 
-#ifdef HAVE_PTHREAD_CREATE
+#ifdef ETL_HAS_PTHREAD_CREATE
 
 class Thread
 {
@@ -207,7 +207,7 @@ public:
 	}
 };
 
-#ifdef HAVE_PTHREAD_RW_LOCK_INIT
+#ifdef ETL_HAS_PTHREAD_RW_LOCK_INIT
 class ReadWriteLock
 {
 	pthread_rwlock_t rwlock;
@@ -290,8 +290,8 @@ public:
 };
 */
 
-#else // if defined HAVE_PTHREAD
-#ifdef HAVE_CREATETHREAD
+#else // if defined ETL_HAS_PTHREAD
+#ifdef ETL_HAS_CREATETHREAD
 
 
 #ifdef THREAD_ENTRYPOINT
@@ -448,8 +448,8 @@ public:
 };
 
 
-#endif // if defined HAVE_CREATETHREAD
-#endif // if defined HAVE_PTHREAD_CREATE
+#endif // if defined ETL_HAS_CREATETHREAD
+#endif // if defined ETL_HAS_PTHREAD_CREATE
 #endif // if defined CALLISTO_THREADS
 
 
diff -urp ETL-0.04.12.orig/m4/ETL.m4 ETL-0.04.12/m4/ETL.m4
--- ETL-0.04.12.orig/m4/ETL.m4	2007-11-07 12:05:28.000000000 +0100
+++ ETL-0.04.12/m4/ETL.m4	2009-01-09 16:00:42.000000000 +0100
@@ -3,43 +3,71 @@
 # $Id: ETL.m4 1115 2007-11-07 11:05:28Z pabs $
 #
 # By Robert B. Quattlebaum Jr. <darco at users.sf.net>
+# Errors are Lubomir Rintel's <lkundrak at v3.sk> fault
 #
 
+AC_DEFUN([ETL_PROFILE], [
+	etl_profile=$1
+	echo "/* Configuration profile of ETL */" >$etl_profile
+])
+
+AC_DEFUN([ETL_CHECK_HEADER], [
+	etl_header_name=AS_TR_CPP($1)
+	AC_CHECK_HEADER($1,
+		[echo "#define ETL_HAS_$etl_header_name 1" >> $etl_profile],
+		[echo "/* #undef ETL_HAS_$etl_header_name */" >> $etl_profile])
+])
+
+AC_DEFUN([ETL_CHECK_FUNC], [
+	etl_func_name=AS_TR_CPP($1)
+	AC_CHECK_FUNC($1,
+		[echo "#define ETL_HAS_$etl_func_name 1" >> $etl_profile],
+		[echo "/* #undef ETL_HAS_$etl_func_name */" >> $etl_profile])
+])
+
+AC_DEFUN([ETL_CHECK_LIB], [
+	etl_lib_name=AS_TR_CPP($1)
+	AC_CHECK_LIB($1, $2,
+		[echo "#define ETL_HAS_LIB$etl_lib_name 1" >> $etl_profile
+			LIBS="$LIBS -l$1"],
+		[echo "/* #undef ETL_HAS_LIB$etl_lib_name */" >> $etl_profile])
+])
+
 AC_DEFUN([ETL_DEPS],
 [
-	AC_C_BIGENDIAN
-	
-	AC_CHECK_LIB(user32, main)
-	AC_CHECK_LIB(kernel32, main)
-	AC_CHECK_LIB(pthread, main)
-		
-	AC_HEADER_STDC
-	
-	AC_CHECK_HEADERS(pthread.h)
-	AC_CHECK_HEADERS(sched.h)
-	AC_CHECK_HEADERS(sys/times.h)
-	AC_CHECK_HEADERS(sys/time.h)
-	AC_CHECK_HEADERS(unistd.h)
-	AC_CHECK_HEADERS(windows.h)
-	AC_CHECK_FUNCS([pthread_create])
-	AC_CHECK_FUNCS([pthread_rwlock_init])
-	AC_CHECK_FUNCS([pthread_yield])
-	AC_CHECK_FUNCS([sched_yield])
-	AC_CHECK_FUNCS([CreateThread])
-	AC_CHECK_FUNCS([__clone])
-	AC_CHECK_FUNCS([QueryPerformanceCounter])
-	
-	AC_CHECK_FUNCS([gettimeofday])
-	AC_CHECK_FUNCS([sscanf])
-	AC_CHECK_FUNCS([vsscanf])
-	AC_CHECK_FUNCS([vsprintf])
-	AC_CHECK_FUNCS([vasprintf])
-	AC_CHECK_FUNCS([vsnprintf],[],[
-		AC_CHECK_FUNC([_vsnprintf],[
-			AC_DEFINE(vsnprintf,_vsnprintf,[define if the vsnprintf function is mangled])
-			AC_DEFINE(HAVE_VSNPRINTF,1)
-		])
-	])
+	ETL_PROFILE(ETL/etl_profile.h)
+
+	# Common mandatory
+	AC_CHECK_HEADERS(sys/time.h, [],
+		AC_MSG_ERROR([sys/time.h is needed]))
+	AC_CHECK_HEADERS(unistd.h, [],
+		AC_MSG_ERROR([unistd.h is needed]))
+
+	# Mandatory on Windows
+	if echo $host |grep -q win; then
+		AC_CHECK_LIB(user32, main,
+			AC_MSG_ERROR([user32 is needed]))
+		AC_CHECK_LIB(kernel32, main,
+			AC_MSG_ERROR([kernel32 is needed]))
+		AC_CHECK_HEADERS(windows.h,
+			AC_MSG_ERROR([windows.h is needed]))
+		AC_CHECK_FUNCS([QueryPerformanceCounter],
+			AC_MSG_ERROR([QueryPerformanceCounter is needed]))
+	fi
+
+	# Optional
+	ETL_CHECK_HEADER(sched.h)
+	ETL_CHECK_HEADER(pthread.h)
+	ETL_CHECK_LIB(pthread, main)
+	ETL_CHECK_FUNC([pthread_create])
+	ETL_CHECK_FUNC([pthread_rwlock_init])
+	ETL_CHECK_FUNC([CreateThread])
+	ETL_CHECK_FUNC([gettimeofday])
+	ETL_CHECK_FUNC([sscanf])
+	ETL_CHECK_FUNC([vsscanf])
+	ETL_CHECK_FUNC([vasprintf])
+	ETL_CHECK_FUNC([vsnprintf])
+	ETL_CHECK_FUNC([_vsnprintf])
 ])
 
 AC_DEFUN([USING_ETL],
diff -urp ETL-0.04.12.orig/Makefile.am ETL-0.04.12/Makefile.am
--- ETL-0.04.12.orig/Makefile.am	2008-02-03 02:38:12.000000000 +0100
+++ ETL-0.04.12/Makefile.am	2009-01-09 16:00:42.000000000 +0100
@@ -1,6 +1,6 @@
 # $Id: Makefile.am 1558 2008-02-03 01:38:12Z pabs $
 
-MAINTAINERCLEANFILES=COPYING INSTALL config/config.guess config/config.sub config/ltmain.sh config/install-sh config/mkinstalldirs config/aclocal.m4 config/missing config/texinfo.tex config/depcomp aclocal.m4 config.h.in configure stamp-h.in Makefile.in config.log config.status .doc_stamp .DS_Store include/etl_profile.h.in doxygen.cfg
+MAINTAINERCLEANFILES=COPYING INSTALL config/config.guess config/config.sub config/ltmain.sh config/install-sh config/mkinstalldirs config/aclocal.m4 config/missing config/texinfo.tex config/depcomp aclocal.m4 config.h.in configure stamp-h.in Makefile.in config.log config.status .doc_stamp .DS_Store doxygen.cfg
 
 SUBDIRS=ETL test
 
@@ -14,7 +14,7 @@ aclocaldir = $(prefix)/share/aclocal
 
 ACLOCAL_AMFLAGS = -I m4
 
-EXTRA_DIST=COPYING m4/subs.m4 config/depcomp m4/cxx_macros.m4 ETL.pbproj/project.pbxproj ETL.pbproj/etl_profile.h ETL.pbproj/frameworkfix.cpp ETL-config.in m4/ETL.m4 doxygen.cfg.in doxygen.cfg ETL.pc.in
+EXTRA_DIST=COPYING m4/subs.m4 config/depcomp m4/cxx_macros.m4 ETL.pbproj/project.pbxproj ETL.pbproj/frameworkfix.cpp ETL-config.in m4/ETL.m4 doxygen.cfg.in doxygen.cfg ETL.pc.in
 
 CVS=cvs
 SVN=svn


--- NEW FILE ETL.spec ---
%define debug_package %{nil}

Name:           ETL
Version:        0.04.12
Release:        1%{?dist}
Summary:        Extended Template Library

Group:          Development/Libraries
License:        GPLv2+
URL:            http://synfig.org
Source0:        http://downloads.sourceforge.net/synfig/ETL-%{version}.tar.gz
Patch0:         ETL-0.04.12-build.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Buildrequires:  doxygen
Buildrequires:  autoconf automake
Requires:       pkgconfig

%description
Voria ETL is a multi-platform class and template library designed to add
new datatypes and functions which combine well with the existing
types and functions from the C++ Standard Template Library (STL).


%package devel
Summary:        Development files for %{name}
Group:          Development/Libraries

%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.


%prep
%setup -q
%patch0 -p1 -b .build
autoreconf


%build
%configure
make %{?_smp_mflags} all docs


%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p"
touch -r ChangeLog $RPM_BUILD_ROOT%{_bindir}/ETL-config
touch -r ChangeLog $RPM_BUILD_ROOT%{_includedir}/ETL/etl_profile.h


%clean
rm -rf $RPM_BUILD_ROOT


%check
make check


%files devel
%defattr(-,root,root,-)
%doc README COPYING AUTHORS NEWS
%{_includedir}/ETL/
%{_bindir}/ETL-config
%{_libdir}/pkgconfig/ETL.pc


%changelog
* Fri Jan 9 2009 Lubomir Rintel <lkundrak at v3.sk> 0.04.12-1
- New upstream release
- Run regression tests
- Build documentation
- Fix BRs

* Tue May 6 2008 Marc Wiriadisastra <marc at mwiriadi.id.au> - 0.4.11-4
- Removed some requires and buildrequires to clean stuff up.

* Thu May 1 2008 Marc Wiriadisastra <marc at mwiriadi.id.a> - 0.4.11-3
- Added the lines for timestamp consistency

* Fri Mar 7 2008 Marc Wiriadisastra <marc at mwiriadi.id.au> - 0.4.11-2
- Added patch to clean up etl-profile_.in
- renamed package to ETL as requested by ralf

* Thu Mar 6 2008 Marc Wiriadisastra <marc at mwiriadi.id.au> - 0.4.11-1
- Removed patches
- New version

* Sun Feb 3 2008 Marc Wiriadisastra <marc at mwiriadi.id.au> - 0.04-10-3
- Added backported patch adding <cstring>

* Thu Jan 24 2008 Marc Wiriadisastra <marc at mwiriadi.id.au> - 0.04-10-2
- Included Ralfs patch for ETL-config

* Sat Jan 12 2008 Marc Wiriadisastra <marc at mwiriadi.id.au> - 0.04.10-1
- new release


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/ETL/F-10/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore	27 Feb 2009 00:27:13 -0000	1.1
+++ .cvsignore	1 Mar 2009 10:44:40 -0000	1.2
@@ -0,0 +1 @@
+ETL-0.04.12.tar.gz


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/ETL/F-10/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources	27 Feb 2009 00:27:13 -0000	1.1
+++ sources	1 Mar 2009 10:44:40 -0000	1.2
@@ -0,0 +1 @@
+4cd7fb673fa5c77cfa1986aeecdb3ffe  ETL-0.04.12.tar.gz




More information about the fedora-extras-commits mailing list