diff --git a/gsl-wrap.diff b/gsl-wrap.diff new file mode 100644 index 0000000..0b92bf9 --- /dev/null +++ b/gsl-wrap.diff @@ -0,0 +1,66 @@ +Index: gsl-1.9/sort/Makefile.am +=================================================================== +--- gsl-1.9.orig/sort/Makefile.am ++++ gsl-1.9/sort/Makefile.am +@@ -10,7 +10,9 @@ noinst_HEADERS = sortvec_source.c sortve + TESTS = $(check_PROGRAMS) + + check_PROGRAMS = test + ++#test_source.lo_CFLAGS = -fwrapv ++ + test_SOURCES = test.c + test_LDADD = libgslsort.la ../permutation/libgslpermutation.la ../vector/libgslvector.la ../block/libgslblock.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la + +Index: gsl-1.9/Makefile.in +=================================================================== +--- gsl-1.9.orig/Makefile.in ++++ gsl-1.9/Makefile.in +@@ -106,15 +106,15 @@ SCRIPTS = $(bin_SCRIPTS) + DEFAULT_INCLUDES = -I. -I$(srcdir) -I. + depcomp = + am__depfiles_maybe = + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ +- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) ++ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(CFLAGS_$@) $(EXTRA_CFLAGS) + LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ +- $(AM_CFLAGS) $(CFLAGS) ++ $(AM_CFLAGS) $(CFLAGS) $(CFLAGS_$@) $(EXTRA_CFLAGS) + CCLD = $(CC) + LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ +- $(AM_LDFLAGS) $(LDFLAGS) -o $@ ++ $(AM_LDFLAGS) $(LDFLAGS) $(LDFLAGS_$@) -o $@ + SOURCES = $(libgsl_la_SOURCES) $(gsl_histogram_SOURCES) \ + $(gsl_randist_SOURCES) + DIST_SOURCES = $(libgsl_la_SOURCES) $(gsl_histogram_SOURCES) \ + $(gsl_randist_SOURCES) +Index: gsl-1.9/sort/test_source.c +=================================================================== +--- gsl-1.9.orig/sort/test_source.c ++++ gsl-1.9/sort/test_source.c +@@ -158,18 +158,19 @@ TYPE (test_sort_vector) (size_t N, size_ + void + FUNCTION (my, initialize) (TYPE (gsl_vector) * v) + { + size_t i; +- ATOMIC k = 0, kk; ++ ATOMIC maxk = 0; + + /* Must be sorted initially */ + + for (i = 0; i < v->size; i++) + { +- kk = k; +- k++; +- if (k < kk) /* prevent overflow */ +- k = kk; ++ ATOMIC k = i; ++ if (k < maxk) /* prevent wrap around */ ++ k = maxk; ++ else ++ maxk = k; + FUNCTION (gsl_vector, set) (v, i, k); + } + } + diff --git a/gsl.changes b/gsl.changes index aa3f497..4abbdbc 100644 --- a/gsl.changes +++ b/gsl.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Wed Nov 7 11:29:55 CET 2007 - garloff@suse.de + +- disable -fstack-protector (we don't want it for HPC code) +- avoid wrapping assumption sort testcase (gcc-4.3 fix) +- move make check to %check section +- require gsl = %{version} from -devel package +- call install-info in -devel %post/%postun +- add note on license + ------------------------------------------------------------------- Mon Apr 16 16:26:33 CEST 2007 - dmueller@suse.de diff --git a/gsl.spec b/gsl.spec index 7868310..c645bd7 100644 --- a/gsl.spec +++ b/gsl.spec @@ -13,16 +13,21 @@ Name: gsl BuildRequires: blas latex2html Version: 1.9 -Release: 6 -License: GNU General Public License (GPL) +Release: 77 +License: GPL v2 or later +# NOTE: The package is used (within the distro) by snd, yacas, perl-PDL, +# Labplot and kst. The latter two are KDE4 apps which are GPLv2only due +# to libqt4 being v2only. Thus we can not move to gsl-1.10 for now which +# is GPL v3 or later. Group: Development/Libraries/C and C++ #Provides: -Autoreqprov: on +AutoReqProv: on Summary: GNU Scientific Library Source: ftp://ftp.gnu.org/pub/gnu/gsl/gsl-%{version}.tar.bz2 Patch: gsl-1.6-initvars.diff Patch3: gsl-1.6-deps.dif -URL: http://www.gnu.org/software/gsl/ +Patch5: gsl-wrap.diff +Url: http://www.gnu.org/software/gsl/ Prefix: /usr BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -62,7 +67,8 @@ Authors: %package devel Summary: GNU Scientific Library - development files Group: Development/Libraries/C and C++ -Requires: gsl glibc-devel +Requires: gsl = %{version} glibc-devel +PreReq: %{install_info_prereq} %description devel This package contains the headers, static libraries and some @@ -104,9 +110,11 @@ Authors: %setup %patch -p1 %patch3 -p0 +%patch5 -p1 autoreconf -fi %build +RPM_OPT_FLAGS=`echo "$RPM_OPT_FLAGS" | sed 's/-fstack-protector//'` %ifarch i386 i486 i586 i686 x86_64 # We could add -msse2 -mpfmath=sse here ... CFLAGS="$RPM_OPT_FLAGS -O3 -finline-limit=720 --param max-inline-insns-auto=160 -funroll-loops -fno-strict-aliasing -funit-at-a-time -ftree-vectorize -momit-leaf-frame-pointer" \ @@ -118,7 +126,7 @@ CFLAGS="$RPM_OPT_FLAGS -O3 -finline-limit=720 --param max-inline-insns-auto=160 --prefix=/usr --mandir=%{_mandir} --infodir=%{_infodir} --libdir=%{_libdir} %endif make %{?jobs:-j%jobs} -make check +#make check # latex2html (dvips) is braindead in its rejection of '.' in a dir name cd .. mv %{name}-%{version} %{name} @@ -127,6 +135,9 @@ texi2html -l2h -menu -split_chapter -glossary gsl-ref.texi cd ../.. mv %{name} %{name}-%{version} +%check +make check + %install make install DESTDIR=$RPM_BUILD_ROOT @@ -141,7 +152,7 @@ make install DESTDIR=$RPM_BUILD_ROOT /usr/bin/gsl-randist %doc %{_mandir}/man1/gsl-histogram.1.gz %doc %{_mandir}/man1/gsl-randist.1.gz -%doc AUTHORS BUGS COPYING ChangeLog INSTALL NEWS README THANKS TODO +%doc AUTHORS BUGS COPYING ChangeLog NEWS README THANKS TODO %files devel %defattr(-,root,root) @@ -157,11 +168,23 @@ make install DESTDIR=$RPM_BUILD_ROOT %doc %{_mandir}/man1/gsl-config.1.gz %doc %{_mandir}/man3/gsl.3.gz +%post devel +%install_info --info-dir=%{_infodir} %{_infodir}/gsl-ref.info.gz + +%postun devel +%install_info_delete --info-dir=%{_infodir} %{_infodir}/gsl-ref.info.gz + %clean rm -rf $RPM_BUILD_ROOT rm -rf $RPM_BUILD_DIR/gsl-%{version} - %changelog +* Wed Nov 07 2007 - garloff@suse.de +- disable -fstack-protector (we don't want it for HPC code) +- avoid wrapping assumption sort testcase (gcc-4.3 fix) +- move make check to %%check section +- require gsl = %%{version} from -devel package +- call install-info in -devel %%post/%%postun +- add note on license * Mon Apr 16 2007 - dmueller@suse.de - run autoreconf - fix devel package requires