File nonpareil.spec of Package nonpareil

#
# spec file for package nonpareil
#
# Copyright (c) 2023 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# 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 http://bugs.opensuse.org/
#

Name:		nonpareil
Version:	0.79
Release:	1
License:	GPL-2.0
Summary:	Microcode-level calculator simulator
Url:		https://github.com/brouhaha/nonpareil
Group:		Productivity/Scientific/Math

Source0:	%{name}-%{version}.tar.xz
Source1:	nonpareil.desktop
Source2:	hp12c.png

Patch0:		force_gcc_13.patch
#Patch1:		c3086119cd0a8947b9e1068ace014db13c16afd4.patch
Patch2:		36ca46cc4d5e5132f2252f80682659341006b736.patch

BuildRoot:      %{_tmppath}/%{name}-%{version}-build

BuildRequires:	netpbm 
BuildRequires:	scons 
BuildRequires:	flex 
BuildRequires:	bison 
BuildRequires:	libpng-devel
BuildRequires:	zlib-devel zlib
BuildRequires:	update-desktop-files
BuildRequires:	pkgconfig(gtk+-2.0)
BuildRequires:	pkgconfig(gdk-2.0)
BuildRequires:	pkgconfig(gdk-pixbuf-2.0) 
BuildRequires:	pkgconfig(glib-2.0)
BuildRequires:	pkgconfig(libxml-2.0) 
BuildRequires:	pkgconfig(libgsf-1)

%if 0%{?suse_version} < 1600
BuildRequires:	gcc13
BuildRequires:	gcc13-c++
%else
BuildRequires:	gcc-c++
%endif

# sLES 11 uses a different name for SDL devel packages
%if 0%{?suse_version} == 1110
BuildRequires: 	SDL-devel
%else
BuildRequires: 	libSDL-devel
%endif

%description
Nonpareil is a high-fidelity simulator for calculators. It currently supports many HP calculators models introduced between 1972 and 1982. 
Simulation fidelity is achieved through the use of the actual microcode of the calculators, thus in most cases the simulation behavior 
exactly matches that of the real calculator. In particular, numerical results will be identical, because the simulator is using the BCD 
arithmetic algorithms from the calculator.

%prep
%setup -q
%if 0%{?suse_version} < 1600
%patch -P 0 -p 1
%endif
#%patch -P 1 -p 1
%patch -P 2 -p 1

%build
touch wasm.h
export CFLAGS="${RPM_OPT_FLAGS} -lbsd"
export CXXFLAGS="${RPM_OPT_FLAGS} -lbsd"
export LDFLAGS="-lbsd"
scons prefix=%{_prefix}

%install
scons prefix=%{_prefix} destdir=%{buildroot} install
mkdir -p  %{buildroot}%{_datadir}/pixmaps
mkdir -p  %{buildroot}%{_datadir}/applications
install -m 644 %{S:2} %{buildroot}%{_datadir}/pixmaps
install -m 644 %{S:1} %{buildroot}%{_datadir}/applications

# rename the modutil binary so it does not conflict with Mozilla's
cd %{buildroot}/usr/bin
mv modutil modutil-nonpareil
cd -


%files
%defattr(-,root,root)
%{_bindir}/modutil-nonpareil
%{_bindir}/nonpareil
%{_bindir}/uasm
%{_bindir}/build_ncd
%{_bindir}/sha-test
%{_bindir}/udis
%{_prefix}/lib/nonpareil
%{_datadir}/applications/nonpareil.desktop
%{_datadir}/pixmaps/hp12c.png

%changelog

openSUSE Build Service is sponsored by