%{!?octave_api:%global octave_api %(octave-config -p API_VERSION || echo 0)} Name: mathgl Version: 1.11.0.1 Release: 2%{?dist} Summary: Cross-platform library for making high-quality scientific graphics Summary(ru): MathGL - это библиотека для осуществления высококачественной визуализации данных License: GPLv2+ Group: Development/Libraries Url: http://mathgl.sourceforge.net Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tgz #Uncomment mathgl dif listing (fix warning) also from pts Patch0: %{name}-info.patch #Datatype conversion (int->int32) on x86 in hdf4 read func Patch1: %{name}-hdf4-datatype.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 hdf-devel hdf5-devel libjpeg-devel libtiff-devel fltk-devel qt4-devel BuildRequires: wxGTK-devel giflib-devel octave-devel #For autoreconf (required for patches, libtool) BuildRequires: autoconf BuildRequires: automake BuildRequires: libtool Requires(post): info Requires(preun): info Requires: octave(api) = %{octave_api} %description 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} Requires: gsl-devel %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %description devel -l ru Пакет %{name}-devel содержит библиотеки и файлы заголовков необходимые для разработки приложений с использованием %{name}. %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} package. %prep %setup -q #convert EOL encodings, maintaining timestames for file in AUTHORS ChangeLog.txt README COPYRIGHT; do sed 's/\r//' $file > $file.new && \ touch -r $file $file.new && \ mv $file.new $file done %patch0 %patch1 %build #configure looks for * not *-qt4 QMAKE=/usr/bin/qmake-qt4 LUPDATE=/usr/bin/lupdate-qt4 LRELEASE=/usr/bin/lrelease-qt4 export LDFLAGS="-L/usr/lib64/hdf/ -L/usr/lib/hdf" %configure --disable-static \ --enable-shared \ --enable-all --enable-octave --disable-rpath #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} %install rm -rf $RPM_BUILD_ROOT 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 #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.10.1/ #Remove empty INDEX file rm %{name}/INDEX #Fix PKG_ADD echo "pkg load mathgl" > %{name}/PKG_ADD echo "mathgl;" >> %{name}/PKG_ADD #fix wrong version number in description sed -i 's/1.9/1.11.0.1/' %{name}/DESCRIPTION #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.11.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.11.0/packinfo cp -p %{name}/[A-Z]* $RPM_BUILD_ROOT/%{_datadir}/octave/packages/%{name}-1.11.0/packinfo popd 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_en.html . cp -pr ../png/ . #remove zero length faux PNG file rm -f png/all.png popd #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 pushd $RPM_BUILD_ROOT/%{_infodir} #move to _en info files for i in mathgl_en.info*; do mv $i `echo $i | sed s/mathgl_en/mathgl/` done rm mgl_*.info* popd %post /sbin/ldconfig /sbin/install-info %{_infodir}/%{name}.info %{_infodir}/dir || : octave -q -H --no-site-file --eval "pkg('rebuild');" %preun if [ $1 = 0 ] ; then /sbin/install-info --delete %{_infodir}/%{name}.info %{_infodir}/dir || : fi %postun /sbin/ldconfig octave -q -H --no-site-file --eval "pkg('rebuild');" %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %doc AUTHORS ChangeLog.txt README COPYING COPYRIGHT NEWS TODO %{_libdir}/*.so.* %{_bindir}/mgl* %{_datadir}/%{name}/ %{_prefix}/libexec/octave/packages/%{name}-1.11.0/ %{_datadir}/octave/packages/%{name}-1.11.0/ %{_infodir}/%{name}.*.gz %{_infodir}/%{name}_ru.*.gz %files devel %defattr(-,root,root,-) %{_includedir}/mgl/ %{_libdir}/*.so %files doc %defattr(-,root,root,-) %doc texinfo/docs/* %changelog * Tue Feb 08 2011 Fedora Release Engineering - 1.11.0.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Sat Nov 27 2010 - 1.11.0.1-1 - Update to 1.11.0.1 * Sun Aug 08 2010 - 1.10.2.1-3 - Add gsl-devel to requires * Wed Jul 14 2010 Dan Horák - 1.10.2.1-2.1 - rebuilt against wxGTK-2.8.11-2 * Wed Apr 14 2010 - 1.10.2.1-1.1 - tag bump * Wed Apr 14 2010 - 1.10.2.1-1 - Update to 1.10.2.1 - Fix linker error due to DSO change (Bug #564982) * Sat Jan 02 2010 - 1.10-2 - Fix octave interface to load on startup - Fix texinfo insatll * Sat Jan 02 2010 - 1.10-1 - Update to 1.10 * Wed Nov 25 2009 Kevin Kofler - 1.9-8 - Rebuild for Qt 4.6.0 RC1 in F13 (was built against Beta 1 with unstable ABI) * Sun Oct 25 2009 Milos Jakubicek - 1.9-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Mon Sep 14 2009 1.9-6 - Add COPYING to doc * Sat Sep 12 2009 1.9-5 - Removed the word "static" from devel description, as doesn't have static - Fonts now owned at datadir/name level - Added COPYRIGHT NEWS and TODO * Sat Aug 15 2009 1.9-4 - Fix octave installation method - Remove wx lib, which doesn't have meaningful code. * Sun Aug 02 2009 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 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 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 1.8.1-1 - Update to 1.8.1 * Wed Jan 28 2009 1.8-3 - Ensure timestamps are preserved during make install - Modify defattr - Remove UDAV from package summary * Mon Dec 29 2008 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 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