snobol4/snobol4.spec

108 lines
3.5 KiB
RPMSpec

#
# spec file for package snobol4
#
# 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/
#
%global _smp_mflags -j1
%global optflags %{optflags} -Wno-error=unused-result -Wno-error=unused-but-set-variable -Wno-error=restrict -Wno-error=unused-variable -Wno-error=maybe-uninitialized -Wno-error=uninitialized
Name: snobol4
Version: 2.3.1
Release: 0
Summary: A port of Macro SNOBOL4
License: BSD-2-Clause
URL: https://www.regressive.org/snobol4/csnobol4/curr/
Source0: https://ftp.regressive.org/snobol4/%{name}-%{version}.tar.gz
# Do not hardcode -O3.
Patch1: snobol4-2.3.1-configure-no-opt.patch
Patch2: reproducible.patch
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: gdbm-devel
BuildRequires: libbz2-devel
BuildRequires: libedit-devel
BuildRequires: m4
BuildRequires: make
BuildRequires: openssl-devel
BuildRequires: readline-devel
BuildRequires: sqlite-devel
BuildRequires: tcl-devel
BuildRequires: xz-devel
BuildRequires: zlib-devel
%description
This is a free port of the original SIL (SNOBOL4 Implementation
Language) "macro" version of SNOBOL4 (developed at Bell Labs) with the
`C' language as a target.
SNOBOL4, while known primarily as a string language excels at any task
involving symbolic manipulations. It provides dynamic typing, garbage
collection, user data types, on the fly compilation.
%package devel
Summary: Development files for snobol4
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
Development files for snobol4.
%prep
%autosetup -p1
# Remove version control files
rm -r doc/CVS doc/.cvsignore
%build
# This isn't a real configure script, hence, no macro.
./configure --add-cflags="%{optflags}" --add-cppflags="%{optflags}" --prefix=%{_prefix} --mandir=%{_mandir} --snolibdir=%{_libdir}/snobol4 --with-tcl=%{_libdir}/tclConfig.sh
%make_build
%install
%make_install
# all in libdir? What is this, 1985? Oh wait, this is SNOBOL, so maybe 1969.
mkdir -p %{buildroot}%{_includedir}/snobol4
mv %{buildroot}%{_libdir}/%{name}/%{version}/include/* %{buildroot}%{_includedir}/snobol4
pushd %{buildroot}%{_libdir}/%{name}/%{version}/
rm -rf include
ln -s ../../../include/snobol4 include
popd
# We rather install doc/ ourselves
rm -rf %{buildroot}%{_datadir}/doc/%{name}-%{version}
rm -rf %{buildroot}%{_libdir}/%{name}/%{version}/CHANGES %{buildroot}%{_libdir}/%{name}/%{version}/README
%files
%doc CHANGES README doc/
%license COPYRIGHT
%{_bindir}/sdb*
%{_bindir}/snobol4
%{_bindir}/snobol4-%{version}
%{_bindir}/snopea*
%{_libdir}/snobol4/
%exclude %{_libdir}/snobol4/%{version}/include
%{_mandir}/man1/sdb.1%{?ext_man}
%{_mandir}/man1/snobol4*.1%{?ext_man}
%{_mandir}/man1/snopea.1%{?ext_man}
%{_mandir}/man3/snolib.3%{?ext_man}
%{_mandir}/man3/snobol4*.3%{?ext_man}
%{_mandir}/man7/snopea.7%{?ext_man}
%files devel
%{_includedir}/%{name}
%{_libdir}/snobol4/%{version}/include
%changelog