283 lines
7.8 KiB
RPMSpec
283 lines
7.8 KiB
RPMSpec
|
%{!?octave_api:%global octave_api %(octave-config -p API_VERSION || echo 0)}
|
|||
|
Name: mathgl
|
|||
|
Version: 1.9
|
|||
|
Release: 6%{?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
|
|||
|
|
|||
|
#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
|
|||
|
|
|||
|
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}
|
|||
|
|
|||
|
%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}
|
|||
|
|
|||
|
%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
|
|||
|
%patch2
|
|||
|
%patch3
|
|||
|
|
|||
|
autoreconf
|
|||
|
|
|||
|
|
|||
|
%build
|
|||
|
#configure looks for * not *-qt4
|
|||
|
QMAKE=/usr/bin/qmake-qt4
|
|||
|
LUPDATE=/usr/bin/lupdate-qt4
|
|||
|
LRELEASE=/usr/bin/lrelease-qt4
|
|||
|
|
|||
|
%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.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
|
|||
|
|
|||
|
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.html .
|
|||
|
cp -pr ../png_static .
|
|||
|
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
|
|||
|
|
|||
|
%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.9.0/
|
|||
|
%{_datadir}/octave/packages/%{name}-1.9.0/
|
|||
|
%{_infodir}/%{name}.*.gz
|
|||
|
|
|||
|
|
|||
|
%files devel
|
|||
|
%defattr(-,root,root,-)
|
|||
|
%{_includedir}/mgl/
|
|||
|
%{_libdir}/*.so
|
|||
|
|
|||
|
%files doc
|
|||
|
%defattr(-,root,root,-)
|
|||
|
%doc texinfo/docs/*
|
|||
|
|
|||
|
%changelog
|
|||
|
* Mon Sep 14 2009 <mycae(a!t)yahoo.com> 1.9-6
|
|||
|
- Add COPYING to doc
|
|||
|
|
|||
|
* Sat Sep 12 2009 <mycae(a!t)yahoo.com> 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 <mycae(a!t)yahoo.com> 1.9-4
|
|||
|
- Fix octave installation method
|
|||
|
- Remove wx lib, which doesn't have meaningful code.
|
|||
|
|
|||
|
* Sun Aug 02 2009 <mycae(a!t)yahoo.com> 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)yahoo.com> 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)yahoo.com> 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)yahoo.com> 1.8.1-1
|
|||
|
- Update to 1.8.1
|
|||
|
|
|||
|
* Wed Jan 28 2009 <mycae(a!t)yahoo.com> 1.8-3
|
|||
|
- Ensure timestamps are preserved during make install
|
|||
|
- Modify defattr
|
|||
|
- Remove UDAV from package summary
|
|||
|
|
|||
|
* Mon Dec 29 2008 <mycae(a!t)yahoo.com> 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)yahoo.com> 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 <niktr@mail.ru>
|
|||
|
- disabled hdf5 support according to developer request
|
|||
|
|
|||
|
* Tue Jun 3 2008 Nik <niktr@mail.ru>
|
|||
|
- updated to version 1.7.1
|
|||
|
|
|||
|
* Sun Jun 2 2008 Nik <niktr@mail.ru>
|
|||
|
- updated to version 1.7
|
|||
|
|
|||
|
* Sat Apr 5 2008 Nik <niktr@mail.ru>
|
|||
|
- updated to version 1.6.2
|
|||
|
|
|||
|
* Thu Mar 13 2008 Nik <niktr@mail.ru>
|
|||
|
- updated to version 1.6
|
|||
|
- added fltk(-devel) to requres list
|
|||
|
|
|||
|
* Tue Mar 11 2008 Nik <niktr@mail.ru>
|
|||
|
- tiff bug fixed
|
|||
|
- enable-all option added
|
|||
|
|
|||
|
* Sat Mar 1 2008 Nik <niktr@mail.ru>
|
|||
|
- spec cleanup
|
|||
|
- --enable(jpeg, tiff, hdf5) features added
|
|||
|
- enable-tiff leads to make error, submitted to author. Feature disabled.
|
|||
|
|
|||
|
* Fri Feb 29 2008 Nik <niktr@mail.ru>
|
|||
|
- initial build of version 1.5
|
|||
|
|
|||
|
|