File gri.spec of Package gri
#
# spec file for package gri
#
# Copyright (c) 2020 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/
#
Name: gri
Version: 2.12.23
Release: 0
Summary: A language for scientific illustration
License: GPL-3.0-or-later
Group: Productivity/Scientific/Other
URL: http://gri.sourceforge.net
Source: %{name}-%{version}.tar.bz2
Patch0: gfi-2.2.23-perl.patch
Patch1: gri-texinfo-5.0.patch
# PATCH-FIX-UPSTREAM https://github.com/dankelley/gri/pull/10
Patch2: reproducible.patch
# PATCH-FIX-UPSTREAM gri-invalid-char-to-pointer.patch badshah400@gmail.com -- Fix a char to char* conversion by replacing '\0' with NULL
Patch3: gri-invalid-char-to-pointer.patch
# PATCH-FIX-UPSTREAM gri-perl-5.26.patch dimstar@opensuse.org -- Fix texinfo2HTML for usage with Perl 5.26
Patch4: gri-perl-5.26.patch
# PATCH-FIX-UPSTREAM gri-texinfo-6.7-compat.patch -- Explicitly specify correct encoding for texi file, texinfo 6.+ assumes UTF-8 by default
Patch5: gri-texinfo-6.7-compat.patch
BuildRequires: ImageMagick
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: readline-devel
BuildRequires: texinfo
BuildRequires: texlive-dvips
BuildRequires: perl(Time::CTime)
%if 0%{?suse_version} <= 1500
Requires(post): /sbin/install-info
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Gri is a language for scientific graphics programming. It is a
command-driven application, as opposed to a click/point application.
It is analogous to latex, and shares the property that extensive power
is the reward for tolerating a modest learning curve. Gri output is
in industry-standard PostScript, suitable for incorporation in
documents prepared by various text processors.
Gri can make x-y graphs, contour-graphs, and image graphs. In
addition to high-level capabilities, it has enough low-level
capabilities to allow users to achieve a high degree of customization.
Precise control is extended to all aspects of drawing, including
line-widths, colors, and fonts. Text includes a subset of the tex
language, so that it is easy to incorporate Greek letters and
mathematical symbols in labels.
%prep
%setup -q
%patch0
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%build
%configure
# BEGIN allow PS decoder for build [bsc#1109976]
mkdir -p ~/.config/ImageMagick
cat << EOPF > ~/.config/ImageMagick/policy.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policymap [
<!ELEMENT policymap (policy)+>
<!ATTLIST policymap xmlns CDATA #FIXED ''>
<!ELEMENT policy EMPTY>
<!ATTLIST policy xmlns CDATA #FIXED '' domain NMTOKEN #REQUIRED
name NMTOKEN #IMPLIED pattern CDATA #IMPLIED rights NMTOKEN #IMPLIED
stealth NMTOKEN #IMPLIED value CDATA #IMPLIED>
]>
<policymap>
<policy domain="coder" rights="read" pattern="{PS}" />
</policymap>
EOPF
# END allow PS decoder for build [bsc#1109976]
# Parallel make does not work
make
%install
%make_install DESTDIR=%{buildroot}
# drop timestamp from texinfo
sed -i "s/<!-- [A-Z].. [A-Z].. .. ..:..:.. .... -->//" %{buildroot}%{_datadir}/%{name}/doc/html/index.html
%fdupes %{buildroot}%{_datadir}/%{name}/
%if 0%{?suse_version} <= 1500
%post
/sbin/install-info %{_infodir}/gri.info %{_infodir}/dir
%postun
/sbin/install-info --delete %{_infodir}/gri.info %{_infodir}/dir
%endif
%files
%defattr(-,root,root)
%doc AUTHORS ChangeLog README NEWS
%license COPYING
%{_bindir}/gri
%{_bindir}/gri_merge
%{_bindir}/gri_unpage
%{_datadir}/%{name}/
%{_datadir}/emacs/site-lisp/gri-mode.el
%{_infodir}/gri.info*
%{_mandir}/man1/gri*
%changelog