Blob Blame History Raw
%{!?octave_api:%global octave_api %(octave-config -p API_VERSION || echo 0)}
Name: mathgl
Version: 1.9
Release: 8%{?dist}
Summary: Cross-platform library for making high-quality scientific graphics
Summary(ru): MathGL - это библиотека для осуществления высококачественной визуализации данных
License: GPLv2+
Group: Development/Libraries

#Fix missing default parameter in hdf5 code 
#Patch0: %{name}-io.patch
#Patch to fix parallel build issue (from debian pts)
Patch1: %{name}-png.patch
#Uncomment mathgl dif listing (fix warning) also from pts
Patch2: %{name}-info.patch
#Remove empty libmgl-wx from compilation
Patch3: %{name}-no-mglwx.patch
#Allow autoconf 2.59 to work
Patch4: %{name}-allow-autoconf-2p59.patch
#disable texi2html (which crashes, newer texinfo (at least F10+) is OK)
Patch5: %{name}-notexinfo.patch

BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

# mandatory packages
BuildRequires: gsl-devel libpng-devel libtool-ltdl-devel libtool 
#BuildRequires: swig 

# optional packages
BuildRequires: freeglut-devel hdf5-devel libjpeg-devel libtiff-devel fltk-devel qt4-devel
BuildRequires: wxGTK-devel giflib-devel octave-devel

#For autoreconf (required for patch1, libtool)
BuildRequires:	autoconf
BuildRequires:	automake
BuildRequires:	libtool

Requires(post): info
Requires(preun): info

Requires: octave(api) = %{octave_api}

Mathgl is a cross-platform library for making high-quality scientific
graphics. It provides fast data plotting and handling of large data
arrays, as well as  window and console modes and for easy embedding
into other programs. Mathgl integrates into fltk, qt and
opengl applications

%package devel
Summary: Libraries and header files for %{name} library
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}

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

%description devel -l ru
Пакет %{name}-devel содержит библиотеки и файлы заголовков необходимые 
для разработки приложений с использованием %{name}.

#Doc package disabled pedning texi2html update to non-crashing version
#%package doc
#Group:		Documentation
#Summary:	HTML documentation and tutorial for the %{name} applications
#BuildArch:	noarch
#BuildRequires:	texi2html texinfo-tex	
#%description doc
#This package contains the documentation in the HTML format of the %{name}

%setup -q

#convert EOL encodings, maintaining timestames
for file in AUTHORS ChangeLog.txt README COPYRIGHT; do
	sed 's/\r//' $file > $ && \
	touch -r $file $ && \
	mv $ $file


#EPEL specific patches



%configure	--disable-static \
		--enable-shared \
		--enable-all --disable-rpath --with-qt=%{_libdir}/qt4/

#Force strip rpath
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`/widgets/.libs/:`pwd`/mgl/.libs

make %{?_smp_mflags} 

make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p"

#Trash the .la files that get generated anyway (faulty configure? Doesn't appear up without --disable-ltdtl-install)
rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la

#OCTAVE IS DISABLED pending EPEL SWIG support (eg 1.3.39)

##Fix up octave .oct file install
#mkdir -p temp-octave
#pushd .
#cd temp-octave
##Decompress tarballed "oct" file and remove tarball
#tar -zxf $RPM_BUILD_ROOT/%{_datadir}/%{name}/octave/%{name}.tar.gz
#rm $RPM_BUILD_ROOT/%{_datadir}/%{name}/octave/%{name}.tar.gz
##Copy the .oct file and supporting files to octave packages dir
#mkdir -p $RPM_BUILD_ROOT/%{_prefix}/libexec/octave/packages/%{name}-1.9.0/
##Remove empty INDEX file
#rm %{name}/INDEX
##We cannot use version macro with octave package search,
## as pkg.m assumes a x.y.z format for packages. Failing
## to do this renders the plugin inoperable
#cp -pR %{name}/inst/* $RPM_BUILD_ROOT/%{_prefix}/libexec/octave/packages/%{name}-1.9.0/
##packinfo dir is required, or octave will not find the dir in recursive search
#mkdir -p $RPM_BUILD_ROOT/%{_datadir}/octave/packages/%{name}-1.9.0/packinfo
#cp -p %{name}/[A-Z]* $RPM_BUILD_ROOT/%{_datadir}/octave/packages/%{name}-1.9.0/packinfo

#DOCS disabled pending texinfo update
#pushd .
##Lets build a "docs" dir to maintain the dir relationships needed for html files
#mkdir -p  texinfo/docs
#cd texinfo/docs/
#cp -pr ../mathgl.html .
#cp -pr ../png_static .
#cp -pr ../png/ .
##remove zero length faux PNG file
#rm -f png/all.png

#remove installed docs, which we are installing via doc macro
rm -rf $RPM_BUILD_ROOT/%{_docdir}/%{name}

#remove misplaced info "dir" file
rm -f $RPM_BUILD_ROOT/%{_infodir}/dir

/sbin/install-info %{_infodir}/%{name}.info %{_infodir}/dir || :
octave -q -H --no-site-file --eval "pkg('rebuild');"

if [ $1 = 0 ] ; then
	/sbin/install-info --delete %{_infodir}/%{name}.info %{_infodir}/dir || :

octave -q -H --no-site-file --eval "pkg('rebuild');"



%files devel

#%files doc
#%doc texinfo/docs/*
* Mon Oct 12 2009 <mycae(a!t)> 1.9-8
- Fixed x86_64 QT paths

* Mon Oct 12 2009 <mycae(a!t)> 1.9-7
- Fixed EPEL 5 build by disabling octave (swig too old) and texi generation

* Mon Sep 14 2009 <mycae(a!t)> 1.9-6
- Add COPYING to doc

* Sat Sep 12 2009 <mycae(a!t)> 1.9-5
- Removed the word "static" from devel description, as doesn't have static
- Fonts now owned at datadir/name level

* Sat Aug 15 2009 <mycae(a!t)> 1.9-4
- Fix octave installation method
- Remove wx lib, which doesn't have meaningful code.

* Sun Aug 02 2009  <mycae(a!t)> 1.9-3
- Fix texinfo install (mv to main & add pre/post)
- Remove chrpath, as we now autoreconf
- Add octave pkg rebuild commands

* Tue Jul 21 2009  <mycae(a!t)> 1.9-2 
- Fix rpath for build on x86_64. 
- remove unrecognized configure options: --enable-tiff, --disable-ltdl-install
- Switch to --enable-all --enable-octave
- Add hdf5 patch
- Add doc subpackage

* Thu Jul 09 2009 <mycae(a!t)> 1.9-1
- Update to 1.9
- Drop explicit Requires
- Perserve timestamps on EOL conversion
- Added patch to disable unused gsl cblas link

* Fri May 02 2009 <mycae(a!t)> 1.8.1-1
- Update to 1.8.1

* Wed Jan 28 2009 <mycae(a!t)> 1.8-3
- Ensure timestamps are preserved during make install
- Modify defattr
- Remove UDAV from package summary

* Mon Dec 29 2008 <mycae(a!t)> 1.8-2
- Remove redundant and erroneous licence field in devel section
- Fix files from mgl/*h to mgl/
- Removed Requires, per bugzilla recommendation.
- Disabled static library generation
- Removed libltdl from build 
- Added libtool-ltdl as BuildRequires

* Mon Dec 29 2008 <mycae(a!t)> 1.8-1
- Updated to version 1.8
- Added QT env. vars for fedora
- Cleaned up description
- Change licence field from GPL to GPLv2

* Wed Jun 4 2008 Nik <> 
- disabled hdf5 support according to developer request

* Tue Jun 3 2008 Nik <> 
- updated to version 1.7.1

* Sun Jun 2 2008 Nik <> 
- updated to version 1.7

* Sat Apr 5 2008 Nik <> 
- updated to version 1.6.2

* Thu Mar 13 2008 Nik <>
- updated to version 1.6
- added fltk(-devel) to requres list

* Tue Mar 11 2008 Nik <>
- tiff bug fixed
- enable-all option added

* Sat Mar 1 2008 Nik <>
- spec cleanup
- --enable(jpeg, tiff, hdf5) features added
- enable-tiff leads to make error, submitted to author. Feature disabled.

* Fri Feb 29 2008 Nik <>
- initial build of version 1.5