Blob Blame History Raw
Name:           perl-PDL
Version:        2.4.3
Release:        12%{?dist}
Summary:        The Perl Data Language

Group:          Development/Libraries
License:        GPL+ or Artistic
Url:            http://search.cpan.org/dist/PDL/
Source0:        http://www.cpan.org/authors/id/C/CS/CSOE/PDL-%{version}.tar.gz
Patch0:         perl-PDL-settings.patch
Patch1:         perl-PDL-2.4.2-fix_ia64_sdump.patch
Patch2:         perl-PDL-2.4.3-cleanup.patch
Patch3:         perl-PDL-2.4.3-test.patch
Patch4:         perl-PDL-2.4.3-x86_64.patch
Patch5:         perl-PDL-2.4.3-hdf.patch
Patch6:         perl-PDL-2.4.3-Xext.patch
Patch7:         perl-PDL-2.4.3-fortran.patch
Patch8:	        perl-PDL-2.4.3-test_hdf.patch
Patch9:	        perl-PDL-2.4.3-gsl.patch
Patch10:        PDL-2.4.3-perl510.patch
Patch11:        perl-PDL-2.4.3-noDISPLAY.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildRequires:  perl >= 1:5.6.1
BuildRequires:  perl(ExtUtils::F77)
BuildRequires:  perl(Inline)
BuildRequires:  perl(Test::More)
BuildRequires:  fftw2-devel
BuildRequires:  gcc-gfortran
BuildRequires:  gd-devel
BuildRequires:  gsl-devel
BuildRequires:  hdf-devel
BuildRequires:  libGLU-devel
BuildRequires:  plplot-devel
BuildRequires:  proj-devel
BuildRequires:  ncurses-devel
BuildRequires:  sharutils
Requires:  perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
Provides:       perl(PDL::Config) perl(PDL::PP::CType) perl(PDL::PP::Dims)
Provides:       perl(PDL::PP::PDLCode) perl(PDL::PP::SymTab) perl(PDL::PP::XS)
Provides:       perl(PGPLOT) perl(PDL::LiteF) perl(PDL::Lite)
Provides:       perl(PDL::Graphics::TriD::GL) perl(PDL::Graphics::TriD::Objects)

%{?!DEBUG:      %define DEBUG 0}

%description
PDL ("Perl Data Language") gives standard Perl the ability to
compactly store and speedily manipulate the large N-dimensional data
arrays which are the bread and butter of scientific computing.  PDL
turns perl into a free, array-oriented, numerical language similar to
such commercial packages as IDL and MatLab.


%prep
%setup -q -n PDL-%{version} 
%patch0 -p1 -b .settings
%patch1 -p1
%patch2 -p1 -b .cleanup
%patch3 -p1 -b .test
%patch4 -p1 -b .x86_64
%patch5 -p1 -b .hdf
%patch6 -p1 -b .Xext
%patch7 -p1 -b .fortran
%patch8 -p1 -b .patch_hdf
%patch9 -p1 -b .gsl
%patch10 -p1 -b .perl510
%patch11 -p1 -b .noDISPLAY

# Provides: explicitly filter perl(Inline)
cat <<__EOF__ > %{name}-findperlprovides
#!/bin/sh
%{__perl_provides} \$* | grep -v 'perl(Inline)'
__EOF__
%define __perl_provides %{_builddir}/PDL-%{version}/%{name}-findperlprovides
chmod +x %{__perl_provides}

# Requires: explicitly filter perl(Tk)
cat <<__EOF__ > %{name}-findperlrequires
#!/bin/sh
%{__perl_requires} \$* | grep -v 'perl(Tk)' | grep -v 'perl(Win32::DDE::Client)'
__EOF__
%define __perl_requires %{_builddir}/PDL-%{version}/%{name}-findperlrequires
chmod +x %{__perl_requires}

%if %{DEBUG}
%define debug_package %{nil}
%endif

%build
export PERL5LIB=`pwd`/blib/lib:`pwd`/blib/arch:
#^- can no longer build if perl-PDL is not installed without above
#
%if %{DEBUG}
CFLAGS=`echo "$RPM_OPT_FLAGS -Wno-unused" | sed 's/-O2 -g/-g3 -gdwarf-2/'`
%else
CFLAGS="$RPM_OPT_FLAGS -Wno-unused"
%endif
%ifarch ppc ppc64 s390 s390x
CFLAGS="$CFLAGS -fsigned-char"
%endif
CFLAGS="$CFLAGS -DNCURSES"
CFLAGS="$CFLAGS" %{__perl} Makefile.PL INSTALLDIRS=vendor OPTIMIZE="$CFLAGS"
make OPTIMIZE="$CFLAGS"
# smp flags blows up spectacularly (2.4.1-10 May 7th 2005)

%install
rm -rf $RPM_BUILD_ROOT
make pure_install PERL_INSTALL_ROOT=$RPM_BUILD_ROOT
%{__perl} -Mblib Doc/scantree.pl $RPM_BUILD_ROOT%{perl_vendorarch}
%{__perl} -pi -e "s|$RPM_BUILD_ROOT/|/|g" \
  $RPM_BUILD_ROOT%{perl_vendorarch}/PDL/pdldoc.db
find $RPM_BUILD_ROOT%{perl_vendorarch} -type f -name "*.pm" | xargs chmod -x
find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} ';'
find $RPM_BUILD_ROOT -type f -name '*.bs' -empty -exec rm -f {} ';'
find $RPM_BUILD_ROOT -type d -depth -exec rmdir {} 2>/dev/null ';'
chmod -R u+w $RPM_BUILD_ROOT/*

for file in $RPM_BUILD_ROOT%{_mandir}/man3/PDL::Func.3pm $RPM_BUILD_ROOT%{_mandir}/man3/PDL::Complex.3pm; do
  iconv -f iso-8859-1 -t utf-8 < "$file" > "${file}_"
  mv -f "${file}_" "$file"
done

%if %{DEBUG}
/usr/lib/rpm/brp-compress
exit 0
%endif

%check
unset DISPLAY
export PERL5LIB=`pwd`/blib/lib
 set PERL_DL_NONLAZY=0
#   The default behavior causes some problems because opengl.pd builds an interface for all functions
#   defined in gl.h and glu.h even though they might not actually be in the opengl libraries.
sed -i 's|PERL_DL_NONLAZY=1 $(FULLPERLRUN)|PERL_DL_NONLAZY=0 $(FULLPERLRUN)|g' Graphics/TriD/OpenGL/Makefile
make test

%clean
rm -rf $RPM_BUILD_ROOT


%files
%defattr(-,root,root,-)
%doc COPYING BUGS Changes Known_problems Release_Notes README
%{_bindir}/*
%{perl_vendorarch}/Inline/*
%{perl_vendorarch}/PDL*
%{perl_vendorarch}/auto/PDL/
%{_mandir}/man1/*.1*
%{_mandir}/man3/*.3*


%changelog
* Mon Mar 10 2008 Marcela Maslanova <mmaslano@redhat.com> - 2.4.3-12
- PERL_DL_NONLAZY=0 was uncommented in check part of spec.

* Sat Mar 08 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 2.4.3-11
- PERL_DL_NONLAZY=0 for all the GL tests
- don't run GL tests if DISPLAY is unset

* Sat Mar 08 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 2.4.3-9
- patch to fix build against perl 5.10, get useful random numbers

* Thu Mar 06 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 2.4.3-8
- Rebuild for new perl

* Tue Mar 04 2008 Orion Poplawski <orion@cora.nwra.com> - 2.4.3-7
- Add patch to build GSL support with GSL 1.10
- unset DISPLAY in %%check for mock builds

* Tue Feb 26 2008 Marcela Maslanova <mmaslano@redhat.com> - 2.4.3-6
- remove two of hdf test for some time, because can't be build

* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 2.4.3-5
- Autorebuild for GCC 4.3

* Wed Aug 15 2007 Robin Norwood <rnorwood@redhat.com> - 2.4-3-4
- Updated perl-PDL-2.4.3-test.patch from Orion to fix ppc and ppc64
- Fixed license string
- Fixed old changelog version number

* Fri Aug 10 2007 Robin Norwood <rnorwood@redhat.com> - 2.4.3-3
- More changes from Orion Poplawski
- BuildRequires and patch for fortran/f77 support
- Added Provides: perl(PDL::Graphics::TriD::Object
- Filter perl(Win32::DDE::Client) from Requires

* Mon Aug 06 2007 Robin Norwood <rnorwood@redhat.com> - 2.4.3-2
- Apply changes from package review
- untabify spec file
- Add various files to %%doc
- turn on 3D/GL
- turn on IO Browser
- add a bunch of BRs to enable more modules
- remove unneeded Provides
- perl-PDL-2.4.3-hdf.patch to look for hdf devel files in the right place
- perl-PDL-2.4.3-test.patch to fix some tests
- perl-PDL-2.4.3-x86_64.patch to find 64bit libraries for some modules
- perl-PDL-2.4.3-Xext.patch to remove -lXext from GL linking options

* Sat Dec 02 2006 Robin Norwood <rnorwood@redhat.com> - 2.4.3-1
- Latest version from CPAN: 2.4.3

* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 2.4.2-4.fc5.1
- rebuild

* Fri Mar 10 2006 Jason Vas Dias <jvdias@redhat.com> - 2.4.2-4
- Further code cleanup & CFLAGS settings required to enable tests 
  to succeed on all platforms

* Thu Mar 09 2006 Jason Vas Dias <jvdias@redhat.com> - 2.4.2-4
- Enable tests to succeed on ia64 (remove casts from int to * !)

* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 2.4.2-2.fc5.1.2.2
- bump again for double-long bug on ppc(64)

* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 2.4.2-2.fc5.1.2.1
- rebuilt for new gcc4.1 snapshot and glibc changes

* Fri Feb 03 2006 Jason Vas Dias <jvdias@redhat.com> - 2.4.2-2.fc5.1.2
- rebuild for new perl-5.8.8
- enable build to succeed without perl-PDL being installed :-)

* Fri Dec 16 2005 Jesse Keating <jkeating@redhat.com>
- rebuilt for new gcc

* Fri Dec 16 2005 Jesse Keating <jkeating@redhat.com>
- rebuilt for new gcj

* Sun Sep 25 2005 Warren Togami <wtogami@redhat.com> - 2.4.2-2
- Ship pdldoc.db, tune build dependencies and file permissions (#163219 scop)

* Fri May 27 2005 Warren Togami <wtogami@redhat.com> - 2.4.2-1
- 2.4.2
- filter perl(Inline) from provides (#158733)

* Wed May 11 2005 Jose Pedro Oliveira <jpo at di.uminho.pt> - 2.4.1-11
- Add missing perl(PDL::Graphics::TriD*) provides. (#156482)
- Explicitly filter perl(Tk). (#156482)

* Sat Apr 30 2005 Jose Pedro Oliveira <jpo at di.uminho.pt> - 2.4.1-10
- Bring up to date with current Fedora.Extras perl spec template. (#156482)
- disable SMP flags so it actually builds

* Sat Dec 18 2004 Miloslav Trmac <mitr@redhat.com> - 2.4.1-9
- Rebuild with fixed gsl-devel (#142695)

* Sun Dec 12 2004 Miloslav Trmac <mitr@redhat.com> - 2.4.1-8
- Fix more bugs on 64-bit platforms
- BuildRequires: gsl-devel

* Sun Dec 12 2004 Miloslav Trmac <mitr@redhat.com> - 2.4.1-7
- Fix rangeb on 64-bit platforms (I hope) (#141413)

* Thu Nov 25 2004 Miloslav Trmac <mitr@redhat.com> - 2.4.1-6
- Convert man page to UTF-8

* Tue Jun 15 2004 Elliot Lee <sopwith@redhat.com>
- rebuilt

* Tue Mar 02 2004 Elliot Lee <sopwith@redhat.com>
- rebuilt

* Fri Feb 13 2004 Chip Turner <cturner@redhat.com> 2.4.1-1
- update to 2.4.1

* Mon Jun 16 2003 Chip Turner <cturner@redhat.com> 2.4.0-2
- move to 2.4.0, integrate dependency fixes from other tree

* Wed Jan 29 2003 Chip Turner <cturner@redhat.com>
- bump

* Mon Jan 27 2003 Chip Turner <cturner@redhat.com>
- version bump and rebuild

* Wed Nov 20 2002 Chip Turner <cturner@redhat.com>
- move to 2.3.4

* Tue Aug  6 2002 Chip Turner <cturner@redhat.com>
- automated release bump and build

* Tue Jul 16 2002 Chip Turner <cturner@redhat.com>
- updated %%description

* Thu Jun 27 2002 Chip Turner <cturner@redhat.com>
- description update

* Fri Jun 07 2002 cturner@redhat.com
- Specfile autogenerated