# relative to datadir %define type1fontdir fonts/urw-base35/ %define debug_package %{nil} Name: gracegtk Version: 1.0.0 Release: 3%{?dist} Summary: GraceGTK is an evolution of the grapher Grace which is a Numerical Data Processing and Visualization Tool License: GPLv2+ # cephes is LGPL, see also Source3 and Source4 URL: https://sourceforge.net/p/gracegtk/home/gracegtk/ Source0: https://sourceforge.net/projects/gracegtk/files/gracegtk-1.0.0rc0_2017_03_02_16h43.tgz Source1: %{name}.desktop Source3: cephes-license.email Source4: LICENSE.cephes Source5: %{name}-icons.tgz Source6: %{name}-profile.sh BuildRequires: gsl-devel t1lib-devel fftw-devel zlib-devel libjpeg-turbo-devel libpng-devel BuildRequires: cairo-devel gtk2-devel gcc-gfortran blas-devel libscs-devel libICE-devel atlas-devel netcdf-devel BuildRequires: cups-devel xdrfile-devel BuildRequires: linuxdoc-tools # was needed by grace but is buiding without it #BuildRequires: libXmu-devel libXpm-devel BuildRequires: desktop-file-utils #rpmfusion-nonfree needed BuildRequires: pdflib-lite-devel BuildRequires: urw-base35-fonts, texlive-zapfding Requires: pdflib-lite Requires: urw-base35-fonts, texlive-zapfding Requires: gsl t1lib fftw zlib libjpeg-turbo libpng cairo gtk2 gcc-gfortran blas libscs atlas Requires: libICE netcdf xdrfile libXmu libXpm Requires: nedit Requires: xdg-utils %description GraceGTK is an application for two-dimensional data visualization. GraceGTK can transform the data using free equations, FFT, cross- and auto-correlation, differences, integrals, histograms, and much more. The generated figures are of high quality. GraceGTK is a very convenient tool for data inspection, data transformation, and for making figures for publications. %package devel Summary: Files needed for gracegtk development License: LGPLv2+ Requires: %{name} = %{version}-%{release} Provides: %{name}-static = %{version}-%{release} %description devel Install these files if you need to compile software that requires gracegtk. %prep %setup -q -D -a 5 %build cp %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE6} . export F77='gfortran' export CC='gcc' export CFLAGS="$RPM_OPT_FLAGS -fPIC" export FFLAGS="$RPM_OPT_FLAGS -fPIC" MKINSTALLDIRS=%{_builddir}"/gracegtk-"%{version}"/ac-tools/shtool mkdir -p" env touch Make.conf make %{?_smp_mflags} %install make install DESTDIR=%{buildroot} MKINSTALLDIRS=%{_builddir}"/gracegtk-"%{version}"/ac-tools/shtool mkdir -p" #rm -f doc/*.1 mkdir -pm 755 \ %{buildroot}%{_bindir} \ %{buildroot}%{_includedir} \ %{buildroot}%{_libdir} \ %{buildroot}%{_datadir}/icons/hicolor/48x48/apps \ %{buildroot}%{_datadir}/applications \ %{buildroot}%{_mandir}/man1 \ %{buildroot}%{_sysconfdir}/%{name} ## # Let's have some sanity # mkdir %{buildroot}%{_datadir}/%{name} cp CHANGES COPYRIGHT DEVELOPERS LICENSE README %{buildroot}%{_datadir}/%{name} pushd %{buildroot}/usr/%{name} mv bin/ggrace{,_bin} echo "export GRACEGTK_HOME=/usr/share/gracegtk/" > bin/ggrace echo "/usr/bin/ggrace_bin" >> bin/ggrace chmod a+x bin/ggrace ls install -pm 755 bin/* %{buildroot}%{_bindir}/ rm -rf bin ln -s %{_bindir} %{buildroot}%{_datadir}/%{name}/bin cp -p lib/* %{buildroot}%{_libdir}/ rm -rf lib ln -s %{_libdir} %{buildroot}%{_datadir}/%{name}/lib install -pm 644 include/* %{buildroot}%{_includedir}/ rm -rf include ln -s %{_includedir} %{buildroot}%{_datadir}/%{name}/include # use fonts from type1fontdir rm -rf fonts/type1 ## mkdir fonts/type1 for name in `ls %{_datadir}/%{type1fontdir}/*` ; do newname=`echo $name |rev|cut -f 1 -d "/"|rev| sed 's/.t1/.pfb/g'`; ln -s $name fonts/type1/$newname ; done ln -s %{_datadir}/%{type1fontdir}/../../texlive/texmf-dist/fonts/afm/urw/zapfding/uzdr.afm fonts/type1/ZapfDingbats.afm ln -s %{_datadir}/%{type1fontdir}/../../texlive/texmf-dist/fonts/type1/urw/zapfding/uzdr.pfb fonts/type1/ZapfDingbats.pfb ##ln -s ../../%{type1fontdir} fonts/type1 mv fonts/FontDataBase %{buildroot}%{_sysconfdir}/%{name} ln -s ../../../../%{_sysconfdir}/%{name}/FontDataBase fonts/FontDataBase # regenerate %%{_sysconfdir}/%%{name}/FontDataBase based on what is in # type1fontdir and original FontDataBase content FontDataBaseFile=%{buildroot}%{_sysconfdir}/%{name}/FontDataBase rm -f $FontDataBaseFile.tmp for file in %{_datadir}/%{type1fontdir}/*.t1; do base=`basename $file .t1` alias= if grep -qs $base $FontDataBaseFile; then # keep original aliases if the exist grep $base $FontDataBaseFile >> $FontDataBaseFile.tmp else # no original alias case. Use FullName from afm file and change space to - if [ -f %{_datadir}/%{type1fontdir}/$base.afm ]; then alias=`grep '^FullName' %{_datadir}/%{type1fontdir}/$base.afm | sed 's/^FullName *//' | sed 's/ *$//' | sed 's/ /-/g'` fi [ "z$alias" = 'z' ] && alias=$base echo "$alias $alias $base.pfb" >> $FontDataBaseFile.tmp fi done #add ZapfDingbats by hand before count echo "ZapfDingbats ZapfDingbats ZapfDingbats.pfb" >> $FontDataBaseFile.tmp echo "Courier-Oblique Courier-Oblique NimbusMonoPS-Regular.pfb" >> $FontDataBaseFile.tmp echo "Courier-BoldOblique Courier-BoldOblique NimbusMonoPS-Bold.pfb" >> $FontDataBaseFile.tmp fontcount=`wc -l $FontDataBaseFile.tmp` echo $fontcount | sed 's:%{buildroot}.*::' > $FontDataBaseFile cat $FontDataBaseFile.tmp >> $FontDataBaseFile rm $FontDataBaseFile.tmp # remove empty lines in file (fixes bug 504413) sed -i '/^$/d' $FontDataBaseFile # change name for compatibility with template sed -i "s/Bold-Oblique/BoldOblique/g" $FontDataBaseFile sed -i "s/Bold-Italic/BoldItalic/g" $FontDataBaseFile sed -i "s/Nimbus-Roman-Regular/Times-Roman/g" $FontDataBaseFile sed -i "s/Nimbus-Roman-/Times-/g" $FontDataBaseFile sed -i "s/Nimbus-Sans-Narrow-/Helvetica-/g" $FontDataBaseFile sed -i "s/Nimbus-Sans-Narrow /Helvetica /g" $FontDataBaseFile sed -i "s/Nimbus-Mono-PS-Regular/Courier/g" $FontDataBaseFile sed -i "s/Nimbus-Mono-PS-/Courier-/g" $FontDataBaseFile sed -i "s/Standard-Symbols-PS/Symbol/g" $FontDataBaseFile mv fonts %{buildroot}%{_datadir}/%{name} install -pm 644 doc/*.1 %{buildroot}%{_mandir}/man1/ # doc and example directories are removed from GRACE_HOME and put in %%doc mv doc examples %{buildroot}%{_sysconfdir}/%{name}/ ln -s %{_sysconfdir}/%{name}/{doc,examples} %{buildroot}%{_datadir}/%{name}/ #ln -s %{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}}/{doc,examples} . # the convcal source file shouldn't be installed, it is removed here rm -f auxiliary/convcal.c # move config files to %%{_sysconfdir} and do symlinks for conf in %{name}rc templates %{name}rc.user; do mv $conf %{buildroot}%{_sysconfdir}/%{name} ln -s %{_sysconfdir}/%{name}/$conf %{buildroot}%{_datadir}/%{name}/$conf done mv auxiliary src %{buildroot}%{_datadir}/%{name}/ popd ## # Desktop stuff # tar xvf %{name}-icons.tgz -C %{buildroot} mkdir %{buildroot}%{_sysconfdir}/profile.d/ cp gracegtk-profile.sh %{buildroot}%{_sysconfdir}/profile.d/ desktop-file-install \ --dir %{buildroot}%{_datadir}/applications \ %{SOURCE1} # clean up docs rm -rf __dist_doc mkdir __dist_doc cp -a doc __dist_doc rm __dist_doc/doc/Makefile __dist_doc/doc/*.sgml %post touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : %postun if [ $1 -eq 0 ] ; then touch --no-create %{_datadir}/icons/hicolor &>/dev/null gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : fi %posttrans gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %files %{!?_licensedir:%global license %%doc} %license LICENSE %doc CHANGES COPYRIGHT DEVELOPERS LICENSE README %doc cephes-license.email LICENSE.cephes %doc examples/ __dist_doc/doc/ %config(noreplace) %{_sysconfdir}/%{name}/ %{_bindir}/* %{_datadir}/%{name} %exclude %{_datadir}/%{name}/include %exclude %{_datadir}/%{name}/lib %{_datadir}/applications/%{name}.desktop %{_datadir}/icons/hicolor/*/apps/grace.png %{_mandir}/man1/*.1* %{_sysconfdir}/profile.d/gracegtk-profile.sh %files devel %license grace_np/LICENSE %{_includedir}/grace_np.h %{_datadir}/%{name}/include %{_libdir}/libgrace_np.a %{_datadir}/%{name}/lib %changelog * Tue Jun 6 2017 baoboa - 1.0.0-2 - Update to urw-base35 font * Tue Jun 6 2017 baoboa - 1.0.0-1 - Update to version 1.0.0rc0_2017_03_02_16h43 from sourceforge * Thu Jan 26 2017 baoboa - 0.9.5-6 - bump version to re-install * Thu Sep 8 2016 baoboa - 0.9.5-5 - Correct GRACEGTK_HOME value by adding profile * Thu Sep 8 2016 baoboa - 0.9.5-4 - Correct MKINSTALLDIRS value * Thu Sep 8 2016 baoboa - 0.9.5-3 - Depend on pdflib-lite (rpmfusion) * Thu Sep 8 2016 baoboa - 0.9.5-2 - Update to 0.9.5-2 , switch to makefile build as configure is broken in mock, depend on gtk2 only * Wed Apr 13 2016 baoboa - 0.9.3-1 - First build