288 lines
8.7 KiB
RPMSpec
288 lines
8.7 KiB
RPMSpec
#
|
|
# spec file
|
|
#
|
|
# Copyright (c) 2023 SUSE LLC
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
#################################################################
|
|
### Please call "./pre_checkin.sh" prior to submitting. ###
|
|
### (This will regenerate gnuplot-doc.changes) ###
|
|
#################################################################
|
|
|
|
%global flavor @BUILD_FLAVOR@%{nil}
|
|
%global sname gnuplot
|
|
%if "%{flavor}" == ""
|
|
%else
|
|
%global psuffix -%{flavor}
|
|
%endif
|
|
|
|
%bcond_without h3d_gridbox
|
|
Name: gnuplot%{?psuffix}
|
|
BuildRequires: ImageMagick
|
|
BuildRequires: automake
|
|
BuildRequires: cairo-devel
|
|
BuildRequires: fdupes
|
|
BuildRequires: gcc-c++
|
|
BuildRequires: glib2-devel
|
|
BuildRequires: libqt5-linguist-devel
|
|
BuildRequires: lua-devel
|
|
BuildRequires: netpbm
|
|
BuildRequires: pango-devel
|
|
BuildRequires: plotutils-devel
|
|
BuildRequires: readline-devel
|
|
BuildRequires: wxGTK3-devel >= 3
|
|
BuildRequires: zziplib
|
|
BuildRequires: pkgconfig(Qt5Core)
|
|
BuildRequires: pkgconfig(Qt5Gui)
|
|
BuildRequires: pkgconfig(Qt5Network)
|
|
BuildRequires: pkgconfig(Qt5PrintSupport)
|
|
BuildRequires: pkgconfig(Qt5Svg)
|
|
BuildRequires: pkgconfig(caca)
|
|
BuildRequires: pkgconfig(freetype2)
|
|
BuildRequires: pkgconfig(gdlib)
|
|
BuildRequires: pkgconfig(libcerf)
|
|
BuildRequires: pkgconfig(libjpeg)
|
|
BuildRequires: pkgconfig(libpng16)
|
|
BuildRequires: pkgconfig(x11)
|
|
%if "%{flavor}" == "doc"
|
|
BuildRequires: emacs-nox
|
|
BuildRequires: gnuplot
|
|
BuildRequires: latex2html
|
|
BuildRequires: makeinfo
|
|
BuildRequires: texlive-epstopdf
|
|
BuildRequires: texlive-latex
|
|
BuildRequires: texlive-latexconfig
|
|
BuildRequires: texlive-pdftex
|
|
BuildRequires: texlive-tex4ht
|
|
BuildRequires: texlive-texinfo
|
|
BuildRequires: texlive-ucs
|
|
BuildRequires: tex(booktabs.sty)
|
|
BuildRequires: tex(fancyhdr.sty)
|
|
BuildRequires: tex(gttn1000.tfm)
|
|
BuildRequires: tex(hyperref.sty)
|
|
BuildRequires: tex(lgrcmr.fd)
|
|
BuildRequires: tex(pdftex.def)
|
|
BuildRequires: tex(subfigure.sty)
|
|
BuildRequires: tex(textgreek.sty)
|
|
%endif
|
|
URL: https://www.gnuplot.info/
|
|
Version: 5.4.10
|
|
Release: 0
|
|
%global underscore 5_4
|
|
%if "%{flavor}" == ""
|
|
Summary: Function Plotting Utility and more
|
|
License: GPL-2.0-or-later AND SUSE-Gnuplot
|
|
Group: Documentation/Other
|
|
%else
|
|
Summary: Documentation of GNUplot
|
|
License: GPL-2.0-or-later AND SUSE-Gnuplot
|
|
Group: Documentation/Other
|
|
%endif
|
|
Source0: https://downloads.sourceforge.net/project/gnuplot/gnuplot/%{version}/gnuplot-%{version}.tar.gz
|
|
Source1: https://downloads.sourceforge.net/project/gnuplot/gnuplot/%{version}/Gnuplot_%{underscore}.pdf
|
|
Source2: gnuplot-fr.doc.bz2
|
|
Source3: README.whynot
|
|
# https://mirrors.ctan.org/macros/latex209/contrib/picins/picins.sty
|
|
# That's a build requirement, not provided by Tex Live
|
|
Source5: picins.sty
|
|
# Repair broken texi(nfo) file
|
|
Source6: gnuplot-5.2.0-texi2info.patch
|
|
Patch0: gnuplot-4.6.0.dif
|
|
Patch1: gnuplot-4.4.0-x11ovf.dif
|
|
Patch2: gnuplot-4.6.0-fonts.diff
|
|
Patch4: gnuplot-4.6.0-demo.diff
|
|
Patch5: gnuplot-wx3.diff
|
|
Patch6: gnuplot-QtCore-PIC.dif
|
|
Patch7: gnuplot-gd.patch
|
|
Patch8: gnuplot-PIE.patch
|
|
%define _x11lib %{_libdir}
|
|
%define _x11data %{_datadir}/X11
|
|
%define _libx11 %{_exec_prefix}/lib/X11
|
|
%define _appdef %{_x11data}/app-defaults
|
|
%define _gnplttex tex/latex/gnuplot
|
|
%if "%{flavor}" == "doc"
|
|
Requires: %{sname}
|
|
Requires(post): %install_info_prereq
|
|
Requires(preun):%install_info_prereq
|
|
BuildArch: noarch
|
|
%endif
|
|
|
|
%description
|
|
GNUplot is a command line driven interactive function plotting utility.
|
|
GNUplot supports many different types of terminals, plotters, and
|
|
printers (including many color devices and pseudodevices like LaTeX)
|
|
and can easily be extended to include new devices.
|
|
|
|
%if "%{flavor}" == "doc"
|
|
%{sname} documentation files including the info pages.
|
|
%endif
|
|
|
|
%prep
|
|
%setup -q -n %{sname}-%{version}
|
|
bunzip2 -dc %{_sourcedir}/gnuplot-fr.doc.bz2 > docs/gnuplot-fr.doc
|
|
test $? -eq 0 || exit 1
|
|
cp %{_sourcedir}/picins.sty docs
|
|
%patch2 -p0 -b .font
|
|
%patch4 -p0 -b .demo
|
|
%patch0 -p1 -b .0
|
|
%patch1 -p0 -b .x11ovf
|
|
%patch5 -p1 -b .w3x
|
|
%patch6 -p0 -b .pic
|
|
%patch7 -p1 -b .gd
|
|
%patch8 -p1 -b .pie
|
|
|
|
%build
|
|
autoreconf -fi
|
|
|
|
export CPPFLAGS="-I%{_includedir}/gd -DAppDefDir=\\\"%{_appdef}\\\""
|
|
export CPPFLAGS="$CPPFLAGS -DGNUPLOT_LIB_DEFAULT=\\\"%{_docdir}/%{sname}/demo\\\""
|
|
export CFLAGS="${RPM_OPT_FLAGS} -pipe -D_GNU_SOURCE -fpic"
|
|
export CXXFLAGS="$CFLAGS -fno-strict-aliasing"
|
|
export LDFLAGS="-L%{_x11lib} -Wl,--as-needed"
|
|
export ARCHLIB=%_lib
|
|
%if 0%{?suse_version}
|
|
%if !0%{?sle_version}
|
|
export CFLAGS="$CFLAGS -DDIST_CONTACT='https://bugs.opensuse.org/'"
|
|
%else
|
|
export CFLAGS="$CFLAGS -DDIST_CONTACT='https://bugzilla.suse.com/'"
|
|
%endif
|
|
%endif
|
|
|
|
%configure \
|
|
--enable-stats \
|
|
--with-x \
|
|
--x-includes=%{_x11inc} \
|
|
--x-libraries=%{_x11lib}\
|
|
--with-x-app-defaultdir=%{_appdef}\
|
|
--with-texdir=%{_datadir}/texmf/%{_gnplttex} \
|
|
--with-kpsexpand=%{_bindir}/kpsexpand \
|
|
%if "%{flavor}" == "doc"
|
|
--with-latex=yes \
|
|
%else
|
|
--with-latex=force \
|
|
%endif
|
|
--with-readline=gnu \
|
|
--enable-history-file \
|
|
--with-bitmap-terminals \
|
|
--with-gpic \
|
|
--with-mif \
|
|
--enable-x11-mbfonts \
|
|
%if ! %{with h3d_gridbox}
|
|
--enable-h3d-quadtree \
|
|
--disable-h3d-gridbox \
|
|
%else
|
|
--disable-h3d-quadtree \
|
|
--enable-h3d-gridbox \
|
|
%endif
|
|
--enable-backwards-compatibility\
|
|
--with-gd=%{_usr} \
|
|
--without-row-help \
|
|
--with-caca \
|
|
--with-qt=qt5
|
|
|
|
%if "%{flavor}" == ""
|
|
make %{?_smp_mflags} UIC=/usr/bin/uic-qt5 MOC=/usr/bin/moc-qt5 RCC=/usr/bin/rcc-qt5 LRELEASE=/usr/bin/lrelease-qt5
|
|
%endif
|
|
|
|
%if "%{flavor}" == "doc"
|
|
mv src/Makefile{,_INACESSIBLE}
|
|
pushd docs/
|
|
mkdir -p htmldocs
|
|
cp toc_entr.sty htmldocs/
|
|
make GNUPLOT_EXE=%{_bindir}/gnuplot srcdir=. clean html pdf
|
|
make srcdir=. gnuplot.texi
|
|
patch -p0 < %{S:6}
|
|
make srcdir=. info
|
|
pushd psdoc/
|
|
make srcdir=. pdf
|
|
popd
|
|
popd
|
|
if test -d tutorial/
|
|
then
|
|
pushd tutorial/
|
|
make srcdir=. clean pdf
|
|
popd
|
|
fi
|
|
%endif
|
|
|
|
%install
|
|
rm -rf %{buildroot}
|
|
|
|
%if "%{flavor}" == ""
|
|
make DESTDIR=%{buildroot} appdefaultdir=%{_appdef} install
|
|
mkdir -p %{buildroot}/%{_mandir}/ja/man1
|
|
install -m 0644 man/gnuplot-ja_JP.UTF-8 %{buildroot}/%{_mandir}/ja/man1/gnuplot.1
|
|
%endif
|
|
|
|
%if "%{flavor}" == "doc"
|
|
mkdir -p %{buildroot}/%{_infodir}
|
|
mkdir -p %{buildroot}/%{_docdir}/gnuplot/doc
|
|
mkdir -p %{buildroot}/%{_docdir}/gnuplot/doc/html
|
|
mkdir -p %{buildroot}/%{_docdir}/gnuplot/demo
|
|
rm -vf docs/htmldocs/images.{aux,idx,log,out,tex}
|
|
rm -vf docs/htmldocs/*.pl
|
|
rm -vf docs/htmldocs/*.aux
|
|
rm -vf docs/htmldocs/*.sty
|
|
rm -vf docs/htmldocs/WARNINGS
|
|
rm -vf docs/htmldocs/VERSION
|
|
rm -vf docs/figure_*.pdf
|
|
rm -vf tutorial/eg7.pdf
|
|
rm -rvf demo/html
|
|
install -m 0444 docs/*.info* %{buildroot}/%{_infodir}/
|
|
install -m 0444 docs/htmldocs/* %{buildroot}/%{_docdir}/gnuplot/doc/html
|
|
install -m 0444 docs/psdoc/*.pdf %{buildroot}/%{_docdir}/gnuplot/doc/
|
|
install -m 0444 docs/psdoc/*.ps %{buildroot}/%{_docdir}/gnuplot/doc/
|
|
install -m 0444 docs/psdoc/*.gpi %{buildroot}/%{_docdir}/gnuplot/doc/
|
|
install -m 0444 docs/psdoc/*.doc %{buildroot}/%{_docdir}/gnuplot/doc/
|
|
install -m 0444 docs/psdoc/README %{buildroot}/%{_docdir}/gnuplot/doc/
|
|
install -m 0444 demo/*.* %{buildroot}/%{_docdir}/gnuplot/demo/
|
|
install -m 0444 README* %{buildroot}/%{_docdir}/gnuplot/
|
|
install -m 0444 NEWS BUGS %{buildroot}/%{_docdir}/gnuplot/
|
|
install -m 0444 %{SOURCE3} %{buildroot}/%{_docdir}/gnuplot/
|
|
rm -f %{buildroot}/%{_docdir}/gnuplot/demo/Makefile*
|
|
install -m 0444 %{S:1} %{buildroot}/%{_docdir}/gnuplot/
|
|
%fdupes %{buildroot}/%{_docdir}
|
|
%endif
|
|
|
|
%if "%{flavor}" == "doc"
|
|
%post
|
|
%install_info --info-dir=.%{_infodir} .%{_infodir}/%{sname}.info.gz
|
|
|
|
%preun
|
|
%install_info_delete --info-dir=.%{_infodir} .%{_infodir}/%{sname}.info.gz
|
|
%endif
|
|
|
|
%if "%{flavor}" == ""
|
|
%files
|
|
%license Copyright
|
|
%{_bindir}/gnuplot
|
|
%{_libexecdir}/gnuplot
|
|
%{_datadir}/gnuplot
|
|
%dir %{_datadir}/texmf
|
|
%{_datadir}/texmf/*
|
|
%dir %{_appdef}
|
|
%{_appdef}/Gnuplot
|
|
%doc %{_mandir}/man1/gnuplot.1.gz
|
|
%doc %{_mandir}/ja/man1/gnuplot.1.gz
|
|
%endif
|
|
|
|
%if "%{flavor}" == "doc"
|
|
%files
|
|
%{_docdir}/gnuplot/
|
|
%{_infodir}/%{sname}.info.gz
|
|
%endif
|
|
|
|
%changelog
|