rpms/snobol/F-9 snobol-4.1.1-config.patch, NONE, 1.1 snobol-4.1.1-doc.patch, NONE, 1.1 snobol.spec, NONE, 1.1 sources, 1.1, 1.2

Jochen Schmitt s4504kr at fedoraproject.org
Wed Sep 10 15:52:37 UTC 2008


Author: s4504kr

Update of /cvs/extras/rpms/snobol/F-9
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv22332

Modified Files:
	sources 
Added Files:
	snobol-4.1.1-config.patch snobol-4.1.1-doc.patch snobol.spec 
Log Message:
Initional import

snobol-4.1.1-config.patch:

--- NEW FILE snobol-4.1.1-config.patch ---
diff -up snobol4-1.1/configure.bak snobol4-1.1/configure
--- snobol4-1.1/configure.bak	2005-12-07 06:19:20.000000000 +0100
+++ snobol4-1.1/configure	2008-08-21 18:53:48.000000000 +0200
@@ -112,6 +112,9 @@ while [ $# -gt 0 ]; do
 	STUFF=`echo "$1" | sed 's/--bindir=//'`
 	echo "BINDIR=$STUFF"			>> $CONFIG_M4
     	;;
+    --libdir=*)
+        LIBDIR=`echo "$1" | sed 's/--libdir=//'`
+	;;
     --debug)
 	DEBUG=true
 	set -x
@@ -235,9 +238,10 @@ if [ "x$MANDIR" = x ]; then
 fi
 MAN1DIR="$MANDIR/man1"
 MAN3DIR="$MANDIR/man3"
-SNOLIB_DIR="$PREFIX/lib/snobol4"
+SNOLIB_DIR="$PREFIX/share/snobol4"
 
 echo 'BINDIR=$(DESTDIR)'"$BINDIR"		>> $CONFIG_M4
+echo 'LIBDIR=$(DESTDIR)'"$LIBDIR"               >> $CONFIG_M4
 echo 'MANDIR=$(DESTDIR)'"$MANDIR"		>> $CONFIG_M4
 echo 'MAN1DIR=$(DESTDIR)'"$MAN1DIR"		>> $CONFIG_M4
 echo 'MAN3DIR=$(DESTDIR)'"$MAN3DIR"		>> $CONFIG_M4
@@ -432,7 +436,7 @@ if [ "$GCCPATH" -a "$WANTGCC" ]; then
 
     # w/ gcc v3 -O3 turns on things OTHER than -finline-functions,
     # so make -O3 the default, and use -fno-inline-functions
-    OPT=-O3
+    # OPT=-O3
 
     if [ ! "$INLINE_OK" ]; then
 	echo 'ADD_OPT([-fno-inline-functions])'	>> $CONFIG_M4
@@ -1000,7 +1004,7 @@ if [ -f $INCDIR/sys/socket.h ]; then
     echo '#define SOCKLEN_T '$SOCKLEN_T		>> $CONFIG_H
 
     # add network libraries if needed
-    if [ -f /usr/lib/libsocket.a -o -f /usr/lib/libsocket.so ]; then
+    if [ -f $LIBDIR/libsocket.a -o -f $LIBDIR/libsocket.so ]; then
 	# SCO, SunOS5
 	echo 'using libsocket' 1>&2
 	echo 'ADD_LDFLAGS([-lsocket])'		>> $CONFIG_M4
diff -up snobol4-1.1/Makefile2.m4.bak snobol4-1.1/Makefile2.m4
--- snobol4-1.1/Makefile2.m4.bak	2005-12-07 03:10:59.000000000 +0100
+++ snobol4-1.1/Makefile2.m4	2008-08-21 18:56:43.000000000 +0200
@@ -33,6 +33,10 @@ define([_WARN],[undivert(6)])dnl
 
 OPT=-O
 
+VERSION=4.1.1
+
+TOPDIR=$(PWD)
+
 CCM=./cc-M
 
 # for pow(3)
@@ -42,13 +46,13 @@ SH=sh
 SHELL=/bin/sh
 
 # library random accessifier
-RANLIB=ranlib
+RANLIB=gcc --shared
 
 # filename for external function library
-SNOLIB_A=snolib.a
+SNOLIB_A=libsnobol.so
 
 # default file to load
-SNOLIB_FILE=snolib.a
+SNOLIB_FILE=libsnobol.so
 
 # either snobol4 or isnobol4;
 # isnobol4 has had functions reordered for better inlining.
@@ -182,7 +186,7 @@ LDFLAGS=[]_LDFLAGS
 ################
 # compiler flags
 
-CFLAGS=$(COPT) $(MYCPPFLAGS) $(WARN)
+CFLAGS=$(COPT) $(MYCPPFLAGS) $(WARN) -fPIC
 
 ################
 
@@ -230,9 +234,9 @@ changequote([,])dnl
 
 snobol4: xsnobol4 snobol4.c test/tests.in
 	@echo Running regression tests...
-	(cd test; ./run.sh ../xsnobol4)
+	(export LD_LIBRARY_PATH=$(TOPDIR); cd test; ./run.sh ../xsnobol4)
 	@echo Passed regression tests.
-	./timing > timing.out
+	(export LD_LIBRARY_PATH=$(TOPDIR); ./timing > timing.out)
 	-rm -f snobol4$(EXT)
 	ln xsnobol4$(EXT) snobol4$(EXT)
 	@touch snobol4$(EXT)
@@ -419,10 +423,16 @@ SNOLIB_OBJS=chop.o cos.o delete.o enviro
 	ord.o log.o logic.o rename.o retstring.o serv.o sin.o \
 	sprintf.o sqrt.o sset.o sys.o tan.o $(AUX_OBJS)
 
-$(SNOLIB_A): $(SNOLIB_OBJS)
-	rm -f $(SNOLIB_A)
-	ar $(ARXFLAGS) rv $(SNOLIB_A) $(SNOLIB_OBJS)
-	$(RANLIB) $(SNOLIB_A)
+libsnobol.so.$(VERSION): $(SNOLIB_OBJS)
+	rm -f libsnobol.so.$(VERSION)
+	$(CC) $(LDFLAGS) --shared -Wl,--export-dynamic -Wl,-soname -Wl,libsnobol.so.4 \
+	 -o libsnobol.so.$(VERSION) $(SNOLIB_OBJS) 
+
+libsnobol.so: libsnobol.so.$(VERSION)
+	 rm -rf libsnobol.so 
+	 rm -rf libsnobol.so.4 
+	 ln -sf libsnobol.so.$(VERSION) libsnobol.so.4
+	 ln -sf libsnobol.so.4 libsnobol.so
 
 ################
 # snolib files
@@ -537,7 +547,7 @@ INSTALL_H=[include]/h.h [include]/snotyp
 # generated SNOLIB files (host.sno generated at top level)
 GENSNOLIB=host.sno
 
-SNOLIB_FILES=snolib/*.sno $(INSTALL_H) doc/load.txt README $(GENSNOLIB) 
+SNOLIB_FILES=snolib/*.sno $(GENSNOLIB) 
 
 VERS=`./pv`
 install: snobol4 pv
@@ -551,10 +561,19 @@ install: snobol4 pv
 	$(INSTALL) -m 644 doc/snolib.3 $(MAN3DIR)
 	$(INSTALL) -m 644 doc/snobol4dbm.3 $(MAN3DIR)
 	$(INSTALL) -m 644 doc/snobol4tcl.3 $(MAN3DIR)
+	$(INSTALL) -d $(DESTDIR)/usr/include/snobol4/
+	for F in $(INSTALL_H); do \
+	        $(INSTALL) -m 644 $$F $(DESTDIR)/usr/include/snobol4/; \
+        done
 	$(INSTALL) -d $(SNOLIB_DIR)
 	for F in $(SNOLIB_FILES); do \
 		$(INSTALL) -m 644 $$F $(SNOLIB_DIR); \
 	done
+	$(INSTALL) -d $(LIBDIR)
+	$(INSTALL) -m 755 libsnobol.so.$(VERSION) $(LIBDIR)
+	( cd $(LIBDIR); rm -rf libsnobol.so.4; ln -sf libsnobol.so.$(VERSION) libsnobol.so.4 )
+	( cd $(LIBDIR); rm -rf libsnobol.so;   ln -sf libsnobol.so.$(VERSION) libsnobol.so )
+
 	@echo '*********************************************************' 1>&2
 	@echo 'Have you mailed a copy of timing.out to timing at snobol4.org ?' 1>&2
 	@echo '*********************************************************' 1>&2

snobol-4.1.1-doc.patch:

--- NEW FILE snobol-4.1.1-doc.patch ---
diff -up snobol4-1.1/doc/load.txt.docbak snobol4-1.1/doc/load.txt
--- snobol4-1.1/doc/load.txt.docbak	2003-04-15 23:17:01.000000000 +0200
+++ snobol4-1.1/doc/load.txt	2008-08-18 17:40:19.000000000 +0200
@@ -53,12 +53,12 @@ The following snolib functions are avail
 An external C function should be declared as follows (see lib/snolib
 for many examples);
 
-    #include "config.h"
-    #include "h.h"
-    #include "snotypes.h"
-    #include "macros.h"
-    #include "load.h"
-    #include "equ.h"
+    #include <snobol4/config.h>
+    #include <snobol4/h.h>
+    #include <snobol4/snotypes.h>
+    #include <snobol4/macros.h>
+    #include <snobol4/load.h>
+    #include <snobol4/equ.h>
 
     int
     NAME( LA_ALIST ) LA_DCL
@@ -73,7 +73,7 @@ The typedefs int_t and real_t should be 
 and real values.
 
 The SNOBOL4 functions in "wrapper.sno" installed in
-/usr/local/lib/snobol4 will generate C glue code given a
+/usr/share/snobol4 will generate C glue code given a
 LOAD() style prototype.
 
 2.1 Return value
@@ -271,15 +271,15 @@ void function _fini(void) before the lib
 
 Examples;
     using gcc;
-	gcc -c -fPIC -DHAVE_CONFIG_H -I/usr/local/lib/snobol4 source.c
+	gcc -c -fPIC -DHAVE_CONFIG_H source.c
 	gcc -shared -o module.so source.o
 
     on SunOS 4;
-	cc -c -pic -DHAVE_CONFIG_H -I/usr/local/lib/snobol4 source.c
+	cc -c -pic -DHAVE_CONFIG_H source.c
 	ld -o module.so source.o
 
     on SunOS 5 (Solaris2+);
-	cc -c -Kpic -DHAVE_CONFIG_H -I/usr/local/lib/snobol4 source.c
+	cc -c -Kpic -DHAVE_CONFIG_H source.c
 	ld -G -o module.so source.o
 
     On Darwin (MacOS X);
@@ -287,11 +287,11 @@ Examples;
 	(see http://fink.sourceforge.net/doc/porting/shared.php
 	 and http://fink.sourceforge.net/doc/porting/porting.html)
 
-	cc -c -fno-common -DHAVE_CONFIG_H -I/usr/local/lib/snobol4 source.c
+	cc -c -fno-common -DHAVE_CONFIG_H -I/usr/lib/snobol4 source.c
 	cc -bundle -flat_namespace -undefined suppress -o module.so source.o
 
     On Win32, using Cygwin and MINGW;
-	gcc -c -DHAVE_CONFIG_H -I/usr/local/lib/snobol4 source.c
+	gcc -c -DHAVE_CONFIG_H -I/usr/lib/snobol4 source.c
 	dllwrap -v --export-all-symbols --dllname MODULE -o module.dll source.o
 
     On DOS, using DJGPP and DXE2;


--- NEW FILE snobol.spec ---
%define snobrel 1.1

Name:           snobol
Version:        4.%{snobrel}
Release:        6%{?dist}
Summary:        Macro Implementation of SNOBOL4 in C

Group:          Development/Languages
License:        BSD
URL:            http://www.snobol4.org
Source0:        ftp://ftp.ultimate.com/%{name}/%{name}4-%{snobrel}.tar.gz
Patch1:		snobol-4.1.1-config.patch
Patch2:		snobol-4.1.1-doc.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires:  tcl-devel
BuildRequires:  gdbm-devel
BuildRequires:	m4
Requires(post):	/sbin/ldconfig
Requires(postun):	/sbin/ldconfig

%description
SNOBOL4, while known primarily as a string language excels at any task
involving symbolic manipulations.  It provides run time typing,
garbage collection, user data types, on the fly compilation.  It's
primary weakness is it's simple syntax, and lack of "structured
programming" and "object oriented" constructs.

%package devel
Summary:	Header for external SNOBOL modules
Group:	 	Development/Languages
Requires:	snobol = %{version}

%description devel
This package contains header file which are requires to create
external SNOBOL modules in C

%prep
%setup -q -n %{name}4-%{snobrel}
%patch1 -p1 -b .bak
%patch2 -p1 -b .docbak

%build
export CFLAGS="$RPM_OPT_FLAGS"
./configure  --prefix=%{_prefix} --mandir=%{_mandir} --with-tcl --with-tk \
	     --libdir=%{_libdir} --add-cppflags="${RPM_OPT_FLAGS}"
make %{?_smp_mflags}

%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT

%clean
rm -rf $RPM_BUILD_ROOT

%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig

%files
%defattr(-,root,root,-)
%doc COPYRIGHT README CHANGES doc/load.txt
%{_bindir}/snobol*
%{_datadir}/snobol4/
%{_mandir}/man*/*
%{_libdir}/libsnobol.so.*

%files devel
%defattr(-,root,root,-)
%{_includedir}/snobol4/
%{_libdir}/libsnobol.so

%changelog
* Thu Aug 21 2008 Jochen Schmitt <Jochen herr-schmitt de> 4.1.1-6
- Try to minimize undef. non-weak symbols

* Wed Aug 20 2008 Jochen Schmitt <Jochen herr-schmitt de> 4.1.1-5
- Fix broken Req. in devel package

* Wed Aug 20 2008 Jochen Schmitt <Jochen herr-schmitt de> 4.1.1-4
- Fix symlink issue

* Mon Aug 18 2008 Jochen Schmitt <Jochen herr-schmitt de> 4.1.1-3
- Fix issue of setting soname

* Sun Aug 17 2008 Jochen Schmitt <Jochen herr-schmitt de> 4.1.1-2
- Remove -O3 flag from configure file
- Splitting of a devel sub package

* Sun Jul 27 2008 Gerard Milmeister <gemi at bluewin.ch> 4.1.1-1
- first Fedora release



Index: sources
===================================================================
RCS file: /cvs/extras/rpms/snobol/F-9/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources	10 Sep 2008 02:19:00 -0000	1.1
+++ sources	10 Sep 2008 15:52:07 -0000	1.2
@@ -0,0 +1 @@
+101df7f3c74abb5703a01a85e58b4e9d  snobol4-1.1.tar.gz




More information about the fedora-extras-commits mailing list