Sync from SUSE:SLFO:Main snobol4 revision 9eca687b52df6ae31353d03066e29e94
This commit is contained in:
commit
1b281a0873
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
53
reproducible.patch
Normal file
53
reproducible.patch
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
Author: Bernhard M. Wiedemann <bwiedemann suse de>
|
||||||
|
To: Phil Budne <phil@regressive.org>
|
||||||
|
CC: <fred_weigel@hotmail.com>
|
||||||
|
Subject: [Patch] PoC reproducible builds
|
||||||
|
|
||||||
|
Allow for bit-identical binaries to be created
|
||||||
|
See https://reproducible-builds.org/ for why.
|
||||||
|
|
||||||
|
This patch was done while working on reproducible builds for openSUSE.
|
||||||
|
|
||||||
|
Index: snobol4-2.3.1/snolib/setuputil.sno
|
||||||
|
===================================================================
|
||||||
|
--- snobol4-2.3.1.orig/snolib/setuputil.sno
|
||||||
|
+++ snobol4-2.3.1/snolib/setuputil.sno
|
||||||
|
@@ -194,7 +194,7 @@ setup.makeinclude
|
||||||
|
+ ou = IO_FINDUNIT()
|
||||||
|
of = setup.sno(t)
|
||||||
|
OUTPUT(.out, ou,, of) :f(freturn)
|
||||||
|
- out = "* Generated by setuputil.sno setup.makeinclude() " DATE()
|
||||||
|
+ out = "* Generated by setuputil.sno setup.makeinclude() "
|
||||||
|
modname = REPLACE(t['module'], &LCASE, &UCASE) '_DL'
|
||||||
|
out = setup.t modname ' = "' t['module'] '"'
|
||||||
|
iu = IO_FINDUNIT()
|
||||||
|
Index: snobol4-2.3.1/configure
|
||||||
|
===================================================================
|
||||||
|
--- snobol4-2.3.1.orig/configure
|
||||||
|
+++ snobol4-2.3.1/configure
|
||||||
|
@@ -45,6 +45,10 @@ DATE=`date`
|
||||||
|
|
||||||
|
# run hostname from subshell to redirect shell "not found message"
|
||||||
|
HOST=`(hostname) 2>/dev/null || uname -n`
|
||||||
|
+if [ -n "$SOURCE_DATE_EPOCH" ] ; then
|
||||||
|
+ DATE='reproducible'
|
||||||
|
+ HOST='reproducible'
|
||||||
|
+fi
|
||||||
|
|
||||||
|
VERSION_H=version.h.tmp
|
||||||
|
CONFIG_H=config.h.tmp
|
||||||
|
Index: snobol4-2.3.1/Makefile2.m4
|
||||||
|
===================================================================
|
||||||
|
--- snobol4-2.3.1.orig/Makefile2.m4
|
||||||
|
+++ snobol4-2.3.1/Makefile2.m4
|
||||||
|
@@ -260,8 +260,8 @@ build.o: always
|
||||||
|
echo '/* MACHINE GENERATED. EDITING IS FUTILE */' > build.c
|
||||||
|
echo '#include "h.h"' >> build.c
|
||||||
|
echo 'const char build_files[] = "'$(SRCS)'";' >> build.c
|
||||||
|
- echo 'const char build_date[] = "'`date`'";' >> build.c
|
||||||
|
- echo 'const char build_dir[] = "'`pwd`'";' >> build.c
|
||||||
|
+ echo 'const char build_date[] = "'nodate'";' >> build.c
|
||||||
|
+ echo 'const char build_dir[] = "'reproducible'";' >> build.c
|
||||||
|
$(CC) $(CFLAGS) -c build.c
|
||||||
|
changequote([,])dnl
|
||||||
|
|
12
snobol4-2.3.1-configure-no-opt.patch
Normal file
12
snobol4-2.3.1-configure-no-opt.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
diff -up snobol4-2.3.1/configure.noopt snobol4-2.3.1/configure
|
||||||
|
--- snobol4-2.3.1/configure.noopt 2023-03-26 13:12:22.826650002 -0400
|
||||||
|
+++ snobol4-2.3.1/configure 2023-03-26 13:12:33.679794072 -0400
|
||||||
|
@@ -453,7 +453,7 @@ gcc|clang|icc)
|
||||||
|
CCVERS=-v
|
||||||
|
# was -M: -MM existed in gcc 3.4
|
||||||
|
echo 'CCM=$(CC) -MM' >> $CONFIG_M4
|
||||||
|
- OPT=-O3
|
||||||
|
+ # OPT=-O3
|
||||||
|
|
||||||
|
# on by default in clang??
|
||||||
|
echo 'ADD_CFLAGS([-Wall])' >> $CONFIG_M4
|
BIN
snobol4-2.3.1.tar.gz
(Stored with Git LFS)
Normal file
BIN
snobol4-2.3.1.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
19
snobol4.changes
Normal file
19
snobol4.changes
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon May 29 14:29:04 UTC 2023 - Bernhard Wiedemann <bwiedemann@suse.com>
|
||||||
|
|
||||||
|
- Add reproducible.patch to drop build date (boo#1047218)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Apr 4 08:29:44 UTC 2023 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||||
|
|
||||||
|
- Fix build: also package /usr/bin/snobol4-%{version}
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Mar 27 22:18:08 UTC 2023 - Matej Cepl <mcepl@suse.com>
|
||||||
|
|
||||||
|
- Port to openSUSE
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Mar 26 00:00:00 UTC 2023 - Tom Callaway <spot@fedoraproject.org>
|
||||||
|
|
||||||
|
- initial package
|
107
snobol4.spec
Normal file
107
snobol4.spec
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
#
|
||||||
|
# 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
|
Loading…
x
Reference in New Issue
Block a user