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
|
||
|
||
|