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

Group:          Development/Libraries
License:        GPL+ or Artistic
Url:            http://pdl.perl.org/
Source0:        http://search.cpan.org/CPAN/authors/id/C/CH/CHM/PDL-%{version}.tar.gz
Patch0:         perl-PDL-settings.patch
Patch1:         perl-PDL-2.4.7-hdf.patch
Patch2:         perl-PDL-2.4.4-Xext.patch
BuildRoot:      %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)

BuildRequires:  perl(ExtUtils::F77)
BuildRequires:  perl(Inline)
BuildRequires:  perl(OpenGL)
BuildRequires:  perl(Test::More)
BuildRequires:  perl(version)
BuildRequires:  fftw2-devel
BuildRequires:  gcc-gfortran
BuildRequires:  gd-devel
BuildRequires:  gsl-devel
BuildRequires:  hdf-static hdf-devel
BuildRequires:  freeglut-devel libXmu-devel libXi-devel
BuildRequires:  proj-devel
BuildRequires:  proj-nad
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) perl(PDL::Graphics::TriD::GL) 
Provides:       perl(PDL::Graphics::TriD::Objects) perl(PDL::Graphics::TriD::Contours)
Provides:       perl(PDL::Graphics::TriD::Image) perl(PDL::Graphics::TriD::Tk)

%{!?DEBUG:      %define DEBUG 0}
%if %{DEBUG}
%define debug_package %{nil}
%endif

%{?filter_setup:
%filter_from_requires /^perl(\(Tk\|Win32::DDE::Client\))$/d
%filter_from_provides /^perl(Inline)$/d
%?perl_default_filter
}

%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 -b .hdf
%patch2 -p1 -b .Xext

for file in Lib/Func.pm Basic/Complex/complex.pd; do
  iconv -f iso-8859-1 -t utf-8 < "$file" > "${file}_" &&
    mv -f "${file}_" "$file"
done

%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
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/*

%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/POGL/Makefile
# ^ hopefully fixed in last release
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
* Fri Dec 3 2010 Orion Poplawki <orion@cora.nwra.com> 2.4.7-1.1
- Drop Devel::REPL support until it is in EPEL 6

* Thu Oct 14 2010 Marcela Mašláňová <mmaslano@redhat.com> 2.4.7-1
- update to 2.4.7
- add new provides PDL::Graphics::TriD*
- add BR perl(version)
- remove patches included in new version

* Sat Jun 05 2010 Iain Arnell <iarnell@gmail.com> 2.4.6-4
- restore the manual provides

* Fri Jun  4 2010 Petr Pisar <ppisar@redhat.com> - 2.4.6-3
- Move PERL_DL_NONLAZY=0 setting from OpenGL to POGL

* Tue May 04 2010 Marcela Maslanova <mmaslano@redhat.com> - 2.4.6-2
- Mass rebuild with perl-5.12.0

* Wed Jan  6 2010 Stepan Kasal <skasal@redhat.com> - 2.4.6-1
- new upstream version
- add BuildRequires: perl(OpenGL) freeglut-devel libXmu-devel libXi-devel
- use better BuildRoot
- use filtering macros
- update patches settings and x86_64
- move the charset conversion before the build

* Tue Dec  8 2009 Michael Schwendt <mschwendt@fedoraproject.org> - 2.4.4_05-7
- Explicitly BR hdf-static in accordance with the Packaging
  Guidelines (hdf-devel is still static-only).

* Mon Dec  7 2009 Stepan Kasal <skasal@redhat.com> - 2.4.4_05-6
- rebuild against perl 5.10.1

* Thu Sep 10 2009 Orion Poplawski <orion@cora.nwra.com> - 2.4.4_05-5
- Remove PDL::Graphics::PLplot to make way for separate package

* Wed Sep 9 2009 Orion Poplawski <orion@cora.nwra.com> - 2.4.4_05-4
- No, we really need to strip out the PLplot version so it can load

* Wed Sep 9 2009 Orion Poplawski <orion@cora.nwra.com> - 2.4.4_05-3
- Don't strip out PLplot version so that plplot can detect it

* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4.4_05-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Wed Jul 15 2009 Orion Poplawski <orion@cora.nwra.com> - 2.4.4_05-1
- Update to 2.4.4_05 and PDL-Graphics-PLplot-0.50
- Drop test patch, no longer needed

* Tue Feb 24 2009 Marcela Mašláňová <mmaslano@redhat.com> - 2.4.4-3
- rebuild

* Thu Jan 1 2009 Orion Poplawski <orion@cora.nwra.com> - 2.4.4-2
- Use PDL-Graphics-PLplot-0.47 to support latest plplot

* Sat Nov 29 2008 Orion Poplawski <orion@cora.nwra.com> - 2.4.4-1
- Update to 2.4.4
- New source URL
- Update cleanup, test, x86_64, and Xext patches for 2.4.4
- Drop gsl, perl510, noDISPLAY and missingfnc patches fixed upstream
- Add BR proj-nad needed for tests
- Add patch to fix plplot test with latest plplot

* Wed Oct  1 2008 Marcela Mašláňová <mmaslano@redhat.com> - 2.4.3-15
- rebuilt for F-10

* Thu Sep 18 2008 Marcela Maslanova <mmaslano@redhat.com> - 2.4.3-14
- 461803 Missing Functions from PDL::Graphics::PLplot

* Thu Sep 04 2008 Orion Poplawski <orion@cora.nwra.com> - 2.4.3-13
- Add patch to add plparseopts function
- Update URL

* 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