summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorericm <ericm>2000-02-14 22:40:56 (GMT)
committerericm <ericm>2000-02-14 22:40:56 (GMT)
commite411cd157324b6c27b10548c0b50704a7cbf4b37 (patch)
tree81d84e41bc97eb4e2c73afbb6d6179f0ed9d426c
parent7a903ce32d04f0ad3f058010246c045baf889802 (diff)
downloadtcl-e411cd157324b6c27b10548c0b50704a7cbf4b37.zip
tcl-e411cd157324b6c27b10548c0b50704a7cbf4b37.tar.gz
tcl-e411cd157324b6c27b10548c0b50704a7cbf4b37.tar.bz2
* unix/Makefile.in: Added rpm target to generate Tcl binary RPM.
* unix/tcl.spec: RPM specification file for a Tcl binary RPM for Linux.
-rw-r--r--unix/Makefile.in19
-rw-r--r--unix/tcl.spec51
2 files changed, 68 insertions, 2 deletions
diff --git a/unix/Makefile.in b/unix/Makefile.in
index 1674db2..a30bafb 100644
--- a/unix/Makefile.in
+++ b/unix/Makefile.in
@@ -5,7 +5,7 @@
# "autoconf" program (constructs like "@foo@" will get replaced in the
# actual Makefile.
#
-# RCS: @(#) $Id: Makefile.in,v 1.58 2000/02/10 08:55:25 hobbs Exp $
+# RCS: @(#) $Id: Makefile.in,v 1.59 2000/02/14 22:40:56 ericm Exp $
VERSION = @TCL_VERSION@
@@ -460,7 +460,7 @@ topDirName:
gendate:
yacc -l $(GENERIC_DIR)/tclGetDate.y
sed -e 's/yy/TclDate/g' -e '/^#include <values.h>/d' \
- -e 's?SCCSID?RCS: @(#) $$Id: Makefile.in,v 1.58 2000/02/10 08:55:25 hobbs Exp $$?' \
+ -e 's?SCCSID?RCS: @(#) $$Id: Makefile.in,v 1.59 2000/02/14 22:40:56 ericm Exp $$?' \
-e '/#ifdef __STDC__/,/#endif/d' -e '/TclDateerrlab:/d' \
-e '/TclDatenewstate:/d' -e '/#pragma/d' \
-e '/#include <inttypes.h>/d' -e 's/const /CONST /g' \
@@ -1035,6 +1035,21 @@ checkexports: $(TCL_LIB_FILE)
-nm -p $(TCL_LIB_FILE) | awk '$$2 ~ /[TDB]/ { print $$3 }' | sort -n | grep -v '^[Tt]cl'
#
+# Target to create a Tcl RPM for Linux. Requires that you be on a Linux
+# system.
+#
+
+rpm: all /bin/rpm
+ rm -f THIS.TCL.SPEC
+ echo "%define _builddir `pwd`" > THIS.TCL.SPEC
+ echo "%define _rpmdir `pwd`/RPMS" >> THIS.TCL.SPEC
+ cat tcl.spec >> THIS.TCL.SPEC
+ mkdir -p RPMS/i386
+ rpm -bb THIS.TCL.SPEC
+ mv RPMS/i386/*.rpm .
+ rm -rf RPMS THIS.TCL.SPEC
+
+#
# Target to create a proper Tcl distribution from information in the
# master source directory. DISTDIR must be defined to indicate where
# to put the distribution.
diff --git a/unix/tcl.spec b/unix/tcl.spec
new file mode 100644
index 0000000..b205733
--- /dev/null
+++ b/unix/tcl.spec
@@ -0,0 +1,51 @@
+# $Id: tcl.spec,v 1.1 2000/02/14 22:40:56 ericm Exp $
+# This file is the basis for a binary Tcl RPM for Linux.
+
+%define version 8.3.0
+%define directory /usr/local
+
+Summary: Tcl scripting language development environment
+Name: tcl
+Version: %{version}
+Release: 1
+Copyright: BSD
+Group: Development/Languages
+Source: ftp://ftp.scriptics.com/pub/tcl/tcl8_3/tcl%{version}.tar.gz
+URL: http://www.scriptics.com/
+Packager: Scriptics Corporation
+Buildroot: /var/tmp/%{name}%{version}
+
+%description
+The Tcl (Tool Command Language) provides a powerful platform for
+creating integration applications that tie together diverse
+applications, protocols, devices, and frameworks. When paired with
+the Tk toolkit, Tcl provides the fastest and most powerful way to
+create GUI applications that run on PCs, Unix, and the Macintosh. Tcl
+can also be used for a variety of web-related tasks and for creating
+powerful command languages for applications.
+
+%prep
+
+%build
+./configure --prefix %{directory} --exec-prefix %{directory}
+make CFLAGS=$RPM_OPT_FLAGS
+
+%install
+rm -rf $RPM_BUILD_ROOT
+make INSTALL_ROOT=$RPM_BUILD_ROOT install
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+# to create the tcl files list, comment out tk in the install section above,
+# then run "rpm -bi" then do a find from the build root directory,
+# and remove the files in specific directories which suffice by themselves,
+# then to create the files list for tk, uncomment tk, comment out tcl,
+# then rm -rf $RPM_BUILD_ROOT then rpm --short-circuit -bi then redo a find,
+# and remove the files in specific directories which suffice by themselves.
+%files -n tcl
+%defattr(-,root,root)
+%{directory}/lib
+%{directory}/bin
+%{directory}/include
+%{directory}/man